/* Единый источник токенов — подключать первым на всех страницах */
:root {
    /* colors */
    --bg: #ffffff;
    --bg-alt: #f7fafb;
    --bg-dark: #111827;
    --text: #1a202c;
    --text-light: #64748b;
    --text-on-dark: #e2e8f0;
    --primary: #356896;
    --primary-hover: #447aad;
    --accent: #2d8f73;
    --accent-light: #fefce8;
    --border: #e7edf5;
    --heading-section: #121f33;
    --text-body-secondary: #697f99;

    /* typography */
    --font-display: "Cormorant Garamond", serif;
    --font-ui: "Manrope", sans-serif;
    --fs-hero: clamp(2.7rem, 5.4vw, 5.2rem);
    --fs-h1: clamp(2.2rem, 4.8vw, 4rem);
    --fs-h2: clamp(2rem, 3.8vw, 3.45rem);
    --fs-h3: clamp(1.2rem, 2vw, 1.45rem);
    --fs-h4: clamp(1.05rem, 1.6vw, 1.2rem);
    --fs-body: 1rem;
    --fs-small: 0.88rem;
    --fs-overline: 0.78rem;
    --fs-button: 0.9rem;
    --lh-tight: 1.12;
    --lh-heading: 1.2;
    --lh-body: 1.65;
    --lh-relaxed: 1.75;

    /* spacing scale */
    --space-2xs: 4px;
    --space-xs: 8px;
    --space-sm: 12px;
    --space-md: 16px;
    --space-lg: 24px;
    --space-xl: 32px;
    --space-2xl: 40px;
    --space-3xl: 56px;
    --space-4xl: 80px;
    --section-y: clamp(56px, 7vw, 96px);

    /* geometry */
    --container: 1880px;
    --container-content: 1200px;
    --container-legal: 900px;
    --radius-sm: 6px;
    --radius: 16px;
    --radius-lg: 24px;
    --radius-pill: 999px;
    --shadow-sm: 0 8px 24px rgba(24, 39, 75, 0.06);
    --shadow: 0 12px 34px rgba(24, 39, 75, 0.1);
    --shadow-lg: 0 24px 60px rgba(24, 39, 75, 0.12);

    /* focus */
    --focus-ring: rgba(37, 77, 122, 0.38);
    --focus-outline: 2px solid var(--focus-ring);
    --focus-offset: 3px;

    /* hero specifics */
    --hero-left-bg: #ffffff;
    --hero-heading: #0e0e0e;
    --hero-body: #1f2937;
    --hero-muted: #5c6570;
    --hero-subtle: #6b7280;
    --hero-focus-ring: rgba(147, 197, 253, 0.45);
    --hero-pad-x: clamp(24px, 5vw, 80px);
    --hero-pad-left: clamp(16px, 3.2vw, 52px);

    /* aliases for legal/docs */
    --primary-dark: var(--primary-hover);
    --secondary: var(--accent);
    --gradient: linear-gradient(135deg, var(--primary), #4f8ec4);
    --gradient-dark: linear-gradient(135deg, var(--bg-dark), #1e293b);
    --bg-gray: var(--bg-alt);
}
