/* Quixo Group design tokens — v1.2 · 20 September 2026
 * Generated from _build-scripts/brands.py. Do not hand-edit.
 * Change brands.py and re-run the builders.
 *
 * v1.1  Quixo Marketing accent is lavender. Lime removed from the system.
 * v1.2  Quixo Hub moved #A78BFA -> #7C5CE6 so it separates from Marketing lavender by value.
 * v2026 Quixo Marketing Editorial Brand System 2026 (qm-website): white ground, true black type, lavender
 *       #C7B8EA interrupts, deep lavender #9C83D8 for display-size pivots and locator dots only, grid #EEEEEE.
 *       Existing token names are kept (the CMS contract and site.css read them); --q-navy / --q-pale / --q-gray
 *       now resolve to the white editorial theme. New editorial names: --q-ground, --q-ink, --q-lavender,
 *       --q-lavender-deep, --q-grid, --q-font-arabic, --q-step-7, --q-tracking-hero, --q-leading-hero.
 *
 * Neutrals and type are identical for every company. A brand is selected with
 * data-brand on any ancestor:  <html data-brand="quixo-ai">
 * Default (no attribute) is Quixo Marketing.
 */
:root{
  --q-black: #000000;
  --q-white: #FFFFFF;
  --q-ink-deep: #2F2F2F;
  --q-ink-mid: #5A5A5A;
  --q-ink-mute: #898989;
  --q-hairline: #DDDDDD;
  --q-tile: #F4F4F4;
  --q-tile-dark: #141414;
  --q-error: #B00020;
  --q-font-display: 'Inter Tight', Helvetica, Arial, sans-serif;
  --q-font-body: 'Inter Tight', Helvetica, Arial, sans-serif;
  --q-font-pivot: 'Instrument Serif', Georgia, serif;
  --q-font-mono: ui-monospace, 'SF Mono', Menlo, Consolas, 'Liberation Mono', monospace;
  --q-font-arabic: 'Noto Sans Arabic', 'Inter Tight', Tahoma, sans-serif;
  --q-step--1: clamp(0.8125rem, 0.79rem + 0.11vw, 0.875rem);
  --q-step-0: clamp(1rem, 0.96rem + 0.2vw, 1.125rem);
  --q-step-2: clamp(1.375rem, 1.24rem + 0.68vw, 1.875rem);
  --q-step-4: clamp(2.25rem, 1.85rem + 2vw, 3.75rem);
  --q-step-5: clamp(2.75rem, 2.07rem + 3.4vw, 5.25rem);
  --q-step-6: clamp(3rem, 1.5rem + 7.5vw, 8.5rem);
  --q-step-7: clamp(3.25rem, 0.9rem + 9.6vw, 10.5rem);
  --q-tracking-hero: -0.055em;
  --q-leading-hero: 0.9;
  --q-tracking-micro: 0.16em;
  --q-tracking-display: -0.03em;
  --q-leading-display: 1.04;
  --q-radius-tile: 8px;
  --q-radius-mark: 20%;
  --q-radius-pill: 100px;
  --q-rule: 1px solid var(--q-hairline);

  /* accent — overridden per brand below. Default is Quixo Marketing. */
  --q-hue: #C7B8EA;
  --q-hue-deep: #9C83D8;
  --q-hue-wash: #ECE7F8;
}
[data-brand="quixo-hub"]{
  --q-hue: #7C5CE6;
  --q-hue-deep: #5830DF;
  --q-hue-wash: #EAE4FB;
}
[data-brand="quixo-ai"]{
  --q-hue: #22D3EE;
  --q-hue-deep: #06B6D4;
  --q-hue-wash: #CFF7FD;
}
[data-brand="quixo-marketing"]{
  --q-hue: #C7B8EA;
  --q-hue-deep: #9C83D8;
  --q-hue-wash: #ECE7F8;

  /* Editorial Brand System 2026: "White and black dominate. Lavender interrupts."
     #9C83D8 on white is 3.2:1, so it is for display-size type (>= 24px) and artwork only;
     small accents on white use black; lavender fills carry black text (11.5:1). No navy. */
  --q-ground: #FFFFFF;
  --q-ink: #000000;
  --q-lavender: #C7B8EA;
  --q-lavender-deep: #9C83D8;
  --q-grid: #EEEEEE;
  --q-navy: #000000;   /* legacy name: primary type colour */
  --q-pale: #F7F7F7;   /* legacy name: quiet alternate section ground */
  --q-gray: #5A5A5A;   /* legacy name: secondary text, 6.9:1 on white */
}
[data-brand="edubaimart"]{
  --q-hue: #5B8CFF;
  --q-hue-deep: #3B6FE8;
  --q-hue-wash: #E2EAFF;
}
[data-brand="edubaimart-b2b"]{
  --q-hue: #FFB020;
  --q-hue-deep: #F59E0B;
  --q-hue-wash: #FFEFD1;
}

/* The 70 / 25 / 5 split is a rule, not a token: white ground, black type
   (navy on Quixo Marketing), hue only on CTAs, active state, selection,
   the mark on dark, and one number. */
::selection{background:var(--q-hue);color:var(--q-black)}
[data-brand="quixo-marketing"] ::selection{background:var(--q-hue);color:var(--q-navy)}
