/* ============================================================
   tokens.css — АВТОГЕНЕРАЦИЯ из tokens/tokens.json. НЕ РЕДАКТИРОВАТЬ.
   Активный бренд: 'haval' (ключ "active" в tokens.json) => default+dark.
   Перегенерация:  php site/templates/tokens/build-tokens.php
   ============================================================ */

/* ===== АКТИВНЫЙ БРЕНД: haval ===== */
/* ---- HAVAL · монохром (по aaamotors-haval.ru) · light ---- */
:root, [data-theme=default] {
  /* CodyFrame globals */
  --color-primary-darker: hsl(210, 5%, 0%);
  --color-primary-darker-h: 210;
  --color-primary-darker-s: 5%;
  --color-primary-darker-l: 0%;
  --color-primary-dark: hsl(210, 5%, 1%);
  --color-primary-dark-h: 210;
  --color-primary-dark-s: 5%;
  --color-primary-dark-l: 1%;
  --color-primary: hsl(210, 5%, 7%);
  --color-primary-h: 210;
  --color-primary-s: 5%;
  --color-primary-l: 7%;
  --color-primary-light: hsl(210, 5%, 13%);
  --color-primary-light-h: 210;
  --color-primary-light-s: 5%;
  --color-primary-light-l: 13%;
  --color-primary-lighter: hsl(210, 5%, 19%);
  --color-primary-lighter-h: 210;
  --color-primary-lighter-s: 5%;
  --color-primary-lighter-l: 19%;
  --color-accent-darker: hsl(4, 74%, 37%);
  --color-accent-darker-h: 4;
  --color-accent-darker-s: 74%;
  --color-accent-darker-l: 37%;
  --color-accent-dark: hsl(4, 74%, 43%);
  --color-accent-dark-h: 4;
  --color-accent-dark-s: 74%;
  --color-accent-dark-l: 43%;
  --color-accent: hsl(4, 74%, 49%);
  --color-accent-h: 4;
  --color-accent-s: 74%;
  --color-accent-l: 49%;
  --color-accent-light: hsl(4, 74%, 55%);
  --color-accent-light-h: 4;
  --color-accent-light-s: 74%;
  --color-accent-light-l: 55%;
  --color-accent-lighter: hsl(4, 74%, 61%);
  --color-accent-lighter-h: 4;
  --color-accent-lighter-s: 74%;
  --color-accent-lighter-l: 61%;
  --color-secondary-darker: hsl(4, 74%, 37%);
  --color-secondary-darker-h: 4;
  --color-secondary-darker-s: 74%;
  --color-secondary-darker-l: 37%;
  --color-secondary-dark: hsl(4, 74%, 43%);
  --color-secondary-dark-h: 4;
  --color-secondary-dark-s: 74%;
  --color-secondary-dark-l: 43%;
  --color-secondary: hsl(4, 74%, 49%);
  --color-secondary-h: 4;
  --color-secondary-s: 74%;
  --color-secondary-l: 49%;
  --color-secondary-light: hsl(4, 74%, 55%);
  --color-secondary-light-h: 4;
  --color-secondary-light-s: 74%;
  --color-secondary-light-l: 55%;
  --color-secondary-lighter: hsl(4, 74%, 61%);
  --color-secondary-lighter-h: 4;
  --color-secondary-lighter-s: 74%;
  --color-secondary-lighter-l: 61%;
  --color-bg-darker: hsl(0, 0%, 88%);
  --color-bg-darker-h: 0;
  --color-bg-darker-s: 0%;
  --color-bg-darker-l: 88%;
  --color-bg-dark: hsl(0, 0%, 94%);
  --color-bg-dark-h: 0;
  --color-bg-dark-s: 0%;
  --color-bg-dark-l: 94%;
  --color-bg: hsl(0, 0%, 100%);
  --color-bg-h: 0;
  --color-bg-s: 0%;
  --color-bg-l: 100%;
  --color-bg-light: hsl(0, 0%, 100%);
  --color-bg-light-h: 0;
  --color-bg-light-s: 0%;
  --color-bg-light-l: 100%;
  --color-bg-lighter: hsl(0, 0%, 100%);
  --color-bg-lighter-h: 0;
  --color-bg-lighter-s: 0%;
  --color-bg-lighter-l: 100%;
  --color-contrast-higher: hsl(210, 5%, 7%);
  --color-contrast-higher-h: 210;
  --color-contrast-higher-s: 5%;
  --color-contrast-higher-l: 7%;
  --color-contrast-high: hsl(210, 5%, 7%);
  --color-contrast-high-h: 210;
  --color-contrast-high-s: 5%;
  --color-contrast-high-l: 7%;
  --color-contrast-medium: hsl(210, 4%, 44%);
  --color-contrast-medium-h: 210;
  --color-contrast-medium-s: 4%;
  --color-contrast-medium-l: 44%;
  --color-contrast-low: hsl(220, 13%, 91%);
  --color-contrast-low-h: 220;
  --color-contrast-low-s: 13%;
  --color-contrast-low-l: 91%;
  --color-contrast-lower: hsl(220, 13%, 91%);
  --color-contrast-lower-h: 220;
  --color-contrast-lower-s: 13%;
  --color-contrast-lower-l: 91%;
  --font-primary: 'TT-Wellingtons', Arial, Helvetica, sans-serif;
  --font-secondary: 'Haval', Arial, Helvetica, sans-serif;
  --heading-font-weight: 400;
  --text-base-size: 1rem;
  --text-scale-ratio: 1.25;
  --body-line-height: 22.4px;
  --heading-line-height: 36px;
  --space-unit: 1rem;
  --max-width-md: 900px; --max-width-lg: 1440px; --max-width-xl: 1600px;
  --radius: 8px;
  --border-radius: 8px;
  --shadow-xs: none;
  --shadow-xl: 0 8px 24px rgba(18,19,20,.10);
  --transition-duration: 250ms;
  --ease-in-out: cubic-bezier(0.4,0,0.2,1); --ease-out: cubic-bezier(0.4,0,0.2,1); --ease-in: cubic-bezier(0.4,0,0.2,1);
  --btn-radius: 0px; --btn-padding-x: 20px; --btn-padding-y: 0px;
  --border-width: 1px;
  /* Vetro contract aliases */
  --bg: #ffffff; --bg-alt: #f5f5f5; --surface: #ffffff;
  --fg: #121314; --fg-muted: #6b6f73;
  --accent: #121314; --accent-2: #d92d20; --accent-contrast: #ffffff;
  --color-btn-hover: #00cabf;
  --color-badge: #f47a3f;
  --line: #e5e7eb; --footer-bg: #121314; --footer-fg: #ffffff;
  --font-display: 'Haval', Arial, Helvetica, sans-serif; --font-body: 'TT-Wellingtons', Arial, Helvetica, sans-serif; --font-mono: ui-monospace, monospace;
  --display-weight: 500; --heading-weight: 400; --body-weight: 450; --bold-weight: 500;
  --display-lh: 42px; --body-lh: 22.4px;
  --display-tracking: -0.8px; --body-tracking: 0.2px; --display-transform: uppercase;
  --eyebrow-transform: uppercase; --eyebrow-tracking: 0.08em; --eyebrow-weight: 600;
  --btn-transform: uppercase; --btn-tracking: 0.2px; --btn-weight: 400;
  --h1: 40px; --h2: 32px; --h3: 20px; --h4: 20px; --h5: 16px; --h6: 14px;
  --lede: 16px; --body-size: 16px; --small: 14px; --eyebrow-size: 11px;
  --display-size: 48px;
  --radius-lg: 12px; --radius-sm: 4px; --btn-radius: 0px; --border-w: 1px; --btn-pad-x: 20px; --btn-pad-y: 0px;
  --section-y: clamp(3rem,6vw,5rem); --container: 1440px; --container-narrow: 900px; --container-wide: 1600px; --gap: clamp(1rem,1.6vw,1.5rem);
  --dur-fast: 150ms; --dur-base: 250ms; --dur-slow: 420ms; --ease: cubic-bezier(0.4,0,0.2,1); --reveal-y: 24px; --reveal-stagger: 80ms; --hover-lift: -4px;
  --shadow-sm: none; --shadow-md: 0 2px 8px rgba(18,19,20,.06); --shadow-lg: 0 8px 24px rgba(18,19,20,.10);
  --media-bg: #f5f5f5; --glow: rgba(47,107,255,.18);
}

