body { min-width: 320px; background: var(--color-white); color: var(--color-text); font-family: var(--font-sans); font-size: 16px; line-height: 1.6; text-rendering: optimizeLegibility; }
::selection { background: var(--color-amber); color: var(--color-black); }
:focus-visible { outline: 2px solid var(--color-amber); outline-offset: 3px; }
h1, h2, h3, h4 { color: var(--color-black); font-weight: 700; line-height: 1.08; letter-spacing: -0.035em; }
h1, .heading-display { font-family: var(--font-display); font-size: clamp(2.75rem, 6vw, 5.5rem); font-weight: 900; letter-spacing: -0.065em; line-height: .94; text-transform: uppercase; }
h2, .heading-xl { font-size: clamp(2rem, 4vw, 3.75rem); font-weight: 800; }
h3, .heading-lg { font-size: clamp(1.4rem, 2.3vw, 2rem); }
h4, .heading-md { font-size: 1.125rem; }
p { max-width: 68ch; }
small, .text-small { font-size: .8125rem; }
.eyebrow { color: var(--color-orange); font-size: .75rem; font-weight: 800; letter-spacing: .12em; line-height: 1.2; text-transform: uppercase; }
.text-muted { color: var(--color-muted); }
.text-white { color: var(--color-white); }
.bg-black { background-color: var(--color-black); }
.bg-neutral { background-color: var(--color-neutral); }
.container { width: min(100% - (var(--container-gutter) * 2), var(--container-max)); margin-inline: auto; }
.grid { display: grid; gap: var(--space-lg); }
.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)); }
.section { padding-block: var(--space-3xl); }
.section--compact { padding-block: var(--space-2xl); }
.section--dark { background: var(--color-black); color: var(--color-white); }
.section--dark h1, .section--dark h2, .section--dark h3, .section--dark h4 { color: var(--color-white); }
.stack > * + * { margin-top: var(--space-md); }
.stack--tight > * + * { margin-top: var(--space-xs); }
.cluster { display: flex; flex-wrap: wrap; gap: var(--space-sm); align-items: center; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; top: var(--space-sm); left: var(--space-sm); z-index: 100; padding: var(--space-xs) var(--space-sm); background: var(--color-amber); color: var(--color-black); font-weight: 700; transform: translateY(-200%); }
.skip-link:focus { transform: translateY(0); }

.reveal-on-scroll { opacity: 0; transform: translateY(14px); transition: opacity 560ms ease-out, transform 560ms ease-out; }
.reveal-on-scroll.is-revealed { opacity: 1; transform: translateY(0); }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; } }