.container { width: 100%; max-width: var(--shk-container); margin-inline: auto; padding-inline: var(--shk-gutter); }
.container--narrow { max-width: 920px; }

.sec { padding-block: clamp(40px, 6vw, 72px); scroll-margin-top: calc(var(--dash-toolbar-h) + 8px); }
.sec--tight { padding-block: clamp(28px, 4vw, 48px); }
.sec--tint { background: var(--shk-surface); border-block: 1px solid var(--shk-line); }
.sec--dark { background: var(--shk-green-950); color: #fff; }
.sec--dark a { color: #fff; }

.sec-head { display: grid; gap: 8px; margin-block-end: clamp(20px, 3vw, 28px); }
.sec-head--row { grid-template-columns: 1fr auto; align-items: end; }
@media (max-width: 760px) { .sec-head--row { grid-template-columns: 1fr; } }
.sec-title { font-size: var(--shk-fs-3xl); font-weight: 800; display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; }
.sec-title .badge { font-size: 12px; }
.sec-lead { color: var(--shk-ink-500); font-size: 15px; max-width: 82ch; }
.sec--dark .sec-lead { color: var(--shk-on-dark-muted); }
.sec-kicker { color: var(--shk-gold-600); font-weight: 800; font-size: 13px; letter-spacing: .03em; }
.sec--dark .sec-kicker { color: var(--shk-gold-500); }

.grid { display: grid; gap: var(--grid-gap, 20px); }
.grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.grid--auto { grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); }
.grid--auto-sm { grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); }
@media (max-width: 900px) { .grid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .grid--2, .grid--3 { grid-template-columns: minmax(0, 1fr); } }

.stack { display: grid; gap: var(--stack-gap, 12px); align-content: start; }
.cluster { display: flex; flex-wrap: wrap; gap: var(--cluster-gap, 10px); align-items: center; }
.cluster--between { justify-content: space-between; }
.cluster--end { justify-content: flex-end; }
.flow > * + * { margin-block-start: var(--flow, 12px); }
