:root {
  --color-primary: #012169;
  --color-accent: #E4002B;
  --color-dark: #00133D;
  --color-text: #111827;
  --color-muted: #64748B;
  --color-bg: #F4F7FB;
  --color-surface: #FFFFFF;
  --color-soft: #EAF0FA;
  --color-border: #D5DEEA;
  --color-white: #FFFFFF;
  --color-success: #0F7B4A;
  --color-warning: #B45309;
  --color-error: #B42318;
  --color-focus: #012169;

  --near-black: #050B18;
  --deep-blue: #071A3D;
  --ink: #0A1628;

  --header-bg: rgba(5, 11, 24, 0.82);
  --header-border: rgba(255, 255, 255, 0.08);
  --announcement-bg: #050B18;
  --announcement-fg: #C9D4E5;
  --footer-bg: #050B18;
  --footer-fg: #A9B6C9;

  --tech-line: rgba(255, 255, 255, 0.08);
  --tech-glow: 0 0 40px rgba(228, 0, 43, 0.22);
  --accent-glow: 0 10px 40px rgba(228, 0, 43, 0.28);
  --surface-dark: #071A3D;
  --surface-light: #FFFFFF;
  --grid-line: rgba(1, 33, 105, 0.08);

  --radius-sm: 6px;
  --radius-md: 12px;
  --radius-lg: 18px;
  --radius-xl: 28px;
  --radius-pill: 999px;

  --container: 1360px;
  --gutter: clamp(16px, 4vw, 40px);

  --shadow-sm: 0 1px 2px rgba(5, 11, 24, 0.06);
  --shadow-md: 0 12px 40px rgba(5, 11, 24, 0.1);
  --shadow-lg: 0 32px 80px rgba(5, 11, 24, 0.22);
  --shadow-focus: 0 0 0 3px rgba(228, 0, 43, 0.28);

  --font: "Plus Jakarta Sans", "Segoe UI", system-ui, -apple-system, sans-serif;
  --font-mono: "IBM Plex Mono", "SFMono-Regular", ui-monospace, Menlo, monospace;
  --fs-xs: 0.72rem;
  --fs-sm: 0.875rem;
  --fs-md: 1rem;
  --fs-lg: 1.125rem;
  --fs-xl: clamp(1.25rem, 1.2rem + 0.4vw, 1.5rem);
  --fs-h3: clamp(1.2rem, 1rem + 0.7vw, 1.6rem);
  --fs-h2: clamp(1.7rem, 1.1rem + 2vw, 2.75rem);
  --fs-h1: clamp(2.1rem, 1.2rem + 2.8vw, 3.4rem);
  --fs-display: clamp(2.6rem, 1.1rem + 5.2vw, 6.1rem);
  --lh-tight: 0.98;
  --lh-body: 1.65;
  --tracking-tight: -0.045em;

  --header-h: 72px;
  --announce-h: 34px;
  --sticky-offset: calc(var(--header-h) + var(--announce-h));
  --z-header: 40;
  --z-overlay: 50;
  --z-drawer: 60;
  --z-modal: 70;
  --z-toast: 80;
  --z-cursor: 90;

  --ease: cubic-bezier(0.22, 1, 0.36, 1);
  --speed-fast: 160ms;
  --speed: 240ms;
  --speed-slow: 520ms;

  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 24px;
  --space-6: 32px;
  --space-7: 48px;
  --space-8: 72px;
  --space-9: 112px;
}

@media (min-width: 1024px) {
  :root { --header-h: 80px; --container: 1440px; }
}
@media (min-width: 1600px) {
  :root { --container: 1560px; }
}
@media (min-width: 1920px) {
  :root { --container: 1680px; }
}

@media (prefers-reduced-motion: reduce) {
  :root { --speed-fast: 1ms; --speed: 1ms; --speed-slow: 1ms; }
}
