:root {
    --navy-950: #071524;
    --navy-900: #10243e;
    --navy-800: #173552;
    --sky-600: #087ea4;
    --sky-500: #0e9ec7;
    --sky-100: #dff5fb;
    --ink-900: #17212b;
    --ink-700: #425466;
    --ink-500: #6b7c8e;
    --line: #dce5ec;
    --surface: #ffffff;
    --canvas: #f3f7fa;
    --success: #167352;
    --warning: #9a5b08;
    --danger: #a33a45;
    --radius-sm: .5rem;
    --radius: .85rem;
    --radius-lg: 1.2rem;
    --shadow: 0 10px 32px rgba(16, 36, 62, .08);
    --font: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }
html { color-scheme: light; font-family: var(--font); line-height: 1.5; }
body { margin: 0; color: var(--ink-900); background: var(--canvas); }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; }
h1, h2, h3, p { margin-top: 0; }
h1 { margin-bottom: .55rem; font-size: clamp(1.75rem, 3vw, 2.4rem); line-height: 1.12; letter-spacing: -.035em; }
h2 { margin-bottom: .35rem; font-size: 1.15rem; letter-spacing: -.015em; }
p { color: var(--ink-700); }
:focus-visible { outline: 3px solid rgba(14, 158, 199, .38); outline-offset: 2px; }
.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; z-index: 100; top: .5rem; left: .5rem; padding: .65rem 1rem; background: white; border-radius: var(--radius-sm); transform: translateY(-150%); }
.skip-link:focus { transform: none; }

