/* Reusable case-study layout. Existing page styles and colour experiments are untouched. */
.case-page nav a[aria-current="location"]{border-bottom:1px solid var(--olive);color:var(--paper)}
.case-hero{padding:35px 0 62px}
.case-hero-top{display:flex;align-items:center;justify-content:space-between;gap:24px}
.case-hero-top>.meta{font-size:11px;letter-spacing:1.2px}.case-hero-top .text-link{font-size:13px;min-width:130px}
.case-hero h1{font-size:clamp(62px,5.4vw,104px);line-height:1.08;letter-spacing:-3.8px;font-weight:400;margin-top:18px}
.case-hero-meta{display:flex;flex-wrap:wrap;gap:12px 30px;font-size:13px;color:var(--secondary);margin-top:22px}
.case-hero-media{width:min(94%,calc(64svh * var(--case-hero-ratio)));margin:30px auto 0}
.case-image-link{display:block;position:relative;cursor:zoom-in}
.case-image-link img{display:block;width:100%;height:auto;max-height:none;object-fit:contain}
.case-image-link:focus-visible{outline:2px solid var(--olive);outline-offset:5px}
.case-hero-media>figcaption{font-size:11px;color:var(--secondary);margin-top:12px}
.case-page .open-project{width:44px;height:44px}
.case-image-link:hover .open-project,.case-image-link:focus-visible .open-project{opacity:1;transform:none}
@media(hover:none){.case-image-link .open-project{opacity:1;transform:none}}
.case-overview{background:var(--paper);color:var(--ink);padding-block:66px}
.case-overview-grid,.case-editorial{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:10%}
.case-overview .meta{font-size:11px;letter-spacing:1.1px;color:#4f5749;margin-bottom:19px}
.case-page h2{font-size:clamp(34px,2.8vw,50px);line-height:1.12;letter-spacing:-1.5px;font-weight:400}
.case-facts{margin:35px 0 0;max-width:410px}
.case-facts>div{display:grid;grid-template-columns:82px minmax(0,1fr);gap:20px;padding-block:12px;border-top:1px solid var(--grey-dark);font-size:13px;line-height:1.65}
.case-facts dt{color:#4f5749}.case-facts dd{margin:0}
.case-prose{max-width:690px;font-size:18px;line-height:1.8;color:var(--secondary)}
.case-prose p+p{margin-top:22px}.case-overview .case-prose{color:#4f5749}.case-overview .case-prose>p:first-child{color:var(--ink);font-size:23px;line-height:1.55;letter-spacing:-.35px}
.case-spaces{padding-top:66px;overflow-anchor:none}
.case-spaces-intro{margin-bottom:28px}.case-spaces-intro>.meta{font-size:11px;letter-spacing:1.1px;margin-bottom:18px}
.case-spaces-intro>p:last-child{font-size:17px;line-height:1.7;color:var(--secondary);margin-top:18px}
.case-room-navigation{position:sticky;top:0;z-index:8;background:var(--dark);border-block:1px solid var(--line)}
.case-room-tabs{display:flex;gap:22px;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:none;scroll-padding-inline:12px}
.case-room-tabs::-webkit-scrollbar{display:none}
.case-page .case-room-tab{flex:none;font-size:14px;white-space:nowrap;min-height:54px;margin:0;padding:12px 0;border-bottom:1px solid transparent}
.case-page .case-room-tab[aria-selected="true"]{color:var(--paper);border-bottom-color:var(--olive);background:transparent}
.case-room-tab:hover{color:var(--paper)}.case-room-tab:focus-visible{outline:2px solid var(--olive);outline-offset:-4px}
.case-room-content{padding-top:35px}.case-room-content [role="tabpanel"]:focus-visible{outline:2px solid var(--olive);outline-offset:5px}
.case-room-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}
.case-room-heading h3{font-size:30px;line-height:1.2;letter-spacing:-.8px;font-weight:400}.case-room-heading>.meta{font-size:10px;letter-spacing:.6px;white-space:nowrap}
.case-prototype-note{font-size:12px;line-height:1.7;max-width:760px;color:var(--secondary);margin-top:13px;margin-bottom:28px}
.case-gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 28px}
.case-photo{margin:0;min-width:0}.case-photo--wide{grid-column:1/-1}
.case-photo>figcaption{display:flex;justify-content:space-between;gap:18px;margin-top:12px;font-size:12px;line-height:1.6;color:var(--secondary)}
.case-photo>figcaption span{font-size:10px;letter-spacing:.4px}
.case-film{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:7%;align-items:center;margin:52px 0 0;padding-top:40px;border-top:1px solid var(--line)}
.case-gallery-grid>.case-film{grid-column:1/-1}
.case-film figcaption>.meta{font-size:10px;letter-spacing:1px;margin-bottom:18px}
.case-film h3{font-size:32px;line-height:1.15;letter-spacing:-.8px;font-weight:400;max-width:420px}
.case-film figcaption>p:not(.meta){font-size:15px;line-height:1.8;color:var(--secondary);max-width:380px;margin-top:19px}
.case-pending{display:inline-block;font-size:10px;letter-spacing:.7px;color:var(--secondary);margin-top:21px;border-bottom:1px solid var(--line);padding-bottom:7px}
.case-film-media img,.case-film-media video{display:block;width:100%;height:auto;object-fit:contain}
.case-editorial{padding-block:72px;border-top:1px solid var(--line);margin-top:66px}
.case-editorial>.case-prose{font-size:17px;line-height:1.85}
.case-editorial>div:first-child>.meta{font-size:11px;letter-spacing:1.1px;margin-bottom:20px}
.case-editorial h2{max-width:470px}.case-delivery{margin-top:0;padding-top:60px}
.case-related-links{display:flex;flex-wrap:wrap;gap:14px 28px;margin-top:26px}.case-related-links .text-link{font-size:14px;min-width:150px}
.case-cta{display:flex;justify-content:space-between;align-items:center;gap:40px;border-block:1px solid var(--line);padding-block:32px}
.case-cta .meta{font-size:11px;letter-spacing:1.1px;margin-bottom:12px}.case-cta h2{font-size:36px;letter-spacing:-1.1px}
.case-cta div>p:last-child{font-size:16px;line-height:1.75;color:var(--secondary);max-width:690px;margin-top:14px}
.case-cta>.text-link{flex:none;min-width:205px;font-size:16px;min-height:48px;border-bottom-color:var(--olive)}
.case-back{padding-block:24px 38px}.case-back>.text-link{min-width:140px;font-size:13px}
@media(max-width:1100px){.case-hero h1{font-size:70px;letter-spacing:-2.5px}.case-overview-grid,.case-editorial{gap:7%;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}.case-prose{font-size:17px}.case-overview .case-prose>p:first-child{font-size:21px}.case-page h2{font-size:36px;letter-spacing:-1px}.case-room-heading h3{font-size:27px}.case-film h3{font-size:28px}.case-photo>figcaption{font-size:11px}.case-room-tabs{gap:24px}}
@media(max-width:767px){
  .case-hero{padding:25px 0 36px}.case-hero-top{gap:15px}.case-hero-top>.meta{font-size:10px;letter-spacing:.6px;max-width:145px}.case-hero-top .text-link{font-size:12px;min-width:112px;gap:20px}
  .case-hero h1{font-size:54px;line-height:1.03;letter-spacing:-2px;margin-top:20px}.case-hero h1 .serif{display:block}.case-hero-meta{font-size:12px;gap:20px;margin-top:19px}
  .case-hero-media{width:94%;margin-top:25px}.case-hero-media>figcaption{font-size:10px;line-height:1.6;margin-top:10px}
  .case-overview{padding-block:37px}.case-overview-grid,.case-editorial{display:block}.case-page h2{font-size:32px;line-height:1.13;letter-spacing:-.9px}
  .case-overview .meta{font-size:10px;margin-bottom:14px}.case-facts{margin-top:26px;max-width:none}.case-facts>div{font-size:12px;padding-block:11px;grid-template-columns:68px minmax(0,1fr);gap:16px}
  .case-overview .case-prose{margin-top:30px;font-size:16px;line-height:1.8}.case-overview .case-prose>p:first-child{font-size:21px;line-height:1.55}.case-prose p+p{margin-top:20px}
  .case-spaces{padding-top:37px}.case-spaces-intro{margin-bottom:24px}.case-spaces-intro>.meta{font-size:10px;margin-bottom:14px}.case-spaces-intro>p:last-child{font-size:16px;line-height:1.75;margin-top:15px}
  .case-room-tabs{width:100%;padding-inline:6%;gap:25px}.case-page .case-room-tab{font-size:14px;min-height:52px}
  .case-room-content{padding-top:25px}.case-room-heading{display:block}.case-room-heading h3{font-size:27px;letter-spacing:-.6px}.case-room-heading>.meta{display:block;margin-top:10px}
  .case-prototype-note{font-size:12px;line-height:1.7;margin-top:13px;margin-bottom:23px}.case-gallery-grid{grid-template-columns:minmax(0,1fr);gap:26px}.case-photo--wide{grid-column:1}
  .case-photo>figcaption{font-size:11px;gap:12px;margin-top:10px}.case-photo>figcaption span{font-size:9px;white-space:nowrap}.case-page .open-project{width:40px;height:40px;bottom:12px;right:12px}
  .case-film{display:flex;flex-direction:column;align-items:stretch;gap:25px;margin-top:32px;padding-top:28px}.case-film figcaption>.meta{font-size:10px;margin-bottom:14px}.case-film h3{font-size:28px}.case-film figcaption>p:not(.meta){font-size:15px;line-height:1.75;margin-top:16px}.case-pending{margin-top:17px}
  .case-editorial{padding-block:37px;margin-top:37px}.case-editorial>.case-prose{font-size:16px;line-height:1.85;margin-top:25px}.case-editorial>div:first-child>.meta{font-size:10px;margin-bottom:15px}.case-delivery{margin-top:0}
  .case-cta{flex-direction:column;align-items:flex-start;gap:20px;padding-block:27px}.case-cta h2{font-size:30px}.case-cta div>p:last-child{font-size:15px;line-height:1.8}.case-cta>.text-link{font-size:15px}.case-back{padding-block:20px 28px}
}
@media(max-width:360px){.case-hero h1{font-size:47px}.case-page h2{font-size:30px}.case-room-heading h3{font-size:25px}}
@media(prefers-reduced-motion:reduce){.case-page .arrow{transition:none}}
