.is-hero{padding:52px 0 44px}
.is-eyebrow{font-family:var(--f-body);font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);display:block;margin:18px 0 16px}
.is-hero h1{font-family:var(--f-display);font-weight:700;font-size:clamp(2.35rem,5vw,3.85rem);line-height:1.04;letter-spacing:-.035em;margin:0 0 26px;max-width:18ch;text-wrap:balance}
.is-lead{font-family:var(--f-body);font-size:1.1875rem;line-height:1.65;color:var(--fg-dim);max-width:60ch;margin:0}
.is-sec{padding:0 0 72px}
.is-h2{font-family:var(--f-display);font-weight:700;font-size:clamp(1.6rem,2.6vw,2.15rem);line-height:1.14;letter-spacing:-.025em;margin:0 0 28px;max-width:20ch;text-wrap:balance}
.is-card{border:1px solid var(--line);background:var(--bg);box-shadow:var(--shadow)}
.is-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.is-col{background:var(--bg);padding:26px 24px}
.is-col h4{font-family:var(--f-body);font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-faint);margin:0 0 16px}
.is-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.is-col li{font-family:var(--f-body);font-size:.9375rem;line-height:1.5;color:var(--fg);padding-left:18px;position:relative}
.is-col li::before{content:"";position:absolute;left:0;top:.55em;width:6px;height:1px;background:var(--accent)}
.deps{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.dep{background:var(--bg);padding:28px 26px}
.dep h4{font-family:var(--f-display);font-weight:700;font-size:1.25rem;line-height:1.2;letter-spacing:-.02em;margin:0 0 12px}
.dep p{font-family:var(--f-body);font-size:.9375rem;line-height:1.6;color:var(--fg-dim);margin:0}
/* 4 results: only 4/2/1 columns divide evenly -- 3 would strand 2 empty cells as grey slabs */
.ress{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
@media (max-width:1040px){ .ress{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width:520px){ .ress{grid-template-columns:minmax(0,1fr)} }
.res{background:var(--bg);padding:28px 24px}
.rv-num{font-family:var(--f-display);font-weight:700;font-size:2.75rem;line-height:1;letter-spacing:-.035em;color:var(--accent)}
.res h4{font-family:var(--f-body);font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--fg);margin:14px 0 8px}
.res p{font-family:var(--f-body);font-size:.875rem;line-height:1.55;color:var(--fg-dim);margin:0}
.is-src{margin-top:26px;font-family:var(--f-body);font-size:13px;line-height:1.6;color:var(--fg-faint)}
.is-src a{color:var(--fg-dim)}
.is-cta{border-top:1px solid var(--line);padding:52px 0 78px}
.is-cta h3{font-family:var(--f-display);font-weight:700;font-size:clamp(1.5rem,2.4vw,2rem);line-height:1.15;letter-spacing:-.025em;margin:0 0 20px;max-width:22ch}