/* ---- HAVAL · монохром (по aaamotors-haval.ru) · dark ---- */
[data-theme=dark] {
  /* CodyFrame globals */
  --color-primary-darker: hsl(210, 5%, 0%);
  --color-primary-darker-h: 210;
  --color-primary-darker-s: 5%;
  --color-primary-darker-l: 0%;
  --color-primary-dark: hsl(210, 5%, 1%);
  --color-primary-dark-h: 210;
  --color-primary-dark-s: 5%;
  --color-primary-dark-l: 1%;
  --color-primary: hsl(210, 5%, 7%);
  --color-primary-h: 210;
  --color-primary-s: 5%;
  --color-primary-l: 7%;
  --color-primary-light: hsl(210, 5%, 13%);
  --color-primary-light-h: 210;
  --color-primary-light-s: 5%;
  --color-primary-light-l: 13%;
  --color-primary-lighter: hsl(210, 5%, 19%);
  --color-primary-lighter-h: 210;
  --color-primary-lighter-s: 5%;
  --color-primary-lighter-l: 19%;
  --color-accent-darker: hsl(4, 74%, 37%);
  --color-accent-darker-h: 4;
  --color-accent-darker-s: 74%;
  --color-accent-darker-l: 37%;
  --color-accent-dark: hsl(4, 74%, 43%);
  --color-accent-dark-h: 4;
  --color-accent-dark-s: 74%;
  --color-accent-dark-l: 43%;
  --color-accent: hsl(4, 74%, 49%);
  --color-accent-h: 4;
  --color-accent-s: 74%;
  --color-accent-l: 49%;
  --color-accent-light: hsl(4, 74%, 55%);
  --color-accent-light-h: 4;
  --color-accent-light-s: 74%;
  --color-accent-light-l: 55%;
  --color-accent-lighter: hsl(4, 74%, 61%);
  --color-accent-lighter-h: 4;
  --color-accent-lighter-s: 74%;
  --color-accent-lighter-l: 61%;
  --color-secondary-darker: hsl(4, 74%, 37%);
  --color-secondary-darker-h: 4;
  --color-secondary-darker-s: 74%;
  --color-secondary-darker-l: 37%;
  --color-secondary-dark: hsl(4, 74%, 43%);
  --color-secondary-dark-h: 4;
  --color-secondary-dark-s: 74%;
  --color-secondary-dark-l: 43%;
  --color-secondary: hsl(4, 74%, 49%);
  --color-secondary-h: 4;
  --color-secondary-s: 74%;
  --color-secondary-l: 49%;
  --color-secondary-light: hsl(4, 74%, 55%);
  --color-secondary-light-h: 4;
  --color-secondary-light-s: 74%;
  --color-secondary-light-l: 55%;
  --color-secondary-lighter: hsl(4, 74%, 61%);
  --color-secondary-lighter-h: 4;
  --color-secondary-lighter-s: 74%;
  --color-secondary-lighter-l: 61%;
  --color-bg-darker: hsl(210, 5%, 0%);
  --color-bg-darker-h: 210;
  --color-bg-darker-s: 5%;
  --color-bg-darker-l: 0%;
  --color-bg-dark: hsl(210, 5%, 1%);
  --color-bg-dark-h: 210;
  --color-bg-dark-s: 5%;
  --color-bg-dark-l: 1%;
  --color-bg: hsl(210, 5%, 7%);
  --color-bg-h: 210;
  --color-bg-s: 5%;
  --color-bg-l: 7%;
  --color-bg-light: hsl(210, 5%, 13%);
  --color-bg-light-h: 210;
  --color-bg-light-s: 5%;
  --color-bg-light-l: 13%;
  --color-bg-lighter: hsl(210, 5%, 19%);
  --color-bg-lighter-h: 210;
  --color-bg-lighter-s: 5%;
  --color-bg-lighter-l: 19%;
  --color-contrast-higher: hsl(210, 22%, 96%);
  --color-contrast-higher-h: 210;
  --color-contrast-higher-s: 22%;
  --color-contrast-higher-l: 96%;
  --color-contrast-high: hsl(210, 22%, 96%);
  --color-contrast-high-h: 210;
  --color-contrast-high-s: 22%;
  --color-contrast-high-l: 96%;
  --color-contrast-medium: hsl(0, 0%, 100%);
  --color-contrast-medium-h: 0;
  --color-contrast-medium-s: 0%;
  --color-contrast-medium-l: 100%;
  --color-contrast-low: hsl(121, 100%, 36%);
  --color-contrast-low-h: 121;
  --color-contrast-low-s: 100%;
  --color-contrast-low-l: 36%;
  --color-contrast-lower: hsl(121, 100%, 36%);
  --color-contrast-lower-h: 121;
  --color-contrast-lower-s: 100%;
  --color-contrast-lower-l: 36%;
  --font-primary: 'TT-Wellingtons', Arial, Helvetica, sans-serif;
  --font-secondary: 'Haval', Arial, Helvetica, sans-serif;
  --heading-font-weight: 400;
  --text-base-size: 1rem;
  --text-scale-ratio: 1.25;
  --body-line-height: 22.4px;
  --heading-line-height: 36px;
  --space-unit: 1rem;
  --max-width-md: 900px; --max-width-lg: 1440px; --max-width-xl: 1600px;
  --radius: 8px;
  --border-radius: 8px;
  --shadow-xs: none;
  --shadow-xl: 0 8px 24px rgba(18,19,20,.10);
  --transition-duration: 250ms;
  --ease-in-out: cubic-bezier(0.4,0,0.2,1); --ease-out: cubic-bezier(0.4,0,0.2,1); --ease-in: cubic-bezier(0.4,0,0.2,1);
  --btn-radius: 0px; --btn-padding-x: 20px; --btn-padding-y: 0px;
  --border-width: 1px;
  /* Vetro contract aliases */
  --bg: #121314; --bg-alt: #1b1c1d; --surface: #222425;
  --fg: #f4f6f8; --fg-muted: #ffffff;
  --accent: #121314; --accent-2: #d92d20; --accent-contrast: #ffffff;
  --color-btn-hover: #00cabf;
  --color-badge: #f47a3f;
  --line: rgba(255,255,255,0.14); --footer-bg: #121314; --footer-fg: #ffffff;
  --font-display: 'Haval', Arial, Helvetica, sans-serif; --font-body: 'TT-Wellingtons', Arial, Helvetica, sans-serif; --font-mono: ui-monospace, monospace;
  --display-weight: 500; --heading-weight: 400; --body-weight: 450; --bold-weight: 500;
  --display-lh: 42px; --body-lh: 22.4px;
  --display-tracking: -0.8px; --body-tracking: 0.2px; --display-transform: uppercase;
  --eyebrow-transform: uppercase; --eyebrow-tracking: 0.08em; --eyebrow-weight: 600;
  --btn-transform: uppercase; --btn-tracking: 0.2px; --btn-weight: 400;
  --h1: 40px; --h2: 32px; --h3: 20px; --h4: 20px; --h5: 16px; --h6: 14px;
  --lede: 16px; --body-size: 16px; --small: 14px; --eyebrow-size: 11px;
  --display-size: 48px;
  --radius-lg: 12px; --radius-sm: 4px; --btn-radius: 0px; --border-w: 1px; --btn-pad-x: 20px; --btn-pad-y: 0px;
  --section-y: clamp(3rem,6vw,5rem); --container: 1440px; --container-narrow: 900px; --container-wide: 1600px; --gap: clamp(1rem,1.6vw,1.5rem);
  --dur-fast: 150ms; --dur-base: 250ms; --dur-slow: 420ms; --ease: cubic-bezier(0.4,0,0.2,1); --reveal-y: 24px; --reveal-stagger: 80ms; --hover-lift: -4px;
  --shadow-sm: none; --shadow-md: 0 2px 8px rgba(18,19,20,.06); --shadow-lg: 0 8px 24px rgba(18,19,20,.10);
  --media-bg: #222425; --glow: rgba(47,107,255,.18);
}


