/* ==========================================================================
   Hydro — Design Tokens
   The single source of brand values. Every themeable value lives here as a
   CSS custom property; component CSS references vars only (no raw hex/px).
   At Horizon conversion these map 1:1 to settings_schema.json theme settings.
   Locked to the approved brand brief (DESIGN_SYSTEM.md §1, §2, §3).
   ========================================================================== */

:root{
  /* --- Brand colors (LOCKED — do not add new brand colors) --- */
  --color-green:#175132;        /* Primary: logo, eyebrows, buttons, links, active */
  --color-green-deep:#03542B;   /* Button hover/pressed, dark green accents        */
  --color-mint:#7FDDA3;         /* ACCENT ONLY: highlighted words, stat figures     */
  --color-onyx:#111419;         /* Dark surfaces + body text on light               */
  --color-smoke:#595C5E;        /* Secondary text, captions, muted UI               */
  --color-bone:#F3EFE6;         /* Warm light section background                     */
  --color-white:#ffffff;        /* Cards, primary surfaces                          */

  /* --- Derived neutrals (not new brand colors; tints/utility) --- */
  --color-ink:var(--color-onyx);      /* alias for body text on light            */
  --color-ink-soft:#3a3f47;           /* softened onyx for long-form body copy    */
  --color-line:#e4dfd3;               /* warm hairline border on light surfaces   */
  --color-line-dark:rgba(255,255,255,.12); /* hairline on onyx                    */
  --color-bg:#faf9f6;                 /* off-white page base                       */
  --color-green-tint:#f2f8f4;         /* selected/active light-green wash          */

  /* --- Typography --- */
  --font-head:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --font-body:'DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;

  /* Fluid type scale (clamp) — DESIGN_SYSTEM.md §2 */
  --t-display:clamp(2.75rem,1.6rem + 5.2vw,4.5rem);   /* hero headline    */
  --t-h1:clamp(2rem,1.4rem + 2.6vw,3rem);             /* section headlines */
  --t-h2:clamp(1.5rem,1.2rem + 1.4vw,2rem);           /* sub-section       */
  --t-h3:clamp(1.125rem,1rem + 0.6vw,1.375rem);       /* card titles       */
  --t-eyebrow:clamp(0.75rem,0.72rem + 0.1vw,0.8125rem);
  --t-body:clamp(1rem,0.98rem + 0.1vw,1.0625rem);
  --t-small:clamp(0.8125rem,0.8rem + 0.1vw,0.875rem);

  --tracking-display:-0.02em;
  --tracking-eyebrow:0.18em;

  /* --- Spacing scale (px) — DESIGN_SYSTEM.md §3 --- */
  --space-1:4px;  --space-2:8px;  --space-3:12px; --space-4:16px;
  --space-6:24px; --space-8:32px; --space-12:48px; --space-16:64px; --space-24:96px;
  --section-pad:clamp(48px,8vw,96px);
  --container-max:1320px;
  --container-pad:clamp(20px,4vw,32px);

  /* --- Radius --- */
  --radius-sm:6px;   /* chips, inputs, buttons */
  --radius-md:10px;  /* cards                  */
  --radius-lg:16px;  /* modals, drawers        */

  /* --- Elevation (one token; onyx sections use borders, not shadows) --- */
  --shadow-card:0 1px 2px rgba(17,20,25,.06),0 8px 24px rgba(17,20,25,.06);
  --shadow-lift:0 16px 44px rgba(17,20,25,.12);

  /* --- Motion (transform/opacity only; respects prefers-reduced-motion) --- */
  --ease:cubic-bezier(.4,0,.2,1);
  --dur-fast:150ms;
  --dur-base:220ms;

  /* --- Commerce settings (become Horizon theme settings) --- */
  --free-ship-threshold:75;     /* USD; free US shipping over this */
  --tap-min:44px;               /* min interactive target          */
}
