:root { font-family:Arial,Helvetica,sans-serif; font-synthesis:none; color:#111; background:#050812; }
* { box-sizing:border-box; }
html { min-width:320px; scroll-behavior:smooth; }
body { margin:0; min-width:320px; background:var(--ground); color:var(--ink); }
a { color:inherit; text-decoration:none; }
img { max-width:100%; }
::selection { background:var(--accent); color:var(--selection-ink); }

body[data-theme="quest"] { --ground:#d7e4f2; --surface:#edf3f8; --ink:#10243b; --muted:#4d6277; --accent:#4e7bb0; --selection-ink:#fff; --dark:#142a44; }
body[data-theme="neiro"] { --ground:#d9eadf; --surface:#fffdf4; --ink:#142a22; --muted:#50675d; --accent:#c43d53; --selection-ink:#fff; --dark:#183f33; }
body[data-theme="showreel"] { --ground:#050812; --surface:#101727; --ink:#f7f3e9; --muted:#aab6cb; --accent:#f0c961; --selection-ink:#12100a; --dark:#02040a; }

.case-nav { width:min(1320px,calc(100% - 32px)); min-height:72px; margin:auto; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.case-nav>a { font-size:29px; font-weight:950; letter-spacing:-.06em; }
.case-nav nav { display:flex; gap:18px; color:var(--muted); font-size:14px; }
.case-nav nav a:hover,.case-nav nav a:focus-visible { color:var(--ink); text-decoration:underline; text-underline-offset:4px; }

.case-intro { width:min(1320px,calc(100% - 32px)); min-height:calc(100svh - 90px); margin:auto; display:grid; grid-template-columns:minmax(0,.9fr) minmax(460px,1.1fr); align-items:center; gap:clamp(32px,6vw,90px); padding:50px 0 80px; }
.case-intro>div:first-child>span,.case-story article>span { display:inline-block; padding:7px 9px; background:var(--accent); color:var(--selection-ink); font-size:13px; font-weight:800; }
.case-intro h1 { max-width:720px; margin:26px 0 0; font-size:clamp(62px,9.2vw,142px); line-height:.82; letter-spacing:-.075em; }
.case-intro>div:first-child>p { max-width:620px; margin:30px 0 0; color:var(--muted); font-size:clamp(18px,2vw,25px); line-height:1.5; }
.case-intro ul { margin:32px 0; padding:0; display:flex; flex-wrap:wrap; gap:8px; list-style:none; }
.case-intro li { padding:8px 11px; background:var(--surface); color:var(--ink); font-size:13px; }
.case-primary { min-height:52px; padding:0 20px; display:inline-flex; align-items:center; background:var(--ink); color:var(--ground); font-weight:800; transition:transform 140ms cubic-bezier(.23,1,.32,1); }
.case-primary:active { transform:scale(.98); }
.case-primary:focus-visible { outline:3px solid var(--accent); outline-offset:4px; }

.case-cover { min-height:690px; position:relative; overflow:hidden; background:var(--dark); isolation:isolate; }
.case-cover::before { content:""; position:absolute; inset:6%; border:18px solid color-mix(in srgb,var(--accent) 72%,transparent); opacity:.4; }
.case-cover img { position:absolute; width:min(38%,260px); height:auto; display:block; background:transparent; object-fit:contain; }
.case-cover img:nth-child(1) { z-index:3; left:11%; top:10%; transform:rotate(-6deg); }
.case-cover img:nth-child(2) { z-index:2; right:9%; top:18%; transform:rotate(7deg); }
.case-cover img:nth-child(3) { z-index:1; left:36%; bottom:3%; transform:rotate(1deg); }
body[data-theme="neiro"] .case-cover img:first-child { width:48%; left:7%; top:8%; border-radius:50%; }
body[data-theme="neiro"] .case-cover img:nth-child(2),body[data-theme="neiro"] .case-cover img:nth-child(3) { width:58%; right:-4%; left:auto; }
body[data-theme="showreel"] .case-cover { background:#03050b url('/assets/cosmos/deep-space-luxury-v1.webp') center/cover; }

.case-story { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); background:var(--dark); color:#fff; }
.case-story article { min-height:530px; padding:clamp(40px,7vw,110px); display:flex; flex-direction:column; justify-content:flex-end; }
.case-story article+article { background:var(--surface); color:var(--ink); }
.case-story h2 { max-width:650px; margin:26px 0 0; font-size:clamp(40px,5.2vw,78px); line-height:.94; letter-spacing:-.06em; }
.case-story p { max-width:690px; margin:25px 0 0; color:color-mix(in srgb,currentColor 72%,transparent); font-size:18px; line-height:1.7; }

.case-process { padding:clamp(70px,10vw,150px) max(16px,calc((100vw - 1260px)/2)); background:var(--accent); color:var(--selection-ink); }
.case-process h2 { max-width:840px; margin:0; font-size:clamp(50px,7vw,100px); line-height:.9; letter-spacing:-.065em; }
.case-process ol { margin:60px 0 0; padding:0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; list-style:none; counter-reset:stage; }
.case-process li { min-height:190px; padding:24px; background:color-mix(in srgb,var(--ground) 92%,white); color:var(--ink); font-size:18px; line-height:1.4; counter-increment:stage; }
.case-process li::before { content:counter(stage); width:36px; height:36px; margin-bottom:38px; display:grid; place-items:center; background:var(--dark); color:#fff; font-weight:900; }

.case-screens { padding:clamp(70px,10vw,150px) max(16px,calc((100vw - 1320px)/2)); background:var(--surface); }
.case-screens>header { display:flex; align-items:end; justify-content:space-between; gap:30px; }
.case-screens h2,.case-reading h2,.case-end h2 { margin:0; font-size:clamp(50px,7vw,100px); line-height:.9; letter-spacing:-.065em; }
.case-screens>header p { max-width:400px; margin:0; color:var(--muted); font-size:16px; line-height:1.5; }
.case-screens>div { margin-top:60px; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; align-items:start; }
.case-screens figure { margin:0; }
.case-screens img { width:100%; height:auto; max-height:760px; display:block; object-fit:contain; background:transparent; }
.case-screens figcaption { padding-top:11px; color:var(--muted); font-size:13px; }
body[data-theme="neiro"] .case-screens>div { grid-template-columns:repeat(2,minmax(0,1fr)); }
body[data-theme="neiro"] .case-screens figure:first-child { padding:8%; background:var(--dark); }
body[data-theme="neiro"] .case-screens figure:first-child img { max-width:420px; margin:auto; border-radius:50%; }

.case-reading { padding:clamp(70px,10vw,150px) max(16px,calc((100vw - 1260px)/2)); background:var(--ground); }
.case-reading>a { min-height:100px; padding:20px 0; display:grid; grid-template-columns:170px 1fr; align-items:center; border-bottom:2px solid color-mix(in srgb,var(--ink) 32%,transparent); transition:padding-left 160ms cubic-bezier(.23,1,.32,1),background-color 160ms ease; }
.case-reading>a:first-of-type { margin-top:50px; border-top:2px solid color-mix(in srgb,var(--ink) 32%,transparent); }
.case-reading>a:hover,.case-reading>a:focus-visible { padding-left:14px; background:color-mix(in srgb,var(--surface) 82%,transparent); outline:0; }
.case-reading span { color:var(--muted); font-size:13px; }
.case-reading b { font-size:clamp(22px,3vw,38px); letter-spacing:-.035em; }

.case-end { min-height:72svh; padding:clamp(70px,10vw,150px) max(16px,calc((100vw - 1260px)/2)); display:flex; flex-direction:column; justify-content:center; align-items:flex-start; gap:42px; background:var(--dark); color:#fff; }
.case-end a { min-height:56px; padding:0 22px; display:inline-flex; align-items:center; background:var(--accent); color:var(--selection-ink); font-weight:900; transition:transform 140ms cubic-bezier(.23,1,.32,1); }
.case-end a:active { transform:scale(.98); }
.case-footer { min-height:88px; padding:0 max(16px,calc((100vw - 1260px)/2)); display:flex; align-items:center; justify-content:space-between; gap:18px; background:var(--dark); color:#fff; }
.case-footer a { font-size:29px; font-weight:950; letter-spacing:-.06em; }
.case-footer span { color:#aeb9ca; font-size:13px; }

@media (max-width:900px) {
  .case-intro { min-height:auto; grid-template-columns:1fr; padding-top:40px; }
  .case-intro h1 { font-size:clamp(62px,17vw,110px); }
  .case-cover { min-height:620px; }
  .case-story { grid-template-columns:1fr; }
  .case-story article { min-height:430px; }
  .case-process ol { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .case-screens>div { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width:560px) {
  .case-nav { min-height:60px; }
  .case-nav nav a:first-child { display:none; }
  .case-intro { width:min(100% - 24px,620px); padding:30px 0 52px; }
  .case-intro h1 { font-size:clamp(56px,18vw,88px); }
  .case-intro>div:first-child>p { font-size:17px; }
  .case-cover { min-height:500px; }
  .case-cover img { width:46%; }
  .case-cover img:nth-child(1) { left:6%; }
  .case-cover img:nth-child(2) { right:4%; }
  .case-cover img:nth-child(3) { left:29%; }
  body[data-theme="neiro"] .case-cover img:first-child { width:58%; left:3%; }
  body[data-theme="neiro"] .case-cover img:nth-child(2),body[data-theme="neiro"] .case-cover img:nth-child(3) { width:72%; right:-13%; }
  .case-story article { min-height:390px; padding:42px 20px; }
  .case-story h2 { font-size:44px; }
  .case-story p { font-size:17px; }
  .case-process { padding:70px 16px; }
  .case-process ol { grid-template-columns:1fr; margin-top:38px; }
  .case-process li { min-height:145px; }
  .case-process li::before { margin-bottom:22px; }
  .case-screens { padding:70px 12px; }
  .case-screens>header { align-items:start; flex-direction:column; }
  .case-screens>div,body[data-theme="neiro"] .case-screens>div {
    display:flex;
    gap:14px;
    margin:40px -12px 0;
    padding:0 12px 14px;
    overflow-x:auto;
    overscroll-behavior-inline:contain;
    scroll-snap-type:x mandatory;
    scrollbar-width:thin;
  }
  .case-screens figure,body[data-theme="neiro"] .case-screens figure:first-child {
    flex:0 0 min(78vw,320px);
    padding:0;
    scroll-snap-align:start;
  }
  body[data-theme="neiro"] .case-screens figure:first-child { padding:18px; }
  .case-screens img { width:100%; max-height:none; }
  .case-reading { padding:70px 16px; }
  .case-reading>a { grid-template-columns:1fr; gap:8px; }
  .case-end { min-height:68svh; padding:70px 16px; }
  .case-footer { flex-direction:column; align-items:flex-start; justify-content:center; }
}

@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { transition-duration:.01ms!important; }
}