/* ===== превью тем (?theme=slug) ===== */
/* ---- Aurora · тех-минимал (светлый) ---- */
[data-theme=aurora] {
  /* CodyFrame globals */
  --color-primary-darker: hsl(223, 100%, 47%);
  --color-primary-darker-h: 223;
  --color-primary-darker-s: 100%;
  --color-primary-darker-l: 47%;
  --color-primary-dark: hsl(223, 100%, 53%);
  --color-primary-dark-h: 223;
  --color-primary-dark-s: 100%;
  --color-primary-dark-l: 53%;
  --color-primary: hsl(223, 100%, 59%);
  --color-primary-h: 223;
  --color-primary-s: 100%;
  --color-primary-l: 59%;
  --color-primary-light: hsl(223, 100%, 65%);
  --color-primary-light-h: 223;
  --color-primary-light-s: 100%;
  --color-primary-light-l: 65%;
  --color-primary-lighter: hsl(223, 100%, 71%);
  --color-primary-lighter-h: 223;
  --color-primary-lighter-s: 100%;
  --color-primary-lighter-l: 71%;
  --color-accent-darker: hsl(194, 100%, 38%);
  --color-accent-darker-h: 194;
  --color-accent-darker-s: 100%;
  --color-accent-darker-l: 38%;
  --color-accent-dark: hsl(194, 100%, 44%);
  --color-accent-dark-h: 194;
  --color-accent-dark-s: 100%;
  --color-accent-dark-l: 44%;
  --color-accent: hsl(194, 100%, 50%);
  --color-accent-h: 194;
  --color-accent-s: 100%;
  --color-accent-l: 50%;
  --color-accent-light: hsl(194, 100%, 56%);
  --color-accent-light-h: 194;
  --color-accent-light-s: 100%;
  --color-accent-light-l: 56%;
  --color-accent-lighter: hsl(194, 100%, 62%);
  --color-accent-lighter-h: 194;
  --color-accent-lighter-s: 100%;
  --color-accent-lighter-l: 62%;
  --color-secondary-darker: hsl(194, 100%, 38%);
  --color-secondary-darker-h: 194;
  --color-secondary-darker-s: 100%;
  --color-secondary-darker-l: 38%;
  --color-secondary-dark: hsl(194, 100%, 44%);
  --color-secondary-dark-h: 194;
  --color-secondary-dark-s: 100%;
  --color-secondary-dark-l: 44%;
  --color-secondary: hsl(194, 100%, 50%);
  --color-secondary-h: 194;
  --color-secondary-s: 100%;
  --color-secondary-l: 50%;
  --color-secondary-light: hsl(194, 100%, 56%);
  --color-secondary-light-h: 194;
  --color-secondary-light-s: 100%;
  --color-secondary-light-l: 56%;
  --color-secondary-lighter: hsl(194, 100%, 62%);
  --color-secondary-lighter-h: 194;
  --color-secondary-lighter-s: 100%;
  --color-secondary-lighter-l: 62%;
  --color-bg-darker: hsl(0, 0%, 88%);
  --color-bg-darker-h: 0;
  --color-bg-darker-s: 0%;
  --color-bg-darker-l: 88%;
  --color-bg-dark: hsl(0, 0%, 94%);
  --color-bg-dark-h: 0;
  --color-bg-dark-s: 0%;
  --color-bg-dark-l: 94%;
  --color-bg: hsl(0, 0%, 100%);
  --color-bg-h: 0;
  --color-bg-s: 0%;
  --color-bg-l: 100%;
  --color-bg-light: hsl(0, 0%, 100%);
  --color-bg-light-h: 0;
  --color-bg-light-s: 0%;
  --color-bg-light-l: 100%;
  --color-bg-lighter: hsl(0, 0%, 100%);
  --color-bg-lighter-h: 0;
  --color-bg-lighter-s: 0%;
  --color-bg-lighter-l: 100%;
  --color-contrast-higher: hsl(222, 46%, 11%);
  --color-contrast-higher-h: 222;
  --color-contrast-higher-s: 46%;
  --color-contrast-higher-l: 11%;
  --color-contrast-high: hsl(222, 46%, 11%);
  --color-contrast-high-h: 222;
  --color-contrast-high-s: 46%;
  --color-contrast-high-l: 11%;
  --color-contrast-medium: hsl(218, 15%, 33%);
  --color-contrast-medium-h: 218;
  --color-contrast-medium-s: 15%;
  --color-contrast-medium-l: 33%;
  --color-contrast-low: hsl(220, 29%, 92%);
  --color-contrast-low-h: 220;
  --color-contrast-low-s: 29%;
  --color-contrast-low-l: 92%;
  --color-contrast-lower: hsl(220, 29%, 92%);
  --color-contrast-lower-h: 220;
  --color-contrast-lower-s: 29%;
  --color-contrast-lower-l: 92%;
  --font-primary: 'Inter', system-ui, sans-serif;
  --font-secondary: 'Space Grotesk', system-ui, sans-serif;
  --heading-font-weight: 600;
  --text-base-size: 1rem;
  --text-scale-ratio: 1.2;
  --body-line-height: 1.65;
  --heading-line-height: 1.15;
  --space-unit: 1rem;
  --max-width-md: 820px; --max-width-lg: 1200px; --max-width-xl: 1400px;
  --radius: 12px;
  --border-radius: 12px;
  --shadow-xs: 0 1px 2px rgba(15,23,41,.06),0 1px 3px rgba(15,23,41,.10);
  --shadow-xl: 0 20px 44px rgba(15,23,41,.14);
  --transition-duration: 280ms;
  --ease-in-out: cubic-bezier(0.22,1,0.36,1); --ease-out: cubic-bezier(0.22,1,0.36,1); --ease-in: cubic-bezier(0.22,1,0.36,1);
  --btn-radius: 100px; --btn-padding-x: 1.5em; --btn-padding-y: 0.8em;
  --border-width: 1px;
  /* Vetro contract aliases */
  --bg: #ffffff; --bg-alt: #f4f6fb; --surface: #ffffff;
  --fg: #0f1729; --fg-muted: #475060;
  --accent: #2f6bff; --accent-2: #00c2ff; --accent-contrast: #ffffff;
  --color-btn-hover: #2f6bff;
  --color-badge: #00c2ff;
  --line: #e4e8f0; --footer-bg: #0f1729; --footer-fg: #c8d0dd;
  --font-display: 'Space Grotesk', system-ui, sans-serif; --font-body: 'Inter', system-ui, sans-serif; --font-mono: ui-monospace, monospace;
  --display-weight: 700; --heading-weight: 600; --body-weight: 400; --bold-weight: 600;
  --display-lh: 1.04; --body-lh: 1.65;
  --display-tracking: -0.02em; --body-tracking: 0; --display-transform: none;
  --eyebrow-transform: uppercase; --eyebrow-tracking: 0.14em; --eyebrow-weight: 600;
  --btn-transform: none; --btn-tracking: 0; --btn-weight: 600;
  --h1: clamp(2.6rem,5.5vw,4.6rem); --h2: clamp(2rem,3.6vw,3rem); --h3: clamp(1.4rem,2.4vw,1.9rem); --h4: 1.25rem; --h5: 1.05rem; --h6: 0.9rem;
  --lede: clamp(1.1rem,1.6vw,1.35rem); --body-size: 1rem; --small: 0.85rem; --eyebrow-size: 0.8rem;
  --display-size: clamp(2.6rem,5.5vw,4.6rem);
  --radius-lg: 22px; --radius-sm: 8px; --btn-radius: 100px; --border-w: 1px; --btn-pad-x: 1.5em; --btn-pad-y: 0.8em;
  --section-y: clamp(4rem,9vw,8rem); --container: 1200px; --container-narrow: 820px; --container-wide: 1400px; --gap: clamp(1rem,2vw,1.75rem);
  --dur-fast: 160ms; --dur-base: 280ms; --dur-slow: 600ms; --ease: cubic-bezier(0.22,1,0.36,1); --reveal-y: 24px; --reveal-stagger: 80ms; --hover-lift: -4px;
  --shadow-sm: 0 1px 2px rgba(15,23,41,.06),0 1px 3px rgba(15,23,41,.10); --shadow-md: 0 6px 16px rgba(15,23,41,.08),0 2px 4px rgba(15,23,41,.06); --shadow-lg: 0 20px 44px rgba(15,23,41,.14);
  --media-bg: #eef1f6; --glow: rgba(47,107,255,.18);
}

