/* RDC design tokens — extracted from the approved Figma (M1). Build ONLY with these. */
:root{
  /* brand (Motaz palette) */
  --navy:#104070; --navy-700:#1A5088; --navy-node:#13375F;
  --footer-base:#0C2F52; --footer-bedrock:#08233E; --footer-hair:#1E3D5C;
  --gold:#E8A300; --gold-700:#B07A00; --gold-light:#F0B733;
  /* neutrals */
  --charcoal:#1A202C; --ink:#4A5568; --rule:#D8DCE3;
  --paper:#FAFAF8; --white:#FFFFFF; --meta:#8FA1B5; --hero-sub:#C5CFDB;
  --folio:#F0EBDF; --cream:#FBF7EE;
  /* on-navy text ramp (footer + dark surfaces) — measured from G2 · Footer */
  --on-navy-link:#B9C6D4;   /* footer nav links, Inter 14 */
  --on-navy-muted:#6E8096;  /* footer column headers, tagline, address */
  --on-navy-legal:#5E7188;  /* footer legal paragraph, Inter 11.5 */
  --on-navy-rule:#1B3A57;   /* footer divider, 1200x1 */
  --meta-rail:#9AA5B1;      /* inner-page meta-rail, mono 10.5 */
  --rule-soft:#E8EAEE;      /* Sample Report thumbnail rules */
  --node-navy:#174372;      /* System pipeline node */
  --rule-navy:#2C4663;      /* hairline on navy, homepage */
  --status-pos:#5FA77C; --status-neg:#C77B5B;  /* Strategic Investment chips */
  /* GDSP tiers — analytical scale, never rebrand.
     NOTE: D4 is #E8A300 in the approved Figma (G4 · GDSP Scale Strip), not the
     #A8783D that both written plans state. Replicated per the exact-copy brief;
     flagged for Motaz to confirm, since it reuses the brand gold in a data context. */
  --d1:#2D5A3D; --d2:#4A7059; --d3:#8A8350; --d4:#E8A300; --d5:#9C5A3C; --d6:#7A3B3B;
  --d1-bg:#F2F6F3; --d6-bg:#FAF1F1;
  /* type */
  --serif:'Source Serif 4',Georgia,'Times New Roman',serif;
  --sans:'Inter',system-ui,-apple-system,sans-serif;
  --mono:'IBM Plex Mono','SFMono-Regular',Consolas,monospace;
  /* layout */
  --page-max:1440px; --pad-x:120px; --measure:720px;
  /* The single content column. At the 1440 design width this is 1200px with
     120px margins; above 1440 the gutter grows so the column stays centred and
     every band — header, sections, footer — shares one left/right edge.
     Percentages inside a custom property resolve against the element that uses
     it, so this works on any full-bleed block. */
  --content:1200px;
  --gutter:max(var(--pad-x), calc(50% - var(--content) / 2));
  --ed-left:300px; --ed-gap:72px; --radius:2px;
  --shadow-card:0 4px 14px -2px rgb(0 0 0/.06);
  --shadow-lift:0 10px 30px -8px rgb(0 0 0/.25);
  /* motion */
  --ease:cubic-bezier(.22,.61,.36,1); --t-fast:120ms; --t-med:300ms;
}
@media (max-width:1200px){ :root{ --pad-x:80px; } }
@media (max-width:1024px){ :root{ --pad-x:48px; --ed-left:100%; --ed-gap:20px; } }
@media (max-width:640px){  :root{ --pad-x:20px; } }
