:root {
  --color-bg: #ffffff;
  --color-text: #001f54;
  --color-accent: #2028ce;
  --color-muted: #848484;
  --color-primary-01: #fbfff1;
  --color-primary-02: #848484;
  --color-primary-03: #2028ce;
  --color-primary-04: #001f54;
  --color-secondary-01: #161c91;
  --color-secondary-02: #4a4de7;
  --color-secondary-03: #7ea6f4;
  --color-secondary-04: #a0e4f1;
  --color-secondary-05: #f1fafb;
  --color-line: rgba(0, 31, 84, 0.08);
  --color-line-strong: rgba(0, 31, 84, 0.12);
  --color-surface: #ffffff;
  --container-max: 1280px;
  --container-pad: 48px;
  --section-space: 96px;
  --stack-24: 24px;
  --stack-32: 32px;
  --stack-40: 40px;
  --header-height: 72px;
  --radius-4: 4px;
  --radius-6: 6px;
  --font-heading: "Montserrat", "Segoe UI", sans-serif;
  --font-body: "Source Sans Pro", "Segoe UI", sans-serif;
  --weight-heading-nav: 500;
  --weight-heading-sub: 600;
  --weight-heading-main: 700;
  --weight-body-main: 400;
  --weight-body-accent: 600;

  /* ── Brand color aliases (semantic names; existing color-* still work) ── */
  --c-navy: #001f54;     /* same as --color-text / --color-primary-04 */
  --c-blue: #2028ce;     /* same as --color-accent / --color-primary-03 */
  --c-sky: #a0e4f1;      /* same as --color-secondary-04 */
  --c-cream: #f1fafb;    /* same as --color-secondary-05 */

  /* ── Heading scale ── */
  --h1-size: 56px;       --h1-ls: -1.2px;     --h1-lh: 1.02;
  --h2-size: 44px;       --h2-ls: -0.6px;     --h2-lh: 1.1;
  --h3-size: 32px;       --h3-ls: -0.32px;    --h3-lh: 1.15;
  --h4-size: 22px;       --h4-ls: 0;          --h4-lh: 1.25;

  /* ── Kicker (eyebrow above headings) ── */
  --kicker-size: 11px;
  --kicker-ls: 1.8px;

  /* ── Section padding scale ── */
  --section-pad-lg: 96px;     /* alias of --section-space */
  --section-pad-md: 72px;
  --section-pad-sm: 40px;

  /* ── Radius scale ── */
  --r-xs: 4px;     /* alias of --radius-4 */
  --r-sm: 6px;     /* alias of --radius-6 */
  --r-md: 12px;
  --r-lg: 16px;
  --r-pill: 999px;
}
