:root { --night:#0D1210; }
@media (prefers-color-scheme:dark) { :root:not([data-theme="light"]) { --night:#1A4D2E; } }
:root[data-theme="dark"] { --night:#1A4D2E; }
.case > section { padding:clamp(48px,5.6vw,72px) var(--px); }
.case * { min-width:0; }
.case h1 { max-width:1000px; font-size:clamp(36px,5.6vw,72px); }
.case h2 { margin:12px 0 16px; font:500 clamp(28px,3.2vw,42px)/1.1 'Playfair Display',serif; text-wrap:balance; }
.case p { margin:0; font-size:16px; line-height:1.6; text-wrap:pretty; }
.case .case-label { color:var(--lab); font:400 12px/1.6 'JetBrains Mono',monospace; letter-spacing:.06em; text-transform:uppercase; }
.case-cobrand { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin-bottom:32px; }
.case-divider { opacity:.4; }
.case-client { font:500 clamp(16px,1.8vw,23px)/1.4 Inter,sans-serif; }
.case-hero h1 { margin:16px 0 24px; }
.case .case-lead { max-width:760px; color:var(--ink2); font-size:clamp(16px,1.4vw,18px); }
.case-steps { border-top:1px solid var(--rule); }
.case-steps-head { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:flex-end; gap:16px 40px; margin-bottom:28px; }
.case-steps-head > div { max-width:640px; }
.case-steps-head p { color:var(--ink2); }
.case-steps-head > a { display:flex; align-items:center; min-height:44px; font-size:15px; line-height:1.6; text-decoration:underline; text-underline-offset:4px; }
.case-steps .hiw-step-list { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:24px; list-style:none; margin:0; padding:0; }
.case-steps .hiw-step-list > li { display:flex; flex-direction:column; gap:6px; border-top:2px solid var(--ink); padding-top:14px; font-size:15px; line-height:1.35; overflow-wrap:break-word; }
.case-steps .hiw-step-list strong { font:500 clamp(26px,2.4vw,30px)/1.05 'Playfair Display',serif; }
.case-steps .hiw-mono, .case-steps small { font:400 11px/1.5 'JetBrains Mono',monospace; }
.case-steps small { margin-top:6px; color:var(--lab); }
.case-aerial { padding:0 var(--px); }
.case-aerial img, .case-photo-grid img, .case-visit > img { display:block; width:100%; height:auto; object-fit:cover; }
.case-aerial img { aspect-ratio:21/9; }
.case-disclosure { display:grid; grid-template-columns:minmax(0,2fr) minmax(0,10fr); gap:24px; border:1px solid var(--ink); padding:clamp(20px,2.8vw,36px); }
.case-disclosure p + p { margin-top:16px; }
.case-partners { color:var(--ink2); }
.case .case-farm { display:grid; grid-template-columns:minmax(0,5fr) minmax(0,7fr); gap:clamp(28px,4vw,56px); align-items:center; padding-top:0; }
.case-farm p:not(.case-label) { color:var(--ink2); }
.case-farm .case-award { border-top:1px solid var(--rule); padding-top:20px; margin-top:24px; font-size:14px; }
.case-photo-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:4px; }
.case-photo-grid img, .case-visit > img { aspect-ratio:4/3; }
.case .case-kpis { background:var(--night); color:#F5F2EC; }
.case-kpis .case-label { color:#E8C36A; }
.case-kpi-cells { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin:28px 0; align-items:end; }
.case-kpi-cells > div { display:flex; flex-direction:column; gap:8px; }
.case-kpi-cells strong { font:500 clamp(34px,4.2vw,58px)/1.1 'Playfair Display',serif; }
.case-kpi-cells small { font-size:14px; }
.case .case-attribution { border-top:1px solid rgba(245,242,236,.24); padding-top:20px; font-size:14px; }
.case-testimonial figure { margin:24px 0 0; max-width:1000px; }
.case-testimonial blockquote { margin:0; font:500 clamp(26px,3.2vw,42px)/1.35 'Playfair Display',serif; text-wrap:pretty; }
.case-testimonial figcaption { display:flex; flex-direction:column; gap:6px; margin-top:28px; font-size:15px; line-height:1.5; }
.case-testimonial figcaption > span { color:var(--ink2); }
.case-visit { display:grid; grid-template-columns:minmax(0,7fr) minmax(0,5fr); gap:clamp(28px,4vw,56px); align-items:center; border-top:1px solid var(--rule); }
.case-visit p { color:var(--ink2); }
.case-visit .button { min-height:52px; max-width:100%; margin-top:24px; padding:12px 22px; line-height:1.5; text-align:center; }
@media (max-width:899px) { .case-steps .hiw-step-list { grid-template-columns:minmax(0,1fr); } }
@media (max-width:760px) {
  .case-disclosure, .case .case-farm, .case-visit, .case-kpi-cells { grid-template-columns:minmax(0,1fr); }
  .case-aerial img { aspect-ratio:4/3; }
  .case-kpi-cells { gap:28px; }
}
