/* VENDORED from design-concepts/APPROVED/shared/tokens.css by scripts/gen/vendor-board.mjs. Do not edit: check-vendored-board.mjs
   re-derives this file and FAILS on drift. Transforms: board font folder -> /fonts/; board set assets -> /images/. */
/* APPROVED copy (TASK-CO1, 2026-10-16) of design-concepts/kit/tokens.css: the frozen design reference for Phase 2 ([R25], GATE 1.5 R-24). Edit nothing here; a change is a new ruling. */
/* Lasting Impression Medical GATE 1.5 r1 world kit: tokens (K0, 2026-10-16).
   Load after /fonts/fonts.css. Every world, module and kit page uses these names; worlds add their own scoped tokens.

   PART 1 is the design team's :root block, VERBATIM from design-intake/source-package-2026-10-15/IT_HANDOFF.md section 1
   (the approved identity, R-02; the font stacks name the faces self-hosted in /fonts/). Never edit PART 1.
   PART 2 holds the kit additions the WAVE asks for, each with its reason. */

/* ---------- PART 1: the team's tokens (IT_HANDOFF.md section 1, verbatim) ---------- */
:root{
  --ink:#1D385B; --teal:#2A4468; --cream:#F4EEE1; --mint:#CFDCEC; --bronze:#B78B5B;
  --ink-90:rgba(29,56,91,.9); --ink-72:rgba(29,56,91,.72); --ink-62:rgba(29,56,91,.62);
  --ink-58:rgba(29,56,91,.58); --ink-40:rgba(29,56,91,.4); --ink-16:rgba(29,56,91,.16); --ink-09:rgba(29,56,91,.09);
  --cream-hi:#FCFAF4; --cream-lo:#F4EEE1; --sand:#DFCFB2;
  --bronze-dk:#9C744A; --line:rgba(29,56,91,.12); --line-dark:rgba(239,227,206,.16);
  --cod:#EFE3CE; /* cream on dark */
  --mist:rgba(207,220,236,.72);

  --f-d:"Instrument Serif",Georgia,serif;
  --f-b:"Manrope",system-ui,-apple-system,"Segoe UI",sans-serif;

  --s--1:clamp(.78rem,.76rem + .1vw,.85rem);
  --s-0:clamp(1rem,.97rem + .12vw,1.06rem);
  --s-1:clamp(1.15rem,1.08rem + .3vw,1.3rem);
  --s-2:clamp(1.5rem,1.3rem + .8vw,2rem);
  --s-3:clamp(2rem,1.6rem + 1.7vw,3rem);
  --s-4:clamp(2.5rem,1.9rem + 2.8vw,4.1rem);
  --s-5:clamp(3.1rem,2.1rem + 4.6vw,5.6rem);

  --sp:clamp(4rem,2.7rem + 5vw,6.5rem);   /* section vertical rhythm */
  --gut:clamp(1.25rem,.5rem + 2.6vw,2.75rem); /* page gutter */
  --maxw:1240px;   /* container max-width */
  --cgap:1.3rem;   /* card grid gap */

  --r-s:12px; --r-m:20px; --r-l:28px; --r-xl:36px; --r-pill:999px;
  --sh-1:0 1px 2px rgba(29,56,91,.04),0 6px 18px -10px rgba(29,56,91,.12);
  --sh-2:0 4px 10px rgba(29,56,91,.05),0 16px 36px -20px rgba(29,56,91,.18);
  --ease:cubic-bezier(.22,.61,.36,1);
  --eout:cubic-bezier(.16,1,.3,1);
}

/* ---------- PART 2: kit additions (K0) ---------- */
:root{
  /* Google gold for review stars (R-09 rating strip, the fleet No-Senja ruling): stars only, never a UI accent. */
  --li-star:#fbbc04;

  /* The brand guide's Soft Blue (2026 brand guide p7-p8). DRIFT, kept on purpose: the team ships --mint #CFDCEC as the
     decorative tint, which is NOT the guide's #C2D0E3 (DESIGN-INTAKE-AUDIT row 4). --mint stays the package default
     (R-02); --soft-blue exists so a world can use the guide's exact value where it quotes the guide. The guide's Slate Blue
     #4F647F is unused by the package and is not tokenised. */
  --soft-blue:#C2D0E3;

  /* F6 type-scale lift (R-13; TASTE-SPEC section 1, design lint M4: display / body at least 6 at 1440, FAIL below 5.0).
     Ratio math. Body = the most common text size = --s-0. At 1440 px, .97rem + .12vw = 15.52 + 1.728 = 17.25 px, above the
     clamp max 1.06rem, so body = 16.96 px. At 390 px, 15.52 + 0.47 = 15.99 px, under the min 1rem, so body = 16 px.
       --s-5 (the team's top step):      1440: 33.6 + 66.24 = 99.8 px, capped at 5.6rem = 89.6 px  -> 89.6 / 16.96 = 5.28 (M4 WARN)
       the team's hero h1 clamp(3.4rem,1.7rem + 4.4vw,5.6rem): 1440 = 89.6 px                    -> 5.28 (M4 WARN)
       --s-6 (homepage display line):    1440: 21.6 + 87.84 = 109.44 px (under the 6.875rem = 110 px cap) -> 109.44 / 16.96 = 6.45 (PASS)
                                          390: 21.6 + 23.79 = 45.4 px, floored at 3.4rem = 54.4 px (the brief's "about 54 px")
       --s-5-inner (inner-page display): 1440: 17.6 + 86.4 = 104 px, capped at 6.5rem = 104 px      -> 104 / 16.96 = 6.13 (PASS)
                                          390: 17.6 + 23.4 = 41 px, floored at 2.9rem = 46.4 px
     If a world raises the body size, re-check: ratio = largest text px / most common text px at 1440. */
  --s-6:clamp(3.4rem,1.35rem + 6.1vw,6.875rem);
  --s-5-inner:clamp(2.9rem,1.1rem + 6vw,6.5rem);

  /* F7 "opened 390 rhythm" (R-13): the team's --sp gives 64 px a side at 390 (128 px between bands; audit measured a
     165 px median on home, M7 WARN territory). --sp-open is the opened alternative: 390 = 5rem = 80 px a side (min),
     1440 = 54.4 + 72 = 126.4 px, capped at 7rem = 112 px a side. Use it for band padding where a world opens the rhythm. */
  --sp-open:clamp(5rem,3.4rem + 5vw,7rem);

  /* The [R36] super-headline H1 floor: the design lint's H1 guard needs the H1 at 14 px or larger at 1440 AND 390. The team's
     eyebrow step --s--1 tops out at .85rem = 13.6 px (12.55 px at 390), so an H1 set in --s--1 FAILs (the kit smoke caught it).
     --s-super: 390 = .84rem + .15vw = 13.44 + 0.59 = 14.0 px, floored at .875rem = 14 px; 1440 = 13.44 + 2.16 = 15.6 px. */
  --s-super:clamp(.875rem,.84rem + .15vw,1rem);

  /* Booking host floor (R-08: the GoHighLevel form placeholder; container min-height 560, never smaller). */
  --booking-min-h:560px;
}
