/* Editorial project stories, using the site's existing type and theme tokens. */
body[data-page="case-study"]>.header{background:var(--bg)}
.case-study{padding-top:var(--header-h)}
.case-hero{padding:64px var(--pad) 48px;max-width:1800px;margin:auto}
.case-hero__eyebrow{display:flex;justify-content:space-between;gap:24px;margin-bottom:56px}
.case-hero .page-hero__title{font-size:clamp(64px,10vw,152px);line-height:.98;margin:0 0 42px;letter-spacing:-.045em;overflow-wrap:anywhere;max-width:100%;text-transform:none}
.case-hero__intro{display:grid;grid-template-columns:1.1fr 1fr;gap:10vw;align-items:start}
.case-hero__intro h2{font:400 clamp(28px,3vw,48px)/1.12 var(--font-display);letter-spacing:-.025em;max-width:20ch}
.case-hero__intro>p{font-size:clamp(17px,1.4vw,22px);line-height:1.55;max-width:48ch}
.case-actions{display:flex;align-items:center;gap:30px;flex-wrap:wrap;margin-top:34px}
.case-cover{margin:0 var(--pad);padding:clamp(14px,3vw,48px);background:var(--bg-2);border:1px solid var(--line)}
.case-cover img{display:block;width:100%;height:auto;max-height:76vh;object-fit:contain}
.case-cover figcaption{font:400 11px/1.65 var(--font-label);max-width:90ch;margin-top:18px;color:var(--muted)}
.case-facts{display:grid;grid-template-columns:1fr 1fr 1fr;gap:5vw;padding:44px var(--pad);border-bottom:1px solid var(--line)}
.case-facts h2{margin-bottom:16px;color:var(--muted)}
.case-facts p,.case-facts li{font-size:16px;line-height:1.65}
.case-facts ul{list-style:none;padding:0;margin:0}
.case-contents{display:flex;flex-wrap:wrap;gap:14px 28px;padding:24px var(--pad);border-bottom:1px solid var(--line)}
.case-contents a{line-height:1.6;text-decoration:underline;text-underline-offset:5px}
.case-contents a:hover,.case-actions .link:hover{color:var(--accent)}
.case-story{padding:0 var(--pad)}
.case-chapter{display:grid;grid-template-columns:1fr 2fr;gap:6vw;padding:72px 0;border-bottom:1px solid var(--line);scroll-margin-top:120px}
.case-chapter__label{color:var(--muted);padding-top:8px;line-height:1.7}
.case-chapter__body{max-width:820px}
.case-chapter h2{font:400 clamp(30px,3.3vw,52px)/1.12 var(--font-display);letter-spacing:-.025em;margin:0 0 28px;max-width:25ch}
.case-chapter p:not(.label){font-size:clamp(17px,1.3vw,20px);line-height:1.75;margin:0 0 22px;max-width:66ch}
.case-chapter p:last-child{margin-bottom:0}
.case-watch{padding:70px var(--pad);background:var(--bg-2)}
.case-watch__intro{max-width:650px;margin-bottom:28px}
.case-watch__intro h2{font:400 clamp(30px,4vw,56px)/1.12 var(--font-display);margin:18px 0}
.case-watch__intro>p:last-child{font-size:17px;line-height:1.6}
.case-watch video{display:block;width:100%;max-height:80vh;background:#111;object-fit:contain}
.case-next{padding:60px var(--pad);display:grid;grid-template-columns:1fr 1fr;gap:8vw;border-top:1px solid var(--line)}
.case-next .label{color:var(--muted);margin-bottom:20px}
.case-next>div:first-child>a{font:400 clamp(30px,4.2vw,62px)/1.1 var(--font-display);letter-spacing:-.03em}
.case-next h2{font:400 clamp(25px,3vw,42px)/1.2 var(--font-display);margin-bottom:24px}
.case-next a:hover{text-decoration:underline;text-underline-offset:8px}
.case-tour{padding:72px var(--pad) 0;background:var(--bg-2);scroll-margin-top:100px}
.case-tour__header{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:6vw;max-width:1680px;margin:0 auto 36px}
.case-tour__header h2{font:400 clamp(40px,5vw,80px)/1.04 var(--font-display);letter-spacing:-.035em;max-width:17ch;margin-top:18px}
.case-tour__header>p{font-size:18px;line-height:1.7;max-width:52ch}
.case-tour__index{display:flex;flex-wrap:wrap;gap:12px 28px;padding:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);max-width:1680px;margin:auto}
.case-tour__index a{display:inline-flex;gap:9px;align-items:center;min-height:28px;text-decoration:underline;text-underline-offset:5px;line-height:1.6}
.case-tour__index span{color:var(--muted)}
.case-screen{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:5vw;align-items:start;padding:64px 0;max-width:1680px;margin:auto;border-bottom:1px solid var(--line);scroll-margin-top:115px}
.case-screen:last-child{border-bottom:0}
.case-screen__copy>.label{color:var(--muted);line-height:1.7;margin-bottom:18px}
.case-screen h3{font:400 clamp(27px,2.6vw,42px)/1.12 var(--font-display);letter-spacing:-.025em;margin:0 0 24px;max-width:22ch}
.case-screen__copy>p:not(.label){font-size:16px;line-height:1.75;margin:0 0 18px;max-width:54ch}
.case-screen__destination{display:inline-flex;align-items:center;min-height:44px;margin-top:8px}
.case-screen__figure{margin:0;min-width:0}
.case-screen--portrait .case-screen__figure{width:min(100%,390px);justify-self:center}
.case-screen__image{display:block;position:relative;padding:10px;background:var(--bg);border:1px solid var(--line);cursor:zoom-in}
.case-screen__image img{display:block;width:100%;height:auto}
.case-screen__enlarge{display:block;padding:16px 8px 6px;text-align:right;font-size:10px}
.case-screen__image:hover .case-screen__enlarge{text-decoration:underline;text-underline-offset:5px}
.case-screen__figure figcaption{font:400 11px/1.65 var(--font-label);margin-top:16px;color:var(--text);max-width:95ch}
.case-tour a:focus-visible,.case-viewer button:focus-visible,.case-viewer a:focus-visible{outline:2px solid var(--text);outline-offset:5px}
html.case-viewer-open{overflow:hidden}
.case-viewer{width:min(1440px,96vw);max-width:none;height:min(96dvh,1100px);max-height:96dvh;margin:auto;padding:0;border:1px solid var(--line);background:var(--bg);color:var(--text);overflow:hidden}
.case-viewer[open]{display:flex;flex-direction:column}
.has-cursor .case-viewer{cursor:default}
.has-cursor .case-viewer a,.has-cursor .case-viewer button{cursor:pointer}
.case-viewer::backdrop{background:rgb(0 0 0 / .88)}
.case-viewer__bar{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:8px 24px;border-bottom:1px solid var(--line);flex-shrink:0}
.case-viewer__bar h2{font-weight:400;line-height:1.6}
.case-viewer button{color:inherit;background:transparent;border:0;font-family:inherit;cursor:pointer;min-width:44px;min-height:44px}
.case-viewer__stage{flex:1;min-height:0;padding:16px;display:grid;place-items:center;background:var(--bg-2)}
.case-viewer__stage img{display:block;width:100%;height:100%;object-fit:contain;min-height:0}
.case-viewer__footer{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:12px 24px;border-top:1px solid var(--line);flex-shrink:0}
.case-viewer__footer>p{font:400 11px/1.6 var(--font-label);max-width:78ch}
.case-viewer__controls{display:flex;gap:12px;align-items:center;flex-shrink:0}
.case-viewer__controls>a{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:4px;margin-left:8px}
@media(max-width:860px){
 .case-hero{padding-top:44px}
 .case-hero__eyebrow{margin-bottom:36px;font-size:10px}
 .case-hero .page-hero__title{font-size:clamp(53px,12vw,90px);margin-bottom:28px}
 .case-hero__intro{grid-template-columns:1fr;gap:22px}
 .case-hero__intro h2{max-width:25ch}
 .case-actions{gap:22px}
 .case-facts{grid-template-columns:1fr;gap:26px;padding-block:32px}
 .case-facts h2{margin-bottom:8px}
 .case-contents{font-size:10px;gap:12px 20px}
 .case-chapter{grid-template-columns:1fr;gap:20px;padding:42px 0;scroll-margin-top:100px}
 .case-chapter h2{margin-bottom:22px}
 .case-next{grid-template-columns:1fr;gap:44px;padding-block:42px}
 .case-watch{padding-block:42px}
 .case-cover{padding:12px}
 .case-cover figcaption{font-size:10px}
 .case-tour{padding-top:44px}
 .case-tour__header{grid-template-columns:1fr;gap:24px;margin-bottom:24px}
 .case-tour__header>p{font-size:16px}
 .case-tour__index{font-size:10px;gap:10px 20px}
 .case-screen{grid-template-columns:1fr;gap:24px;padding-block:40px;scroll-margin-top:100px}
 .case-screen__copy>p:not(.label){max-width:66ch}
 .case-screen h3{font-size:32px;max-width:28ch;margin-bottom:20px}
 .case-screen__image{padding:6px}
 .case-screen__enlarge{padding:12px 6px 6px}
 .case-screen__figure figcaption{font-size:10px;margin-top:12px}
 .case-viewer{width:100vw;height:100dvh;max-height:100dvh;border:0}
 .case-viewer__bar{padding:8px 16px;gap:14px}
 .case-viewer__bar h2{font-size:10px}
 .case-viewer__stage{padding:8px}
 .case-viewer__footer{display:block;padding:12px 16px max(12px,env(safe-area-inset-bottom))}
 .case-viewer__footer>p{font-size:10px}
 .case-viewer__controls{justify-content:space-between;gap:8px;margin-top:10px}
}
