:root {
    --navy: #071b58;
    --navy-deep: #04113d;
    --blue: #075aa5;
    --blue-bright: #0b69ba;
    --green: #176522;
    --gold: #f2c300;
    --gold-soft: #ffe275;
    --ink: #101828;
    --text: #344054;
    --muted: #667085;
    --quiet: #98a2b3;
    --border: #e4e7ec;
    --surface: #f2f4f7;
    --background: #f7f8fa;
    --white: #fff;
    --warm: #fbfaf7;
    --container: 1320px;
    --gutter: clamp(20px, 4vw, 56px);
    --section: clamp(88px, 10vw, 154px);
    --radius: 10px;
    --radius-lg: 18px;
    --ease: cubic-bezier(.22, 1, .36, 1);
    --font-ui: "Aptos", "Segoe UI Variable", "Segoe UI", Helvetica, Arial, sans-serif;
    --font-display: "Source Serif 4", Georgia, "Times New Roman", serif;
}

*, *::before, *::after { box-sizing: border-box; }
html { color-scheme: light; scroll-behavior: smooth; }
body { margin: 0; background: var(--background); color: var(--ink); font-family: var(--font-ui); -webkit-font-smoothing: antialiased; }
img { display: block; max-width: 100%; }
a { color: inherit; }
button, input { font: inherit; }
button { color: inherit; }
::selection { background: var(--gold); color: var(--navy-deep); }

.container { width: min(calc(100% - (var(--gutter) * 2)), var(--container)); margin-inline: auto; }
.section { padding-block: var(--section); }
.eyebrow { margin: 0 0 24px; color: var(--blue); font-size: .7rem; font-weight: 750; letter-spacing: .2em; line-height: 1.3; text-transform: uppercase; }
.eyebrow.light { color: rgba(255, 255, 255, .78); }

.skip-link { position: fixed; z-index: 1000; top: 10px; left: 10px; transform: translateY(-160%); padding: 12px 16px; background: var(--white); color: var(--navy); border-radius: 4px; font-weight: 700; }
.skip-link:focus { transform: translateY(0); }
:focus-visible { outline: 3px solid var(--gold); outline-offset: 4px; }

.button { display: inline-flex; min-height: 50px; align-items: center; justify-content: center; gap: 20px; padding: 13px 21px; border: 1px solid transparent; border-radius: 4px; text-decoration: none; font-size: .78rem; font-weight: 760; letter-spacing: .08em; text-transform: uppercase; transition: transform .25s var(--ease), background-color .25s, color .25s; }
.button:hover { transform: translateY(-2px); }
.button-gold { background: var(--gold); color: var(--navy-deep); }
.button-gold:hover { background: var(--gold-soft); }
.button-blue { background: var(--blue); color: var(--white); }
.button-blue:hover { background: var(--navy); }
.button-outline-light { color: var(--white); border-color: rgba(255,255,255,.64); background: rgba(7,27,88,.16); }
.button-outline-light:hover { color: var(--navy-deep); background: var(--white); }
.text-link { display: inline-flex; align-items: center; gap: 16px; padding-block: 8px; border-bottom: 1px solid currentColor; color: var(--navy); text-decoration: none; font-size: .78rem; font-weight: 750; letter-spacing: .09em; text-transform: uppercase; }
.text-link span { transition: transform .25s var(--ease); }
.text-link:hover span { transform: translateX(6px); }
.text-link.light { color: var(--white); }

.reveal { opacity: 1; transform: none; }
.js .reveal { opacity: 0; transform: translateY(20px); transition: opacity .8s var(--ease), transform .8s var(--ease); }
.js .reveal.is-visible { opacity: 1; transform: none; }
