.container { width: min(calc(100% - 2rem), var(--container)); margin-inline: auto; }
.narrow { width: min(100%, var(--content)); }
.section { padding-block: var(--space-xl); position: relative; }
.section--tight { padding-block: var(--space-lg); }
.section--light { color: var(--ink); background: var(--white); }
.section--muted { background: linear-gradient(135deg, var(--white) 0%, var(--white) 72%, var(--green-mist) 100%); border-block: 1px solid var(--gray-300); }
.section--grid { background-color: var(--white); background-image: linear-gradient(rgba(0,0,0,.055) 1px, transparent 1px), linear-gradient(90deg, rgba(0,0,0,.055) 1px, transparent 1px); background-size: 48px 48px; }
.grid { display: grid; gap: var(--space-md); }
.grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.cluster { display: flex; flex-wrap: wrap; gap: var(--space-sm); align-items: center; }
.split { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(18rem, .9fr); gap: var(--space-lg); align-items: center; }
.stack > * + * { margin-top: var(--space-md); }
.flow > * + * { margin-top: 1em; }
.align-end { align-items: end; }
.push-right { margin-left: auto; }
.text-muted { color: var(--gray-500); }
.section--light .text-muted { color: var(--gray-700); }
.green { color: var(--green-dark); }
.cta-panel .green, .site-footer .green { color: var(--green); }
.skip-link { position: fixed; z-index: 100; top: .5rem; left: .5rem; padding: .65rem 1rem; background: var(--green); color: var(--ink); transform: translateY(-160%); }
.skip-link:focus { transform: translateY(0); }
