:root {
  /* === Font stacks === */
  --font-ui: ui-sans-serif, system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
  --font-display: 'Satoshi', var(--font-ui);
  --font-text: 'Inter', var(--font-ui);

  /* === Semantic font aliases === */
  --font-heading: var(--font-display);
  --font-body: var(--font-text);

  /* === Font weights === */
  --font-weight-light: 300;
  --font-weight-regular: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
  --font-weight-extrabold: 800;

  /* === Semantic aliases === */
  --font-weight-heading: var(--font-weight-extrabold);
  --font-weight-brand: var(--font-weight-extrabold);

  /* === Font sizes === */
  --font-size-base: 16px;
  --fs-hero: clamp(1.25rem, 4vw, 2.75rem);
  --fs-h1: clamp(1.375rem, 3.2vw, 2.5rem);
  --fs-h2: clamp(1.25rem, 2.8vw, 2rem);
  --fs-body: 1rem;
  --fs-small: .875rem;
  --fs-caption: .8rem;
  --fs-ui: .85rem;

  /* === Line heights === */
  --line-height-body: 1.5;
  --line-height-heading-large: 1.2;
  --line-height-heading-medium: 1.25;

  /* === Font features === */
  --font-feature-default: "cv02","cv03","cv04","cv11", normal;

  /* === Brand colors === */
  --color-primary: #1E3A8A;       /* Aenvera Blue */
  --color-primary-dark: #0F172A;  /* Graphite Black */
  --color-metal: #A0A8B8;         /* Titan Gray / Platinum */
  --color-accent-violet: #7C3AED; /* Alliance Violet */
  --color-accent-turquoise: #14B8A6; /* Next Turquoise */
  --color-accent-purple: #5A2CA0;

  /* === Aliases === */
  --color-primary-soft: var(--color-metal);
  --color-accent-silver: var(--color-metal);

  /* === Semantic aliases === */
  --color-accent: var(--color-accent-purple);      /* базовый акцент */
  --color-cta: var(--color-accent);                /* ключевые кнопки/акции */
  
  /* === Utility colors === */
  --color-white: #FFFFFF;
  --color-icon-hover: #FFFFFF;

  /* === Backgrounds === */
  --color-bg: #0F172A;
  --color-surface: #121826;
  --color-surface-alt: #1A2233;
  --color-muted: #0C1220;
  --color-bg-section: var(--color-surface-alt);

  /* === KPI colors === */
  --color-kpi-positive: var(--color-success);
  --color-kpi-neutral: var(--color-primary);
  --color-kpi-negative: var(--color-danger);
  --color-kpi-strong: var(--color-accent);         /* яркие позитивные метрики */

  /* === Hero gradient stops === */
  --color-hero-top: #111827;
  --color-hero-bottom: #0F172A;

  /* === Text colors === */
  --color-text: #E6E9EF;
  --color-text-muted: #A7B0C0;
  --color-text-inverse: #FFFFFF;

  /* === Status colors === */
  --color-success: #22C55E;
  --color-warning: #F59E0B;
  --color-danger:  #C2414B;

  /* === Borders === */
  --color-border:  #273244;
  --color-border-strong: #364052;
  --color-border-muted: var(--color-border);

  /* === WhatsApp === */
  --color-wa: #22C55E;
  --color-wa-hover: #16A34A;

  /* === Buttons === */
  --btn-text-on-primary: #FFFFFF;
  --btn-bg: var(--color-primary);
  --btn-bg-hover: color-mix(in oklab, var(--color-primary) 75%, var(--color-accent-violet) 25%);
  --btn-text: var(--btn-text-on-primary);
  --btn-number-hover: color-mix(in oklab, var(--color-primary) 80%, white 20%);

  /* === Gradients === */
  --gradient-hero: linear-gradient(135deg, var(--color-hero-top) 0%, var(--color-hero-bottom) 100%);
  --gradient-primary: linear-gradient(135deg, var(--color-primary), var(--color-accent-violet));
  --gradient-hover: linear-gradient(145deg, rgba(30,58,138,0.15), rgba(124,58,237,0.15));
  --gradient-metal: linear-gradient(180deg, #D9DDE3 0%, #A0A8B8 50%, #7C838C 100%);
  --gradient-accent: linear-gradient(135deg, var(--color-primary), var(--color-accent-purple));
  
  /* === Elevation & Glow === */
  --shadow-1: 0 2px 6px rgba(0,0,0,.25), inset 0 1px rgba(255,255,255,.05);
  --shadow-2: 0 8px 24px rgba(0,0,0,.35), inset 0 1px rgba(255,255,255,.08);

  --glow-accent: 0 0 80px rgba(124, 58, 237, 0.35);
  --glow-hero: var(--glow-accent);

  /* === Radius === */
  --radius-sm: 2px;
  --radius-md: 4px;
  --radius-lg: 6px;

  /* === Spacing === */
  --space-1: .25rem;
  --space-2: .5rem;
  --space-3: .75rem;
  --space-4: 1rem;
  --space-5: 1.25rem;
  --space-6: 1.75rem;
  --space-7: 2.5rem;
  --space-8: 3.5rem;

  /* === Container === */
  --container: 1200px;

  /* === Z-index === */
  --z-header: 50;
  --z-overlay: 100;

  /* === Icons === */
  --color-icon: var(--color-text);
  --color-icon-muted: var(--color-text-muted);

  /* === Motion === */
  --motion-duration-fast: 120ms;
  --motion-duration-medium: 200ms;
  --motion-duration-slow: 320ms;
  --motion-ease-standard: cubic-bezier(.2,.8,.2,1);
  --motion-ease-emphatic: cubic-bezier(.2,.8,.1,1);

  /* === Semantic roles === */
  --color-bg-page: var(--color-bg);
  --color-bg-card: var(--color-surface);
  --color-bg-muted: var(--color-muted);
  --color-text-heading: var(--color-text);
  --color-text-body: var(--color-text);
  --color-text-subtle: var(--color-text-muted);

  /* === Navigation === */
  --nav-link-color: var(--color-text);
  --nav-link-hover-color: var(--color-accent);
  --nav-link-active-color: var(--color-primary);
  --nav-link-underline: none;
  --nav-link-hover-underline: none;
  --nav-link-active-underline: none;
  --nav-underline-offset: 0;

  /* === Elevation alias === */
  --elevation-1: var(--shadow-1);
  --elevation-2: var(--shadow-2);
}
