/* ==========================================================================
   Design tokens — extracted verbatim from the target's Elementor globals.
   Every colour and type value below was grepped out of
   research/source/css/*.css (see research/SOURCE_ANALYSIS.md §2).
   Orchestrator-owned: builders read these, they do not edit this file.
   ========================================================================== */

:root {
  /* ---- Colour (Elementor global palette) ---- */
  --c-white: #ffffff;              /* --e-global-color-primary / c45a6b9 */
  --c-black: #000000;              /* --e-global-color-2ef35bb */
  --c-green: #209d50;              /* --e-global-color-secondary / accent */
  --c-green-mid: #2c7a4b;          /* --e-global-color-41e5158 */
  --c-green-dark: #00690b;         /* --e-global-color-c0dd1d4 */
  --c-forest: #003c24;             /* --e-global-color-acf8bb4 */
  --c-forest-a72: #003c13b8;       /* --e-global-color-2de13f3 */
  --c-navy: #002687;               /* --e-global-color-27c6cf2 / b06ecc8 */
  --c-text: #363636;               /* --e-global-color-text */
  --c-text-grey: #4a4a4a;          /* --e-global-color-f948bb3 */
  --c-grey-mid: #cacaca;           /* --e-global-color-db58d9f */
  --c-border: #ebebeb;             /* --e-global-color-61bab4e */
  --c-grey-light: #f2f2f2;         /* --e-global-color-3a9659d */
  --c-offwhite: #f7f7f7;           /* --e-global-color-707976d */
  --c-blue-pale: #f4faff;          /* --e-global-color-04998c6 */
  --c-blue-tint: #e5f2ff;          /* --e-global-color-4ccfbbe */
  --c-transparent-white: #ffffff00;/* --e-global-color-ed997ea */

  /* measured on the live page, outside the Elementor palette */
  --c-slate: #8a90a2;              /* DM Sans body copy */
  --c-ink: #303e49;                /* dark slate headings */
  --c-grey-f1: #f1f2f3;            /* card backgrounds */
  --c-grey-cc: #cccccc;
  --c-grey-ba: #bababa;
  --c-black-75: rgba(0, 0, 0, 0.75);   /* image scrims */
  --c-white-12: rgba(255, 255, 255, 0.12);
  --c-star: #ffc400;
  --c-green-light: #61ce70;        /* bullet-list hover stroke */

  /* ---- Type families (all self-hosted, see src/css/fonts.css) ---- */
  --f-display: "Archivo", sans-serif;   /* headings, eyebrows, buttons */
  --f-sans: "DM Sans", sans-serif;      /* body copy */
  --f-body: "Montserrat", sans-serif;   /* global default + logo lockups */
  --f-quote: "Heebo", sans-serif;       /* testimonial quotes (italic 300) */
  --f-inter: "Inter", sans-serif;

  /* ---- Type scale (desktop >= 1025px) ---- */
  --t-hero-num: 156px;   /* Archivo 700 / 1.2em   (bdc29c1) */
  --t-h1: 52px;          /* Montserrat 500 / 1.1em / capitalize (primary) */
  --t-h2-alt: 50px;      /* Montserrat 400 / 1.3em / capitalize (secondary) */
  --t-h2: 42px;          /* Archivo 700 / 1.3em   (72dc86a) */
  --t-h2-lh18: 40px;     /* Archivo 700 / 1.8em   (b932a00) */
  --t-h3-inter: 28px;    /* Inter 600 / 1.2em     (ca10419) */
  --t-card-title: 24px;  /* Archivo 600 / 1.2em   (c4a78cf) */
  --t-lead: 20px;        /* Archivo 600 / 1.3em   (a194199) */
  --t-body-lg: 18px;     /* Archivo 500 / 1.3em   (3a04fc0) */
  --t-body-md: 16px;     /* Archivo 500 / 1.2em   (45dbe44) */
  --t-body-15: 15px;     /* Montserrat 300 / 1.5em (text) */
  --t-body-14: 14px;     /* Montserrat 300 / 18px  (5cb3c45 / 8952e57) */
  --t-quote: 16px;       /* Heebo 300 italic / 1.5em (7d1208f) */
  --t-eyebrow: 14px;     /* Montserrat 500 / 1em / uppercase / ls 1.5px (accent) */
  --t-eyebrow-sm: 12px;  /* Archivo 700 / 1em / uppercase / ls 1.5px (b9398f5) */

  /* ---- Layout ---- */
  --container: 1140px;
  --container-pad: 20px;

  /* ---- Motion (Elementor default transition is `all .3s`) ---- */
  --dur-fast: 0.2s;
  --dur: 0.3s;
  --dur-slow: 0.4s;
  --ease: ease-in-out;

  /* ---- Header ---- */
  --header-h: 97px;
  --header-scroll-distance: 60px;
}

/* Elementor default breakpoints: mobile <=767, tablet 768 to 1024, desktop >=1025.
   Each Elementor typography token carries a desktop value and a MOBILE value. There is no
   tablet value, so tablet inherits desktop. This step therefore applies at <=767, not <=1024.
   It was originally written as <=1024, which shrank every heading one step early and made the
   whole tablet layout render short. */
@media (max-width: 767px) {
  :root {
    --t-hero-num: 96px;
    --t-h1: 45px;
    --t-h2-alt: 25px;
    --t-h2: 36px;
    --t-h2-lh18: 32px;
    --t-h3-inter: 20px;
    --t-card-title: 20px;
    --t-lead: 18px;
    --t-body-lg: 16px;
    --t-body-15: 14px;
    --t-quote: 14px;
    --t-eyebrow: 12px;
  }
}
