/* Case studies share a reading grid, quiet metadata, and expansive media. */
.case-hero{padding-top:40px;padding-bottom:104px}
.back-link{margin-bottom:48px}
.case-hero h1{font-size:clamp(3rem,6.6vw,6.6rem);line-height:1.04;letter-spacing:-.06em;max-width:1100px;margin:32px 0 36px}
.case-summary{font-size:clamp(1.0625rem,1.5vw,1.25rem);line-height:1.75;max-width:700px;color:var(--muted)}
.case-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap);padding-top:40px;margin-top:64px;border-top:1px solid var(--line)}
.case-metrics>div{min-width:0}.case-metrics>div>span{font-size:clamp(2.25rem,4.2vw,4.25rem);line-height:1.1;letter-spacing:-.055em}
.case-metrics p{font-size:.875rem;color:var(--muted);margin-top:12px;line-height:1.6;max-width:240px}
.case-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap);margin-top:48px;border-top:1px solid var(--line);padding-top:40px}
.case-overview>div{min-width:0}.case-overview .eyebrow{margin-bottom:12px}.case-overview p:not(.eyebrow){font-size:.9375rem;line-height:1.8}
.case-cover>div{padding:clamp(24px,5vw,72px);background:var(--surface);border-radius:6px;overflow:hidden}.case-cover img{width:100%;height:auto}
.case-index{position:sticky;top:0;z-index:40;background:var(--paper);padding:8px var(--pad);border-bottom:1px solid var(--line);margin:48px calc(-1 * var(--pad)) 0}
.case-index:after{content:'';position:absolute;bottom:-1px;left:var(--pad);right:var(--pad);height:1px;background:var(--muted);transform:scaleX(var(--reading-progress,0));transform-origin:left;pointer-events:none}
.chapter-tabs{display:flex;gap:4px;padding:4px;background:#eceee9;border-radius:16px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;scroll-padding-inline:4px}
.chapter-tabs::-webkit-scrollbar{display:none}
.chapter-tab{position:relative;display:flex;align-items:center;justify-content:center;flex:1 0 0;min-width:max-content;min-height:var(--control-height);padding:8px 12px;border:1px solid transparent;border-radius:12px;font-size:var(--control-font);font-weight:600;line-height:1.2;letter-spacing:-.015em;color:var(--muted);white-space:nowrap;transition:background .18s,color .18s,box-shadow .18s}
.chapter-tab[aria-current]{background:var(--paper);color:var(--ink);box-shadow:0 1px 3px #20221f18,inset 0 0 0 1px #20221f08}
.chapter-tab:focus-visible{outline-offset:-3px}
@media(hover:hover){.chapter-tab:hover{color:var(--ink);background:#ffffff90}}
.chapter-tab:active{box-shadow:inset 0 0 0 100px #20221f0d}
.case-chapter{padding-top:var(--section-space);scroll-margin-top:calc(var(--chapter-index-height) - var(--section-space) - var(--nav-clearance,var(--header-height)))}
.chapter-copy{display:grid;grid-template-columns:var(--copy-columns);gap:var(--gap);margin-bottom:80px;align-items:start}
.case-chapter>.chapter-copy:last-child{margin-bottom:0}
.chapter-copy>*{min-width:0}.chapter-copy>.eyebrow{padding-top:8px}
.chapter-copy h2{font-size:clamp(2.125rem,3.6vw,3.6rem);line-height:1.12;letter-spacing:-.045em;max-width:24ch;margin-bottom:30px}
.chapter-copy>div>p{font-size:1.0625rem;line-height:1.85;color:var(--muted);max-width:60ch;margin-top:22px}
.case-gallery{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto;gap:0 var(--gap);align-items:stretch}
.case-gallery>figure{display:grid;grid-row:span 2;grid-template-rows:subgrid;row-gap:0}
.case-gallery.single{grid-template-columns:1fr}
.image-button{position:relative;cursor:zoom-in;display:flex;width:100%;align-items:center;justify-content:center;border:0;background:var(--surface);padding:clamp(24px,3vw,48px);border-radius:6px;overflow:hidden;min-height:220px}
.image-button img{width:100%;height:auto;max-height:570px;object-fit:contain}
.image-button>.button{position:absolute;bottom:16px;right:16px;background:var(--paper)}
@media(hover:hover){.image-button:hover>.button{background:var(--secondary-hover)}}
.case-gallery.single .image-button{padding:clamp(24px,5vw,72px)}.case-gallery.single img{max-height:760px}
.case-gallery figcaption{max-width:64ch}
.next-project{border-top:1px solid var(--line);padding:80px 0 120px;margin-top:var(--section-space);display:flex;align-items:center;justify-content:space-between;gap:40px}
.next-project h2{font-size:clamp(2.375rem,5vw,5rem);line-height:1.12;letter-spacing:-.05em;max-width:850px;margin-top:24px}
.next-project>.button{flex-shrink:0}
#image-dialog{border:0;padding:0 28px 28px;background:var(--paper);color:var(--ink);width:min(95vw,1440px);max-width:95vw;max-height:94svh;overflow:auto;border-radius:8px}
#image-dialog::backdrop{background:#161b18d9;backdrop-filter:blur(6px)}
.dialog-toolbar{position:sticky;top:0;background:var(--paper);display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;margin-bottom:20px;z-index:1}
.dialog-close span{font-size:1rem;line-height:1}
#image-dialog>img{width:auto;max-width:100%;max-height:calc(90svh - 160px);object-fit:contain;margin:auto}
.dialog-caption{font-size:.875rem;line-height:1.7;margin-top:24px}
@media(max-width:60em){
  .case-hero{padding-top:32px;padding-bottom:80px}.case-hero h1{font-size:clamp(3rem,7.5vw,5.25rem)}
  .chapter-copy h2{font-size:2.75rem}
}
@media(max-width:40em){
  .case-hero{padding-top:24px;padding-bottom:64px}.back-link{margin-bottom:32px}.case-hero h1{font-size:clamp(2rem,calc(1.5rem + 5.4vw),3.75rem);margin:28px 0}
  .case-summary{font-size:1.0625rem}.case-metrics{grid-template-columns:repeat(auto-fit,minmax(min(100%,7rem),1fr));gap:28px 20px;margin-top:36px;padding-top:28px}
  .case-metrics>div>span{font-size:2.375rem}.case-metrics p{font-size:.8125rem}
  .case-overview{grid-template-columns:1fr;gap:24px;margin-top:32px;padding-top:26px}.case-overview>div:last-child{grid-column:auto}
  .case-overview p:not(.eyebrow){font-size:.9375rem}.case-overview .eyebrow{margin-bottom:8px}
  .case-cover>div{padding:18px}.case-index{margin-top:28px}
  .chapter-copy{display:block;margin-bottom:48px}.chapter-copy>.eyebrow{padding:0;margin-bottom:24px}
  .chapter-copy h2{font-size:clamp(2rem,7.8vw,2.75rem);margin-bottom:24px}.chapter-copy>div>p{font-size:1rem;line-height:1.85}
  .case-gallery{grid-template-columns:1fr;row-gap:48px}.case-gallery>figure{display:block;grid-row:auto}.image-button{min-height:0;padding:20px}.image-button img{max-height:600px}.case-gallery.single .image-button{padding:20px}
  .next-project{padding:48px 0 80px;gap:32px;align-items:flex-start;flex-direction:column}.next-project h2{font-size:2.25rem}
  #image-dialog{padding:0 18px 22px}.dialog-toolbar{gap:12px;flex-wrap:wrap}
}
