/* healthifyone design tokens — single source of truth.
   Act I is institutional and cold; Act II is human and warm.
   The film transitions between them; static pages use Act II. */
@font-face { font-family:'Archivo'; src:url('../fonts/archivo-400.woff2') format('woff2'); font-weight:400; font-display:swap; }
@font-face { font-family:'Archivo'; src:url('../fonts/archivo-700.woff2') format('woff2'); font-weight:700; font-display:swap; }
@font-face { font-family:'Archivo'; src:url('../fonts/archivo-900.woff2') format('woff2'); font-weight:900; font-display:swap; }
@font-face { font-family:'Fraunces'; src:url('../fonts/fraunces-400.woff2') format('woff2'); font-weight:400; font-display:swap; }
@font-face { font-family:'Fraunces'; src:url('../fonts/fraunces-700.woff2') format('woff2'); font-weight:700; font-display:swap; }
@font-face { font-family:'PlexSans'; src:url('../fonts/plex-400.woff2') format('woff2'); font-weight:400; font-display:swap; }
@font-face { font-family:'PlexSans'; src:url('../fonts/plex-600.woff2') format('woff2'); font-weight:600; font-display:swap; }

:root {
  /* Act I — institutional */
  --cold-void:#0E1416;
  --cold-slate:#2A3538;
  --cold-grey:#8A9A9E;
  --cold-fluoro:#C9D6D2;
  /* Act II — human */
  --paper:#FAF7F2;
  --ink:#14100E;
  --accent:#D4623F;
  --accent-deep:#A8462B;
  --rule:rgba(20,16,14,.14);

  --font-cold:'Archivo',system-ui,sans-serif;
  --font-warm:'Fraunces',Georgia,serif;
  --font-body:'PlexSans',system-ui,sans-serif;

  /* Fluid type — 390px floor, 1280px ceiling */
  --step-0:clamp(1rem,.95rem + .25vw,1.125rem);
  --step-1:clamp(1.25rem,1.1rem + .75vw,1.5rem);
  --step-2:clamp(1.6rem,1.3rem + 1.5vw,2.25rem);
  --step-3:clamp(2.2rem,1.6rem + 3vw,3.5rem);
  --step-4:clamp(3rem,2rem + 6vw,6rem);
  --step-5:clamp(3.75rem,2.2rem + 9vw,8rem);

  --gutter:clamp(1.25rem,5vw,3rem);
  --safe-b:env(safe-area-inset-bottom,0px);
  --thumb:calc(1.25rem + var(--safe-b)); /* thumb-zone offset for fixed CTAs */
}
