

:root {
  /* Brand colour */
  --rz-navy-900: #0A2233;
  --rz-navy-800: #103449;
  --rz-navy-700: #15455F;
  --rz-blue-600: #1B6A93;
  --rz-teal-500: #2E93A6;
  --rz-teal-100: #E2F0F3;

  /* Emergency (phone actions only) */
  --rz-action-600: #C64A1B;
  --rz-action-700: #A83D14;
  --rz-action-100: #FBEAE2;

  /* Neutrals */
  --rz-ink-900: #16232C;
  --rz-slate-600: #43555F;
  --rz-slate-400: #71828C;
  --rz-line-300: #D7E0E5;
  --rz-surface-100: #F3F7F9;
  --rz-surface-50: #FAFCFD;
  --rz-white: #FFFFFF;

  /* Feedback */
  --rz-success-600: #1E7A4D;
  --rz-warning-600: #9A6A0B;
  --rz-error-600: #B3261E;

  /* On-dark text */
  --rz-on-navy: #C9D8E2;

  /* Typography */
  --rz-font-heading: "Archivo", -apple-system, "Segoe UI", Helvetica, Arial, sans-serif;
  --rz-font-body: "Source Sans 3", -apple-system, "Segoe UI", Helvetica, Arial, sans-serif;

  --rz-h1: 700 44px/1.15 var(--rz-font-heading);
  --rz-h2: 700 34px/1.2 var(--rz-font-heading);
  --rz-h3: 600 24px/1.3 var(--rz-font-heading);
  --rz-h4: 600 19px/1.35 var(--rz-font-heading);
  --rz-kicker: 600 13px/1.4 var(--rz-font-body);
  --rz-body-l: 400 19px/1.6 var(--rz-font-body);
  --rz-body: 400 17px/1.65 var(--rz-font-body);
  --rz-body-s: 400 15px/1.55 var(--rz-font-body);
  --rz-caption: 400 13px/1.5 var(--rz-font-body);
  --rz-button: 600 16px/1 var(--rz-font-body);

  /* Spacing scale */
  --rz-space-1: 4px; --rz-space-2: 8px; --rz-space-3: 12px;
  --rz-space-4: 16px; --rz-space-6: 24px; --rz-space-8: 32px;
  --rz-space-12: 48px; --rz-space-16: 64px; --rz-space-24: 96px; --rz-space-32: 128px;

  /* Layout */
  --rz-container: 1200px;
  --rz-prose: 720px;
  --rz-form: 560px;
  --rz-gutter: 24px;
  --rz-section-y: 96px;
  --rz-section-y-compact: 48px;

  /* Radii & elevation */
  --rz-radius-s: 8px;
  --rz-radius-m: 12px;
  --rz-shadow-card: 0 4px 16px rgba(10,34,51,.06);
  --rz-shadow-sticky: 0 -4px 16px rgba(10,34,51,.08);

  /* Controls */
  --rz-tap-min: 48px;
  --rz-control-h: 52px;
  --rz-button-h: 48px;
  --rz-focus-ring: 0 0 0 3px rgba(27,106,147,.4);
  --rz-border-input: 1.5px solid var(--rz-line-300);
  --rz-transition: 150ms ease;

  /* Image overlay */
  --rz-scrim: linear-gradient(90deg, rgba(10,34,51,.78), rgba(10,34,51,.15));

  /* Structural, not design tokens (§2G note: breakpoints/ratios may stay literal) */
  --rz-header-h: 78px;
  --rz-callbar-h: 64px;
  --rz-line-dark: rgba(255,255,255,.13);
}


@media (max-width: 767.98px) {
  :root {
    --rz-h1: 700 32px/1.15 var(--rz-font-heading);
    --rz-h2: 700 27px/1.2 var(--rz-font-heading);
    --rz-h3: 600 21px/1.3 var(--rz-font-heading);
    --rz-body-l: 400 18px/1.6 var(--rz-font-body);
    --rz-body: 400 16px/1.65 var(--rz-font-body);
    --rz-gutter: 16px;
    --rz-section-y: 64px;
    --rz-section-y-compact: 32px;
  }
}


:root {
  --rz-navy-1000: var(--rz-navy-900);
  --rz-navy-950: var(--rz-navy-900);
  --rz-navy-850: var(--rz-navy-800);
  --rz-ink: var(--rz-ink-900);
  --rz-ink-soft: var(--rz-slate-600);
  --rz-muted: var(--rz-slate-600);
  --rz-line: var(--rz-line-300);
  --rz-off-white: var(--rz-surface-100);
  --rz-cream: var(--rz-surface-50);
  --rz-success: var(--rz-success-600);
  --rz-focus: var(--rz-blue-600);
  --rz-shadow-sm: var(--rz-shadow-card);
  --rz-shadow-md: var(--rz-shadow-card);
  --rz-shadow-lg: var(--rz-shadow-card);
  --rz-radius-sm: var(--rz-radius-s);
  --rz-radius-md: var(--rz-radius-m);
  --rz-radius-lg: var(--rz-radius-m);
  --rz-max: var(--rz-container);
  --rz-section-space: var(--rz-section-y);
}

