/* ============================================================ BASE — Minimal site-wide rules. Keep this extremely small (≤ 5 rules). Promote a pattern from a component to base only once it's clearly universal. ============================================================ */ /* Full-height flex layout: header → main → (optional footer) */ html, body { height: 100%; overflow: hidden; } body { font-family: var(--font-body); background: var(--bg-primary); color: var(--text-primary); background: linear-gradient( 180deg, rgba(0, 0, 0, 0) 92%, rgba(149, 87, 181, 1) 100% ); display: flex; flex-direction: column; } main { flex: 1; min-height: 0; overflow-wrap: anywhere; } main * { overflow-wrap: anywhere; word-break: break-word; } /* Global heading scale — used by admin + public pages */ :where(h1, h2, h3, h4, h5, h6) { font-family: var(--font-display); font-size: var(--step-2); font-weight: 400; margin: 0 0 var(--space-l) 0; line-height: 1.15; }