.landing-v3 {
    /* Colors */
    --blue: #3B82F6;
    --blue-deep: #2563EB;
    --blue-light: #60A5FA;
    --white: #FFFFFF;
    --black: #272323;
    --ink: #1A202C;
    --grey-bg: rgba(217, 217, 217, 0.25);
    --grey-text: #4A5568;
    --grey-light: #718096;
    --grey-heading: #1A202C;
    --grey-dark: #18181B;
    --grey-muted: #9CA3AF;
    --grey-border: #E2E8F0;

    /* Typography */
    --font-heading: 'Plus Jakarta Sans', 'Inter', system-ui, sans-serif;
    --font-body: 'Inter', system-ui, sans-serif;
    --text-hero: 48px;
    --text-section-title: 38px;
    --text-h3: 28px;
    --text-lead: 26px;
    --text-body-lg: 20px;
    --text-body: 16px;
    --text-body-sm: 14px;
    --text-caption: 13px;

    /* Shadows */
    --shadow-card: 0 2px 12px rgba(0, 0, 0, 0.06);
    --shadow-card-hover: 0 8px 24px rgba(0, 0, 0, 0.10);
    --shadow-book: 0 4px 16px rgba(0, 0, 0, 0.15);

    /* Radius */
    --radius-sm: 6px;
    --radius-md: 10px;
    --radius-card: 16px;
    --radius-xl: 20px;

    /* Layout */
    --side-pad: 40px;
    --max-content: 1400px;
    --header-height: 110px;
    /* Полная высота фиксированного хедера, включая safe-area (status bar / cutout).
       Используется для height самого хедера и для padding-top первой секции,
       чтобы контент не уходил под fixed-хедер. */
    --header-total: calc(var(--header-height) + var(--safe-top));
    --section-pad-lg: 100px;
    --section-pad-md: 80px;
    --section-pad-sm: 60px;

    /* Phone */
    --phone-width: 280px;
    --phone-height: 580px;
    --phone-top: 0px;
}
