/* Shared gallery for homepage case studies and the full Case Studies index. */
.page-cases{--ground:#f1f0ed;background:var(--ground)}
.page-cases .header{height:76px;border-bottom:0}
.home-case-gallery{padding-block:60px 112px;scroll-margin-top:0}
.home-case-heading,.case-spread,.home-case-end{max-width:1800px}
.home-case-heading{display:flex;justify-content:space-between;align-items:end;gap:48px;margin-bottom:64px}
.home-case-heading :is(h1,h2){font:400 clamp(38px,4vw,58px)/1.12 var(--display);letter-spacing:-.03em}
.home-case-heading p{font-size:13px;line-height:1.7;color:var(--muted);max-width:360px;margin-top:18px}
.case-study-index{display:flex;flex-wrap:wrap;gap:12px 28px;font-size:12px;padding-bottom:4px}
.case-study-index a{padding-block:10px;text-decoration:none}
.case-study-index a:hover{text-decoration:underline}
.case-spread{scroll-margin-top:10px}
.case-spread+.case-spread{margin-top:104px}
.case-spread-heading{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start;border-top:1px solid var(--rule);padding-top:30px;margin-bottom:36px}
.case-spread-kicker{font-size:11px;line-height:1.6;color:var(--muted);margin-bottom:16px}
.case-spread :is(h2,h3){font:400 clamp(32px,3.1vw,46px)/1.14 var(--display);letter-spacing:-.035em;max-width:16ch}
.case-spread-context{max-width:580px;padding-top:3px}
.case-spread-context>p{font-size:15px;line-height:1.8;max-width:510px}
.case-spread-context nav{display:flex;flex-wrap:wrap;gap:4px 28px;font-size:12px;margin-top:16px}
.case-spread-context nav a{display:inline-flex;align-items:center;gap:12px;padding-block:10px;text-decoration:none}
.case-spread-context nav a:first-child{text-decoration:underline}
.case-spread-context nav a:hover{text-decoration:underline}
.case-photo-rail{display:flex;align-items:flex-start;gap:48px;overflow-x:auto;overflow-y:hidden;padding:20px 0 24px;scrollbar-width:thin;scrollbar-color:var(--rule) transparent;scroll-snap-type:x proximity;overscroll-behavior-x:contain;touch-action:pan-x pan-y;cursor:grab}
.case-photo-rail:focus-visible{outline-offset:6px}
.case-photo-rail.is-dragging{cursor:grabbing;scroll-snap-type:none;user-select:none}
.case-photo-rail::-webkit-scrollbar{height:3px}
.case-photo-rail::-webkit-scrollbar-thumb{background:var(--rule);border:0}
.case-print{flex:0 0 var(--print-width,560px);width:var(--print-width,560px);padding-top:var(--print-offset,0);scroll-snap-align:start;transform:translateY(calc(var(--case-drift,0px) * var(--drift-direction,1)))}
.case-print-image{display:block;position:relative;height:var(--print-height,510px);text-decoration:none;cursor:inherit;user-select:none;-webkit-user-drag:none}
.case-print-image img,.case-print-image svg{display:block;width:100%;height:100%;object-fit:contain;user-select:none;pointer-events:none}
.case-print-image:active{opacity:.8}
.case-print-open{position:absolute;bottom:14px;right:14px;padding:10px 14px;background:var(--ground);font-size:11px;opacity:0;transition:opacity 160ms ease-out}
.case-print-image:hover .case-print-open,.case-print-image:focus-visible .case-print-open{opacity:1}
.case-print figcaption{font-size:11px;line-height:1.6;color:var(--muted);margin-top:16px}
.is-jacket-back{--print-width:580px;--print-height:530px}
.is-jacket-front{--print-width:560px;--print-height:442px;--print-offset:78px;--drift-direction:-1}
.is-virtual{--print-width:640px;--print-height:292px;--print-offset:140px}
.is-blazer{--print-width:290px;--print-height:568px}
.is-sketch{--print-width:340px;--print-height:368px;--print-offset:120px;--drift-direction:-1}
.is-structure{--print-width:640px;--print-height:391px;--print-offset:50px}
.is-pattern{--print-width:510px;--print-height:400px;--print-offset:140px;--drift-direction:-1}
.case-photo-footer{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:12px;font-size:11px}
.case-photo-footer>p{color:var(--muted);line-height:1.7}
.case-photo-footer>a{padding-block:12px;margin-left:auto;text-decoration:none}
.case-photo-footer>a:hover{text-decoration:underline}
.case-photo-footer>a span{margin-left:14px}
.case-photo-controls{display:flex;gap:8px}
.case-photo-controls button{display:grid;place-items:center;width:44px;height:44px;padding:8px;background:none;border:0;transition:background-color 140ms ease-out,color 140ms ease-out}
.case-photo-controls svg{width:24px;fill:none;stroke:currentColor;stroke-width:1.2}
.case-photo-controls button:not(:disabled):hover{background:var(--ink);color:var(--ground)}
.case-photo-controls button:not(:disabled):active{opacity:.65}
.case-photo-controls button:disabled{color:var(--muted);opacity:.45;cursor:default}
.case-image-credit{font-size:10px;line-height:1.7;color:var(--muted);margin-top:12px}
.case-mobile-hint{display:none}
.case-research-display{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(240px,1fr);gap:80px;align-items:center;padding-top:20px}
.case-research-display img{width:100%;height:auto;max-height:600px;object-fit:contain;background:#fff}
.case-research-display figcaption{font-size:11px;color:var(--muted);line-height:1.7;margin-top:16px}
.case-research-display aside{max-width:290px}
.case-research-label{font-size:11px;color:var(--muted);margin-bottom:20px}
.case-research-display aside>p:not(.case-research-label){font-size:20px;line-height:1.65;letter-spacing:-.02em}
.case-research-display aside>a{display:inline-block;font-size:12px;padding-block:12px;margin-top:20px}
.case-research-display aside>a span{margin-left:18px}
.home-case-end{display:flex;justify-content:space-between;gap:24px;padding-top:60px;font-size:12px}
.home-case-end>a{padding-block:12px;text-decoration:none}
.home-case-end>a:hover{text-decoration:underline}
.home-case-end>a span{margin-left:24px}
@media(min-width:1600px){.case-photo-rail{gap:64px}}
@media(max-width:1100px){.home-case-heading{align-items:start;gap:32px}.case-study-index{max-width:310px}.case-spread-heading{gap:40px}.case-spread :is(h2,h3){font-size:36px}.case-spread-context nav{gap:2px 20px}.case-research-display{gap:40px;grid-template-columns:minmax(0,1.8fr) minmax(210px,1fr)}.case-research-display aside>p:not(.case-research-label){font-size:18px}}
@media(max-width:760px){
 .page-cases .header{height:68px}
 .home-case-gallery{padding-block:28px 60px}.home-case-heading{display:block;margin-bottom:30px}.home-case-heading :is(h1,h2){font-size:36px}.home-case-heading p{font-size:12px;margin-top:14px}.case-study-index{max-width:none;gap:4px 24px;font-size:11px;margin-top:18px;padding:0}.case-spread+.case-spread{margin-top:60px}.case-spread-heading{display:block;padding-top:24px;margin-bottom:24px}.case-spread-kicker{font-size:10px;margin-bottom:12px}.case-spread :is(h2,h3){font-size:34px;max-width:17ch}.case-spread-context{margin-top:20px;padding:0}.case-spread-context>p{font-size:14px;line-height:1.75}.case-spread-context nav{margin-top:10px;font-size:11px;gap:0 20px}.case-photo-rail{gap:24px;padding-top:0;padding-bottom:16px;scroll-snap-type:x mandatory}.case-print{--print-width:78vw;--print-height:72vw;--print-offset:0;transform:none}.is-jacket-front{--print-height:62vw;--print-offset:38px}.is-virtual{--print-width:86vw;--print-height:40vw;--print-offset:60px}.is-blazer{--print-width:56vw;--print-height:110vw}.is-sketch{--print-width:65vw;--print-height:71vw;--print-offset:50px}.is-structure{--print-width:85vw;--print-height:52vw;--print-offset:28px}.is-pattern{--print-width:78vw;--print-height:62vw;--print-offset:50px}.case-print figcaption{font-size:10px;margin-top:12px}.case-print-open{display:none}.case-photo-footer{display:grid;grid-template-columns:1fr auto;gap:0 14px;font-size:10px;padding-top:6px}.case-photo-footer>p{grid-column:1;grid-row:1}.case-photo-footer>a{grid-column:1;grid-row:2;margin-left:0;justify-self:start;padding-block:8px}.case-photo-controls{grid-column:2;grid-row:1/span 2;gap:0}.case-photo-controls button{width:40px}.case-mobile-hint{display:inline}.case-desktop-hint{display:none}.case-image-credit{font-size:9px;max-width:290px;margin-top:8px}.case-research-display{display:block;padding-top:0}.case-research-display figcaption{font-size:10px}.case-research-display aside{max-width:420px;margin-top:28px}.case-research-label{margin-bottom:12px}.case-research-display aside>p:not(.case-research-label){font-size:17px}.case-research-display aside>a{margin-top:8px}.home-case-end{padding-top:36px;font-size:11px;flex-wrap:wrap;gap:4px 22px}.home-case-end>a span{margin-left:12px}
}
@media(max-width:370px){.case-spread :is(h2,h3){font-size:30px}.case-study-index{gap:4px 18px}.case-spread-context nav{gap:0 18px}}
@media(prefers-reduced-motion:reduce){.case-print{transform:none}.case-photo-controls button{transition:background-color 80ms linear,color 80ms linear}.case-print-open{transition:opacity 80ms linear}}
