.case-hub-hero{padding:5.5rem 0 4rem;border-bottom:1px solid var(--line);background:radial-gradient(circle at 78% 24%,rgba(21,211,146,.14),transparent 30%),linear-gradient(135deg,#05070a,#09120f)}
.case-hub-hero-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.65fr);gap:4rem;align-items:end}
.case-hub-hero h1{font-size:clamp(2.75rem,5.8vw,5.7rem);line-height:.98;letter-spacing:-.06em;margin:0;max-width:950px}
.case-hub-hero .dek{margin-bottom:0}
.evidence-panel{padding:1.5rem;border:1px solid rgba(21,211,146,.35);border-radius:1.25rem;background:rgba(5,7,10,.72)}
.evidence-panel strong{display:block;color:var(--green);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:.85rem}
.evidence-panel ul{list-style:none;padding:0;margin:0;display:grid;gap:.75rem}
.evidence-panel li{color:#b7c0cb;font-size:.86rem;line-height:1.55;padding-left:1.3rem;position:relative}
.evidence-panel li:before{content:"✓";position:absolute;left:0;color:var(--green);font-weight:900}
.case-filter{position:sticky;top:72px;z-index:40;background:rgba(11,16,23,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(14px)}
.case-filter-inner{display:flex;gap:.65rem;align-items:center;padding:.9rem 0;overflow-x:auto}
.case-filter button{flex:0 0 auto;border:1px solid #344151;background:transparent;color:#b9c2cd;border-radius:999px;padding:.62rem .9rem;font:750 .72rem/1 system-ui;cursor:pointer}
.case-filter button[aria-pressed="true"]{background:var(--green);border-color:var(--green);color:#04110c}
.case-hub-section{padding:4.5rem 0 5.5rem}
.case-hub-heading{display:flex;justify-content:space-between;align-items:end;gap:2rem;margin-bottom:2rem}
.case-hub-heading h2{font-size:clamp(2rem,4vw,3.35rem);letter-spacing:-.045em;line-height:1.05;margin:0}
.case-count{color:#818c99;font-size:.82rem;white-space:nowrap}
.case-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}
.case-card{min-width:0;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:1.3rem;overflow:hidden;background:var(--panel);text-decoration:none;color:inherit;transition:transform .2s,border-color .2s}
.case-card:hover{transform:translateY(-3px);border-color:rgba(21,211,146,.65)}
.case-card-media{aspect-ratio:3/2;background:#171c24;overflow:hidden;border-bottom:1px solid var(--line)}
.case-card-media img{width:100%;height:100%;display:block;object-fit:cover}
.case-card-body{padding:1.55rem;display:flex;flex-direction:column;flex:1}
.case-card-tag{color:var(--green);font-size:.67rem;font-weight:850;letter-spacing:.13em;text-transform:uppercase}
.case-card h3{font-size:1.45rem;line-height:1.22;letter-spacing:-.025em;margin:.8rem 0}
.case-card p{color:#9ea9b6;line-height:1.72;font-size:.9rem;margin:0 0 1.2rem}
.case-card-facts{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:auto}
.case-card-facts span{border:1px solid #303b49;border-radius:999px;padding:.38rem .58rem;color:#bfc8d2;font-size:.66rem;font-weight:700}
.case-card-link{display:block;margin-top:1.2rem;color:var(--green);font-size:.78rem;font-weight:850}
.case-method{padding:4.5rem 0;border-block:1px solid var(--line);background:#080c12}
.case-method-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:4rem;align-items:start}
.case-method h2{font-size:clamp(2rem,4vw,3.4rem);letter-spacing:-.045em;line-height:1.08;margin:0}
.method-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.method-cards article{padding:1.2rem;border:1px solid var(--line);border-radius:1rem;background:var(--panel)}
.method-cards span{color:var(--green);font-size:.68rem;font-weight:900;letter-spacing:.1em}
.method-cards h3{font-size:1rem;margin:.65rem 0 .45rem}
.method-cards p{color:#929daa;font-size:.82rem;line-height:1.65;margin:0}
.case-empty{display:none;text-align:center;padding:3rem;border:1px dashed var(--line);border-radius:1rem;color:#8d98a5}
@media(max-width:850px){.case-hub-hero-grid,.case-method-grid{grid-template-columns:1fr;gap:2.5rem}.case-grid{grid-template-columns:1fr}.case-filter{top:72px}.case-hub-heading{align-items:flex-start;flex-direction:column;gap:.6rem}}
@media(max-width:560px){.case-hub-hero{padding:4rem 0 3rem}.case-hub-section{padding:3.5rem 0 4rem}.method-cards{grid-template-columns:1fr}.case-card h3{font-size:1.25rem}.case-card-body{padding:1.25rem}}

/* Keep case filters comfortable to tap on mobile. */
.case-filter button{min-height:44px}
