/* HCF layout primitives. */
.hc-container { width: min(100% - 2rem, 72rem); margin-inline: auto; }
.hc-section { padding-block: clamp(3rem, 8vw, 6rem); }
.hc-section--soft { background: var(--hc-color-surface-soft); }
.hc-stack { display: flex; flex-direction: column; }
.hc-stack--sm { gap: var(--hc-space-3); }
.hc-stack--lg { gap: var(--hc-space-8); }
.hc-grid { display: grid; gap: var(--hc-space-5); }
.hc-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 48rem) { .hc-grid--3 { grid-template-columns: 1fr; } }
