/* ==========================================================================
   Living Heat Consulting design tokens (Kit A · Blue Flame, type A1, direction C: Connected).
   The ONLY file with raw values. Contrast checked against WCAG 2.2 AA:
   navy on mist 14.7:1 · slate on mist 5.3:1 · royal on mist 5.9:1 ·
   white on royal 6.4:1 · white on navy 15.8:1.
   ========================================================================== */

:root {
  /* ---- Colour ---- */
  --color-bg:          #FFFFFF;
  --color-surface:     #FFFFFF;
  --color-surface-2:   #F4F7FC;   /* Mist: alternate sections */
  --color-ink:         #13204A;   /* Navy */
  --color-muted:       #5A6785;   /* Slate */
  --color-line:        #E4EAF5;   /* hairlines */
  --color-line-strong: #C9D4EA;
  --color-accent:      #2350E0;   /* Royal */
  --color-accent-ink:  #FFFFFF;
  --color-accent-soft: #E3EAFD;
  --color-sky:         #38A6F2;
  --color-sky-soft:    #7DB8F2;
  --color-ember:       #F28A2E;
  --color-ember-soft:  #FFF1E3;
  --color-ember-ink:   #9A4A0B;
  --color-inverse:     #13204A;
  --color-inverse-ink: #FFFFFF;
  --color-inverse-muted: #B9C6EA;


  /* ---- Type ---- */
  --font-display: "Montserrat", "Helvetica Neue", Arial, sans-serif;
  --font-body:    "Source Sans 3", "Helvetica Neue", Arial, sans-serif;
  --font-mono:    "IBM Plex Mono", ui-monospace, Menlo, monospace;
  --weight-body: 400;
  --weight-strong: 600;
  --weight-display: 300;       /* light sentence… */
  --weight-heavy: 800;         /* …landing on heavy words */
  --weight-heading: 600;       /* h3/h4, card titles */
  --tracking-display: -0.03em;
  --tracking-heavy: -0.01em;
  --tracking-eyebrow: 0.14em;

  --step--2: clamp(0.694rem, 0.686rem + 0.038vw, 0.720rem);
  --step--1: clamp(0.833rem, 0.811rem + 0.099vw, 0.900rem);
  --step-0:  clamp(1.000rem, 0.958rem + 0.185vw, 1.125rem);
  --step-1:  clamp(1.200rem, 1.131rem + 0.306vw, 1.406rem);
  --step-2:  clamp(1.440rem, 1.334rem + 0.471vw, 1.758rem);
  --step-3:  clamp(1.728rem, 1.572rem + 0.695vw, 2.197rem);
  --step-4:  clamp(2.074rem, 1.849rem + 0.997vw, 2.747rem);
  --step-5:  clamp(2.125rem, 1.688rem + 1.944vw, 3.438rem);
  --step-6:  clamp(2.375rem, 1.729rem + 2.870vw, 4.312rem);
  --step-7:  clamp(2.625rem, 1.708rem + 4.074vw, 5.375rem);

  --leading-tight: 1.04;
  --leading-snug:  1.2;
  --leading-body:  1.6;
  --measure: 65ch;

  /* ---- Space (starter scale, unchanged) ---- */
  --space-3xs: clamp(0.250rem, 0.240rem + 0.046vw, 0.281rem);
  --space-2xs: clamp(0.500rem, 0.479rem + 0.093vw, 0.562rem);
  --space-xs:  clamp(0.750rem, 0.719rem + 0.139vw, 0.844rem);
  --space-s:   clamp(1.000rem, 0.958rem + 0.185vw, 1.125rem);
  --space-m:   clamp(1.500rem, 1.438rem + 0.278vw, 1.688rem);
  --space-l:   clamp(2.000rem, 1.917rem + 0.370vw, 2.250rem);
  --space-xl:  clamp(3.000rem, 2.875rem + 0.556vw, 3.375rem);
  --space-2xl: clamp(4.000rem, 3.833rem + 0.741vw, 4.500rem);
  --space-3xl: clamp(6.000rem, 5.750rem + 1.111vw, 6.750rem);
  --space-section: clamp(4.000rem, 2.333rem + 7.407vw, 9.000rem);
  --gutter:        clamp(1.250rem, 0.667rem + 2.593vw, 3.000rem);
  --container:     76rem;
  --container-narrow: 46rem;

  /* ---- Shape & depth (soft, rounded: Soft Tech) ---- */
  --radius-s: 0.5rem;
  --radius-m: 0.875rem;
  --radius-l: 1.25rem;
  --radius-pill: 999px;
  --shadow-s: 0 1px 2px rgb(19 32 74 / 0.06), 0 1px 1px rgb(19 32 74 / 0.04);
  --shadow-m: 0 14px 34px -16px rgb(19 32 74 / 0.35);
  --shadow-float: 0 24px 50px -24px rgb(19 32 74 / 0.45);

  /* ---- Motion: crisp / modern ---- */
  --dur-fast: 160ms;
  --dur-base: 280ms;
  --dur-slow: 560ms;
  --dur-reveal: 700ms;
  --dur-word: 2600ms;          /* ghost word rotation */
  --ease-out: cubic-bezier(0.22, 1, 0.36, 1);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --ease-in: cubic-bezier(0.5, 0, 0.75, 0);
  --reveal-distance: 1.75rem;
  --stagger: 70ms;
}
