/* ============================================================================
   CODORE — CANONICAL DESIGN TOKENS
   Single source of truth for colour, type, spacing and shape across every page.
   This is the only stylesheet allowed to contain raw hex values.
   Approved with the home-page template (July 2026). Rolls out site-wide.

   (The /variants/ comparison pages also import this file; every variable they
   reference is preserved below. Once the home page is signed off, the variants
   and their CSS are deleted.)
   ========================================================================== */
:root{
  /* --- Core brand ---------------------------------------------------------- */
  --ink:        #0B1B30;  /* navy — hero background, dark sections, headings */
  --ink-deep:   #08131F;  /* deepest navy — footer, trust/accreditation strip */
  --cyan:       #015F81;  /* brand blue — header bar, accents, emphasis */
  --cyan-lift:  #4FC0EE;  /* brighter cyan — small text on dark ONLY */
  --blue:       #015f81;  /* brand blue — links, secondary emphasis */
  --amber:      #F59E1B;  /* EMERGENCY BANNER ONLY — no other use */

  /* Colour law: anything filled with the brand blue takes white text, never dark.
     (Reversed July 2026: the darker #015F81 fails contrast with dark ink.) */
  --on-cyan:    #FFFFFF;

  /* --- Neutrals ------------------------------------------------------------ */
  --white:      #FFFFFF;
  --text-strong:#0B1B30;
  --text-body:  #33414D;
  --text-muted: #5B6570;
  --text-faint: #8A929B;
  --line:       #E4E8EC;  /* hairlines, box borders */
  --line-strong:#C9D2DA;
  --soft:       #F4F6F8;  /* alternate section background */
  --soft-2:     #F9FAFB;

  /* --- On dark ------------------------------------------------------------- */
  --on-dark:      #FFFFFF;
  --on-dark-2:    #C2CDD8;
  --on-dark-muted:#AEBAC6;

  /* --- Type ---------------------------------------------------------------- */
  --font-head: "Space Grotesk", system-ui, sans-serif;  /* 500 / 700 */
  --font-body: "Inter", system-ui, sans-serif;          /* 400 / 500 */

  /* Fluid type scale */
  --step--1: clamp(0.83rem, 0.8rem + 0.15vw, 0.9rem);
  --step-0:  clamp(1rem, 0.96rem + 0.2vw, 1.08rem);
  --step-1:  clamp(1.2rem, 1.12rem + 0.4vw, 1.4rem);
  --step-2:  clamp(1.45rem, 1.3rem + 0.7vw, 1.85rem);
  --step-3:  clamp(1.8rem, 1.5rem + 1.4vw, 2.6rem);
  --step-4:  clamp(2.4rem, 1.9rem + 2.6vw, 3.6rem);
  --step-hero: clamp(2.7rem, 2rem + 4.4vw, 5.4rem);

  /* --- Spacing scale ------------------------------------------------------- */
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 14px;
  --space-4: 22px;
  --space-5: 34px;
  --space-6: 52px;
  --space-7: 80px;
  --space-8: 112px;

  /* --- Shape --------------------------------------------------------------- */
  /* Square corners are the look. Default 0; small controls may use --radius-ctl
     ONLY if a hard 0 looks broken. No shadows anywhere — hairlines instead. */
  --radius: 0;
  --radius-ctl: 2px;

  /* --- Layout -------------------------------------------------------------- */
  --shell: 1180px;
}
