/* Block library: shared rules (Blocks design). Section wrapper, type scale, grid container. */
.blk{padding-block:clamp(56px,7vw,104px);border-bottom:1px solid var(--line);position:relative}
.blk-end{border-bottom:0}
.blk .h2,.blk .prose h2{font-size:clamp(30px,3.6vw,48px);line-height:1.05;letter-spacing:-.04em;font-weight:600;margin:0;text-wrap:balance}
.blk .h3,.blk .prose h3{font-size:22px;line-height:1.25;letter-spacing:-.025em;font-weight:600;margin:0}
.blk-stack{display:flex;flex-direction:column;gap:48px}
.blk-stack-40{gap:40px}
.blk-stack-32{gap:32px}
.blk-stack-28{gap:28px}
.blk-head{display:flex;flex-direction:column;gap:16px;max-width:760px}
.blk-note{margin:0;color:var(--muted);font-size:16px}
/* Container for grids that must not leave empty cells (see the data-n rules per block). */
.kc-gc{container-type:inline-size}
.blk-note a{font-weight:600;text-underline-offset:.2em}
/* Rhythm inside text sections: clear gap above headings, tight gap below, 1.25em between blocks. */
.blk .prose>*+*{margin-top:1.25em}
.blk .prose>*+h2{margin-top:clamp(48px,6vw,72px)}
.blk .prose>*+h3{margin-top:clamp(32px,4vw,44px)}
.blk .prose>h2+*{margin-top:20px}
.blk .prose>h3+*{margin-top:12px}
.blk .prose ul,.blk .prose ol{gap:12px}
