/* ==========================================================================
   Design tokens — extracted verbatim from rsgonzales.com Elementor globals
   Source: research/SOURCE_ANALYSIS.md §2
   ========================================================================== */

:root {
  /* ---- Color ---- */
  --c-white: #ffffff;
  --c-black: #000000;
  --c-green: #209d50;          /* brand green (secondary + accent) */
  --c-green-mid: #2c7a4b;
  --c-green-dark: #00690b;
  --c-forest: #003c24;         /* deep forest, dark sections */
  --c-forest-a72: #003c13b8;   /* forest @ 72% alpha */
  --c-navy: #002687;
  --c-text: #363636;
  --c-text-grey: #4a4a4a;
  --c-grey-mid: #cacaca;
  --c-border: #ebebeb;
  --c-grey-light: #f2f2f2;
  --c-offwhite: #f7f7f7;
  --c-blue-pale: #f4faff;
  --c-blue-tint: #e5f2ff;
  --c-transparent-white: #ffffff00;
  /* measured on the live page, absent from the Elementor global 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-yellow: #ffd800;
  --c-star: #ffc400;

  /* ---- Type families ---- */
  --f-display: "Archivo", sans-serif;   /* headings, eyebrows, buttons */
  --f-sans: "DM Sans", sans-serif;      /* body copy — 2nd most used on the page */
  --f-body: "Montserrat", sans-serif;   /* global default + logo lockups */
  --f-quote: "Heebo", sans-serif;
  --f-inter: "Inter", sans-serif;
  --f-lato: "Lato", sans-serif;

  /* ---- Type scale (desktop) ---- */
  --t-hero-num: 156px;         /* Archivo 700 / 1.2em */
  --t-h1: 52px;                /* Montserrat 500 / 1.1em / capitalize */
  --t-h2-alt: 50px;            /* Montserrat 400 / 1.3em / capitalize */
  --t-h2: 42px;                /* Archivo 700 / 1.3em */
  --t-h2-lh18: 40px;           /* Archivo 700 / 1.8em */
  --t-h3-inter: 28px;          /* Inter 600 / 1.2em */
  --t-card-title: 24px;        /* Archivo 600 / 1.2em */
  --t-lead: 20px;              /* Archivo 600 / 1.3em */
  --t-body-lg: 18px;           /* Archivo 500 / 1.3em */
  --t-body-md: 16px;           /* Archivo 500 / 1.2em */
  --t-body-15: 15px;           /* Montserrat 300 / 1.5em */
  --t-body-14: 14px;
  --t-eyebrow: 14px;           /* Montserrat 500 / 1em / uppercase / ls 1.5px */
  --t-eyebrow-sm: 12px;        /* Archivo 700 / 1em / uppercase / ls 1.5px */

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

  /* ---- Motion (measured, see BEHAVIORS.md) ---- */
  --ease: cubic-bezier(0.4, 0, 0.2, 1);
  --dur-fast: 0.2s;
  --dur: 0.3s;
  --dur-slow: 0.5s;

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

/* Elementor default breakpoints:
   mobile  <= 767px
   tablet  768–1024px
   desktop >= 1025px  */
@media (max-width: 1024px) {
  :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-eyebrow: 12px;
  }
}
