:root {
    --z-navy: #0C376F;
    --z-navy-medium: #12427C;
    --z-electric: #0065FD;
    --z-gradient-mid: #019BFE;
    --z-cyan: #01CFFE;
    --z-text: #071B33;
    --z-muted: #5F7690;
    --z-alt: #F4F9FD;
    --z-border: #D8E6F2;
    --z-surface: #FFFFFF;
    --z-gradient: linear-gradient(90deg,#0065FD 0%,#019BFE 50%,#01CFFE 100%);
    --z-width: 1240px;
}

*,*::before,*::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 92px; }
body { margin: 0; background: #fff; color: var(--z-text); font-family: Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; -webkit-font-smoothing: antialiased; }
button,input,textarea,select { font: inherit; }
a { color: inherit; }
img { max-width: 100%; }

.page-shell { min-height: 100vh; overflow: clip; }
.site-container { width: min(calc(100% - 48px), var(--z-width)); margin: 0 auto; }
.section { padding: clamp(96px,11vw,150px) 0; }
.eyebrow { margin: 0; color: var(--z-electric); font-size: .68rem; line-height: 1.2; letter-spacing: .16em; text-transform: uppercase; font-weight: 600; }
.text-gradient { background: var(--z-gradient); background-clip: text; -webkit-background-clip: text; color: transparent; }

.button { min-height: 50px; padding: 0 22px; border-radius: 12px; display: inline-flex; align-items: center; justify-content: center; gap: 9px; border: 1px solid transparent; text-decoration: none; cursor: pointer; font-weight: 600; font-size: .86rem; transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease, background .2s ease; }
.button:hover { transform: translateY(-1px); }
.button-primary { color: #fff; background: var(--z-electric); box-shadow: 0 12px 30px rgba(0,101,253,.18); }
.button-primary:hover { background: #005be3; box-shadow: 0 16px 36px rgba(0,101,253,.23); }
.button-secondary { color: var(--z-navy); background: #fff; border-color: rgba(12,55,111,.2); }
.button-secondary:hover { border-color: rgba(0,101,253,.4); background: #fbfdff; }
.button:focus-visible,a:focus-visible,button:focus-visible { outline: 3px solid rgba(0,101,253,.28); outline-offset: 3px; }
.button[disabled] { opacity: .65; cursor: wait; transform: none; }

.skip-link { position: fixed; left: 16px; top: -90px; z-index: 1000; padding: 12px 16px; border-radius: 8px; background: var(--z-text); color: #fff; text-decoration: none; }
.skip-link:focus { top: 16px; }
.error-page { padding: 140px 0; }
.error-page h1 { font-size: clamp(3rem,7vw,6rem); letter-spacing: -.06em; }
.error-page p { color: var(--z-muted); }
.error-page .button { margin-top: 20px; }

@media (max-width: 700px) {
    .site-container { width: min(calc(100% - 30px), var(--z-width)); }
    .section { padding: 88px 0; }
}

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