/* 04_LAYOUT.css — page primitives */
.section{padding:clamp(72px,9vw,144px) var(--gutter)}
.section-tight{padding-top:clamp(56px,7vw,96px);padding-bottom:clamp(56px,7vw,96px)}
.section-dark{background:var(--surface-dark);color:var(--text-inverse)}
.section-paper{background:var(--surface-strong)}
.section-soft{background:var(--surface-soft)}
.wrap{width:min(var(--max),100%);margin-inline:auto}
.hero-shell{display:grid;grid-template-columns:minmax(0,1.06fr) minmax(340px,.94fr);gap:clamp(34px,5vw,92px);align-items:center;min-height:calc(100vh - 66px);padding-block:clamp(54px,7vw,100px)}
.full-bleed{margin-inline:calc(var(--gutter) * -1)}
.dark{background:var(--surface-dark);color:var(--text-inverse)}
.dark a{color:inherit}
.stack-1>*+*{margin-top:8px}.stack-2>*+*{margin-top:16px}.stack-3>*+*{margin-top:24px}.stack-4>*+*{margin-top:32px}
.cluster{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.card-surface{background:var(--surface-strong);border:1px solid var(--rule)}
.center{text-align:center;margin-inline:auto}
.max-copy{max-width:760px}
@media(max-width:980px){.hero-shell{grid-template-columns:1fr;min-height:auto}.hero-shell .hero-copy{order:1}.hero-shell .hero-media{order:2}}
