/* Willow Healthcare – global design tokens.
   Keep in sync with Elementor Site Settings (Global Colors + Global Fonts).
   Widgets use var(--token) via Elementor's Custom unit. Never type raw values. */
:root{
  /* colors */
  --c-navy:#0B2A5B; --c-navy-900:#061A3C;
  --c-gold:#F5B21B; --c-gold-300:#FFD966; --c-gold-600:#D4901A; --c-gold-text:#A86A08;
  --c-gold-50:#FFF4D9; --c-gold-border:#FCD877;
  --c-bg:#F4F6FA; --c-surface:#FFFFFF; --c-surface-muted:#EDF1F8; --c-blue-50:#E4EDF9;
  --c-border:#E5E9F0; --c-text-muted:#56677E; --c-whatsapp:#16A34A;
  --c-on-dark:#FFFFFF; --c-on-dark-muted:rgba(255,255,255,.8); --c-on-dark-subtle:rgba(255,255,255,.6);
  --c-on-dark-border:rgba(255,255,255,.3); --c-on-dark-line:rgba(255,255,255,.14);
  --g-photo-overlay:linear-gradient(180deg,rgba(7,30,68,0) 35%,rgba(7,30,68,.92) 100%);
  --g-footer:linear-gradient(180deg,#0B2A5B 0%,#071F48 60%,#061A3C 100%);
  --c-blob-lavender:rgba(206,200,242,.9); --c-blob-gold:rgba(253,228,140,.85); --c-live:#22C55E;
  --c-on-gold-muted:rgba(11,42,91,.8); --c-glass:rgba(255,255,255,.9); --c-glass-strong:rgba(255,255,255,.92); --c-white-50:rgba(255,255,255,.5); --c-white-70:rgba(255,255,255,.7); --c-white-10:rgba(255,255,255,.1); --c-navy-55:rgba(11,42,91,.55);
  --g-glow:radial-gradient(closest-side,rgba(64,110,190,.45),rgba(64,110,190,0));
  --g-step-blue:linear-gradient(180deg,var(--c-blue-50) 0%,var(--c-surface) 100%); --g-step-gold:linear-gradient(180deg,var(--c-gold-50) 0%,var(--c-surface) 100%);
  --c-cream:#FBF6EA; --c-google:#1A73E8; --c-ink:#26364F; --c-dot:#D5DBE5; --c-tabby:#3DFFC2; --c-tabby-ink:#141A24; --c-on-dark-85:rgba(255,255,255,.85); --c-on-dark-6:rgba(255,255,255,.06); --c-on-dark-12:rgba(255,255,255,.12);
  --g-initials:linear-gradient(135deg,#ECE7F4 0%,#FCEFCF 100%); --g-cta-final:linear-gradient(90deg,var(--c-blue-50) 0%,var(--c-gold-50) 100%); --g-footer-glow:radial-gradient(closest-side,rgba(42,99,184,.42),rgba(42,99,184,0));
  --g-wordmark:linear-gradient(180deg,rgba(255,255,255,.3) 0%,rgba(255,255,255,0) 100%);
  --g-gold-button:linear-gradient(90deg,#FFD966 0%,#F5B21B 60%,#C98A12 100%);

  /* type – families */
  --ff-head:"Outfit","Outfit Fallback",Arial,sans-serif;
  --ff-body:"Poppins","Poppins Fallback",Arial,sans-serif;

  /* type – sizes (fluid 390 → 1440) */
  --fs-display:clamp(35px,4.29vw + 18.3px,80px);
  --fs-h1:clamp(32px,1.5vw + 26.4px,48px);
  --fs-h2:clamp(28px,.75vw + 25.2px,36px);
  --fs-h3:clamp(20px,.38vw + 18.6px,24px);
  --fs-h4:clamp(19px,.28vw + 17.9px,22px);
  --fs-h5:clamp(16px,.1vw + 15.6px,17px);
  --fs-lead:clamp(16px,.19vw + 15.3px,18px);
  --fs-body:15px; --fs-body-sm:14px; --fs-caption:13px;
  --fs-micro:clamp(11px,.1vw + 10.6px,12px);
  --fs-eyebrow:clamp(11px,.1vw + 10.6px,12px);
  --fs-button:15px; --fs-button-md:14px; --fs-button-sm:13px;

  /* type – line heights */
  --lh-display:1.05; --lh-h1:1.1; --lh-h2:1.12; --lh-h3:1.15; --lh-h4:1.2; --lh-h5:1.35;
  --lh-lead:1.6; --lh-body:1.6; --lh-body-sm:1.5; --lh-caption:1.4; --lh-micro:1.4; --lh-eyebrow:1.3; --lh-button:1;

  /* type – letter spacing */
  --ls-display:-0.03em; --ls-h1:-0.015em; --ls-h2:-0.015em; --ls-h3:-0.005em; --ls-eyebrow:0.12em;

  /* type – weights */
  --fw-regular:400; --fw-medium:500; --fw-semibold:600; --fw-bold:700;

  /* spacing (4px base) */
  --space-1:4px; --space-2:8px; --space-3:12px; --space-4:16px; --space-5:20px; --space-6:24px;
  --space-7:28px; --space-8:32px; --space-9:40px; --space-10:48px; --space-11:56px; --space-12:80px; --space-13:96px;

  /* semantic spacing */
  --section-y:clamp(40px,5vw,56px); --section-head-gap:clamp(24px,4vw,48px);
  --stack-sm:8px; --stack-md:16px; --stack-lg:24px;
  --grid-gap:clamp(16px,2vw,24px); --gutter:clamp(20px,5vw,24px);

  /* layout */
  --container:1200px; --container-wide:1392px; --container-narrow:760px;

  /* shape */
  --r-sm:8px; --r-md:12px; --r-lg:16px; --r-xl:24px; --r-2xl:clamp(28px,.38vw + 26.5px,32px); --r-pill:999px;
  --border:1px solid var(--c-border); --border-strong:1.5px solid var(--c-navy);
  --shadow-sm:0 1px 2px rgba(11,42,91,.06); --shadow-md:0 8px 24px rgba(11,42,91,.08); --shadow-lg:0 24px 48px rgba(11,42,91,.28);
  --ease:200ms cubic-bezier(.2,.7,.2,1);

  /* interaction */
  --tap:44px; --focus-ring:2px solid var(--c-gold); --focus-offset:2px;
}
