/* ============================================================
   STRUCTIVE — tokens.css = PROFILE (inspiration: swiftform)
   Immersive DARK forest-green canvas + mint accent + lavender top-bar.
   Single family: Sora (display + body). DARK by default.
   ============================================================ */
:root{
  /* COLOR — dark forest-green is the DEFAULT canvas */
  --accent:#8cff9a;            /* mint-green accent (pills, metrics) */
  --accent-ink:#06100c;        /* near-black ink on mint */
  --lav:#e5c9ff;               /* lavender utility bar */
  --lav-ink:#0a0510;           /* near-black on lavender */
  --bg:#07120f;                /* deep forest-green canvas */
  --surface-alt:#0b1a15;       /* slightly raised dark band */
  --ink:#f7fff8;               /* near-white heading ink */
  --body:#a8c3b9;              /* muted sage body text */
  --border:rgba(140,255,154,.18);
  --card:#0d1d18;              /* card floating over dark */
  --stat:#102820;              /* dark mint stat tile */
  --white-card:#ffffff;        /* floating white card */
  --white-card-ink:#0b0b0b;
  --white-card-body:#3a4a44;
  --glow:rgba(140,255,154,.10);/* hero decorative mint glow */

  /* dark-palette mirrors (.is-dark = canvas itself, here for parity) */
  --bg-dark:#07120f;
  --ink-dark:#f7fff8;
  --body-dark:#a8c3b9;
  --border-dark:rgba(140,255,154,.18);
  --card-dark:#0d1d18;

  /* LIGHT cream band (services) — must keep AA against dark green text */
  --soft:#f7f7f4;
  --soft-ink:#07120f;
  --soft-card:#ffffff;
  --soft-body:#3a4a44;
  --soft-border:#e2e2dc;

  /* TYPO — single geometric family */
  --font-display:'Sora',system-ui,sans-serif;
  --font-body:'Sora',system-ui,sans-serif;
  --w-reg:400; --w-med:500; --w-semi:600; --w-bold:700; --w-black:800;
  --tracking-tight:-1.4px;
  --tracking-eyebrow:2px;

  /* LAYOUT */
  --container:1280px;
  --gutter:clamp(20px,5vw,80px);
  --section-y:clamp(72px,10vw,130px);
  --radius-sm:.55rem; --radius-md:14px; --radius-lg:16px; --radius-pill:999px;
  --bw:1px;

  /* SCALES — hard 65px cap wraps every heading (R3) */
  --fs-cap:65px;
  --fs-display:min(clamp(2.75rem,6vw,4.3rem), var(--fs-cap));
  --fs-h2:min(clamp(1.9rem,4vw,3rem), var(--fs-cap));
  --fs-h3:min(clamp(1.25rem,2.2vw,1.7rem), var(--fs-cap));
  --fs-body:clamp(1rem,1.05vw,1.0625rem);
  --fs-lead:clamp(1.1rem,1.5vw,1.25rem);
  --fs-eyebrow:.74rem;
  --fs-metric:clamp(2.6rem,5vw,3.4rem);   /* oversized mint metric numbers */
  --lh-display:1.02; --lh-h2:1.08;

  /* MOTION — all from PROFILE; baseline R2 in style.css */
  --ease:cubic-bezier(.22,1,.36,1); --dur:.7s;
  --reveal-shift:48px; --base-x:-28px; --base-delay:.15s; --stagger:.08s;
  --hover-card:translateY(-6px); --hover-btn:translateY(-2px); --hover-img:scale(1.04);
}
/* .is-soft = light cream band (services); flips canvas to cream + dark green ink */
.is-soft{
  --bg:var(--soft); --ink:var(--soft-ink); --body:var(--soft-body);
  --border:var(--soft-border); --card:var(--soft-card);
}
/* .is-dark = explicit dark band (parity with canvas; used by footer/cta) */
.is-dark{
  --bg:var(--bg-dark); --ink:var(--ink-dark); --body:var(--body-dark);
  --border:var(--border-dark); --card:var(--card-dark);
}
