@import url('./vendor/fonts/fonts.css');
body[data-case]{margin:0;background:#090e12;color:#ece6da;overflow-y:auto;overflow-x:hidden}
/* A close-up gets the room, not the landing page laid over it. */
body[data-focus] #intro,body[data-focus] .controls,body[data-focus] #player,body[data-focus] #day-clock{opacity:0!important;visibility:hidden!important;pointer-events:none!important}
body[data-focus] #museum-card{bottom:var(--gutter,24px)}
body[data-focus] #intro{transition:opacity .18s linear!important}
:is(body[data-case],body[data-case-phase])>.scrim,:is(body[data-case],body[data-case-phase])>header,:is(body[data-case],body[data-case-phase])>footer,:is(body[data-case],body[data-case-phase])>.controls,:is(body[data-case],body[data-case-phase])>#intro,:is(body[data-case],body[data-case-phase])>#scene-caption,:is(body[data-case],body[data-case-phase])>#orb-info,:is(body[data-case],body[data-case-phase])>#overview,:is(body[data-case],body[data-case-phase])>#day-clock,:is(body[data-case],body[data-case-phase])>#orb-nav,:is(body[data-case],body[data-case-phase])>#player,:is(body[data-case],body[data-case-phase])>#cursor,:is(body[data-case],body[data-case-phase])>#museum-tip{opacity:0!important;visibility:hidden!important;pointer-events:none!important}
#case-study{position:relative;z-index:20;background:#090e12;min-height:100svh;width:100%;color:#ece6da;font:16px/1.75 'Geist Variable',system-ui,sans-serif;isolation:isolate}
#case-study *{box-sizing:border-box}#case-study a{color:inherit;text-decoration:none}#case-study a:focus-visible{outline:2px solid var(--case-accent);outline-offset:5px}
#case-study,#case-study *{cursor:auto!important}#case-study a,#case-study a *{cursor:pointer!important}
#case-study .case-shell{max-width:1600px;margin:auto;padding:0 clamp(20px,5vw,90px);--case-accent:#e7ab78}
#case-study .case-top{min-height:96px;display:flex;align-items:center;justify-content:space-between;gap:25px;border-bottom:1px solid #e1d4b326;font:11px/1.6 'Geist Mono',monospace}
#case-study .case-top>span{text-align:center}#case-study .case-top i{display:block;font-style:normal;font-size:9px;color:#8f9da7;letter-spacing:.12em}
#case-study .case-heading{padding:60px 0 42px;display:grid;grid-template-columns:1.4fr 1fr;column-gap:60px;align-items:end}
#case-study .case-kicker{font:10px/1.6 'Geist Mono',monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--case-accent);margin:0 0 20px}
#case-study .case-heading>.case-kicker{grid-column:1/-1}
#case-study h1,#case-study h2,#case-study h3,#case-study .case-next strong{font-family:'Fraunces Variable',Georgia,serif;font-weight:400;letter-spacing:-.03em;font-variation-settings:'opsz' 120,'SOFT' 60,'WONK' 0}
#case-study h1{font-size:clamp(55px,7.8vw,116px);line-height:.95;margin:0;max-width:100%;overflow-wrap:break-word}
#case-study .case-thesis{max-width:34ch;font-size:clamp(16px,1.5vw,21px);line-height:1.5;color:#bdc3c5;margin:0 0 5px}
#case-study .case-hero{display:grid;grid-template-columns:28% 72%;align-items:center;height:clamp(260px,30vw,440px);margin:0;overflow:hidden;border-block:1px solid #e1d4b326;background:radial-gradient(ellipse at 9% 50%,color-mix(in srgb,var(--case-accent) 13%,transparent),transparent 48%),#070c10}
#case-study .case-hero-image{display:block;width:100%;height:100%;min-height:0;min-width:0;object-fit:cover;object-position:top;border-left:1px solid #e1d4b326}
#case-study .case-orbit{position:relative;width:72%;aspect-ratio:1;margin:auto;border-radius:50%;box-shadow:5px 0 16px color-mix(in srgb,var(--case-accent) 35%,transparent);border:1px solid color-mix(in srgb,var(--case-accent) 55%,transparent);background:#080d12}
#case-study .case-orbit img{width:100%;height:100%;border-radius:50%;object-fit:cover;opacity:.42;filter:saturate(.7)}
#case-study .case-orbit span{position:absolute;inset:-16%;border:1px solid #c2cfce21;border-radius:50%;transform:rotate(-23deg) scaleY(.8)}
#case-study .case-meta{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:35px;padding:26px 0 34px;border-bottom:1px solid #e1d4b326}
#case-study .case-meta span{color:#8e9ba6;font:9px/1.5 'Geist Mono',monospace;letter-spacing:.1em;text-transform:uppercase}#case-study .case-meta p{font-size:13px;margin:8px 0 0;line-height:1.7}
#case-study .case-reading{display:grid;grid-template-columns:190px minmax(0,850px);gap:clamp(40px,7vw,120px);padding:70px 0 30px}
#case-study .case-chapters{display:flex;flex-direction:column;gap:18px;position:sticky;top:40px;align-self:start;font:11px/1.5 'Geist Mono',monospace}
#case-study .case-chapters>span{color:#80929d;font-size:9px;letter-spacing:.1em;margin-bottom:10px}
#case-study .case-chapters a{padding:8px 0;color:#aab5ba;border-bottom:1px solid transparent}#case-study .case-chapters a:hover{color:var(--case-accent);border-color:var(--case-accent)}
#case-study section{scroll-margin-top:35px;padding:0 0 65px;margin-bottom:50px;border-bottom:1px solid #e1d4b326}
#case-study h2{font-size:clamp(38px,4vw,62px);line-height:1.05;margin:0 0 30px}
#case-study h3{font-size:29px;line-height:1.15;margin:35px 0 15px}
#case-study .case-story p{max-width:65ch;color:#b9c3c8;margin:0 0 22px}#case-study .case-story .case-kicker{color:var(--case-accent);margin-bottom:23px}
#case-study .case-decisions{padding:0;list-style:none;margin:30px 0 0}
#case-study .case-decisions li{display:grid;grid-template-columns:55px 1fr;gap:25px;padding:25px 0;border-top:1px solid #e1d4b326}
#case-study .case-decisions li>span{font:42px/1 'Fraunces Variable',serif;color:var(--case-accent)}#case-study .case-decisions h3{margin:0 0 14px}#case-study .case-decisions p{margin:0}
#case-study .case-techniques{margin:0}#case-study .case-techniques>div{display:grid;grid-template-columns:190px 1fr;gap:30px;padding:24px 0;border-top:1px solid #e1d4b326}#case-study dt{font:12px/1.7 'Geist Mono',monospace;color:var(--case-accent)}#case-study dd{margin:0;color:#b9c3c8}
#case-study .case-evidence-image{margin:35px 0}#case-study .case-evidence-image img{display:block;width:100%;height:auto;border:1px solid #e1d4b326}#case-study figcaption{font:10px/1.8 'Geist Mono',monospace;color:#8797a4;margin-top:16px}
#case-study .case-walkthrough{margin:35px 0 50px}#case-study .case-walkthrough video{display:block;width:100%;height:auto;background:#05080b;border:1px solid #e1d4b326}
#case-study .case-flow{list-style:none;padding:0;margin:35px 0 50px;border-block:1px solid #e1d4b33b;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:28px}
#case-study .case-flow li{padding:24px 0}#case-study .case-flow li>span{font:10px 'Geist Mono',monospace;color:var(--case-accent)}#case-study .case-flow h3{font-size:25px;margin:18px 0 12px}#case-study .case-flow p{font-size:14px;line-height:1.75;margin:0}
#case-study .case-deep-detail{margin:0 0 35px}#case-study .case-story .case-outcome{font:12px/1.9 'Geist Mono',monospace;color:#98a8b2;border-left:1px solid var(--case-accent);padding-left:20px;margin:35px 0}
#case-study .work-index h1{font-size:clamp(48px,6.3vw,95px)}#case-study .work-featured{margin:35px 0 95px}
#case-study .work-feature{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(25px,5vw,70px);align-items:center;padding:40px 0;border-top:1px solid #e1d4b326}
#case-study .work-feature img{width:100%;aspect-ratio:1.8;object-fit:cover;object-position:top}#case-study .work-feature h2{font-size:clamp(36px,3.8vw,58px);margin:15px 0}#case-study .work-feature h2>span{font-family:'Geist Variable',system-ui,sans-serif;font-size:23px;color:var(--case-accent)}#case-study .work-feature p{color:#b9c3c8;max-width:40ch;font-size:16px}#case-study .work-read{font:10px/1.8 'Geist Mono',monospace;color:var(--case-accent)}
#case-study .work-archive>p:not(.case-kicker){max-width:65ch;color:#b9c3c8;margin-bottom:40px}#case-study .work-row{display:grid;grid-template-columns:1fr 1.3fr 30px;gap:30px;align-items:start;padding:28px 0;border-top:1px solid #e1d4b326}#case-study .work-row h3{margin:0;font-size:32px}#case-study .work-row span{font:10px/1.6 'Geist Mono',monospace;color:var(--case-accent)}#case-study .work-row p{font-size:14px;line-height:1.65;color:#aebbc1;margin:10px 0 0}#case-study .work-row b{font-size:22px;font-weight:400}
@media(max-width:760px){#case-study .case-flow{grid-template-columns:1fr;gap:0}#case-study .case-flow li+li{border-top:1px solid #e1d4b31c}#case-study .work-feature{grid-template-columns:1fr;gap:25px;padding:30px 0}#case-study .work-row{grid-template-columns:1fr 24px;gap:15px}#case-study .work-row>div{grid-row:2;grid-column:1}#case-study .work-row>b{grid-row:1;grid-column:2}}
#case-study .case-links{display:flex;flex-wrap:wrap;gap:20px}#case-study .case-links a{display:flex;gap:45px;justify-content:space-between;padding:16px 0;border-block:1px solid #e1d4b350;font:12px/1.6 'Geist Mono',monospace;color:var(--case-accent)}
#case-study .case-next{position:relative;display:block;border-block:1px solid #e1d4b33b;padding:50px 80px 55px 0}#case-study .case-next .case-kicker{display:block}#case-study .case-next strong{font-size:clamp(45px,6vw,85px);line-height:1.1}#case-study .case-next-arrow{position:absolute;right:5px;top:45%;font-size:40px;color:var(--case-accent)}
#case-study .case-bottom{padding:35px 0;display:flex;justify-content:space-between;gap:20px;font:10px/1.6 'Geist Mono',monospace;color:#a5b1b7}
#case-study .case-skip{position:absolute;top:0;left:20px;transform:translateY(-110%);padding:10px;background:#eee;color:#111;z-index:2}#case-study .case-skip:focus{transform:none}
@media(max-width:760px){#case-study .case-top{min-height:78px;gap:12px;font-size:10px}#case-study .case-top>span{display:none}#case-study .case-heading{display:block;padding:40px 0 30px}#case-study .case-thesis{margin-top:25px}#case-study .case-hero{height:240px;grid-template-columns:23% 77%}#case-study .case-meta{grid-template-columns:1fr 1fr;gap:20px}#case-study .case-meta>div:last-child{grid-column:1/-1}#case-study .case-reading{display:block;padding-top:25px}#case-study .case-chapters{position:static;display:flex;flex-direction:row;flex-wrap:wrap;gap:5px 22px;margin-bottom:40px}#case-study .case-chapters>span{display:none}#case-study .case-chapters a{font-size:10px;padding:10px 0}#case-study .case-techniques>div{grid-template-columns:1fr;gap:12px}#case-study .case-decisions li{grid-template-columns:34px 1fr;gap:16px}#case-study .case-decisions li>span{font-size:34px}#case-study section{padding-bottom:40px;margin-bottom:40px}#case-study .case-bottom{display:block}#case-study .case-bottom>span{display:block;margin-top:15px}}
@media(prefers-reduced-motion:reduce){#case-study{scroll-behavior:auto!important}}
/* UI SOTA pass (2026-09-23): every case-page link is a 44px touch target; the smallest mono labels rise to 10.5px. */
#case-study .case-top a,#case-study .case-bottom a,#case-study .case-chapters a{display:inline-flex;align-items:center;min-height:44px}
#case-study .case-top i,#case-study .case-chapters>span{font-size:10.5px}
#case-study :is(a,button,summary):focus-visible{outline:2px solid var(--case-accent);outline-offset:4px}
