:root {
  /* Corporate palette — cool whites, navy text, subtle blue accent */
  --color-primary: #00205b;
  --color-primary-soft: #0a2d6e;
  --color-primary-deep: #001845;
  --color-accent: #005587;
  --color-accent-hover: #003d6b;
  --color-bg: #ffffff;
  --color-bg-alt: #f4f5f7;
  --color-bg-muted: #eef0f3;
  --color-surface: #ffffff;
  --color-border: #d9dce3;
  --color-border-strong: #b8bec8;
  --color-text: #1a1f2e;
  --color-text-muted: #5a6370;
  --color-link: #005587;
  --color-success: #2e7d5a;

  /* Airbus-style bands & on-band typography */
  --color-band: var(--color-primary);
  --color-band-deep: var(--color-primary-deep);
  --color-on-band: #ffffff;
  --color-on-band-muted: rgba(255, 255, 255, 0.82);
  --color-on-band-link: #ffffff;

  /* Pointillist dot grids — subtle, wide spacing */
  --pattern-dot-size: 28px;
  --pattern-dot-color: rgba(0, 32, 91, 0.07);
  --pattern-dot-color-strong: rgba(0, 32, 91, 0.1);
  --pattern-dot-on-band: rgba(255, 255, 255, 0.14);
  --pattern-dots: radial-gradient(
      circle at 1px 1px,
      var(--pattern-dot-color) 1px,
      transparent 1px
    );
  --pattern-dots-on-band: radial-gradient(
      circle at 1px 1px,
      var(--pattern-dot-on-band) 1px,
      transparent 1px
    );
  --pattern-dots-size: var(--pattern-dot-size) var(--pattern-dot-size);
  --bg-section-dots: var(--pattern-dots) 0 0 / var(--pattern-dots-size),
    var(--color-bg-alt);
  --bg-section-dots-white: var(--pattern-dots) 0 0 / var(--pattern-dots-size),
    var(--color-bg);
  --bg-band-dots: var(--pattern-dots-on-band) 0 0 / var(--pattern-dots-size),
    linear-gradient(165deg, var(--color-band) 0%, var(--color-band-deep) 100%);

  --font-sans: "Source Sans 3", system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-weight-regular: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;

  --text-xs: 0.75rem;
  --text-sm: 0.875rem;
  --text-base: 1rem;
  --text-lg: 1.125rem;
  --text-xl: 1.375rem;
  --text-2xl: 1.75rem;
  --text-3xl: clamp(2rem, 3.5vw, 2.75rem);
  --text-4xl: clamp(2.5rem, 4.5vw, 3.5rem);
  --text-hero: clamp(2.75rem, 5.5vw, 4.25rem);
  --text-display: clamp(3rem, 6vw, 4.75rem);

  --leading-tight: 1.08;
  --leading-snug: 1.2;
  --leading-normal: 1.65;
  --tracking-eyebrow: 0.14em;
  --tracking-tight: -0.03em;

  --container: 1280px;
  --container-wide: 1440px;
  --radius: 2px;
  --radius-sm: 2px;
  --radius-full: 999px;
  --shadow: 0 1px 3px rgba(0, 32, 91, 0.06);
  --shadow-md: 0 4px 20px rgba(0, 32, 91, 0.09);
  --shadow-lg: 0 12px 40px rgba(0, 32, 91, 0.12);
  --shadow-card-hover: 0 16px 48px rgba(0, 32, 91, 0.14);
  --header-h: 72px;
  --transition: 0.2s ease;
  --section-space: clamp(4.5rem, 9vw, 4rem);
  --band-space: clamp(3rem, 5.5vw, 4.5rem);
  --nav-underline-h: 2px;
}
