/* ==========================================================================
   00-TOKENS.CSS — the single source of truth
   Change a value here and it updates everywhere on the site.
   ========================================================================== */

:root {

  /* --- COLOUR ----------------------------------------------------------- */
  --c-base:      #0B1F17;   /* deep forest — hero, footer, dark sections */
  --c-base-soft: #122E22;   /* raised surface on dark */
  --c-surface:   #F7F5F0;   /* warm off-white — page background */
  --c-white:     #FFFFFF;
  --c-primary:   #1B5E3A;   /* solar green */
  --c-primary-d: #14472C;   /* green, pressed */
  --c-energy:    #F5A623;   /* bolt amber — CTAs */
  --c-energy-d:  #DB9114;   /* amber, pressed */
  --c-accent:    #B45309;   /* orange — eyebrows, sparing use */
  --c-ink:       #0B1F17;   /* headings on light */
  --c-muted:     #5C6B64;   /* body text on light */
  --c-muted-d:   rgba(247,245,240,0.72); /* body text on dark */
  --c-line:      rgba(11,31,23,0.12);
  --c-line-d:    rgba(247,245,240,0.16);

  /* --- TYPE ------------------------------------------------------------- */
  --font: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;

  --w-regular: 400;
  --w-medium:  500;
  --w-semi:    600;
  --w-bold:    700;
  --w-x:       800;   /* headings only — needs the 800 axis in the font link */

  --fs-display: clamp(2.15rem, 1.46rem + 3.04vw, 3.6rem);     /* 34 → 58 */
  --fs-h1:      clamp(1.875rem, 1.40rem + 2.10vw, 3rem);      /* 30 → 48 */
  --fs-h2:      clamp(1.625rem, 1.32rem + 1.30vw, 2.25rem);   /* 26 → 36 */
  --fs-h3:      clamp(1.25rem, 1.16rem + 0.40vw, 1.5rem);     /* 20 → 24 */
  --fs-h4:      clamp(1.125rem, 1.09rem + 0.16vw, 1.25rem);   /* 18 → 20 */
  --fs-lead:    clamp(1.0625rem, 1.01rem + 0.26vw, 1.25rem);  /* 17 → 20 */
  --fs-body:    clamp(1rem, 0.98rem + 0.10vw, 1.0625rem);     /* 16 → 17 */
  --fs-small:   0.875rem;                                      /* 14 */
  --fs-caption: 0.8125rem;                                     /* 13 */
  --fs-eyebrow: 0.75rem;                                       /* 12 */
  --fs-stat:    clamp(2.25rem, 1.70rem + 2.30vw, 3.375rem);   /* 36 → 54 */

  --lh-tight: 1.06;
  --lh-head:  1.18;
  --lh-snug:  1.32;
  --lh-body:  1.65;

  --ls-display: -0.030em;
  --ls-h1:      -0.025em;
  --ls-h2:      -0.020em;
  --ls-h3:      -0.015em;
  --ls-lead:    -0.005em;
  --ls-eyebrow:  0.120em;

  /* --- SPACE ------------------------------------------------------------ */
  --sp-1: 0.25rem;
  --sp-2: 0.5rem;
  --sp-3: 0.75rem;
  --sp-4: 1rem;
  --sp-5: 1.25rem;
  --sp-6: 1.5rem;
  --sp-8: 2rem;
  --sp-10: 2.5rem;
  --sp-12: 3rem;
  --sp-16: 4rem;
  --sp-section: clamp(4rem, 2.2rem + 7vw, 7.5rem);

  /* --- LAYOUT ----------------------------------------------------------- */
  --wrap: 1180px;
  --wrap-narrow: 780px;
  --measure: 68ch;
  --radius: 8px;
  --radius-lg: 14px;
  --nav-h: 68px;

  /* --- MOTION ----------------------------------------------------------- */
  --ease: cubic-bezier(0.22, 1, 0.36, 1);
  --dur: 600ms;
}
