/* Базовый сброс, типографика и каркас страниц. */

        /* Выделение текста */

::selection {
    background-color: color-mix(in srgb, var(--accent) 45%, transparent);
    color: var(--text-primary);
}

::-moz-selection {
    background-color: color-mix(in srgb, var(--accent) 45%, transparent);
    color: var(--text-primary);
}

        /* Сброс и поведение документа */
        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }
        html, body {
            width: 100%;
            min-height: 100vh;
            overflow-x: hidden;
            scroll-behavior: smooth;
            scroll-padding-top: 30px; /* Отступ при клике по якорю, чтобы секцию не перекрывал хедер */
        }

        /* Скрытие страницы до применения сохранённой локали */
        html.i18n-pending body {
            visibility: hidden;
        }

        /* Типографика и фон документа */
        body {
            font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
            background: var(--bg-primary);
            color: var(--text-primary);
            line-height: 1.5;
            transition: background-color 0.5s cubic-bezier(0.4, 0, 0.2, 1),
                        color 0.5s cubic-bezier(0.4, 0, 0.2, 1);
            letter-spacing: -0.01em;
            -webkit-font-smoothing: antialiased;
            -moz-osx-font-smoothing: grayscale;
        }

        h1, h2, h3, h4, .logo {
            letter-spacing: -0.03em;
            font-weight: 600;
            line-height: 1.1;
        }

        /* Общий каркас контента и секций */
        :where(body:not(.page-verify)) .container {
            max-width: 1200px;
            width: 100%;
            margin: 0 auto;
            padding: 0 5%;
        }

        section {
            width: 100%;
            min-height: auto;
            display: flex;
            flex-direction: column;
            justify-content: center;
            position: relative;
            padding: 120px 0;
            margin: 0;
            z-index: 1;
        }

        /* Текстовый логотип */
        .logo {
            font-size: 1.5rem;
            font-weight: 700;
            background: var(--gradient-1);
            -webkit-background-clip: text;
            background-clip: text;
            -webkit-text-fill-color: transparent;
            animation: logoGlow 3s ease-in-out infinite;
            text-decoration: none;
            display: inline-block;
            transition: all 0.2s ease-in-out; 
        }

        /* Состояния и анимация логотипа */
        @media (hover: hover) and (pointer: fine) {
            .logo:hover {
                -webkit-text-fill-color: var(--accent-hover);
            }
        }

        @keyframes logoGlow {
            0%, 100% { filter: drop-shadow(0 0 5px rgba(255, 255, 255, 0.2)); }
            50% { filter: drop-shadow(0 0 15px rgba(255, 255, 255, 0.3)); }
        }

        section > div {
            width: 100%;
            flex-shrink: 0;
        }

        section:not(#hero):not(#footer):not(#auth) {
            padding: 90px 0;
        }

        /* Адаптивные отступы секций */
        @media (max-width: 1300px) {
            body:not(.page-verify):not(.page-internal) section:not(#hero):not(#footer):not(#auth) {
                padding: 60px 0;
                height: auto;
                min-height: auto;
            }
        }

        @media (max-width: 480px) {
            body:not(.page-verify):not(.page-internal) section:not(#hero):not(#footer):not(#auth) {
                padding: 40px 0;
            }
        }
