/* ==========================================================================
   Design tokens
   ========================================================================== */

:root {
  /* Palette — white is the primary colour, navy the secondary.
     Sections marked .theme-navy re-map these same tokens (see below). */
  --navy: #0B2545;
  --navy-deep: #071A33;
  --white: #FFFFFF;

  --c-bg: var(--white);
  --c-navy: #F3F6FA;        /* secondary surface */
  --c-surface: #E8EEF5;
  --c-text: var(--navy);
  --c-muted: #4F6378;
  --c-border: #D5DEE8;
  --c-accent: #1D4E89;
  --c-blue: #2F6FB3;
  --c-btn: var(--navy);
  --c-btn-fg: var(--white);
  --c-error: #B42318;

  /* Tinted sections */
  --c-paper: #F3F6FA;
  --c-paper-2: #E6EDF5;
  --c-ink: var(--navy);
  --c-ink-muted: #4F6378;
  --c-ink-border: #D5DEE8;
  --c-accent-ink: #1D4E89;

  /* Type */
  --f-display: 'Manrope', 'Plus Jakarta Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --f-body: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  --f-mono: 'JetBrains Mono', ui-monospace, 'SFMono-Regular', Menlo, Consolas, monospace;

  --fs-xs: 0.75rem;
  --fs-sm: 0.875rem;
  --fs-base: 1rem;
  --fs-md: clamp(1.0625rem, 0.98rem + 0.3vw, 1.1875rem);
  --fs-lead: clamp(1.125rem, 1rem + 0.6vw, 1.5rem);
  --fs-h-sm: clamp(1.125rem, 1.05rem + 0.35vw, 1.375rem);
  --fs-h-md: clamp(1.5rem, 1.2rem + 1.2vw, 2.25rem);
  --fs-h-xl: clamp(1.875rem, 1.1rem + 4.6vw, 5.25rem);
  --fs-display: clamp(2.6rem, 1.2rem + 6.6vw, 8rem);
  --fs-stat-xl: clamp(4.5rem, 1.5rem + 14vw, 15rem);
  --fs-stat: clamp(3.75rem, 1.8rem + 8vw, 9rem);

  /* Layout */
  /* never under a notch in landscape (viewport-fit=cover) */
  --gutter: max(clamp(16px, 4vw, 56px), env(safe-area-inset-left, 0px), env(safe-area-inset-right, 0px));
  --container: 1360px;
  --header-h: 72px;
  --section-y: clamp(88px, 6rem + 6vw, 200px);
  --radius: 2px;

  /* Motion */
  --ease-out: cubic-bezier(.22, .61, .36, 1);
  --ease-inout: cubic-bezier(.65, 0, .35, 1);
  --dur-fast: 200ms;
  --dur: 450ms;
  --dur-slow: 900ms;

  --z-header: 50;
  --z-progress: 60;
  --z-menu: 45;
}

/* Navy bands: hero, scroll sequence, engineering, investment, footer */
.theme-navy {
  --c-bg: var(--navy);
  --c-navy: #0F2D52;
  --c-surface: #143763;
  --c-text: var(--white);
  --c-muted: #B4C4D8;
  --c-border: #2A4A75;
  --c-accent: #A9C8EC;
  --c-blue: #A9C8EC;
  --c-btn: var(--white);
  --c-btn-fg: var(--navy);
  --c-error: #F4A99B;
  /* ink tokens, for components built for light sections (capabilities) */
  --c-paper: var(--navy);
  --c-ink: var(--white);
  --c-ink-muted: #B4C4D8;
  --c-ink-border: #2A4A75;
  --c-accent-ink: #A9C8EC;
  color: var(--c-text);
}
