:root {
  --amlcc-forest: #244140;
  --amlcc-lime: #c1f99b;
  --amlcc-teal: #27b996;
  --amlcc-paper: #f6f8f6;
  --amlcc-ink: #203432;
  --amlcc-font: Inter, sans-serif;
  --amlcc-radius-control: 8px;
  --amlcc-radius-panel: 12px;
}

/* FIAR programme direction: core identity and supporting interface colours. */
:root {
  --fiar-blue: #033b6d;
  --fiar-lime: #ccff85;
  --fiar-paper: #f0f4f8;
  --fiar-text-secondary: #4a6276;
  --fiar-blue-hover: #0a528a;
  --fiar-line: #c9d9e6;
  --fiar-on-dark: #dbe8f2;
  --fiar-panel: #124d7b;
  --fiar-ink: #172f44;
  --fiar-navy: #072f52;
  --fiar-footer: #041f38;
  --fiar-on-dark-muted: #a9c1d6;
}

/* Contextual EU campaigns. These do not replace FIAR programme colours. */
:root {
  --amlcc-eu-blue: #082f55;
  --amlcc-eu-gold: #ffcc00;
  --amlcc-eu-paper: #f3f7f3;
  --amlcc-eu-tint: #e9eff3;
}

/* Shared roles. Keep brand identity separate from interface semantics. */
:root {
  --ds-text: var(--amlcc-ink);
  --ds-text-muted: #526d64;
  --ds-surface: #ffffff;
  --ds-surface-soft: var(--amlcc-paper);
  --ds-surface-tint: #edf2e9;
  --ds-line: #cdded4;
  --ds-on-dark: #f4f8f2;
  --ds-on-dark-muted: #c5d9ce;
  --ds-action: #087b65;
  --ds-focus: #087b65;
  --ds-font-display: clamp(40px, 6.1vw, 88px);
  --ds-font-section: clamp(32px, 3.1vw, 44px);
  --ds-font-feature: clamp(32px, 3.35vw, 48px);
  --ds-font-title: 24px;
  --ds-font-subtitle: 20px;
  --ds-font-body: 17px;
  --ds-font-support: 14px;
  --ds-font-label: 13px;
  --ds-font-action: 15px;
  --ds-font-quote: clamp(25px, 2.1vw, 30px);
  /* An inner page's headline: 38px on phones, 40px at 768px, 46px at 1024px, 56px from 1440px (organisation pages
     type scale, 29 Sep 2026). It keeps a steady step above the section size as both grow. */
  --ds-font-page: clamp(38px, calc(21.7px + 2.381vw), 56px);
  --ds-font-headline: 28px;
  --ds-font-lead: 20px;
  --ds-font-card: 15px;
  /* Figures: a price or fact in a card, and a standalone statistic (site type scale, 30 Sep 2026). */
  --ds-font-figure: 36px;
  --ds-font-stat: 56px;
  --ds-leading-heading: 1.15;
  --ds-leading-body: 1.6;
  --ds-leading-label: 1.5;
  --ds-tracking-heading: -.04em;
  --ds-space-1: 4px;
  --ds-space-2: 8px;
  --ds-space-3: 12px;
  --ds-space-4: 16px;
  --ds-space-6: 24px;
  --ds-space-8: 32px;
  --ds-space-12: 48px;
  --ds-space-16: 64px;
  --ds-section-space: var(--ds-space-16);
  --ds-content: 1200px;
  --ds-gutter: clamp(20px, 3.65vw, 48px);
  --ds-reading-width: 65ch;
  --ds-control-min: 44px;
  --ds-button-min: 56px;
  --ds-motion: 180ms;
}
@media (max-width: 700px) {
  :root {
    --ds-font-section: clamp(30px, 8.2vw, 32px);
    --ds-font-feature: var(--ds-font-section);
    --ds-font-title: 22px;
    --ds-font-body: 16px;
    --ds-font-quote: 24px;
    --ds-font-headline: 24px;
    --ds-font-lead: 18px;
    --ds-font-figure: 32px;
    --ds-font-stat: 40px;
    --ds-section-space: var(--ds-space-12);
  }
}
@media (prefers-reduced-motion: reduce) {
  :root { --ds-motion: 0ms; }
}

/* Compatibility names keep existing homepage components on the same source. */
body[data-page="home"], .ds-home-samples {
  --home-content: var(--ds-content);
  --home-ink: var(--ds-text);
  --home-heading-leading: var(--ds-leading-heading);
  --home-quote-size: var(--ds-font-quote);
  --home-caption-space: 0;
  --home-gutter: var(--ds-gutter);
  --home-heading: var(--ds-font-section);
  --home-feature-heading: var(--ds-font-feature);
  --home-body: var(--ds-font-body);
  --home-support: var(--ds-font-support);
  --home-action: var(--ds-font-action);
  --home-section-space: var(--ds-section-space);
  --home-paper: var(--ds-surface-soft);
  --home-sage: var(--ds-surface-tint);
  --home-muted: var(--ds-text-muted);
  --home-line: var(--ds-line);
  --home-light: var(--ds-on-dark);
  --home-light-muted: var(--ds-on-dark-muted);
}
