@import url("https://fonts.googleapis.com/css2?family=Sora:wght@400;500;600;700&family=Syne:wght@600;700;800&display=swap");

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; font-size: calc(100% * var(--text-scale)); }
body { margin: 0; background: var(--color-surface); color: var(--color-text); font-family: var(--font-body); font-size: var(--font-size-body); line-height: var(--line-height-body); }
body.nav-open { overflow: hidden; }
img, svg { display: block; max-width: 100%; }
a { color: var(--color-brand-blue); text-underline-offset: .22em; text-decoration-thickness: .1em; }
a:hover { color: var(--color-brand-blue-dark); }
button, input, select, textarea { color: inherit; font: inherit; }
button { cursor: pointer; }
h1, h2, h3, h4 { margin: 0 0 var(--space-4); color: var(--color-ink); font-family: var(--font-display); letter-spacing: -.025em; line-height: 1.08; text-wrap: balance; }
h1 { font-size: var(--font-size-heading-1); }
h2 { font-size: var(--font-size-heading-2); }
h3 { font-size: var(--font-size-heading-3); }
p, ul, ol { margin: 0 0 var(--space-6); }
ul, ol { padding-inline-start: 1.25rem; }
:focus-visible { outline: 2px solid var(--color-ink); outline-offset: 3px; box-shadow: var(--shadow-focus); }
.skip-link { position: fixed; z-index: 1000; left: var(--space-4); top: var(--space-4); padding: var(--space-3) var(--space-4); background: var(--color-campaign-lime); color: #0b1220; font-weight: 700; transform: translateY(-200%); }
.skip-link:focus { transform: translateY(0); }
.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; }
.eyebrow { display: block; margin-bottom: var(--space-3); color: var(--color-brand-blue); font-size: .82rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.lead { max-width: 62ch; font-size: var(--font-size-body-lg); }
.muted { color: var(--color-text-muted); }
.external::after { content: " ↗"; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; } }
[data-motion="reduce"] { scroll-behavior: auto; }
[data-motion="reduce"] *, [data-motion="reduce"] *::before, [data-motion="reduce"] *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
