.container { width: min(var(--content-width), calc(100% - var(--page-gutter) * 2)); margin-inline: auto; }
.section { padding-block: var(--section-space); border-bottom: var(--border-width) solid var(--color-border); }
.stack { display: flex; flex-direction: column; gap: var(--stack-gap, var(--space-5)); }
.stack--compact { --stack-gap: var(--space-3); }
.stack--loose { --stack-gap: var(--space-7); }
.row { display: flex; flex-wrap: wrap; align-items: center; gap: var(--row-gap, var(--space-3)); }
.grid { display: grid; grid-template-columns: minmax(0,1fr); gap: var(--grid-gap, var(--space-6)); }
.grid > *, .row > *, .stack > * { min-width: 0; }
.prose { max-width: var(--reading-width); }
.section-heading { margin-bottom: var(--space-7); }
@media (min-width: 48rem) { .grid--two { grid-template-columns: repeat(2,minmax(0,1fr)); } .grid--three { grid-template-columns: repeat(3,minmax(0,1fr)); } }
