:root {
    --ink: #17212b;
    --graphite: #344653;
    --muted: #657783;
    --neutral-muted: #a8b6bf;
    --line: #d3dce2;
    --surface: #eff3f5;
    --surface-strong: #d3dce2;
    --white: #ffffff;
    --navy: #17212b;
    --blue-deep: #183a53;
    --blue: #2f6f9f;
    --blue-dark: #245777;
    --blue-light: #4b86b4;
    --blue-muted: #9ab9cf;
    --blue-soft: #e7f0f7;
    --accent: #2f6f9f;
    --accent-soft: #e7f0f7;
    --font-body: "Inter Variable", "Inter", Arial, sans-serif;
    --font-heading: "Space Grotesk Variable", "Space Grotesk", Arial, sans-serif;
    --font: var(--font-body);
}

* { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body { overflow-x: hidden; font-family: var(--font); color: var(--ink); background: var(--white); line-height: 1.65; text-rendering: optimizeLegibility; }
:where(h1, h2, h3, h4, h5, h6) { font-family: var(--font-heading); }
::selection { background: var(--blue); color: var(--white); }
a { color: inherit; }
img { max-width: 100%; }
.container { width: min(1200px, calc(100% - 56px)); margin-inline: auto; }
.section { padding: 112px 0; }
.eyebrow { margin-bottom: 20px; color: var(--blue); font-size: 11px; font-weight: 750; letter-spacing: .18em; text-transform: uppercase; }
h1 { max-width: 860px; font-size: clamp(48px, 5.8vw, 82px); line-height: 1.02; letter-spacing: -.055em; font-weight: 580; }
.lead { max-width: 720px; margin-top: 28px; color: var(--muted); font-size: 18px; line-height: 1.8; }
.skip-link { position: fixed; top: 10px; left: 10px; z-index: 100; padding: 10px 14px; background: var(--white); color: var(--ink); border: 2px solid var(--ink); font-weight: 700; text-decoration: none; transform: translateY(-160%); }
.skip-link:focus { transform: translateY(0); }
:where(a, button, input, summary):focus-visible { outline: 3px solid var(--blue); outline-offset: 3px; }
[id] { scroll-margin-top: 92px; }

@media (max-width: 700px) {
    .container { width: min(100% - 32px, 1200px); }
    .section { padding: 78px 0; }
    h1 { font-size: clamp(42px, 12vw, 58px); }
    .lead { font-size: 16px; line-height: 1.7; }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}