/* ---- Noir · люкс-редакция (тёмный, золото, сериф) ---- */
[data-theme=noir] {
  /* CodyFrame globals */
  --color-primary-darker: hsl(39, 51%, 45%);
  --color-primary-darker-h: 39;
  --color-primary-darker-s: 51%;
  --color-primary-darker-l: 45%;
  --color-primary-dark: hsl(39, 51%, 51%);
  --color-primary-dark-h: 39;
  --color-primary-dark-s: 51%;
  --color-primary-dark-l: 51%;
  --color-primary: hsl(39, 51%, 57%);
  --color-primary-h: 39;
  --color-primary-s: 51%;
  --color-primary-l: 57%;
  --color-primary-light: hsl(39, 51%, 63%);
  --color-primary-light-h: 39;
  --color-primary-light-s: 51%;
  --color-primary-light-l: 63%;
  --color-primary-lighter: hsl(39, 51%, 69%);
  --color-primary-lighter-h: 39;
  --color-primary-lighter-s: 51%;
  --color-primary-lighter-l: 69%;
  --color-accent-darker: hsl(41, 68%, 60%);
  --color-accent-darker-h: 41;
  --color-accent-darker-s: 68%;
  --color-accent-darker-l: 60%;
  --color-accent-dark: hsl(41, 68%, 66%);
  --color-accent-dark-h: 41;
  --color-accent-dark-s: 68%;
  --color-accent-dark-l: 66%;
  --color-accent: hsl(41, 68%, 72%);
  --color-accent-h: 41;
  --color-accent-s: 68%;
  --color-accent-l: 72%;
  --color-accent-light: hsl(41, 68%, 78%);
  --color-accent-light-h: 41;
  --color-accent-light-s: 68%;
  --color-accent-light-l: 78%;
  --color-accent-lighter: hsl(41, 68%, 84%);
  --color-accent-lighter-h: 41;
  --color-accent-lighter-s: 68%;
  --color-accent-lighter-l: 84%;
  --color-secondary-darker: hsl(41, 68%, 60%);
  --color-secondary-darker-h: 41;
  --color-secondary-darker-s: 68%;
  --color-secondary-darker-l: 60%;
  --color-secondary-dark: hsl(41, 68%, 66%);
  --color-secondary-dark-h: 41;
  --color-secondary-dark-s: 68%;
  --color-secondary-dark-l: 66%;
  --color-secondary: hsl(41, 68%, 72%);
  --color-secondary-h: 41;
  --color-secondary-s: 68%;
  --color-secondary-l: 72%;
  --color-secondary-light: hsl(41, 68%, 78%);
  --color-secondary-light-h: 41;
  --color-secondary-light-s: 68%;
  --color-secondary-light-l: 78%;
  --color-secondary-lighter: hsl(41, 68%, 84%);
  --color-secondary-lighter-h: 41;
  --color-secondary-lighter-s: 68%;
  --color-secondary-lighter-l: 84%;
  --color-bg-darker: hsl(40, 20%, 0%);
  --color-bg-darker-h: 40;
  --color-bg-darker-s: 20%;
  --color-bg-darker-l: 0%;
  --color-bg-dark: hsl(40, 20%, 0%);
  --color-bg-dark-h: 40;
  --color-bg-dark-s: 20%;
  --color-bg-dark-l: 0%;
  --color-bg: hsl(40, 20%, 6%);
  --color-bg-h: 40;
  --color-bg-s: 20%;
  --color-bg-l: 6%;
  --color-bg-light: hsl(40, 20%, 12%);
  --color-bg-light-h: 40;
  --color-bg-light-s: 20%;
  --color-bg-light-l: 12%;
  --color-bg-lighter: hsl(40, 20%, 18%);
  --color-bg-lighter-h: 40;
  --color-bg-lighter-s: 20%;
  --color-bg-lighter-l: 18%;
  --color-contrast-higher: hsl(38, 44%, 92%);
  --color-contrast-higher-h: 38;
  --color-contrast-higher-s: 44%;
  --color-contrast-higher-l: 92%;
  --color-contrast-high: hsl(38, 44%, 92%);
  --color-contrast-high-h: 38;
  --color-contrast-high-s: 44%;
  --color-contrast-high-l: 92%;
  --color-contrast-medium: hsl(38, 19%, 63%);
  --color-contrast-medium-h: 38;
  --color-contrast-medium-s: 19%;
  --color-contrast-medium-l: 63%;
  --color-contrast-low: hsl(35, 31%, 15%);
  --color-contrast-low-h: 35;
  --color-contrast-low-s: 31%;
  --color-contrast-low-l: 15%;
  --color-contrast-lower: hsl(35, 31%, 15%);
  --color-contrast-lower-h: 35;
  --color-contrast-lower-s: 31%;
  --color-contrast-lower-l: 15%;
  --font-primary: 'Inter', system-ui, sans-serif;
  --font-secondary: 'Playfair Display', Georgia, serif;
  --heading-font-weight: 700;
  --text-base-size: 1.06rem;
  --text-scale-ratio: 1.34;
  --body-line-height: 1.8;
  --heading-line-height: 1.05;
  --space-unit: 1.2rem;
  --max-width-md: 760px; --max-width-lg: 1140px; --max-width-xl: 1340px;
  --radius: 0px;
  --border-radius: 0px;
  --shadow-xs: 0 1px 2px rgba(0,0,0,.4);
  --shadow-xl: 0 30px 70px rgba(0,0,0,.6);
  --transition-duration: 440ms;
  --ease-in-out: cubic-bezier(0.16,1,0.3,1); --ease-out: cubic-bezier(0.16,1,0.3,1); --ease-in: cubic-bezier(0.16,1,0.3,1);
  --btn-radius: 0px; --btn-padding-x: 2.2em; --btn-padding-y: 1em;
  --border-width: 1px;
  /* Vetro contract aliases */
  --bg: #12100c; --bg-alt: #1a1611; --surface: #1e1913;
  --fg: #f3ece0; --fg-muted: #b3a690;
  --accent: #c9a25a; --accent-2: #e8c987; --accent-contrast: #14110c;
  --color-btn-hover: #c9a25a;
  --color-badge: #e8c987;
  --line: #33291b; --footer-bg: #0c0a07; --footer-fg: #b3a690;
  --font-display: 'Playfair Display', Georgia, serif; --font-body: 'Inter', system-ui, sans-serif; --font-mono: ui-monospace, monospace;
  --display-weight: 700; --heading-weight: 700; --body-weight: 400; --bold-weight: 600;
  --display-lh: 1; --body-lh: 1.8;
  --display-tracking: 0; --body-tracking: 0.01em; --display-transform: none;
  --eyebrow-transform: uppercase; --eyebrow-tracking: 0.34em; --eyebrow-weight: 600;
  --btn-transform: uppercase; --btn-tracking: 0.2em; --btn-weight: 600;
  --h1: clamp(3rem,7.5vw,6rem); --h2: clamp(2.2rem,4.4vw,3.7rem); --h3: clamp(1.5rem,2.6vw,2.1rem); --h4: 1.3rem; --h5: 1.05rem; --h6: 0.9rem;
  --lede: clamp(1.15rem,1.7vw,1.5rem); --body-size: 1.02rem; --small: 0.82rem; --eyebrow-size: 0.72rem;
  --display-size: clamp(3rem,7.5vw,6rem);
  --radius-lg: 0px; --radius-sm: 0px; --btn-radius: 0px; --border-w: 1px; --btn-pad-x: 2.2em; --btn-pad-y: 1em;
  --section-y: clamp(4.5rem,11vw,10rem); --container: 1140px; --container-narrow: 760px; --container-wide: 1340px; --gap: clamp(1.25rem,2.4vw,2.25rem);
  --dur-fast: 180ms; --dur-base: 440ms; --dur-slow: 820ms; --ease: cubic-bezier(0.16,1,0.3,1); --reveal-y: 34px; --reveal-stagger: 130ms; --hover-lift: -2px;
  --shadow-sm: 0 1px 2px rgba(0,0,0,.4); --shadow-md: 0 10px 30px rgba(0,0,0,.5); --shadow-lg: 0 30px 70px rgba(0,0,0,.6);
  --media-bg: #221b12; --glow: rgba(201,162,90,.28);
}

