/* Cases: overview and one page per client build. Loaded only on /cases/ routes.
   Case pages also load hero-motion.css and build-widgets.css for the widget cards. */
.cases-hero h1 em,.case-hero h1 em{color:#a34b2b}

/* Overview */
.case-index{max-width:1344px;margin:0 auto;padding:0 48px 96px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.case-card{display:flex;flex-direction:column;gap:18px;min-height:100%;padding:32px;background:#fff;border:1px solid #e3ded6;border-radius:14px;color:var(--ink);transition:border-color .2s,transform .2s}
.case-card:hover{border-color:#bc4924;transform:translateY(-2px)}
.case-card:focus-visible{outline:3px solid var(--orange);outline-offset:4px}
.case-card-logo{display:flex;align-items:center;height:48px}
.case-card-logo .case-logo{height:40px;width:auto;max-width:220px;object-fit:contain}
.case-card-sector{font-size:12px;letter-spacing:.04em;color:var(--muted);text-transform:uppercase}
.case-card-summary{font-size:1.3rem;line-height:1.4;font-weight:500;letter-spacing:-.015em;max-width:30ch}
.case-card-built{display:flex;flex-wrap:wrap;gap:6px}
.case-card-built span{font-size:12px;line-height:1.3;padding:5px 9px;border:1px solid #e3e6e3;border-radius:5px;background:#f8f8f5;color:#3f4d56}
.case-card-link{margin-top:auto;display:inline-flex;align-items:center;gap:12px;align-self:flex-start;padding:10px 0 6px;font-size:.875rem;border-bottom:1px solid #b9ab95}
.case-card-logo .case-logo--topline,.case-facts-logo .case-logo--topline{height:48px}

/* Case page hero with the widget cluster */
.case-hero h1{font-size:clamp(2.5rem,4.4vw,4.4rem);letter-spacing:-.05em;line-height:1.04;margin:26px 0 28px}
.case-hero .page-hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px 28px}
.case-hero-visual{min-width:0}
.case-visual-note{margin:14px 0 0;font-size:12px;line-height:1.5;color:var(--muted);text-align:center}
@media(min-width:1100px){
 .case-widgets .case-w1{--wr:-5deg;left:0;top:18px;z-index:2}
 .case-widgets .case-w2{--wr:4deg;right:0;top:0;z-index:1}
 .case-widgets .case-w3{--wr:-3deg;left:150px;bottom:0;z-index:3}
}
@media(min-width:1100px) and (max-width:1240px){.case-widgets .case-w3{left:90px}}
@media(prefers-reduced-motion:no-preference){.case-widgets .case-w2{animation-delay:.28s,1.9s}.case-widgets .case-w3{animation-delay:.42s,2.6s}}
@media(max-width:1099px){.case-widgets .case-w1{--wr:-2deg}.case-widgets .case-w2{--wr:2deg;translate:0 10px}.case-widgets .case-w3{--wr:-1.5deg}.case-visual-note{text-align:left}}

/* Widget details */
.case-sketch{display:block;width:100%;height:auto;max-height:96px;margin:0 0 2px}
.case-sketch-frame{fill:none;stroke:#23313b;stroke-width:2}
.case-sketch-glass{fill:#e8eff3}
.case-sketch-measure{fill:none;stroke:#b85834;stroke-width:1.6;stroke-linecap:round}
.case-sketch-label{font:600 10px Geist,Arial,sans-serif;fill:#b85834;text-anchor:middle}
.case-bars{display:grid;gap:10px;margin:2px 0 2px}
.case-bar{display:grid;grid-template-columns:76px minmax(0,1fr);align-items:center;gap:8px;font-size:11px;line-height:1.3;color:#4f5d66}
.case-bar i{display:block;height:6px;border-radius:3px;background:#eef0ec;overflow:hidden}
.case-bar b{display:block;height:100%;border-radius:3px;background:#728f77}
.case-bar.is-low b{background:#b85834}
.case-spark{display:block;width:100%;height:auto;margin:2px 0}
.case-spark polyline{fill:none;stroke:#728f77;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
.case-spark circle{fill:#b85834}
.widget-question.case-quote{font-size:13px;font-weight:500;line-height:1.45;letter-spacing:-.01em;color:#3a4852}

/* Facts */
.case-facts-band{width:calc(100% - 96px);max-width:1248px;margin:8px auto 0;display:grid;grid-template-columns:minmax(0,220px) minmax(0,1fr);gap:40px;align-items:center;padding:26px 32px;background:#fff;border:1px solid #e3ded6;border-radius:14px}
.case-facts-logo .case-logo{height:40px;width:auto;max-width:100%;object-fit:contain}
.case-facts-band dl{margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.case-facts-band dt{font-family:'Geist Mono',monospace;font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.case-facts-band dd{margin:0;font-size:15px;line-height:1.5;color:var(--ink)}

/* What we built */
.case-inner{max-width:1344px;margin:0 auto;padding:100px 48px}
.case-work{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:56px 48px}
.case-work li{min-width:0}
.case-work li .point-widget{position:relative;left:auto;top:auto;transform:none;translate:none;width:100%;max-width:320px;min-height:196px;display:flex;flex-direction:column;margin-bottom:24px;animation:none;box-shadow:0 8px 22px -16px #23313b30,0 1px 3px #23313b08}
.case-work .mono{display:block;font-size:12px;color:#a34b2b}
.case-work h3{font-size:1.25rem;font-weight:540;letter-spacing:-.02em;line-height:1.3;margin:12px 0 10px}
.case-work p{font-size:15.5px;line-height:1.6;color:var(--muted)}
.case-control{margin-top:64px;display:grid;grid-template-columns:200px minmax(0,1fr);gap:32px;align-items:baseline;padding:26px 30px;background:#fff;border:1px solid #e3ded6;border-left:3px solid #bc4924;border-radius:10px}
.case-control .eyebrow{color:#9d5735;margin:0}
.case-control p{font-size:1.05rem;line-height:1.6;color:var(--ink)}

@media(max-width:1000px){
 .case-facts-band{grid-template-columns:minmax(0,1fr);gap:22px}
 .case-work{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:750px){
 .case-index{grid-template-columns:minmax(0,1fr);gap:16px;padding:0 24px 56px}
 .case-card{padding:24px;gap:14px}
 .case-card-summary{font-size:1.15rem}
 .case-hero h1{margin:18px 0 20px}
 .case-hero .page-hero-actions .button{width:100%;justify-content:space-between}
 .case-facts-band{width:calc(100% - 48px);padding:22px}
 .case-facts-band dl{grid-template-columns:minmax(0,1fr);gap:16px}
 .case-inner{padding:64px 24px}
 .case-work{grid-template-columns:minmax(0,1fr);gap:40px}
 .case-work li .point-widget{max-width:none;min-height:0;margin-bottom:18px}
 .case-control{margin-top:44px;grid-template-columns:minmax(0,1fr);gap:10px;padding:22px}
}
@media(prefers-reduced-motion:reduce){.case-card{transition:none}.case-card:hover{transform:none}}
.widget-bottom.case-bottom-tick{justify-content:flex-start;gap:6px}
.widget-bottom.case-bottom-tick svg{width:14px;height:14px;flex:none;color:#68806b}
.site-header nav>a.nav-cases[aria-current=true]{color:#a34b2b}
.case-built .section-intro .eyebrow{display:block;margin-bottom:20px}
.case-built .section-intro h2{font-size:clamp(2.2rem,4vw,3.6rem);font-weight:520;letter-spacing:-.045em;line-height:1.06}
.case-built .section-intro>p{max-width:440px}
@media(min-width:751px){.case-ask{white-space:nowrap}}
