/* ===========================================================================
   PALETTE — additive layer · SKINCARE
   ---------------------------------------------------------------------------
   Enqueue AFTER tokens.css and BEFORE primitives.css.

   WHAT REPLACED WHAT, AND WHY IT MATTERS

   The supplement build carried a second hue (ochre) whose job was to colour
   every number that came off a label, plus six category hues. Both are
   ILLEGAL under skincare brand law:

     "No third hue, ever. Two materials only: the blue ramp and the
      cream→ink neutrals."  and  "No SaaS cobalt, no teal, no turquoise,
      no cyan, no navy, no purple-blue."

   One of the retired category hues was #44A1B1 — the old supplement brand
   teal itself. Leaving that file in place would have shipped the dead brand's
   colour behind the new one's product cards.

   THE SUBSTITUTION IS TYPOGRAPHIC, NOT CHROMATIC. Data is no longer marked by
   giving it its own colour; it is marked by setting it in the mono:

     "Martian Mono — the evidence. Every number that makes a claim. %, mg,
      ml, AM/PM, price, batch, dose chips, data tables, protocol lines. If a
      % or ml renders in General Sans, that is a bug."

   (Martian Mono replaced Fragment Mono on 2026-08-20; the argument is
   unchanged and got stronger — Martian Mono is the more present face.)

   So --data-* below resolve to ink/cream and carry no hue of their own. The
   contrast they used to buy from ochre now comes from the face.

   THE LAW HERE:
     Blue acts.  Mono measures.  Green confirms stock.  Nothing else is coloured.
   =========================================================================== */

:root {
  /* -- FLOOD BANDS (label law §4.1) -----------------------------------------
     Product identity comes from ramp steps only — this is the skincare
     replacement for the six category hues. Band is a property of the SKU and
     is locked across all 23; future SKUs INHERIT a band, never invent one.
     Text pairing is fixed by the law: cream on 500, ink on 100–400. -------- */
  --flood-100: var(--p-brand-100);  /* #DEEBFA  cleansers — max water, min dose */
  --flood-200: var(--p-brand-200);  /* #A9CDF2  the daily routine               */
  --flood-300: var(--p-brand-300);  /* #7AABE9  weekly specialists              */
  --flood-400: var(--p-brand-400);  /* #4483E0  potent non-copper treats + SPF  */
  --flood-500: var(--p-brand-500);  /* #0B55CE  the Copper System ONLY, 4 SKUs  */

  --flood-100-on: var(--p-neutral-ink);  /* ink  */
  --flood-200-on: var(--p-neutral-ink);  /* ink  */
  --flood-300-on: var(--p-neutral-ink);  /* ink  */
  --flood-400-on: var(--p-neutral-ink);  /* ink  */
  --flood-500-on: var(--p-neutral-white);   /* white — the only light-on-flood pair */

  /* -- DATA ------------------------------------------------------------------
     Deliberately hueless. See the note above: the mono face is the signal. */
  --data-accent:      var(--p-neutral-ink);
  --data-accent-fill: var(--p-brand-100);
  --data-accent-on-dark: var(--p-neutral-white);

  /* -- STRUCTURE ------------------------------------------------------------- */
  --band-ink:   var(--p-neutral-ink);
  --band-ink-2: var(--p-brand-900);   /* deep stage — floods 600–900 are web
                                         sections and photography only, never
                                         a label (label law §4.1) */
  --rule:       var(--p-neutral-stone);

  /* -- STOCK — unchanged role, brand-tuned value ------------------------------ */
  --green: var(--p-green-600);
}

/* Floods 600–900 are stage colours. Named here so a section can reach for one
   without a component inventing an off-ramp blue. */
:root {
  --stage-600: var(--p-brand-600);
  --stage-700: var(--p-brand-700);
  --stage-800: var(--p-brand-800);
  --stage-900: var(--p-brand-900);
}