/* ---- HAVAL · монохром (по aaamotors-haval.ru) ---- */
[data-theme=haval] {
  /* CodyFrame globals */
  --color-primary-darker: hsl(210, 5%, 0%);
  --color-primary-darker-h: 210;
  --color-primary-darker-s: 5%;
  --color-primary-darker-l: 0%;
  --color-primary-dark: hsl(210, 5%, 1%);
  --color-primary-dark-h: 210;
  --color-primary-dark-s: 5%;
  --color-primary-dark-l: 1%;
  --color-primary: hsl(210, 5%, 7%);
  --color-primary-h: 210;
  --color-primary-s: 5%;
  --color-primary-l: 7%;
  --color-primary-light: hsl(210, 5%, 13%);
  --color-primary-light-h: 210;
  --color-primary-light-s: 5%;
  --color-primary-light-l: 13%;
  --color-primary-lighter: hsl(210, 5%, 19%);
  --color-primary-lighter-h: 210;
  --color-primary-lighter-s: 5%;
  --color-primary-lighter-l: 19%;
  --color-accent-darker: hsl(4, 74%, 37%);
  --color-accent-darker-h: 4;
  --color-accent-darker-s: 74%;
  --color-accent-darker-l: 37%;
  --color-accent-dark: hsl(4, 74%, 43%);
  --color-accent-dark-h: 4;
  --color-accent-dark-s: 74%;
  --color-accent-dark-l: 43%;
  --color-accent: hsl(4, 74%, 49%);
  --color-accent-h: 4;
  --color-accent-s: 74%;
  --color-accent-l: 49%;
  --color-accent-light: hsl(4, 74%, 55%);
  --color-accent-light-h: 4;
  --color-accent-light-s: 74%;
  --color-accent-light-l: 55%;
  --color-accent-lighter: hsl(4, 74%, 61%);
  --color-accent-lighter-h: 4;
  --color-accent-lighter-s: 74%;
  --color-accent-lighter-l: 61%;
  --color-secondary-darker: hsl(4, 74%, 37%);
  --color-secondary-darker-h: 4;
  --color-secondary-darker-s: 74%;
  --color-secondary-darker-l: 37%;
  --color-secondary-dark: hsl(4, 74%, 43%);
  --color-secondary-dark-h: 4;
  --color-secondary-dark-s: 74%;
  --color-secondary-dark-l: 43%;
  --color-secondary: hsl(4, 74%, 49%);
  --color-secondary-h: 4;
  --color-secondary-s: 74%;
  --color-secondary-l: 49%;
  --color-secondary-light: hsl(4, 74%, 55%);
  --color-secondary-light-h: 4;
  --color-secondary-light-s: 74%;
  --color-secondary-light-l: 55%;
  --color-secondary-lighter: hsl(4, 74%, 61%);
  --color-secondary-lighter-h: 4;
  --color-secondary-lighter-s: 74%;
  --color-secondary-lighter-l: 61%;
  --color-bg-darker: hsl(0, 0%, 88%);
  --color-bg-darker-h: 0;
  --color-bg-darker-s: 0%;
  --color-bg-darker-l: 88%;
  --color-bg-dark: hsl(0, 0%, 94%);
  --color-bg-dark-h: 0;
  --color-bg-dark-s: 0%;
  --color-bg-dark-l: 94%;
  --color-bg: hsl(0, 0%, 100%);
  --color-bg-h: 0;
  --color-bg-s: 0%;
  --color-bg-l: 100%;
  --color-bg-light: hsl(0, 0%, 100%);
  --color-bg-light-h: 0;
  --color-bg-light-s: 0%;
  --color-bg-light-l: 100%;
  --color-bg-lighter: hsl(0, 0%, 100%);
  --color-bg-lighter-h: 0;
  --color-bg-lighter-s: 0%;
  --color-bg-lighter-l: 100%;
  --color-contrast-higher: hsl(210, 5%, 7%);
  --color-contrast-higher-h: 210;
  --color-contrast-higher-s: 5%;
  --color-contrast-higher-l: 7%;
  --color-contrast-high: hsl(210, 5%, 7%);
  --color-contrast-high-h: 210;
  --color-contrast-high-s: 5%;
  --color-contrast-high-l: 7%;
  --color-contrast-medium: hsl(210, 4%, 44%);
  --color-contrast-medium-h: 210;
  --color-contrast-medium-s: 4%;
  --color-contrast-medium-l: 44%;
  --color-contrast-low: hsl(220, 13%, 91%);
  --color-contrast-low-h: 220;
  --color-contrast-low-s: 13%;
  --color-contrast-low-l: 91%;
  --color-contrast-lower: hsl(220, 13%, 91%);
  --color-contrast-lower-h: 220;
  --color-contrast-lower-s: 13%;
  --color-contrast-lower-l: 91%;
  --font-primary: 'TT-Wellingtons', Arial, Helvetica, sans-serif;
  --font-secondary: 'Haval', Arial, Helvetica, sans-serif;
  --heading-font-weight: 400;
  --text-base-size: 1rem;
  --text-scale-ratio: 1.25;
  --body-line-height: 22.4px;
  --heading-line-height: 36px;
  --space-unit: 1rem;
  --max-width-md: 900px; --max-width-lg: 1440px; --max-width-xl: 1600px;
  --radius: 8px;
  --border-radius: 8px;
  --shadow-xs: none;
  --shadow-xl: 0 8px 24px rgba(18,19,20,.10);
  --transition-duration: 250ms;
  --ease-in-out: cubic-bezier(0.4,0,0.2,1); --ease-out: cubic-bezier(0.4,0,0.2,1); --ease-in: cubic-bezier(0.4,0,0.2,1);
  --btn-radius: 0px; --btn-padding-x: 20px; --btn-padding-y: 0px;
  --border-width: 1px;
  /* Vetro contract aliases */
  --bg: #ffffff; --bg-alt: #f5f5f5; --surface: #ffffff;
  --fg: #121314; --fg-muted: #6b6f73;
  --accent: #121314; --accent-2: #d92d20; --accent-contrast: #ffffff;
  --color-btn-hover: #00cabf;
  --color-badge: #f47a3f;
  --line: #e5e7eb; --footer-bg: #121314; --footer-fg: #ffffff;
  --font-display: 'Haval', Arial, Helvetica, sans-serif; --font-body: 'TT-Wellingtons', Arial, Helvetica, sans-serif; --font-mono: ui-monospace, monospace;
  --display-weight: 500; --heading-weight: 400; --body-weight: 450; --bold-weight: 500;
  --display-lh: 42px; --body-lh: 22.4px;
  --display-tracking: -0.8px; --body-tracking: 0.2px; --display-transform: uppercase;
  --eyebrow-transform: uppercase; --eyebrow-tracking: 0.08em; --eyebrow-weight: 600;
  --btn-transform: uppercase; --btn-tracking: 0.2px; --btn-weight: 400;
  --h1: 40px; --h2: 32px; --h3: 20px; --h4: 20px; --h5: 16px; --h6: 14px;
  --lede: 16px; --body-size: 16px; --small: 14px; --eyebrow-size: 11px;
  --display-size: 48px;
  --radius-lg: 12px; --radius-sm: 4px; --btn-radius: 0px; --border-w: 1px; --btn-pad-x: 20px; --btn-pad-y: 0px;
  --section-y: clamp(3rem,6vw,5rem); --container: 1440px; --container-narrow: 900px; --container-wide: 1600px; --gap: clamp(1rem,1.6vw,1.5rem);
  --dur-fast: 150ms; --dur-base: 250ms; --dur-slow: 420ms; --ease: cubic-bezier(0.4,0,0.2,1); --reveal-y: 24px; --reveal-stagger: 80ms; --hover-lift: -4px;
  --shadow-sm: none; --shadow-md: 0 2px 8px rgba(18,19,20,.06); --shadow-lg: 0 8px 24px rgba(18,19,20,.10);
  --media-bg: #f5f5f5; --glow: rgba(47,107,255,.18);
}

