body:has(.case-study) .site-header{position:fixed;inset:0 0 auto;z-index:3;width:100%;background:var(--color-bg)}body:has(.case-study) .site-main{padding-top:0}body:has(.case-study) .site-footer{background:var(--color-bg)}.case-study{display:grid;gap:var(--space-16)}.case-study .case-hero{position:relative;padding-top:var(--hero-heading-offset)}.case-study .case-hero>.case-kicker{position:absolute;top:var(--hero-heading-offset);margin:0;transform:translateY(calc(-100% - var(--space-4)))}.case-study .case-kicker{margin:0 0 var(--space-4);color:var(--color-accent);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase}.case-study .case-kicker a{color:inherit;text-decoration:none}.case-study h1,.case-study h2{margin:0;font-family:var(--font-display);font-weight:500;line-height:var(--leading-display)}.case-study h1{max-width:14em;font-size:clamp(var(--text-4xl),5vw,var(--text-6xl))}.case-study h2{font-size:clamp(var(--text-3xl),4vw,var(--text-5xl))}.case-study .case-lead,.case-study .case-copy p,.case-study .case-close p:not(.case-kicker),.case-study figcaption{max-width:40rem;color:var(--color-text-secondary);line-height:var(--leading-body)}.case-study .case-lead,.case-study .case-copy p,.case-study .case-close p{margin-top:var(--space-6)}.case-study .case-copy>h2+*,.case-study .case-close>h2+*{margin-top:var(--space-8)}.case-study .case-layout{display:grid;gap:var(--space-12)}.case-study .case-narrative{display:grid;gap:var(--space-16);min-width:0}.case-study .case-gallery{display:grid;gap:var(--space-8);min-width:0}.case-study .case-gallery__item{margin:0;text-align:center}.case-study .case-gallery__item h2{margin-bottom:var(--space-4);font-size:clamp(var(--text-xl),2vw,var(--text-2xl))}.case-study .case-gallery img{display:block;width:100%;height:auto;background:transparent}.case-study .case-gallery img{width:auto;max-width:100%;max-height:28rem;margin-inline:auto}.case-study .case-overview dl,.case-study .case-metrics{display:grid;gap:var(--space-5);margin:0}.case-study .case-credits{display:grid;gap:var(--space-2);margin:0;max-width:36rem}.case-study dt{color:var(--color-accent);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase}.case-study .case-credits dt{color:var(--color-text-primary);font-size:var(--text-sm);letter-spacing:.02em;text-transform:none}.case-study dd{margin:var(--space-2) 0 0}.case-study .case-credits dd{margin:var(--space-1) 0 0;color:var(--color-text-secondary)}.case-study .case-overview ul{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:0;padding:0;list-style:none}.case-study .case-overview__services{grid-column:1 / -1}.case-study .case-overview__services li{display:inline-flex;align-items:center;min-height:2rem;padding:var(--space-1) var(--space-3);color:var(--color-text-secondary);font-size:var(--text-xs);letter-spacing:.04em;line-height:var(--leading-ui);border:1px solid var(--color-border);border-radius:var(--radius-pill)}.case-study .case-overview a{color:inherit;text-decoration:underline;text-underline-offset:.25em}.case-study .case-overview__services a{color:inherit;text-decoration:none}.case-study .case-overview__services a:hover,.case-study .case-overview__services a:focus-visible{color:var(--color-text-primary)}.case-study .case-close{max-width:var(--container-narrow)}.case-study figcaption{margin-top:var(--space-3);font-size:var(--text-sm);font-style:italic}.case-study .case-gallery__item figcaption{text-align:left}.case-study .case-metrics dd span{display:block;margin-top:var(--space-2);color:var(--color-text-secondary);font-size:var(--text-sm)}.case-study .case-next{padding-top:var(--space-8);border-top:1px solid var(--color-border)}.case-study .case-next__grid{display:grid;gap:var(--space-4);margin-top:var(--space-6)}.case-study .case-next__card{display:block;min-width:0;color:inherit;text-decoration:none;border:1px solid var(--color-border)}.case-study .case-next__image{display:block;width:100%;aspect-ratio:4 / 3;object-fit:cover;background:var(--color-bg-elevated)}.case-study .case-next__title{display:block;margin:0;padding:var(--space-3) var(--space-4);color:var(--color-text-primary);font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;line-height:var(--leading-ui);letter-spacing:normal}.case-study .case-next__card:hover .case-next__title,.case-study .case-next__card:focus-visible .case-next__title{color:var(--color-text-muted)}.case-study .case-next__card:hover,.case-study .case-next__card:focus-visible{border-color:var(--color-border-strong)}.case-study .case-close{padding-top:var(--space-8);border-top:1px solid var(--color-border)}.case-study .case-close .button{margin-top:var(--space-8);min-height:2.75rem}@media(min-width:768px){.case-study .case-overview dl,.case-study .case-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-8)}.case-study .case-next__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-5)}}@media(min-width:1024px){.case-study .case-layout{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:var(--space-12) var(--space-10);align-items:start}.case-study .case-gallery{position:sticky;top:calc(var(--hero-heading-offset) * .35 + 4rem);gap:var(--space-6)}.case-study .case-overview dl{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(prefers-reduced-motion:reduce){.case-study a{transition:none}}
