.container { width: min(100% - (2 * var(--page-gutter)), var(--content-default)); margin-inline: auto; }
.container--narrow { width: min(100% - (2 * var(--page-gutter)), var(--content-narrow)); }
.container--wide { width: min(100% - (2 * var(--page-gutter)), var(--content-wide)); }
.section { padding-block: clamp(var(--space-16), 8vw, var(--space-24)); }
.section--compact { padding-block: clamp(var(--space-10), 5vw, var(--space-16)); }
.section--soft { background: var(--colour-surface-soft); }
.section--brand { background: var(--colour-brand-strong); color: var(--colour-white); }
.section-heading { max-width: 48rem; margin-block-end: var(--space-10); }
.section-heading__rule { width: 3rem; height: 0.2rem; margin-block: var(--space-4) var(--space-6); border: 0; border-radius: var(--radius-round); background: var(--colour-highlight); }
.cluster { display: flex; flex-wrap: wrap; gap: var(--cluster-gap, var(--space-4)); align-items: var(--cluster-align, center); }
.stack > * { margin-block: 0; }
.stack > * + * { margin-block-start: var(--stack-space, var(--space-4)); }
.grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--grid-min, 16rem)), 1fr)); gap: var(--grid-gap, var(--space-6)); }
.grid--balanced-four { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.split { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(var(--space-8), 6vw, var(--space-16)); align-items: center; }
.flow > * { margin-block: 0; }
.flow > * + * { margin-block-start: var(--flow-space, 1em); }
@media (max-width: 48rem) { .split { grid-template-columns: 1fr; } }
@media (max-width: 64rem) { .grid--balanced-four { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 36rem) { .grid--balanced-four { grid-template-columns: 1fr; } }
