/* Case content uses explicit CSS; shared header, menu, brief and CTA stay verbatim. */
.case-main{padding:56px 0 96px}
.case-container{width:100%;max-width:1152px;margin-left:auto;margin-right:auto;padding-left:24px;padding-right:24px}
.case-back{display:block;width:fit-content;margin-bottom:32px;font-size:14px;font-weight:600;color:var(--muted-foreground);transition:color .2s}
.case-back:hover{color:var(--pink)}
.case-heading .case-kick{margin-bottom:20px}
.case-heading h1{font-size:clamp(36px,5vw,64px);font-weight:800;line-height:1.06;letter-spacing:-.035em;max-width:1000px;overflow-wrap:break-word}
.case-summary{font-size:20px;line-height:1.6;max-width:760px;margin-top:24px;color:var(--muted-foreground)}
.case-main img{display:block;max-width:100%;height:auto;margin:0 auto}
.case-hero-img{background:#ece8dc}
.case-hero-img img{width:100%}
.case-hero-compact{padding:40px;background:#ece8dc}
.case-hero-compact img{width:auto;max-height:600px;object-fit:contain}
.case-text-row{display:grid;grid-template-columns:1fr 2.2fr;gap:40px;align-items:start}
.case-text-row h2{font-size:clamp(22px,2.6vw,30px);font-weight:800;line-height:1.2;letter-spacing:-.02em}
.case-text-row p{font-size:18px;line-height:1.75;margin:0;max-width:760px}
.case-text-row p+p{margin-top:20px}
.case-accent-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.case-accent h3{font-size:23px;line-height:1.2;font-weight:800;letter-spacing:-.02em;margin:0}
.case-accent p{font-size:16px;line-height:1.65}
.case-gallery{display:grid;gap:32px;align-items:start}
.case-gallery figure{margin:0;min-width:0}
.case-gallery-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.case-gallery-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.case-gallery .case-shot{background:#ece8dc}
.case-gallery figcaption{font-size:13px;line-height:1.5;color:var(--muted-foreground);margin:12px 4px 0}
/* Supply absent sizing utilities locally without changing the copied CTA markup. */
.case-main>section:last-child{max-width:1152px}
.case-main>section:last-child>div{border-radius:32px}
.case-main>section:last-child p{max-width:576px;color:color-mix(in srgb,var(--cream) 80%,transparent)}
.case-main>section:last-child button{color:#fff}
@media(min-width:640px){.case-main>section:last-child>div{padding-left:64px;padding-right:64px}}
@media(max-width:767px){
 .case-main{padding-top:32px;padding-bottom:64px}
 .case-container{padding-left:20px;padding-right:20px}
 .case-heading h1{font-size:38px}
 .case-summary{font-size:18px;margin-top:20px}
 .case-text-row{grid-template-columns:1fr;gap:16px}
 .case-text-row p{font-size:17px}
 .case-accent-grid{grid-template-columns:1fr;gap:16px}
 .case-gallery-2,.case-gallery-3{grid-template-columns:1fr}
 .case-hero-compact{padding:24px}
 .case-hero-compact img{max-height:420px}
 .case-main>section:last-child>div{padding-left:24px;padding-right:24px}
}
@media(prefers-reduced-motion:reduce){.case-back{transition:none}}

#menu-backdrop{position:fixed;inset:0;z-index:49;background:rgba(14,24,19,.48);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .28s ease,visibility .28s ease;border:0}
#menu-backdrop.is-open{opacity:1;visibility:visible;pointer-events:auto}
#mobile-menu{z-index:50}
