/* GENERATED from magic-city-car-wash.json by scripts/build.mjs. Do not edit — rerun the generator. */
:root{
  /* accentHover defaulting to accent meant "hover does nothing" on any config that omitted it.
     Darkening toward ink gives a real state change and stays on-brand. */
  --primary:#05070A; --accent:#22C8CE;
  --accent-hover:#35DCE0;
  --accent-2:#FF8A2B;
  /* ink-2 / paper-2 / line are DERIVED from ink+paper when a config omits them, so a palette
     stays internally consistent instead of being eight hand-typed hexes that drift apart. The
     old --ink-2 fallback was a literal #5a6b64 — a green-grey — so every blue- or oxblood-branded
     business that omitted ink2 got green secondary text. A config value still wins outright. */
  --ink:#EEF4F5; --ink-2:#9DB1B5;
  --paper:#080A0B; --paper-2:#0E1315;
  --line:#1E2A2E;
  /* text that sits ON an accent fill. Defaulting this to --ink was wrong in BOTH directions:
     a dark-theme business inherits light ink and gets white-on-neon, and a business whose accent
     was darkened to pass as text on paper (fa53c8d did this to five configs) gets near-black ink
     on a near-black fill. Measured on the primary marketing CTA before this change: halcyon
     2.12:1, brightwash 2.51:1, palm-beauty 2.64:1. The only config that passed was the one that
     set onAccent by hand. So pick it by luminance instead of inheriting a token meant for paper. */
  --on-accent:#04100F;
  /* One accent hex cannot serve three surfaces, and the whole portfolio proves it: an accent
     dark enough to clear AA as text on paper lands at 1.9-4.1:1 on the dark primary, and one
     bright enough for the dark lands at 2.4-3.6:1 on paper. So each surface gets its own token,
     SOLVED to a measured 4.5:1 by scripts/contrast.mjs rather than set to a fixed colour-mix
     percentage that happened to clear the configs present the day it was written. A fixed 50%
     mix left palm-beauty's rail buttons at 1.93:1; solving hits 4.51:1 on the same input.
     Both stay overridable per config (accentOnDark / accentOnPaper). */
  --accent-on-dark:#22C8CE;
  /* accent used AS TEXT on paper or on a 16% accent tint (.tag/.pill/.chip). Solved against the
     harder of those two surfaces. On a dark-theme config this correctly resolves lighter, not
     darker — it tracks the config's own paper, not an assumption that paper is white. */
  --accent-on-paper:#22C8CE;
  /* accent as text over a PHOTO. Solved against the hero plate at its worst case —
     --primary over WHITE — because a photo can be any luminance and the plate is the
     only part of that stack the generator controls. See heroPlate() in contrast.mjs. */
  --accent-on-hero:#22C8CE;
  --hero-plate:92.0%;
  --font:'Archivo', sans-serif; --body-font:'Chivo', sans-serif;
}