/* ==========================================================================
   Школа кинетического имиджа — единый файл стилей
   ========================================================================== */

/* ----- Шрифты (локальные, без Google CDN) -------------------------------- */
/* Файлы шрифтов кладутся в assets/fonts/. Пути — заглушки под последующее
   добавление. До тех пор работают системные фолбэки. */

/* Monterchi — платный Zetafonts, файлов нет → заголовки на системном serif-фолбэке.
   Появится лицензионный Monterchi-*.woff2 в ../fonts/ — раскомментировать. */
/*
@font-face {
    font-family: 'Monterchi';
    src: url('../fonts/Monterchi-Light.woff2') format('woff2');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Monterchi';
    src: url('../fonts/Monterchi-Regular.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Monterchi';
    src: url('../fonts/Monterchi-Medium.woff2') format('woff2');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}
*/

@font-face {
    font-family: 'Montserrat';
    src: url('../fonts/Montserrat-Light.woff2') format('woff2');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Montserrat';
    src: url('../fonts/Montserrat-Regular.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Montserrat';
    src: url('../fonts/Montserrat-Medium.woff2') format('woff2');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

/* ----- Переменные -------------------------------------------------------- */

:root {
    /* Цвета */
    --color-bg: #3A5D78;
    --color-bg-darker: #2f4d63;
    --color-text: #ffffff;
    --color-text-muted: rgba(255, 255, 255, 0.78);
    --color-text-soft: rgba(255, 255, 255, 0.6);
    --color-accent: #C6A35B;
    --color-btn-bg: #ffffff;
    --color-btn-text: #3A5D78;

    /* Шрифты */
    --font-serif: 'Monterchi', 'Playfair Display', 'EB Garamond', Georgia, 'Times New Roman', serif;
    --font-sans: 'Monterchi', 'Montserrat', 'Helvetica Neue', Arial, sans-serif;

    /* Контейнер.
       Уменьшен с 1440 → 1320, чтобы контент визуально был ближе к глазам
       и не «расплывался» по широким мониторам. Боковые отступы тоже урезаны. */
    --container-max: 1320px;
    --container-px: clamp(20px, 5vw, 80px);


    /* Хедер */
    --header-height: 110px;

    /* Радиусы */
    --radius-card: 22px;
    --radius-pill: 999px;

    /* Переходы */
    --t-fast: 0.2s ease;
    --t-base: 0.3s ease;
}

/* ----- База -------------------------------------------------------------- */

*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    font-family: var(--font-sans);
    font-weight: 300;
    color: var(--color-text);
    background-color: var(--color-bg);
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    min-height: 100vh;
    /* Глобальный «зум» на 12% — визуально приближает весь сайт,
       не ломая внутреннюю вёрстку секций. Применяется ко всем страницам
       сразу, потому что body одинаковое у всех HTML. Поддерживается во
       всех современных браузерах (Chrome/Edge/Safari + Firefox 126+). */
    zoom: 1.12;
}


img {
    display: block;
    max-width: 100%;
    height: auto;
}

a {
    color: inherit;
    text-decoration: none;
    transition: color var(--t-fast), opacity var(--t-fast);
}

ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

button {
    font: inherit;
    color: inherit;
    background: none;
    border: 0;
    cursor: pointer;
}

:focus-visible {
    outline: 2px solid var(--color-accent);
    outline-offset: 3px;
    border-radius: 2px;
}

h1, h2, h3, h4, h5, h6 {
    margin: 0;
    font-family: var(--font-serif);
    font-weight: 400;
    line-height: 1.15;
}

p {
    margin: 0;
}

section {
    scroll-margin-top: var(--header-height);
}

/* ----- Контейнер --------------------------------------------------------- */

.container {
    width: 100%;
    max-width: var(--container-max);
    margin-inline: auto;
    padding-inline: var(--container-px);
}

/* ==========================================================================
   ШАПКА
   ========================================================================== */

.header {
    position: relative;
    z-index: 100;
    padding-block: 0;
    margin: -20px 0 0 0;
}

.header__container {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: clamp(20px, 4vw, 56px);
}

/* Логотип */
.header__logo {
    display: inline-flex;
    align-items: center;
    color: var(--color-accent);
}

.header__logo-img {
    /* Логотип: крупный, читаемый, но не ломает grid шапки */
    width: clamp(220px, 22vw, 420px);
    height: auto;
    display: block;
}

/* Меню */
.header__nav {
    display: flex;
    justify-content: center;
}

.menu {
    display: flex;
    align-items: center;
    gap: clamp(16px, 2.4vw, 28px);
}

.menu .menu-item > a {
    position: relative;
    display: inline-block;
    padding: 6px 0;
    font-size: 14px;
    font-weight: 300;
    letter-spacing: 0.02em;
    color: var(--color-text-muted);
    white-space: nowrap;
}

.menu .menu-item > a:hover,
.menu .menu-item > a:focus-visible {
    color: var(--color-text);
}

.menu .menu-item.current-menu-item > a,
.menu .menu-item > a[aria-current="page"] {
    color: var(--color-accent);
}

.menu .menu-item.current-menu-item > a::after,
.menu .menu-item > a[aria-current="page"]::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -2px;
    height: 1px;
    background-color: var(--color-accent);
}

/* Подменю (под WP) */
.menu .menu-item-has-children {
    position: relative;
}

.menu .sub-menu {
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 200px;
    padding: 12px 0;
    background-color: var(--color-bg-darker);
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.18);
    opacity: 0;
    visibility: hidden;
    transform: translateY(8px);
    transition: opacity var(--t-fast), transform var(--t-fast), visibility var(--t-fast);
    z-index: 5;
}

.menu .menu-item-has-children:hover > .sub-menu,
.menu .menu-item-has-children:focus-within > .sub-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.menu .sub-menu .menu-item > a {
    display: block;
    padding: 8px 18px;
}

/* Правый блок шапки */
.header__actions {
    display: flex;
    align-items: center;
    gap: clamp(14px, 1.8vw, 24px);
}

/* Переключатель языка */
.lang-switcher__btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 2px;
    font-size: 13px;
    color: var(--color-text);
    letter-spacing: 0.04em;
}

.lang-switcher__btn:hover {
    color: var(--color-accent);
}

.lang-switcher__arrow {
    transition: transform var(--t-fast);
}

.lang-switcher__btn[aria-expanded="true"] .lang-switcher__arrow {
    transform: rotate(180deg);
}

/* Кнопка «Войти» */
.header__login {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: var(--color-text);
    letter-spacing: 0.02em;
}

.header__login:hover {
    color: var(--color-accent);
}

.header__login-icon {
    flex-shrink: 0;
}

/* Соцсети */
.socials {
    display: flex;
    align-items: center;
    gap: 12px;
}

.socials__link {
    display: inline-flex;
    width: 24px;
    height: 24px;
    align-items: center;
    justify-content: center;
    color: var(--color-text);
}

.socials__link:hover {
    color: var(--color-accent);
}

/* Бургер (моб) */
.burger {
    display: none;
    width: 32px;
    height: 32px;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 5px;
    padding: 0;
}

.burger__line {
    display: block;
    width: 22px;
    height: 1.5px;
    background-color: var(--color-text);
    transition: transform var(--t-fast), opacity var(--t-fast);
}

.burger[aria-expanded="true"] .burger__line:nth-child(1) {
    transform: translateY(6.5px) rotate(45deg);
}

.burger[aria-expanded="true"] .burger__line:nth-child(2) {
    opacity: 0;
}

.burger[aria-expanded="true"] .burger__line:nth-child(3) {
    transform: translateY(-6.5px) rotate(-45deg);
}

/* ==========================================================================
   HERO
   ========================================================================== */

.hero {
    position: relative;
    /* Единый размер hero-секции на всех страницах — как на about.html */
    min-height: clamp(420px, 58vh, 620px);
    padding-block: calc(var(--header-height) + 40px) clamp(60px, 8vw, 110px);
    background-color: var(--color-bg);
    overflow: hidden;
}

/* Фоновое изображение с обесцвеченными линиями (золото → серое).
   Смещено влево, чтобы линии «окутывали» заголовок hero-блока. */
.hero::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: -22%;
    right: 0;
    background-image: url('../img/zoloto.jpg');
    background-size: 110% auto;
    background-position: left center;
    background-repeat: no-repeat;
    /* Снимаем золотой оттенок: убираем насыщенность и слегка осветляем */
    filter: saturate(0) brightness(1.05) contrast(0.95);
    opacity: 0.32;
    mix-blend-mode: soft-light;
    z-index: 0;
    pointer-events: none;
}

/* На широких экранах сдвиг чуть мягче */
@media (min-width: 1600px) {
    .hero::after {
        left: -15%;
        background-size: 100% auto;
    }
}

/* На планшетах и мобильных линии возвращаем по центру и приглушаем */
@media (max-width: 900px) {
    .hero::after {
        left: 0;
        right: 0;
        background-size: cover;
        background-position: center;
        opacity: 0.22;
    }
}

/* Лёгкая синяя плёнка поверх для единства тона */
.hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background-color: rgba(58, 93, 120, 0.35);
    z-index: 1;
    pointer-events: none;
}

.hero .container {
    position: relative;
    z-index: 1;
}

.hero__inner {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
    gap: clamp(40px, 7vw, 100px);
    align-items: center;
    /* Высота определяется самим контентом + общим min-height у .hero */
    padding-block: 0;
}

/* Левая колонка */
.hero__content {
    max-width: 680px;
}

.hero__title {
    font-family: var(--font-serif);
    font-weight: 300;
    font-size: clamp(44px, 5.4vw, 78px);
    line-height: 1.1;
    color: var(--color-text);
    letter-spacing: 0.005em;
}

.hero__subtitle {
    margin-top: clamp(28px, 2.8vw, 40px);
    max-width: 560px;
    font-family: var(--font-serif);
    font-weight: 300;
    font-size: clamp(18px, 1.6vw, 24px);
    line-height: 1.55;
    color: var(--color-text-muted);
}

.hero__btn {
    margin-top: clamp(36px, 3.8vw, 52px);
}

/* Правая колонка — карточка с фото */
.hero__media {
    display: flex;
    justify-content: flex-end;
}

.founder-card {
    margin: 0;
    width: 100%;
    max-width: 360px;
}

.founder-card__photo {
    width: 100%;
    aspect-ratio: 3 / 4.4;
    overflow: hidden;
    border-radius: var(--radius-card);
    box-shadow: 0 24px 48px rgba(0, 0, 0, 0.25);
}

.founder-card__photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.founder-card__caption {
    margin-top: 22px;
    font-size: 15px;
    line-height: 1.55;
    color: var(--color-text-muted);
}

/* ==========================================================================
   COURSE HERO (Frame 122) — карточка курса, верхний экран
   ========================================================================== */

/* ВАЖНО: фон делаем 1-в-1 как на главной (`.hero::after` + `.hero::before`).
   Разница только одна — картинка прижимается к правому краю, как на скриншоте. */
.course-hero {
    position: relative;
    /* Единый размер hero — как на about.html */
    min-height: clamp(420px, 58vh, 620px);
    padding-block: calc(var(--header-height) + 40px) clamp(60px, 8vw, 110px);
    background-color: var(--color-bg);
    overflow: hidden;
    display: flex;
    align-items: center;
}

/* Слой `.course-hero__bg` (если стоит в HTML) скрываем —
   фон рисуется через `::after`, как у `.hero` на главной. */
.course-hero__bg {
    display: none;
}

/* Картинка показывается целиком, без обрезки и сдвигов.
   `background-size: contain` — сохраняем пропорции и весь рисунок;
   `background-position: right center` — прижимаем вправо;
   никаких отрицательных сдвигов и `mix-blend-mode`, чтобы не искажать. */
.course-hero::after {
    content: "";
    position: absolute;
    /* Слой смещён вправо, но чуть мягче, чем раньше — `left: 22%`.
       Картинка крупнее — `background-size: 115% auto`. После зеркаления
       (`scaleX(-1)`) в кадре виден угол линий, но более выразительный. */
    top: 0;
    bottom: 0;
    left: 22%;
    right: -28%;
    background-image: url('../img/zoloto.jpg');
    background-size: 115% auto;
    background-position: left center;
    background-repeat: no-repeat;
    transform: scaleX(-1);
    transform-origin: center;
    filter: saturate(0) brightness(1.1) contrast(0.95);
    opacity: 0.6;
    z-index: 0;
    pointer-events: none;
}

@media (min-width: 1600px) {
    .course-hero::after {
        left: 28%;
        right: -32%;
        background-size: 95% auto;
    }
}

@media (max-width: 900px) {
    .course-hero::after {
        left: 12%;
        right: -18%;
        background-size: 160% auto;
        background-position: left center;
        opacity: 0.4;
    }
}

/* Лёгкая синяя плёнка поверх для единства тона — как на главной */
.course-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background-color: rgba(58, 93, 120, 0.35);
    z-index: 1;
    pointer-events: none;
}

.course-hero__container {
    position: relative;
    z-index: 2;
    width: 100%;
}

.course-hero__content {
    max-width: 720px;
}

.course-hero__title {
    font-family: var(--font-serif);
    font-weight: 300;
    font-size: clamp(36px, 4.6vw, 64px);
    line-height: 1.15;
    color: var(--color-text);
    letter-spacing: 0.005em;
}

.course-hero__subtitle {
    margin-top: clamp(20px, 2.4vw, 32px);
    max-width: 560px;
    font-family: var(--font-sans);
    font-weight: 300;
    font-size: clamp(15px, 1.2vw, 18px);
    line-height: 1.6;
    color: var(--color-text-muted);
}

.course-hero__btn {
    margin-top: clamp(28px, 3vw, 44px);
}

/* ≤ 900px — линии возвращаем по центру и приглушаем сильнее */
@media (max-width: 900px) {
    .course-hero {
        min-height: auto;
        padding-block: calc(var(--header-height) + 24px) 56px;
    }

    .course-hero__bg {
        background-position: center;
        opacity: 0.4;
    }

    .course-hero__title br,
    .course-hero__subtitle br {
        display: none;
    }
}

@media (max-width: 640px) {
    .course-hero__title {
        font-size: clamp(28px, 7.5vw, 38px);
    }

    .course-hero__subtitle {
        font-size: 15px;
    }
}

/* ==========================================================================
   TEACHER HERO — страница «Преподаватель» (экран 2 со скриншота)
   Тот же hero-каркас, что у `.course-hero`, но с фотографией справа.
   ========================================================================== */

.teacher-hero {
    position: relative;
    /* Единый размер hero — как на about.html */
    min-height: clamp(420px, 58vh, 620px);
    padding-block: calc(var(--header-height) + 40px) clamp(60px, 8vw, 110px);
    background-color: var(--color-bg);
    overflow: hidden;
    display: flex;
    align-items: center;
}

/* Слой `.teacher-hero__bg` оставлен в HTML для совместимости — фон
   рисуем через `::after`, как у `.hero` и `.course-hero`. */
.teacher-hero__bg {
    display: none;
}

/* Декоративные линии: тот же приём, что и `.course-hero::after`.
   Зеркалим через `scaleX(-1)`, прижимаем угол вправо. */
.teacher-hero::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 22%;
    right: -28%;
    background-image: url('../img/zoloto.jpg');
    background-size: 115% auto;
    background-position: left center;
    background-repeat: no-repeat;
    transform: scaleX(-1);
    transform-origin: center;
    filter: saturate(0) brightness(1.1) contrast(0.95);
    opacity: 0.6;
    z-index: 0;
    pointer-events: none;
}

@media (min-width: 1600px) {
    .teacher-hero::after {
        left: 28%;
        right: -32%;
        background-size: 95% auto;
    }
}

@media (max-width: 900px) {
    .teacher-hero::after {
        left: 12%;
        right: -18%;
        background-size: 160% auto;
        opacity: 0.4;
    }
}

/* Синяя плёнка для единства тона */
.teacher-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background-color: rgba(58, 93, 120, 0.35);
    z-index: 1;
    pointer-events: none;
}

.teacher-hero__container {
    position: relative;
    z-index: 2;
    width: 100%;
}

.teacher-hero__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
    gap: clamp(40px, 6vw, 90px);
    align-items: center;
}

.teacher-hero__content {
    max-width: 560px;
}

.teacher-hero__title {
    font-family: var(--font-serif);
    font-weight: 300;
    font-size: clamp(34px, 4.2vw, 56px);
    line-height: 1.15;
    color: var(--color-text);
    letter-spacing: 0.005em;
}

.teacher-hero__role {
    margin-top: clamp(20px, 2vw, 28px);
    font-family: var(--font-sans);
    font-weight: 400;
    font-size: clamp(15px, 1.2vw, 18px);
    line-height: 1.5;
    color: var(--color-text);
}

.teacher-hero__text {
    margin-top: clamp(18px, 2vw, 26px);
    max-width: 460px;
    font-family: var(--font-sans);
    font-weight: 300;
    font-size: clamp(14px, 1vw, 16px);
    line-height: 1.65;
    color: var(--color-text-muted);
}

.teacher-hero__btn {
    margin-top: clamp(26px, 2.8vw, 38px);
}

/* Карточка с фото — тёмная подложка, скруглённые углы, лёгкая тень */
.teacher-hero__media {
    margin: 0;
    justify-self: end;
    width: 100%;
    max-width: 420px;
    aspect-ratio: 4 / 5;
    overflow: hidden;
    border-radius: 14px;
    background-color: rgba(0, 0, 0, 0.25);
    box-shadow: 0 24px 48px rgba(0, 0, 0, 0.28);
}

.teacher-hero__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

@media (max-width: 900px) {
    .teacher-hero {
        min-height: auto;
        padding-block: calc(var(--header-height) + 24px) 56px;
    }

    .teacher-hero__grid {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .teacher-hero__media {
        justify-self: center;
        max-width: 320px;
    }
}

/* ==========================================================================
   CONTACTS HERO — экран 2 страницы «Контакты»
   Фон: zoloto.jpg, сильно затемнённый и сдвинутый влево.
   Слева — заголовок и список контактов, справа — фото в карточке.
   ========================================================================== */

.contacts-hero {
    position: relative;
    /* Единый размер hero — как на about.html */
    min-height: clamp(420px, 58vh, 620px);
    padding-block: calc(var(--header-height) + 40px) clamp(60px, 8vw, 110px);
    background-color: var(--color-bg);
    overflow: hidden;
    display: flex;
    align-items: center;
}

/* По просьбе: на странице «Контакты» в hero фон zoloto.jpg отключён —
   оставлен чистый сплошной синий фон #3A5D78. Слои ::after и ::before
   намеренно не выводятся. */

.contacts-hero__container {
    position: relative;
    z-index: 2;
    width: 100%;
}

.contacts-hero__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
    gap: clamp(32px, 5vw, 80px);
    align-items: center;
}

.contacts-hero__content {
    max-width: 460px;
}

.contacts-hero__title {
    font-family: var(--font-serif);
    font-weight: 300;
    font-size: clamp(38px, 4.6vw, 60px);
    line-height: 1.1;
    color: var(--color-text);
    letter-spacing: 0.005em;
}

.contacts-hero__lead {
    margin-top: clamp(20px, 2.4vw, 32px);
    font-family: var(--font-sans);
    font-weight: 300;
    font-size: clamp(14px, 1.05vw, 16px);
    line-height: 1.6;
    color: var(--color-text-muted);
}

/* ----- Список контактов ----- */
.contacts-list {
    margin: clamp(28px, 3vw, 42px) 0 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: clamp(18px, 2vw, 24px);
}

.contacts-list__item {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr);
    align-items: center;
    gap: 16px;
}

.contacts-list__icon {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background-color: rgba(255, 255, 255, 0.08);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--color-accent);
    flex-shrink: 0;
}

.contacts-list__body {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.contacts-list__main {
    font-family: var(--font-sans);
    font-weight: 400;
    font-size: clamp(14px, 1.05vw, 16px);
    line-height: 1.4;
    color: var(--color-text);
    letter-spacing: 0.01em;
}

a.contacts-list__main:hover {
    color: var(--color-accent);
}

.contacts-list__sub {
    font-family: var(--font-sans);
    font-size: 12px;
    line-height: 1.5;
    color: var(--color-text-soft);
}

/* ----- Фото справа ----- */
.contacts-hero__media {
    margin: 0;
    justify-self: end;
    width: 100%;
    max-width: 540px;
    aspect-ratio: 4 / 3.1;
    overflow: hidden;
    border-radius: 14px;
    background-color: rgba(0, 0, 0, 0.25);
    box-shadow: 0 24px 48px rgba(0, 0, 0, 0.32);
}

.contacts-hero__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

@media (max-width: 900px) {
    .contacts-hero {
        min-height: auto;
        padding-block: calc(var(--header-height) + 24px) 56px;
    }

    .contacts-hero__grid {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .contacts-hero__media {
        justify-self: center;
        max-width: 480px;
        aspect-ratio: 4 / 3;
    }

    .contacts-hero__title br,
    .contacts-hero__lead br {
        display: none;
    }
}

/* ==========================================================================
   CONTACTS FORM SECTION — экран 3 страницы «Контакты»
   Белый фон. Слева — форма обратной связи, справа — список «Мы поможем вам».
   ========================================================================== */

.contacts-form-section {
    padding-block: clamp(56px, 7vw, 96px);
    background-color: #ffffff;
    color: #2a2a2a;
}

.contacts-form-section__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
    gap: clamp(40px, 6vw, 96px);
    align-items: start;
}

.contacts-form-section__title {
    margin: 0 0 clamp(28px, 3vw, 40px);
    font-family: var(--font-serif);
    font-weight: 400;
    font-size: clamp(28px, 3.2vw, 42px);
    line-height: 1.2;
    color: #2a2a2a;
    letter-spacing: 0.005em;
}

/* ----- Форма ----- */
.contacts-form {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.contacts-form__row {
    display: grid;
    gap: 14px;
}

.contacts-form__row--two {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.contacts-form__field {
    display: block;
    width: 100%;
}

.contacts-form__field input,
.contacts-form__field textarea {
    width: 100%;
    padding: 14px 18px;
    font-family: var(--font-sans);
    font-size: 14px;
    line-height: 1.4;
    color: #3a3a3a;
    background-color: #f1f1f1;
    border: 1px solid transparent;
    border-radius: 4px;
    transition: border-color var(--t-fast), background-color var(--t-fast);
}

.contacts-form__field textarea {
    min-height: 130px;
    resize: vertical;
    font-family: var(--font-sans);
}

.contacts-form__field input::placeholder,
.contacts-form__field textarea::placeholder {
    color: #9a9a9a;
}

.contacts-form__field input:focus,
.contacts-form__field textarea:focus {
    outline: none;
    border-color: var(--color-accent);
    background-color: #ffffff;
}

.contacts-form__btn {
    align-self: flex-start;
    margin-top: clamp(8px, 1.4vw, 16px);
    min-width: 220px;
}

/* ----- Список «Мы поможем вам» ----- */
.help-list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: clamp(20px, 2.4vw, 32px);
}

.help-list__item {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.help-list__title {
    margin: 0;
    font-family: var(--font-sans);
    font-weight: 500;
    font-size: clamp(15px, 1.15vw, 17px);
    line-height: 1.3;
    color: var(--color-accent);
    letter-spacing: 0.01em;
}

.help-list__text {
    font-family: var(--font-sans);
    font-weight: 400;
    font-size: clamp(13px, 1vw, 15px);
    line-height: 1.55;
    color: #6b6b6b;
}

@media (max-width: 900px) {
    .contacts-form-section__grid {
        grid-template-columns: 1fr;
        gap: 48px;
    }

    .contacts-form__row--two {
        grid-template-columns: 1fr;
    }

    .contacts-form__btn {
        align-self: stretch;
        width: 100%;
    }
}

/* ==========================================================================
   CONTACTS MAP — экран 4 страницы «Контакты»
   Фон-картинка karta.png, поверх — белая карточка «Мы вас ждём» справа.
   ========================================================================== */

.contacts-map {
    position: relative;
    overflow: hidden;
    /* Высота тянется по карте, минимум — чтобы карточка дышала */
    min-height: clamp(360px, 38vw, 460px);
    background-color: #e6e6e6; /* подложка пока грузится фон */
    display: flex;
    align-items: center;
}

.contacts-map__bg {
    position: absolute;
    inset: 0;
    background-image: url('../img/karta.png');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    z-index: 0;
    pointer-events: none;
}

.contacts-map__container {
    position: relative;
    z-index: 1;
    width: 100%;
    padding-block: clamp(40px, 5vw, 64px);
    display: flex;
    justify-content: flex-end;
}

/* ----- Белая карточка ----- */
.map-card {
    width: 100%;
    max-width: 360px;
    padding: clamp(22px, 2vw, 28px) clamp(22px, 2vw, 30px) clamp(24px, 2.4vw, 32px);
    background-color: #ffffff;
    border-radius: 10px;
    box-shadow: 0 18px 38px rgba(0, 0, 0, 0.18);
    color: #2a2a2a;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.map-card__title {
    margin: 0;
    font-family: var(--font-serif);
    font-weight: 400;
    font-size: clamp(22px, 2vw, 26px);
    line-height: 1.2;
    color: #2a2a2a;
    letter-spacing: 0.005em;
}

.map-card__address {
    font-family: var(--font-sans);
    font-size: 13px;
    line-height: 1.55;
    color: #5a5a5a;
}

.map-card__subtitle {
    margin: 4px 0 0;
    font-family: var(--font-sans);
    font-weight: 500;
    font-size: 14px;
    line-height: 1.3;
    color: #2a2a2a;
}

.map-card__list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 6px;
    font-family: var(--font-sans);
    font-size: 13px;
    line-height: 1.5;
    color: #5a5a5a;
}

.map-card__btn {
    margin-top: clamp(8px, 1vw, 12px);
    align-self: stretch;
    width: 100%;
    min-width: 0;
}

@media (max-width: 900px) {
    .contacts-map__container {
        justify-content: center;
    }

    .map-card {
        max-width: 480px;
    }
}

/* Утилита — скрыть визуально, оставив для скринридеров */
.visually-hidden {
    position: absolute !important;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* ==========================================================================
   TEACHER ABOUT — «О преподавателе» (белый блок текста + тёмная статистика)
   ========================================================================== */

.teacher-about {
    background-color: #ffffff;
    color: #2a2a2a;
}

.teacher-about__head {
    padding-block: clamp(56px, 7vw, 96px);
    max-width: 760px;
    margin-inline: auto;
    text-align: center;
}

.teacher-about__title {
    font-family: var(--font-serif);
    font-weight: 400;
    font-size: clamp(28px, 3.4vw, 44px);
    line-height: 1.2;
    color: #2a2a2a;
    letter-spacing: 0.005em;
}

.teacher-about__lead {
    margin-top: clamp(22px, 2.4vw, 32px);
    font-family: var(--font-sans);
    font-weight: 300;
    font-size: clamp(14px, 1vw, 16px);
    line-height: 1.7;
    color: #5a5a5a;
}

.teacher-about__lead + .teacher-about__lead {
    margin-top: clamp(14px, 1.4vw, 20px);
}

/* Тёмная синяя полоса со счётчиками — идёт сразу после белого блока */
.teacher-stats {
    background-color: var(--color-bg);
    color: var(--color-text);
    padding-block: clamp(40px, 5vw, 68px);
}

.teacher-stats__list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: clamp(20px, 3vw, 48px);
    align-items: start;
}

.teacher-stats__item {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 12px;
}

.teacher-stats__number {
    font-family: var(--font-serif);
    font-weight: 500;
    font-size: clamp(28px, 3.2vw, 42px);
    line-height: 1.1;
    color: var(--color-accent);
    letter-spacing: 0.01em;
}

.teacher-stats__label {
    max-width: 220px;
    font-family: var(--font-sans);
    font-size: 13px;
    line-height: 1.55;
    color: var(--color-text-muted);
}

@media (max-width: 900px) {
    .teacher-stats__list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 32px;
    }
}

@media (max-width: 480px) {
    .teacher-stats__list {
        grid-template-columns: 1fr;
    }
}

/* ==========================================================================
   TEACHER EDU — «Образование и профессиональный путь» (экран 4)
   Слева фото, справа маркированный список с золотыми галочками
   ========================================================================== */

.teacher-edu {
    background-color: #ffffff;
    color: #2a2a2a;
    padding-block: clamp(56px, 7vw, 96px);
}

.teacher-edu__title {
    margin: 0 auto clamp(40px, 5vw, 64px);
    max-width: 720px;
    font-family: var(--font-serif);
    font-weight: 400;
    font-size: clamp(28px, 3.4vw, 44px);
    line-height: 1.2;
    color: #2a2a2a;
    text-align: center;
    letter-spacing: 0.005em;
}

.teacher-edu__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
    gap: clamp(32px, 5vw, 72px);
    align-items: center;
    max-width: 1080px;
    margin-inline: auto;
}

.teacher-edu__media {
    margin: 0;
    width: 100%;
    aspect-ratio: 4 / 5;
    overflow: hidden;
    border-radius: 16px;
    box-shadow: 0 18px 38px rgba(0, 0, 0, 0.18);
    background-color: #d8d8d8;
}

.teacher-edu__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.teacher-edu__content {
    display: flex;
    flex-direction: column;
    gap: clamp(24px, 2.8vw, 36px);
}

.teacher-edu__list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 14px;
    font-family: var(--font-sans);
    font-size: clamp(14px, 1vw, 16px);
    line-height: 1.55;
    color: #3a3a3a;
}

.teacher-edu__list li {
    position: relative;
    padding-left: 32px;
}

/* Золотая галочка-кружок перед каждым пунктом */
.teacher-edu__list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 2px;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background-color: var(--color-accent);
    background-image:
        linear-gradient(45deg, transparent 45%, #ffffff 45%, #ffffff 55%, transparent 55%),
        linear-gradient(-45deg, transparent 55%, #ffffff 55%, #ffffff 65%, transparent 65%);
    background-size: 10px 10px, 10px 10px;
    background-position: 4px 4px, 3px 7px;
    background-repeat: no-repeat;
}

/* Чтобы галочка точно отрисовалась, переопределяем через SVG-маску */
.teacher-edu__list li::before {
    background:
        url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'><circle cx='9' cy='9' r='9' fill='%23C6A35B'/><path d='M5 9.2l2.6 2.6L13 6.4' stroke='white' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round' fill='none'/></svg>") center/contain no-repeat;
}

.teacher-edu__btn {
    align-self: flex-start;
    margin-top: 4px;
}

@media (max-width: 900px) {
    .teacher-edu__grid {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .teacher-edu__media {
        max-width: 360px;
        margin-inline: auto;
        aspect-ratio: 4 / 4.6;
    }

    .teacher-edu__btn {
        align-self: center;
    }
}

/* ==========================================================================
   AUDIENCE (Frame — «Для женщин, которые хотят») — 4 круга 01–04
   ========================================================================== */


.audience {
    padding-block: clamp(64px, 8vw, 110px);
    background-color: #ffffff;
    color: #222222;
}

.audience__title {
    margin: 0 auto;
    max-width: 900px;
    font-family: var(--font-serif);
    font-weight: 400;
    font-size: clamp(26px, 3.2vw, 40px);
    line-height: 1.2;
    text-align: center;
    color: #222222;
    letter-spacing: 0.005em;
}

.audience__list {
    margin: clamp(40px, 5vw, 72px) 0 0;
    padding: 0;
    list-style: none;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: clamp(20px, 2.4vw, 40px);
}

.audience__item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: clamp(20px, 2.4vw, 32px);
    text-align: center;
    padding-inline: 8px;
}

/* Золотой круг с тонкой обводкой */
.audience__circle {
    width: clamp(80px, 7vw, 100px);
    aspect-ratio: 1 / 1;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--color-accent);
    border-radius: 50%;
    color: var(--color-accent);
    background-color: transparent;
}

.audience__num {
    font-family: var(--font-serif);
    font-style: italic;
    font-weight: 300;
    font-size: clamp(22px, 2.2vw, 30px);
    line-height: 1;
    color: var(--color-accent);
    letter-spacing: 0.01em;
    transform: translateY(-1px);
}

.audience__text {
    max-width: 240px;
    font-family: var(--font-sans);
    font-weight: 400;
    font-size: 13px;
    line-height: 1.55;
    color: #5b5b5b;
}

/* ≤ 1100px — 2×2 */
@media (max-width: 1100px) {
    .audience__list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: clamp(28px, 4vw, 48px);
    }
}

/* ≤ 640px — 1 колонка */
@media (max-width: 640px) {
    .audience__list {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .audience__text br {
        display: none;
    }
}

/* ==========================================================================
   INCLUDES (Frame1 — «Включает в себя»)
   ========================================================================== */

.includes {
    position: relative;
    padding-block: clamp(56px, 6vw, 90px);
    /* Фото mujik.png — прямо как фон секции, без тонировок и плёнок */
    background-image: url('../img/mujik.png');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-color: #0F2233; /* подложка пока грузится фото */
    color: var(--color-text);
    overflow: hidden;
}

/* Слой .includes__bg больше не нужен для тонировки — оставляем
   пустым на случай, если в HTML он есть */
.includes__bg {
    display: none;
}


.includes__container {
    position: relative;
    z-index: 2;
}

.includes__title {
    margin: 0 0 clamp(36px, 4vw, 56px);
    font-family: var(--font-serif);
    font-weight: 300;
    font-size: clamp(30px, 3.6vw, 46px);
    line-height: 1.15;
    color: var(--color-text);
    letter-spacing: 0.005em;
    text-align: left;
}

/* Список из 3 строк, в одну колонку */
.includes__list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: clamp(20px, 2vw, 28px);
    max-width: 720px;
}

.includes__item {
    display: grid;
    grid-template-columns: clamp(40px, 3.2vw, 56px) minmax(0, 1fr);
    align-items: start;
    gap: clamp(16px, 1.6vw, 22px);
}

.includes__num {
    font-family: var(--font-serif);
    font-style: italic;
    font-weight: 300;
    font-size: clamp(22px, 1.8vw, 26px);
    line-height: 1.2;
    color: var(--color-accent);
    letter-spacing: 0.02em;
    padding-top: 2px;
}

.includes__desc {
    font-family: var(--font-sans);
    font-weight: 300;
    font-size: clamp(13px, 1vw, 15px);
    line-height: 1.7;
    color: rgba(255, 255, 255, 0.82);
}

.includes__btn {
    margin-top: clamp(32px, 3.6vw, 44px);
}

/* ≤ 900px — фото уходит на задний план низкой прозрачности,
   чтобы текст полностью занимал ширину */
@media (max-width: 900px) {
    .includes__bg {
        width: 100%;
        opacity: 0.25;
    }

    .includes__bg::after {
        background: linear-gradient(
            to bottom,
            rgba(15, 34, 51, 0.6) 0%,
            rgba(15, 34, 51, 0.85) 100%
        );
    }

    .includes__list {
        max-width: 100%;
    }

    .includes__item {
        grid-template-columns: 36px minmax(0, 1fr);
    }
}

/* ==========================================================================
   КНОПКИ
   ========================================================================== */

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    padding: 12px 32px;
    font-family: var(--font-sans);
    font-size: 15px;
    font-weight: 400;
    letter-spacing: 0.02em;
    border-radius: var(--radius-pill);
    cursor: pointer;
    transition: background-color var(--t-base), color var(--t-base), transform var(--t-fast), box-shadow var(--t-base);
    text-align: center;
    white-space: nowrap;
}

.btn--light {
    min-width: 170px;
    background-color: var(--color-btn-bg);
    color: var(--color-btn-text);
}

.btn--light:hover {
    background-color: #f1ede4;
    box-shadow: 0 12px 26px rgba(0, 0, 0, 0.18);
}

.btn--light:active {
    transform: translateY(1px);
}

/* Золотая кнопка (под тёмные секции, например «Включает в себя») */
.btn--gold {
    min-width: 200px;
    background-color: var(--color-accent);
    color: #1a2b3a;
}

.btn--gold:hover {
    background-color: #d4b06a;
    box-shadow: 0 12px 26px rgba(0, 0, 0, 0.28);
}

.btn--gold:active {
    transform: translateY(1px);
}

/* ==========================================================================
   FAQ / Аккордеон
   ========================================================================== */

.faq {
    padding-block: clamp(48px, 7vw, 80px);
    background-color: #F3F3F3;
}

.faq__title {
    margin: 0 auto;
    max-width: 760px;
    font-family: var(--font-serif);
    font-weight: 400;
    font-size: clamp(26px, 3.2vw, 42px);
    line-height: 1.2;
    text-align: center;
    color: #222222;
    letter-spacing: 0.005em;
}

.faq__list {
    margin: clamp(28px, 3.4vw, 44px) auto 0;
    max-width: 720px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.faq__item {
    list-style: none;
}

/* ----- Аккордеон ----- */

.accordion {
    width: 100%;
    background-color: #E8E8E8;
    border: 1px solid #D5D5D5;
    border-radius: 4px;
    overflow: hidden;
    transition: background-color var(--t-fast);
}

.accordion[open] {
    background-color: #E8E8E8;
}

.accordion__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    min-height: 36px;
    padding: 8px 16px;
    cursor: pointer;
    list-style: none;
    user-select: none;
    transition: background-color var(--t-fast);
}

.accordion__head::-webkit-details-marker {
    display: none;
}

.accordion__head:hover {
    background-color: #DEDEDE;
}

.accordion__head:focus-visible {
    outline: 2px solid var(--color-accent);
    outline-offset: -2px;
}

.accordion__text {
    font-family: var(--font-sans);
    font-size: 12px;
    font-weight: 400;
    line-height: 1.4;
    color: #2a2a2a;
    letter-spacing: 0.01em;
}

.accordion__icon {
    position: relative;
    flex-shrink: 0;
    width: 18px;
    height: 18px;
    color: #D1A74B;
}

.accordion__icon::before,
.accordion__icon::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    background-color: currentColor;
    transition: transform var(--t-base), opacity var(--t-base);
}

/* горизонтальная палочка */
.accordion__icon::before {
    width: 14px;
    height: 1.5px;
    transform: translate(-50%, -50%);
}

/* вертикальная палочка (исчезает при открытии) */
.accordion__icon::after {
    width: 1.5px;
    height: 14px;
    transform: translate(-50%, -50%);
}

.accordion[open] .accordion__icon::after {
    transform: translate(-50%, -50%) rotate(90deg);
    opacity: 0;
}

.accordion__body {
    padding: 4px 16px 16px;
    font-family: var(--font-sans);
    font-size: 13px;
    line-height: 1.6;
    color: #7a7a7a;
}

.accordion__body p {
    margin: 0;
}

/* ==========================================================================
   СЕКЦИЯ «КИНЕТИКА»
   ========================================================================== */

.kinetics {
    padding-block: clamp(56px, 7vw, 96px);
    background-color: var(--color-bg);
    color: var(--color-text);
}

/* ----- Верхний заголовочный блок ----- */
.kinetics__head {
    text-align: center;
    margin-bottom: clamp(40px, 5vw, 72px);
}

.kinetics__title {
    font-family: var(--font-serif);
    font-weight: 300;
    font-size: clamp(26px, 3.2vw, 42px);
    line-height: 1.2;
    color: var(--color-text);
    letter-spacing: 0.005em;
}

.kinetics__subtitle {
    margin-top: 10px;
    font-family: var(--font-sans);
    font-size: 13px;
    line-height: 1.5;
    color: var(--color-text-muted);
    letter-spacing: 0.01em;
}

/* ----- Центральная композиция: текст | круги | текст ----- */
.kinetics__composition {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
    gap: clamp(24px, 4vw, 56px);
    margin-bottom: clamp(56px, 7vw, 90px);
}

.kinetics__aside {
    display: flex;
    flex-direction: column;
    gap: 14px;
    max-width: 260px;
    font-family: var(--font-sans);
    font-size: 14px;
    line-height: 1.55;
    color: var(--color-text-muted);
}

.kinetics__aside p {
    margin: 0;
}

.kinetics__aside--left {
    justify-self: end;
    text-align: left;
}

.kinetics__aside--right {
    justify-self: start;
    text-align: left;
}

/* ----- Кольцо (zoloto1.png) + цитата ----- */
.quote-circle {
    position: relative;
    width: clamp(280px, 30vw, 380px);
    aspect-ratio: 1 / 1;
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Одно золотое кольцо (PNG с прозрачным фоном) по центру за цитатой */
.quote-circle__ring {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
    pointer-events: none;
    user-select: none;
}

.quote-circle__quote {
    position: relative;
    z-index: 1;
    margin: 0;
    padding: 0 clamp(24px, 3vw, 40px);
    text-align: center;
    color: var(--color-text);
}

.quote-circle__quote p {
    margin: 0;
    font-family: var(--font-serif);
    font-weight: 300;
    font-size: clamp(13px, 1.1vw, 16px);
    line-height: 1.7;
    color: var(--color-text);
}

.quote-circle__author {
    margin-top: 24px;
    font-family: var(--font-sans);
    font-size: 13px;
    color: var(--color-text-muted);
    letter-spacing: 0.02em;
}

/* ----- Информационный блок «Кинетика» ----- */
.kinetics__intro {
    max-width: 720px;
    margin-inline: auto;
    text-align: center;
}

.kinetics__heading {
    margin: 0;
    font-family: var(--font-serif);
    font-weight: 300;
    font-size: clamp(34px, 4vw, 52px);
    line-height: 1.15;
    color: var(--color-text);
}

.kinetics__lead {
    margin-top: 14px;
    font-family: var(--font-sans);
    font-size: 15px;
    line-height: 1.6;
    color: var(--color-text);
}

.kinetics__strong {
    margin-top: clamp(24px, 2.4vw, 34px);
    font-family: var(--font-sans);
    font-weight: 500;
    font-size: 15px;
    line-height: 1.5;
    color: var(--color-text);
}

.kinetics__list {
    margin: 12px 0 0;
    padding: 0;
    list-style: none;
    font-family: var(--font-sans);
    font-size: 14px;
    line-height: 1.6;
    color: var(--color-text);
    text-align: center;
}

.kinetics__list li {
    position: relative;
    padding-left: 0;
}

.kinetics__list li::before {
    content: "·";
    color: #ffffff;
    font-size: 24px;
    line-height: 1;
    margin-right: 6px;
    vertical-align: middle;
}

.kinetics__note {
    margin: clamp(28px, 3vw, 44px) auto 0;
    max-width: 620px;
    font-family: var(--font-sans);
    font-size: 13px;
    line-height: 1.65;
    color: var(--color-text-muted);
}

/* ----- Блок «Как это работает» ----- */
.kinetics__how {
    margin-top: clamp(60px, 7vw, 90px);
    text-align: center;
}

.kinetics__how-title {
    margin: 0 0 clamp(36px, 4vw, 60px);
    font-family: var(--font-serif);
    font-weight: 300;
    font-size: clamp(34px, 4.4vw, 56px);
    line-height: 1.15;
    color: var(--color-text);
}

/* ----- Шаги 01/02/03 ----- */
.steps {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(24px, 3vw, 48px);
    margin: 0;
    padding: 0;
    list-style: none;
}

.steps__item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 18px;
    text-align: center;
}

.steps__number {
    width: clamp(72px, 7vw, 110px);
    height: auto;
    aspect-ratio: 1 / 1;
    object-fit: contain;
}

.steps__text {
    max-width: 240px;
    font-family: var(--font-sans);
    font-style: italic;
    font-size: 14px;
    line-height: 1.55;
    color: var(--color-text);
}

/* ==========================================================================
   ABOUT HERO — верхний экран страницы «О школе»
   Фон рисуем 1-в-1, как в .teacher-hero / .course-hero:
   zoloto.jpg прижат к правому углу через scaleX(-1), сверху лёгкая синяя плёнка.
   ========================================================================== */

.about-hero {
    position: relative;
    padding-block: calc(var(--header-height) + 40px) clamp(60px, 8vw, 110px);
    background-color: var(--color-bg);
    overflow: hidden;
    min-height: clamp(420px, 58vh, 620px);
    display: flex;
    align-items: center;
}

/* Старый служебный слой `.about-hero__bg` больше не используем —
   фон рисуется через `::after`, как у `.teacher-hero` */
.about-hero__bg {
    display: none;
}

/* Декоративные линии — тот же приём, что и в .teacher-hero::after */
.about-hero::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 22%;
    right: -28%;
    background-image: url('../img/zoloto.jpg');
    background-size: 115% auto;
    background-position: left center;
    background-repeat: no-repeat;
    transform: scaleX(-1);
    transform-origin: center;
    filter: saturate(0) brightness(1.1) contrast(0.95);
    opacity: 0.6;
    z-index: 0;
    pointer-events: none;
}

@media (min-width: 1600px) {
    .about-hero::after {
        left: 28%;
        right: -32%;
        background-size: 95% auto;
    }
}

@media (max-width: 900px) {
    .about-hero::after {
        left: 12%;
        right: -18%;
        background-size: 160% auto;
        opacity: 0.4;
    }
}

/* Лёгкая синяя плёнка поверх для единства тона */
.about-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background-color: rgba(58, 93, 120, 0.35);
    z-index: 1;
    pointer-events: none;
}

.about-hero__container {
    position: relative;
    z-index: 2;
    width: 100%;
}

.about-hero__content {
    max-width: 540px;
}

.about-hero__title {
    font-family: var(--font-serif);
    font-weight: 300;
    font-size: clamp(32px, 4.2vw, 56px);
    line-height: 1.15;
    color: var(--color-text);
    letter-spacing: 0.005em;
}

.about-hero__subtitle {
    margin-top: clamp(20px, 2.4vw, 32px);
    max-width: 470px;
    font-family: var(--font-sans);
    font-weight: 300;
    font-size: clamp(15px, 1.1vw, 17px);
    line-height: 1.6;
    color: var(--color-text-muted);
}

.about-hero__btn {
    margin-top: clamp(24px, 2.6vw, 36px);
}

@media (max-width: 900px) {
    .about-hero__title br {
        display: none;
    }
}

/* ==========================================================================
   MISSION — миссия и ценности
   ========================================================================== */

.mission {
    padding-block: clamp(48px, 6vw, 80px);
    background-color: #ffffff;
    color: #2a2a2a;
}

.mission__title {
    margin: 0 auto;
    max-width: 760px;
    font-family: var(--font-serif);
    font-weight: 400;
    font-size: clamp(26px, 3.2vw, 40px);
    line-height: 1.2;
    color: #2a2a2a;
    text-align: center;
    letter-spacing: 0.005em;
}

.mission__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(32px, 6vw, 96px);
    max-width: 980px;
    margin: clamp(28px, 3.4vw, 48px) auto 0;
}

.mission-card {
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 14px;
}

.mission-card__icon {
    color: var(--color-accent);
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.mission-card__title {
    font-family: var(--font-sans);
    font-weight: 500;
    font-size: 18px;
    line-height: 1.3;
    color: #2a2a2a;
    letter-spacing: 0.01em;
}

.mission-card__text {
    max-width: 360px;
    font-family: var(--font-sans);
    font-size: 13px;
    line-height: 1.6;
    color: #6b6b6b;
}

/* ==========================================================================
   STATS — статистика школы
   ========================================================================== */

.stats {
    padding-block: clamp(50px, 6vw, 80px);
    background-color: var(--color-bg);
    color: var(--color-text);
}

.stats__title {
    margin: 0 auto;
    max-width: 820px;
    font-family: var(--font-serif);
    font-weight: 300;
    font-size: clamp(24px, 2.8vw, 36px);
    line-height: 1.25;
    color: var(--color-text);
    text-align: center;
    letter-spacing: 0.005em;
}

.stats__list {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: clamp(20px, 3vw, 48px);
    margin: clamp(36px, 4vw, 56px) 0 0;
}

.stats__item {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 10px;
}

.stats__number {
    font-family: var(--font-serif);
    font-weight: 500;
    font-size: clamp(32px, 3.6vw, 46px);
    line-height: 1.05;
    color: var(--color-accent);
    letter-spacing: 0.005em;
}

.stats__label {
    max-width: 220px;
    font-family: var(--font-sans);
    font-size: 13px;
    line-height: 1.55;
    color: var(--color-text-muted);
}

/* ==========================================================================
   TEAM — наша команда
   ========================================================================== */

.team {
    padding-block: clamp(56px, 7vw, 96px);
    background-color: #ffffff;
    color: #2a2a2a;
}

.team__head {
    text-align: center;
    margin-bottom: clamp(32px, 4vw, 56px);
}

.team__title {
    font-family: var(--font-serif);
    font-weight: 400;
    font-size: clamp(28px, 3.4vw, 42px);
    line-height: 1.2;
    color: #2a2a2a;
    letter-spacing: 0.005em;
}

.team__subtitle {
    margin-top: 10px;
    font-family: var(--font-sans);
    font-size: 14px;
    line-height: 1.55;
    color: #7a7a7a;
}

.team__list {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: clamp(16px, 2vw, 22px);
}

.team-card {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.team-card__photo {
    width: 100%;
    aspect-ratio: 4 / 5;
    overflow: hidden;
    border-radius: 8px;
    background-color: #d8d8d8;
}

.team-card__photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.team-card__name {
    margin: 4px 0 0;
    font-family: var(--font-sans);
    font-weight: 500;
    font-size: 15px;
    line-height: 1.3;
    color: #2a2a2a;
    letter-spacing: 0.01em;
}

.team-card__role {
    font-family: var(--font-sans);
    font-size: 12px;
    line-height: 1.4;
    color: var(--color-accent);
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.team-card__bio {
    font-family: var(--font-sans);
    font-size: 12px;
    line-height: 1.55;
    color: #7a7a7a;
}

/* ==========================================================================
   CONTACT CTA — секция контакта с фотографией
   ========================================================================== */

.contact-cta {
    position: relative;
    overflow: hidden;
    background-color: #1f3043;
    color: var(--color-text);
    min-height: clamp(260px, 32vw, 360px);
    display: flex;
    align-items: center;
}

.contact-cta__media {
    position: absolute;
    inset: 0 0 0 auto;
    width: 50%;
    z-index: 0;
    pointer-events: none;
}

.contact-cta__photo {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center right;
}

.contact-cta::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg,
            rgba(15, 27, 41, 0.96) 0%,
            rgba(15, 27, 41, 0.9) 40%,
            rgba(15, 27, 41, 0.5) 65%,
            rgba(15, 27, 41, 0) 90%);
    z-index: 1;
    pointer-events: none;
}

.contact-cta::after {
    content: "";
    position: absolute;
    left: -120px;
    bottom: -120px;
    width: 320px;
    height: 320px;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow:
        0 0 0 40px rgba(255, 255, 255, 0.04),
        0 0 0 80px rgba(255, 255, 255, 0.025);
    z-index: 1;
    pointer-events: none;
}

.contact-cta__container {
    position: relative;
    z-index: 2;
    width: 100%;
    padding-block: clamp(40px, 6vw, 70px);
}

.contact-cta__content {
    max-width: 480px;
}

.contact-cta__title {
    font-family: var(--font-serif);
    font-weight: 400;
    font-size: clamp(26px, 3vw, 38px);
    line-height: 1.2;
    color: var(--color-text);
    letter-spacing: 0.005em;
}

.contact-cta__text {
    margin-top: 14px;
    font-family: var(--font-sans);
    font-size: 14px;
    line-height: 1.6;
    color: var(--color-text-muted);
    max-width: 420px;
}

.contact-cta__btn {
    margin-top: clamp(22px, 2.6vw, 30px);
}

/* ==========================================================================
   КНОПКА — золотая
   ========================================================================== */

.btn--gold {
    min-width: 160px;
    background-color: var(--color-accent);
    color: #1f1a0e;
}

.btn--gold:hover {
    background-color: #d6b365;
    box-shadow: 0 12px 26px rgba(0, 0, 0, 0.22);
}

.btn--gold:active {
    transform: translateY(1px);
}

/* ==========================================================================
   ФУТЕР
   Тёмно-синий фон, две колонки: слева — реквизиты + кнопка «Обратная связь»,
   справа сверху — копирайт, справа снизу — соцсети без обводки.
   ========================================================================== */

.footer {
    padding-block: clamp(32px, 3.4vw, 48px);
    background-color: var(--color-bg-darker);
    color: var(--color-text);
}

.footer__container {
    display: grid;
    grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
    gap: clamp(24px, 4vw, 64px);
    align-items: stretch;
}

.footer__col {
    display: flex;
    flex-direction: column;
    gap: clamp(16px, 1.6vw, 22px);
}

/* Правая колонка: копирайт сверху, соцсети снизу */
.footer__col--meta {
    align-items: flex-end;
    text-align: right;
    justify-content: space-between;
    min-height: 100%;
    gap: clamp(32px, 5vw, 60px);
}

.footer__brand {
    margin: 0;
    font-family: var(--font-sans);
    font-weight: 300;
    font-size: 13px;
    line-height: 1.5;
    color: var(--color-text);
    max-width: 280px;
    letter-spacing: 0.01em;
}

.footer__legal {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 2px;
    font-family: var(--font-sans);
    font-size: 12px;
    line-height: 1.6;
    color: var(--color-text-soft);
}

.footer__support {
    margin: 0;
    font-family: var(--font-sans);
    font-size: 12px;
    line-height: 1.6;
    color: var(--color-text-muted);
}

.footer__support a {
    color: var(--color-accent);
    text-decoration: underline;
    text-underline-offset: 2px;
}

.footer__support a:hover {
    color: #d6b365;
}

.footer__btn {
    align-self: flex-start;
    margin-top: clamp(6px, 0.8vw, 12px);
    min-height: 38px;
    min-width: 0;
    padding: 8px 26px;
    font-size: 13px;
}

.footer__copy {
    margin: 0;
    font-family: var(--font-sans);
    font-size: 12px;
    color: var(--color-text-soft);
    letter-spacing: 0.02em;
    line-height: 1.5;
    text-align: right;
}

/* Соцсети в футере — без круглой обводки, цветные значки, как на скриншоте */
.footer__socials {
    gap: 16px;
}

.footer__socials .socials__link {
    width: 22px;
    height: 22px;
    border: 0;
    border-radius: 0;
    color: var(--color-text);
}

.footer__socials .socials__link:hover {
    color: var(--color-accent);
}

/* YouTube — отдельный «бренд-значок» на красном фоне (как на макете) */
.footer__socials li:last-child .socials__link {
    width: 56px;
    height: 16px;
    background-color: #FF0000;
    color: #ffffff;
    border-radius: 3px;
    padding: 2px 6px;
}

.footer__socials li:last-child .socials__link:hover {
    background-color: #d80000;
    color: #ffffff;
}

@media (max-width: 720px) {
    .footer__container {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .footer__col--meta {
        align-items: flex-start;
        text-align: left;
        gap: 18px;
    }

    .footer__copy {
        text-align: left;
    }
}

/* ==========================================================================
   КОНТЕНТ ИЗ WP-РЕДАКТОРА (.entry-content)
   ========================================================================== */

.entry-content .alignleft  { float: left;  margin: 0 1.5em 1em 0; }
.entry-content .alignright { float: right; margin: 0 0 1em 1.5em; }
.entry-content .aligncenter { display: block; margin-inline: auto; }
.entry-content .alignwide  { width: min(100%, 1100px); margin-inline: auto; }
.entry-content .alignfull  { width: 100vw; margin-inline: calc(50% - 50vw); }
.entry-content .wp-caption { max-width: 100%; }
.entry-content .wp-caption-text { font-size: 13px; color: var(--color-text-muted); }

/* ==========================================================================
   АДАПТИВ
   ========================================================================== */

/* ≤ 1100px — две колонки сжимаются, шрифты меньше */
@media (max-width: 1100px) {
    .header__container {
        gap: 18px;
    }

    .menu {
        gap: 16px;
    }

    .menu .menu-item > a {
        font-size: 13px;
    }
}

/* ≤ 900px — мобильный режим: бургер вместо меню */
@media (max-width: 900px) {
    :root {
        --header-height: 88px;
    }

    .header__container {
        grid-template-columns: auto 1fr auto;
    }

    .header__nav {
        justify-content: flex-end;
    }

    .header__logo-img {
        width: 300px;
    }

    .burger {
        display: inline-flex;
        position: relative;
        z-index: 30;
    }

    .header__menu {
        position: fixed;
        inset: 0;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 24px;
        padding: 80px 24px 32px;
        background-color: var(--color-bg);
        transform: translateX(100%);
        transition: transform var(--t-base);
        z-index: 20;
    }

    .header__menu[data-menu-open="true"] {
        transform: translateX(0);
    }

    .menu .menu-item > a {
        font-size: 18px;
    }

    .header__actions .header__login span,
    .header__actions .lang-switcher {
        display: inline-flex;
    }

    .header__socials {
        gap: 14px;
    }

    .hero__inner {
        grid-template-columns: 1fr;
        gap: 48px;
        text-align: left;
    }

    .hero__media {
        justify-content: center;
    }

    .founder-card {
        max-width: 300px;
    }

    .founder-card__caption {
        text-align: center;
    }

    .faq__list {
        max-width: 560px;
    }

    .kinetics__composition {
        grid-template-columns: 1fr;
        gap: 32px;
        justify-items: center;
    }

    .kinetics__aside {
        max-width: 480px;
        text-align: center;
    }

    .kinetics__aside--left,
    .kinetics__aside--right {
        justify-self: center;
        text-align: center;
    }

    .quote-circle {
        width: clamp(260px, 70vw, 340px);
    }

    .steps {
        grid-template-columns: 1fr;
        gap: 36px;
    }
}

/* ≤ 640px — мелкие экраны */
@media (max-width: 640px) {
    .header__login span {
        display: none;
    }

    .header__socials {
        display: none;
    }

    .header__logo-img {
        width: 210px;
    }

    .hero {
        padding-block: var(--header-height) 40px;
    }

    .hero__title {
        font-size: clamp(34px, 8.5vw, 44px);
    }

    .hero__subtitle {
        font-size: 17px;
    }

    .hero__subtitle br {
        display: none;
    }

    .btn--light {
        min-width: 0;
        width: 100%;
        max-width: 280px;
    }

    .faq {
        padding-block: 48px;
    }

    .faq__title {
        font-size: clamp(22px, 6.5vw, 28px);
        text-align: left;
    }

    .faq__list {
        margin-top: 24px;
    }

    .accordion__head {
        padding: 10px 14px;
    }

    .accordion__text {
        font-size: 12px;
    }
}

/* ==========================================================================
   PROFESSION HERO — страница «Профессия» (экран 1 со скриншота)
   Тот же hero-каркас, что у `.teacher-hero` / `.course-hero`,
   но без фотографии — только контент слева.
   ========================================================================== */

.profession-hero {
    position: relative;
    /* Единый размер hero — как на about.html */
    min-height: clamp(420px, 58vh, 620px);
    padding-block: calc(var(--header-height) + 40px) clamp(60px, 8vw, 110px);
    background-color: var(--color-bg);
    overflow: hidden;
    display: flex;
    align-items: center;
}

/* Слой `.profession-hero__bg` оставлен в HTML для совместимости —
   фон рисуем через `::after`, как у `.teacher-hero` / `.course-hero`. */
.profession-hero__bg {
    display: none;
}

/* Декоративные линии: тот же приём, что и `.teacher-hero::after`.
   Зеркалим через `scaleX(-1)`, прижимаем угол вправо.
   `filter: saturate(0)` — убирает золотой цвет, делает линии серыми. */
.profession-hero::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 22%;
    right: -28%;
    background-image: url('../img/zoloto.jpg');
    background-size: 115% auto;
    background-position: left center;
    background-repeat: no-repeat;
    transform: scaleX(-1);
    transform-origin: center;
    filter: saturate(0) brightness(1.1) contrast(0.95);
    opacity: 0.6;
    z-index: 0;
    pointer-events: none;
}

@media (min-width: 1600px) {
    .profession-hero::after {
        left: 28%;
        right: -32%;
        background-size: 95% auto;
    }
}

@media (max-width: 900px) {
    .profession-hero::after {
        left: 12%;
        right: -18%;
        background-size: 160% auto;
        opacity: 0.4;
    }
}

/* Синяя плёнка для единства тона */
.profession-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background-color: rgba(58, 93, 120, 0.35);
    z-index: 1;
    pointer-events: none;
}

.profession-hero__container {
    position: relative;
    z-index: 2;
    width: 100%;
}

.profession-hero__content {
    max-width: 560px;
}

.profession-hero__title {
    font-family: var(--font-serif);
    font-weight: 300;
    font-size: clamp(34px, 4.6vw, 60px);
    line-height: 1.1;
    margin: 0;
    color: var(--color-text);
}

.profession-hero__text {
    margin-top: clamp(20px, 2.4vw, 32px);
    font-family: var(--font-sans);
    font-weight: 300;
    font-size: clamp(15px, 1.1vw, 17px);
    line-height: 1.6;
    color: var(--color-text-muted);
}

.profession-hero__btn {
    margin-top: clamp(26px, 2.8vw, 38px);
}

@media (max-width: 900px) {
    .profession-hero {
        min-height: auto;
        padding-block: calc(var(--header-height) + 24px) 56px;
    }

    .profession-hero__title br,
    .profession-hero__text br {
        display: none;
    }
}

@media (max-width: 640px) {
    .profession-hero__title {
        font-size: clamp(28px, 7.5vw, 38px);
    }

    .profession-hero__text {
        font-size: 15px;
    }
}

/* ==========================================================================
   PROFESSION ABOUT — «Кто такой имидж-консультант?» (экран 2)
   Заголовок по центру + 4 карточки преимуществ с золотой иконкой
   ========================================================================== */

.profession-about {
    background: #ffffff;
    color: #1c2a36;
    padding-block: clamp(56px, 7vw, 100px);
}

.profession-about__head {
    text-align: center;
    max-width: 820px;
    margin: 0 auto;
}

.profession-about__title {
    font-family: var(--font-serif);
    font-weight: 300;
    font-size: clamp(26px, 3vw, 40px);
    line-height: 1.2;
    margin: 0;
    color: #1c2a36;
}

.profession-about__lead {
    margin-top: clamp(16px, 1.6vw, 22px);
    font-family: var(--font-sans);
    font-weight: 300;
    font-size: clamp(13px, 1vw, 15px);
    line-height: 1.65;
    color: #4d5b69;
}

.profession-features {
    list-style: none;
    margin: clamp(40px, 5vw, 70px) 0 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: clamp(20px, 2.4vw, 36px);
}

.profession-features__item {
    text-align: center;
    padding: 8px 6px;
}

.profession-features__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--color-accent);
    margin-bottom: clamp(14px, 1.6vw, 20px);
}

.profession-features__icon svg {
    width: clamp(40px, 3.6vw, 52px);
    height: auto;
}

.profession-features__title {
    font-family: var(--font-sans);
    font-weight: 500;
    font-size: clamp(15px, 1.15vw, 18px);
    line-height: 1.3;
    margin: 0 0 12px;
    color: #1c2a36;
}

.profession-features__text {
    margin: 0;
    font-family: var(--font-sans);
    font-weight: 300;
    font-size: clamp(12px, 0.92vw, 14px);
    line-height: 1.55;
    color: #5a6773;
}

@media (max-width: 1024px) {
    .profession-features {
        grid-template-columns: repeat(2, 1fr);
        gap: 32px 24px;
    }
}

@media (max-width: 640px) {
    .profession-features {
        grid-template-columns: 1fr;
        gap: 28px;
        max-width: 360px;
        margin-left: auto;
        margin-right: auto;
    }

    .profession-features__text br {
        display: none;
    }

    .profession-about__lead br {
        display: none;
    }
}

/* ==========================================================================
   PROFESSION PROGRAM — «Программа курса» (экран 4)
   Фон mujik.png целиком, поверх — заголовок и 2 колонки по 3 пункта (01–06).
   Аналог .includes, но с двумя колонками.
   ========================================================================== */

.profession-program {
    position: relative;
    padding-block: clamp(56px, 7vw, 96px);
    background-image: url('../img/mujik.png');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-color: #0F2233; /* подложка, пока грузится фото */
    color: var(--color-text);
    overflow: hidden;
}

.profession-program__container {
    position: relative;
    z-index: 2;
}

.profession-program__title {
    margin: 0 0 clamp(36px, 4vw, 56px);
    font-family: var(--font-serif);
    font-weight: 300;
    font-size: clamp(30px, 3.6vw, 46px);
    line-height: 1.15;
    color: var(--color-text);
    letter-spacing: 0.005em;
    text-align: left;
}

/* Сетка 2 колонки × 3 строки (на десктопе),
   нумерация идёт сверху вниз по колонкам: 01,02,03 — левая; 04,05,06 — правая */
.profession-program__list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(24px, 3vw, 40px) clamp(40px, 5vw, 80px);
    max-width: 1040px;
    counter-reset: none;
}

.profession-program__item {
    display: grid;
    grid-template-columns: clamp(40px, 3.4vw, 56px) minmax(0, 1fr);
    align-items: start;
    gap: clamp(14px, 1.4vw, 20px);
}

.profession-program__num {
    font-family: var(--font-serif);
    font-style: italic;
    font-weight: 300;
    font-size: clamp(20px, 1.8vw, 26px);
    line-height: 1.2;
    color: var(--color-accent);
    letter-spacing: 0.02em;
    padding-top: 2px;
}

.profession-program__body {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.profession-program__name {
    margin: 0;
    font-family: var(--font-sans);
    font-weight: 500;
    font-size: clamp(15px, 1.2vw, 18px);
    line-height: 1.3;
    color: var(--color-text);
    letter-spacing: 0.01em;
}

.profession-program__text {
    margin: 0;
    font-family: var(--font-sans);
    font-weight: 300;
    font-size: clamp(12px, 0.95vw, 14px);
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.75);
}

.profession-program__btn {
    margin-top: clamp(32px, 3.6vw, 48px);
}

@media (max-width: 900px) {
    .profession-program__list {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .profession-program__text br {
        display: none;
    }
}

@media (max-width: 640px) {
    .profession-program__btn {
        width: 100%;
        max-width: 280px;
    }
}

/* ==========================================================================
   LIBRARY HERO — страница «Библиотека» (экран 1)
   Тот же hero-каркас, что у `.hero` на главной: синий фон + декоративные
   обесцвеченные линии (zoloto.jpg), смещённые влево, без правой колонки.
   ========================================================================== */

.library-hero {
    position: relative;
    /* Единый размер hero — как на about.html */
    min-height: clamp(420px, 58vh, 620px);
    padding-block: calc(var(--header-height) + 40px) clamp(60px, 8vw, 110px);
    background-color: var(--color-bg);
    overflow: hidden;
    display: flex;
    align-items: center;
}

/* Декоративные линии: 1-в-1 как у `.teacher-hero::after` —
   зеркалим через `scaleX(-1)`, прижимаем угол вправо. */
.library-hero::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 22%;
    right: -28%;
    background-image: url('../img/zoloto.jpg');
    background-size: 115% auto;
    background-position: left center;
    background-repeat: no-repeat;
    transform: scaleX(-1);
    transform-origin: center;
    filter: saturate(0) brightness(1.1) contrast(0.95);
    opacity: 0.6;
    z-index: 0;
    pointer-events: none;
}

@media (min-width: 1600px) {
    .library-hero::after {
        left: 28%;
        right: -32%;
        background-size: 95% auto;
    }
}

@media (max-width: 900px) {
    .library-hero::after {
        left: 12%;
        right: -18%;
        background-size: 160% auto;
        opacity: 0.4;
    }
}

/* Лёгкая синяя плёнка поверх — как и у других hero-блоков */
.library-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background-color: rgba(58, 93, 120, 0.35);
    z-index: 1;
    pointer-events: none;
}

.library-hero__container {
    position: relative;
    z-index: 2;
    width: 100%;
}

.library-hero__content {
    max-width: 560px;
}

.library-hero__title {
    font-family: var(--font-serif);
    font-weight: 300;
    font-size: clamp(34px, 4.4vw, 60px);
    line-height: 1.1;
    color: var(--color-text);
    letter-spacing: 0.005em;
}

.library-hero__subtitle {
    margin-top: clamp(20px, 2.4vw, 32px);
    max-width: 460px;
    font-family: var(--font-sans);
    font-weight: 300;
    font-size: clamp(14px, 1.1vw, 17px);
    line-height: 1.6;
    color: var(--color-text-muted);
}

.library-hero__btn {
    margin-top: clamp(28px, 3vw, 44px);
}

@media (max-width: 900px) {
    .library-hero {
        min-height: auto;
        padding-block: calc(var(--header-height) + 24px) 56px;
    }

    .library-hero__title br,
    .library-hero__subtitle br {
        display: none;
    }
}

@media (max-width: 640px) {
    .library-hero__title {
        font-size: clamp(28px, 7.5vw, 38px);
    }

    .library-hero__subtitle {
        font-size: 15px;
    }
}

@media (max-width: 390px) {
    .library-hero__btn {
        width: 100%;
        max-width: 280px;
    }
}

/* ==========================================================================
   LIBRARY CATALOG — белая секция «Каталог материалов»
   Заголовок, табы-фильтры, сетка карточек 4×N, кнопка «Показать ещё»
   ========================================================================== */

.library-catalog {
    padding-block: clamp(56px, 7vw, 96px);
    background-color: #ffffff;
    color: #2a2a2a;
}

.library-catalog__title {
    margin: 0 0 clamp(28px, 3.4vw, 44px);
    text-align: center;
    font-family: var(--font-serif);
    font-weight: 400;
    font-size: clamp(26px, 3vw, 40px);
    line-height: 1.2;
    color: #2a2a2a;
    letter-spacing: 0.005em;
}

/* ----- Фильтры-табы -------------------------------------------------------- */
.library-filters {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: clamp(8px, 1vw, 14px);
    margin: 0 auto clamp(32px, 4vw, 56px);
}

.library-filters__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 36px;
    padding: 8px 22px;
    font-family: var(--font-sans);
    font-weight: 400;
    font-size: clamp(12px, 0.9vw, 14px);
    line-height: 1.2;
    color: #2a2a2a;
    background-color: transparent;
    border: 1px solid rgba(58, 93, 120, 0.35);
    border-radius: var(--radius-pill);
    letter-spacing: 0.01em;
    cursor: pointer;
    transition: color var(--t-fast), background-color var(--t-fast), border-color var(--t-fast);
}

.library-filters__btn:hover {
    color: var(--color-accent);
    border-color: var(--color-accent);
}

.library-filters__btn:focus-visible {
    outline: 2px solid var(--color-accent);
    outline-offset: 3px;
}

.library-filters__btn.is-active,
.library-filters__btn[aria-selected="true"] {
    color: #ffffff;
    background-color: var(--color-accent);
    border-color: var(--color-accent);
}

.library-filters__btn.is-active:hover,
.library-filters__btn[aria-selected="true"]:hover {
    background-color: #d4b06a;
    border-color: #d4b06a;
    color: #ffffff;
}

/* ----- Сетка карточек ------------------------------------------------------ */
.library-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: clamp(20px, 2.4vw, 36px) clamp(16px, 1.8vw, 28px);
    margin: 0;
    padding: 0;
    list-style: none;
}

.library-grid__item {
    display: flex;
}

/* ----- Карточка материала -------------------------------------------------- */
.material-card {
    display: flex;
    flex-direction: column;
    width: 100%;
}

.material-card__cover {
    display: block;
    width: 100%;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    border-radius: 16px;
    background-color: #d9d9d9;
    margin-bottom: clamp(14px, 1.4vw, 20px);
    transition: transform var(--t-base);
}

.material-card__cover:hover {
    transform: translateY(-2px);
}

.material-card__cover:focus-visible {
    outline: 2px solid var(--color-accent);
    outline-offset: 3px;
}

.material-card__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.material-card__title {
    margin: 0 0 8px;
    font-family: var(--font-sans);
    font-weight: 600;
    font-size: clamp(11px, 0.85vw, 13px);
    line-height: 1.35;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #2a2a2a;
}

.material-card__title a {
    color: inherit;
}

.material-card__title a:hover {
    color: var(--color-accent);
}

.material-card__text {
    margin: 0 0 clamp(12px, 1.2vw, 16px);
    font-family: var(--font-sans);
    font-weight: 300;
    font-size: clamp(12px, 0.9vw, 14px);
    line-height: 1.5;
    color: #4a4a4a;
}

.material-card__more {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-top: auto;
    font-family: var(--font-sans);
    font-weight: 400;
    font-size: clamp(12px, 0.9vw, 14px);
    line-height: 1.4;
    color: var(--color-bg);
    letter-spacing: 0.01em;
}

.material-card__more:hover {
    color: var(--color-accent);
}

.material-card__arrow {
    flex-shrink: 0;
    transition: transform var(--t-fast);
}

.material-card__more:hover .material-card__arrow {
    transform: translateX(4px);
}

/* ----- Кнопка «Показать ещё» ---------------------------------------------- */
.library-catalog__more {
    display: flex;
    justify-content: center;
    margin-top: clamp(32px, 4vw, 56px);
}

.library-more-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 280px;
    min-height: 48px;
    padding: 12px 36px;
    font-family: var(--font-sans);
    font-weight: 400;
    font-size: clamp(13px, 0.95vw, 15px);
    line-height: 1.2;
    color: var(--color-bg);
    background-color: transparent;
    border: 1px solid rgba(58, 93, 120, 0.45);
    border-radius: var(--radius-pill);
    letter-spacing: 0.02em;
    cursor: pointer;
    transition: color var(--t-fast), background-color var(--t-fast), border-color var(--t-fast);
}

.library-more-btn:hover {
    color: #ffffff;
    background-color: var(--color-bg);
    border-color: var(--color-bg);
}

.library-more-btn:focus-visible {
    outline: 2px solid var(--color-accent);
    outline-offset: 3px;
}

.library-more-btn:active {
    transform: translateY(1px);
}

/* ----- Адаптив каталога ---------------------------------------------------- */

/* 1280px — оставляем 4 колонки, но уменьшаем гэпы — это уже учтено через clamp */

/* 1024–900px — 3 колонки */
@media (max-width: 1024px) {
    .library-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

/* 768px — 2 колонки */
@media (max-width: 768px) {
    .library-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 24px 16px;
    }

    .library-filters {
        gap: 8px;
    }

    .library-filters__btn {
        padding: 8px 16px;
        font-size: 13px;
    }
}

/* 480px — карточки становятся плотнее, текст крупнее */
@media (max-width: 480px) {
    .material-card__title {
        font-size: 12px;
    }

    .material-card__text {
        font-size: 13px;
    }

    .material-card__text br {
        display: none;
    }

    .material-card__title br {
        display: none;
    }
}

/* 390px — одна колонка */
@media (max-width: 390px) {
    .library-grid {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .library-more-btn {
        width: 100%;
        min-width: 0;
    }

    .library-filters {
        flex-wrap: wrap;
    }
}

/* Блокировка прокрутки при открытом меню */
body.is-menu-open {
    overflow: hidden;
}

/* ==========================================================================
   COURSES — страница «Курсы» (каталог обучающих программ)
   ========================================================================== */

/* ----- HERO: синий фон + декоративные обесцвеченные линии (zoloto.jpg) ----- */
.courses-hero {
    position: relative;
    /* Единый размер hero — как на about.html */
    min-height: clamp(420px, 58vh, 620px);
    padding-block: calc(var(--header-height) + 40px) clamp(60px, 8vw, 110px);
    background-color: var(--color-bg);
    overflow: hidden;
    display: flex;
    align-items: center;
}

/* Декоративные волнистые линии в верхнем правом углу — приём как у .hero */
.courses-hero::after {
    content: "";
    position: absolute;
    top: -10%;
    right: -10%;
    width: 60%;
    height: 120%;
    background-image: url('../img/zoloto.jpg');
    background-size: cover;
    background-position: right top;
    background-repeat: no-repeat;
    filter: saturate(0) brightness(1.15) contrast(0.95);
    opacity: 0.35;
    mix-blend-mode: soft-light;
    z-index: 0;
    pointer-events: none;
}

/* Лёгкая синяя плёнка для единства тона */
.courses-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background-color: rgba(58, 93, 120, 0.35);
    z-index: 1;
    pointer-events: none;
}

.courses-hero__container {
    position: relative;
    z-index: 2;
    width: 100%;
}

.courses-hero__content {
    max-width: 420px;
}

.courses-hero__title {
    font-family: var(--font-serif);
    font-weight: 300;
    font-size: clamp(40px, 5vw, 64px);
    line-height: 1.05;
    color: var(--color-text);
    letter-spacing: 0.005em;
}

@media (max-width: 900px) {
    .courses-hero {
        min-height: auto;
        padding-block: calc(var(--header-height) + 24px) 48px;
    }

    .courses-hero::after {
        width: 80%;
        opacity: 0.25;
    }

    .courses-hero__title br {
        display: none;
    }
}

@media (max-width: 480px) {
    .courses-hero__title {
        font-size: clamp(32px, 9vw, 42px);
    }
}

/* ----- STATS: белый фон, 3 колонки, только золотые иконки + подпись -----
   По скриншоту: никаких подложек у иконки, никаких отдельных крупных цифр.
   Иконка тонкими золотыми штрихами, под ней подпись в 2–3 строки,
   жирная часть («15 курсов», «10 480 учеников», «500+ учеников») — обычным
   тёмно-серым цветом, остальное — серый. */
.courses-stats {
    padding-block: clamp(48px, 5vw, 72px);
    background-color: #ffffff;
    color: #2a2a2a;
}

.courses-stats__list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(24px, 4vw, 56px);
    align-items: start;
}

.courses-stats__item {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: clamp(14px, 1.6vw, 20px);
}

.courses-stats__icon {
    color: var(--color-accent);
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.courses-stats__icon svg {
    width: clamp(48px, 4.2vw, 60px);
    height: auto;
}

.courses-stats__label {
    max-width: 280px;
    font-family: var(--font-sans);
    font-weight: 400;
    font-size: clamp(13px, 1vw, 15px);
    line-height: 1.55;
    color: #6a6a6a;
}

.courses-stats__strong {
    font-weight: 600;
    color: #2a2a2a;
}

@media (max-width: 768px) {
    .courses-stats__list {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .courses-stats__label br {
        display: none;
    }
}

/* ----- CATALOG: фильтры-табы + сетка карточек + «Показать ещё» ----- */
.courses-catalog {
    padding-block: clamp(48px, 6vw, 80px);
    background-color: #F3F3F3;
    color: #1f1f1f;
}

/* Табы-фильтры. Inactive — белый фон + серый бордер, active — золото.
   Базовые состояния .library-filters__btn переопределяем под этот макет. */
.courses-filters {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: clamp(8px, 1vw, 14px);
    margin: 0 auto clamp(32px, 4vw, 52px);
}

.courses-filters .library-filters__btn {
    background-color: #ffffff;
    border-color: #DADADA;
    color: #1f1f1f;
}

.courses-filters .library-filters__btn:hover {
    border-color: var(--color-accent);
    color: var(--color-accent);
}

.courses-filters .library-filters__btn.is-active,
.courses-filters .library-filters__btn[aria-selected="true"] {
    background-color: var(--color-accent);
    border-color: var(--color-accent);
    color: #ffffff;
}

/* Сетка курсов: 3 колонки на десктопе */
/* Сетка курсов: 3 колонки. `align-items: stretch` (по умолчанию)
   гарантирует, что все ячейки одного ряда — одной высоты,
   а сами карточки растягиваются на всю высоту ячейки. */
.courses-grid {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(28px, 2.6vw, 36px);
    align-items: stretch;
}

.courses-grid__item {
    display: flex;
    height: 100%;
}

/* ----- Карточка курса (макет по скриншоту) -----
   На скриншоте: серая прямоугольная картинка сверху, под ней — заголовок
   («Леди — 33 000 ₽»), описание, жирная подпись «Что внутри:», список
   с маркерами-точками и широкая золотая овальная кнопка снизу.
   Никакого белого фона, бордера и теней — карточка сливается с серым
   фоном секции, отделена от соседей только воздухом (gap). */
.course-card {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    background-color: #ffffff;
    border: 1px solid #E5E5E5;
    border-radius: 16px;
    overflow: hidden;
    padding: clamp(14px, 1.4vw, 20px);
    transition: transform var(--t-base);
}

.course-card:hover {
    transform: translateY(-2px);
    box-shadow: none;
}

/* Серая картинка-обложка — прямоугольная, скруглённая, светло-серая.
   Фиксируем aspect-ratio, чтобы у всех 9 карточек обложка была одного
   размера независимо от длины заголовка/описания ниже. */
.course-card__media {
    width: 100%;
    aspect-ratio: 4 / 2.6;
    overflow: hidden;
    background-color: #D9D9D9;
    border-radius: 4px;
    margin-bottom: clamp(14px, 1.4vw, 18px);
    flex-shrink: 0;
}

.course-card__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.course-card__body {
    display: flex;
    flex-direction: column;
    flex: 1;
    padding: 0;
    gap: 10px;
}

/* Заголовок — sans, средний жирный, тёмный.
   На макете в строке заголовка сразу идёт цена («— 33 000 ₽»). */
.course-card__title {
    margin: 0;
    font-family: var(--font-sans);
    font-weight: 500;
    font-size: clamp(15px, 1.15vw, 17px);
    line-height: 1.3;
    color: #2a2a2a;
    letter-spacing: 0.005em;
}

/* Старый блок с ценой больше не используем — оставлен скрытым на случай,
   если где-то в разметке остался <p class="course-card__price">. */
.course-card__price {
    display: none;
}

.course-card__desc {
    margin: 0;
    font-family: var(--font-sans);
    font-weight: 300;
    font-size: clamp(12px, 0.95vw, 14px);
    line-height: 1.6;
    color: #8a8a8a;
}

.course-card__features-title {
    margin: clamp(6px, 0.8vw, 10px) 0 0;
    font-family: var(--font-sans);
    font-weight: 600;
    font-size: clamp(13px, 1vw, 14px);
    line-height: 1.3;
    color: #2a2a2a;
}

.course-card__features {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 6px;
    font-family: var(--font-sans);
    font-weight: 300;
    font-size: clamp(12px, 0.95vw, 14px);
    line-height: 1.5;
    color: #8a8a8a;
}

.course-card__features li {
    position: relative;
    padding-left: 14px;
}

/* Маркер — обычная точка «•», серая, как на скриншоте */
.course-card__features li::before {
    content: "·";
    position: absolute;
    left: 2px;
    top: -2px;
    color: #8a8a8a;
    font-size: 22px;
    line-height: 1;
    background: none;
    width: auto;
    height: auto;
    border-radius: 0;
}

/* Золотая овальная кнопка снизу — широкая (примерно на ширину карточки) */
.course-card__btn {
    margin-top: auto;
    padding-top: clamp(14px, 1.6vw, 22px);
    align-self: stretch;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 46px;
    padding: 12px 24px;
    font-family: var(--font-sans);
    font-weight: 400;
    font-size: 14px;
    letter-spacing: 0.02em;
    color: #ffffff;
    background-color: var(--color-accent);
    border-radius: var(--radius-pill);
    transition: background-color var(--t-base), transform var(--t-fast), box-shadow var(--t-base);
}

.course-card__btn:hover {
    background-color: #d4b06a;
    box-shadow: 0 12px 26px rgba(0, 0, 0, 0.18);
}

.course-card__btn:focus-visible {
    outline: 2px solid var(--color-accent);
    outline-offset: 3px;
}

.course-card__btn:active {
    transform: translateY(1px);
}

/* Кнопка «Показать ещё» — белая с тёмным бордером */
.courses-catalog__more {
    display: flex;
    justify-content: center;
    margin-top: clamp(32px, 4vw, 52px);
}

.courses-more-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 240px;
    min-height: 48px;
    padding: 12px 36px;
    font-family: var(--font-sans);
    font-weight: 400;
    font-size: clamp(13px, 0.95vw, 15px);
    line-height: 1.2;
    color: #2F2F2F;
    background-color: #ffffff;
    border: 1px solid #2F2F2F;
    border-radius: var(--radius-pill);
    letter-spacing: 0.02em;
    cursor: pointer;
    transition: color var(--t-fast), background-color var(--t-fast), border-color var(--t-fast);
}

.courses-more-btn:hover {
    color: #ffffff;
    background-color: #2F2F2F;
}

.courses-more-btn:focus-visible {
    outline: 2px solid var(--color-accent);
    outline-offset: 3px;
}

.courses-more-btn:active {
    transform: translateY(1px);
}

@media (max-width: 1024px) {
    .courses-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .courses-grid {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .course-card__btn {
        width: 100%;
    }

    .courses-more-btn {
        width: 100%;
        min-width: 0;
    }
}

/* ----- COURSES EXTRA: вторая секция карточек ----- */
.courses-extra {
    padding-block: clamp(48px, 6vw, 80px);
    background-color: #ffffff;
    color: #1f1f1f;
}

.courses-extra__title {
    margin: 0 0 clamp(28px, 3.4vw, 48px);
    text-align: center;
    font-family: var(--font-serif);
    font-weight: 400;
    font-size: clamp(26px, 3vw, 40px);
    line-height: 1.2;
    color: #1f1f1f;
    letter-spacing: 0.005em;
}

/* ----- REVIEWS: слайдер отзывов (Swiper) — белая секция ----- */
.courses-reviews {
    padding-block: clamp(56px, 7vw, 90px);
    background-color: #ffffff;
    color: #1f1f1f;
}

.courses-reviews__title {
    margin: 0 0 clamp(32px, 4vw, 52px);
    text-align: center;
    font-family: var(--font-serif);
    font-weight: 400;
    font-size: clamp(26px, 3.2vw, 42px);
    line-height: 1.2;
    color: #1f1f1f;
    letter-spacing: 0.005em;
}

.courses-reviews__slider {
    overflow: hidden;
}

.courses-reviews__slider .swiper-wrapper {
    align-items: stretch;
}

.courses-reviews__slider .swiper-slide {
    height: auto;
}

.review-card {
    height: 100%;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding: clamp(24px, 2.6vw, 32px);
    background-color: #F3F3F3;
    border: 1px solid #DDDDDD;
    border-radius: 12px;
    color: #1f1f1f;
}

.review-card__text {
    margin: 0;
    font-family: var(--font-sans);
    font-weight: 300;
    font-size: clamp(14px, 1.05vw, 16px);
    line-height: 1.7;
    color: rgba(0, 0, 0, 0.78);
}

.review-card__link {
    margin-top: auto;
    align-self: flex-start;
    font-family: var(--font-sans);
    font-weight: 400;
    font-size: 14px;
    color: var(--color-accent);
    text-decoration: underline;
    text-underline-offset: 3px;
}

.review-card__link:hover {
    color: #d4b06a;
}

/* Навигация слайдера: стрелки + точки по центру снизу */
.courses-reviews__nav {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
    margin-top: clamp(24px, 3vw, 36px);
}

/* Синие залитые кружки с тонкими белыми стрелками */
.courses-reviews__arrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    border: 0;
    background-color: var(--color-bg);
    color: #ffffff;
    transition: background-color var(--t-fast), transform var(--t-fast);
}

.courses-reviews__arrow svg path {
    stroke-width: 1.4;
}

.courses-reviews__arrow:hover {
    background-color: var(--color-bg-darker);
}

.courses-reviews__arrow:active {
    transform: translateY(1px);
}

.courses-reviews__arrow:focus-visible {
    outline: 2px solid var(--color-accent);
    outline-offset: 3px;
}

.courses-reviews__dots {
    display: none;
}

/* ----- EXPERT: 2 колонки (фото + текст/статистика) ----- */
.expert {
    padding-block: clamp(56px, 7vw, 96px);
    background-color: #ffffff;
    color: #1f1f1f;
}

.expert__section-title {
    margin: 0 0 clamp(32px, 4vw, 52px);
    text-align: center;
    font-family: var(--font-serif);
    font-weight: 400;
    font-size: clamp(26px, 3.2vw, 42px);
    line-height: 1.2;
    color: #1f1f1f;
    letter-spacing: 0.005em;
}

.expert__grid {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
    gap: clamp(32px, 5vw, 72px);
    align-items: center;
}

.expert__media {
    margin: 0;
    width: 100%;
    max-width: 420px;
    aspect-ratio: 4 / 5;
    overflow: hidden;
    border-radius: 16px;
    background-color: #d8d8d8;
    box-shadow: 0 18px 38px rgba(0, 0, 0, 0.16);
}

.expert__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.expert__content {
    display: flex;
    flex-direction: column;
    gap: clamp(24px, 2.8vw, 34px);
}

.expert__title {
    margin: 0;
    font-family: var(--font-serif);
    font-weight: 400;
    font-size: clamp(24px, 2.8vw, 38px);
    line-height: 1.25;
    color: #1f1f1f;
    letter-spacing: 0.005em;
}

.expert__highlight {
    color: var(--color-accent);
}

.expert__list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 12px;
    font-family: var(--font-sans);
    font-weight: 300;
    font-size: clamp(14px, 1.05vw, 16px);
    line-height: 1.6;
    color: rgba(0, 0, 0, 0.72);
}

.expert__list li {
    position: relative;
    padding-left: 22px;
}

.expert__list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 9px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: var(--color-accent);
}

/* Статистика — 3 карточки сине-серого цвета, белый текст */
.expert__stats {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(12px, 1.4vw, 18px);
}

.expert__stat {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 6px;
    padding: clamp(18px, 1.8vw, 24px) 12px;
    background-color: var(--color-bg);
    border: 1px solid var(--color-bg);
    border-radius: 12px;
    color: #ffffff;
}

.expert__stat-number {
    font-family: var(--font-serif);
    font-weight: 500;
    font-size: clamp(24px, 2.4vw, 34px);
    line-height: 1.05;
    color: #ffffff;
}

.expert__stat-label {
    font-family: var(--font-sans);
    font-size: 12px;
    line-height: 1.4;
    color: rgba(255, 255, 255, 0.85);
}

@media (max-width: 900px) {
    .expert__grid {
        grid-template-columns: 1fr;
        gap: 36px;
    }

    .expert__media {
        justify-self: center;
        max-width: 360px;
    }
}

@media (max-width: 480px) {
    .expert__stats {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .expert__stat {
        flex-direction: row;
        justify-content: center;
        gap: 10px;
    }
}

/* ==========================================================================
   FOUNDER — секция «Валентин Шишкин — новатор...» (главная страница)
   --------------------------------------------------------------------------
   Композиция (по скрину):
   • БЕЛЫЙ фон секции, тёмный текст;
   • заголовок по центру (с золотым акцентом «Школу кинетического имиджа»);
   • двухколоночная сетка `.founder__grid`:
       — слева высокая карточка с фото (`.founder__media`);
       — справа `.founder__content`, внутри которого СВЕРХУ список достижений
         с золотыми кружочками-маркерами, а СНИЗУ ряд из 3 синих карточек
         статистики `.stat-card` на фоне `--color-bg`.
   • Высота фото подстраивается под высоту правой колонки (`align-items: stretch`).
   ========================================================================== */

.founder {
    padding-block: clamp(60px, 7vw, 110px);
    background-color: #ffffff;
    color: #2a2a2a;
}

.founder__title {
    margin: 0 auto;
    max-width: 1000px;
    text-align: center;
    font-family: var(--font-serif);
    font-weight: 400;
    font-size: clamp(26px, 3.2vw, 44px);
    line-height: 1.3;
    color: #2a2a2a;
    letter-spacing: 0.005em;
}

/* Золотой акцент в заголовке */
.founder__title-accent {
    color: var(--color-accent);
}

/* ----- Двухколоночная сетка: фото слева, контент справа ----- */
.founder__grid {
    margin-top: clamp(40px, 5vw, 72px);
    display: grid;
    grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.1fr);
    gap: clamp(28px, 4vw, 56px);
    align-items: stretch;
}

/* Карточка с фото — растягивается на всю высоту правой колонки */
.founder__media {
    margin: 0;
    width: 100%;
    height: 100%;
    min-height: clamp(420px, 42vw, 560px);
    overflow: hidden;
    border-radius: var(--radius-card);
    background-color: #d8d8d8;
    box-shadow: 0 18px 38px rgba(0, 0, 0, 0.14);
}

.founder__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Правая колонка: список сверху, статы сразу под списком (прижаты к тексту) */
.founder__content {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    gap: clamp(24px, 2.6vw, 32px);
}

/* Список достижений с золотыми маркерами */
.founder__list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: clamp(14px, 1.4vw, 20px);
}

.founder__list-item {
    display: grid;
    grid-template-columns: 22px minmax(0, 1fr);
    align-items: start;
    gap: 14px;
}

/* Маркер: золотой залитый круг с белой галочкой внутри */
.founder__list-marker {
    width: 18px;
    height: 18px;
    margin-top: 3px;
    border-radius: 50%;
    flex-shrink: 0;
    box-sizing: border-box;
    background:
        url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'><circle cx='9' cy='9' r='9' fill='%23C6A35B'/><path d='M5 9.2l2.6 2.6L13 6.4' stroke='white' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round' fill='none'/></svg>") center/contain no-repeat;
}

.founder__list-text {
    font-family: var(--font-sans);
    font-weight: 400;
    font-size: clamp(13px, 1vw, 15px);
    line-height: 1.55;
    color: #2a2a2a;
}

/* ----- Ряд статистических карточек (внутри правой колонки) -----
   По макету: 3 КРУПНЫЕ карточки, растянутые на ВСЮ ширину правой колонки
   (от текста списка до правого края фото). Шрифт значений и подписей
   увеличен для лучшей читабельности. */
.founder__stats {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(12px, 1.2vw, 18px);
    width: 100%;
}

/* Одна карточка статистики — тёмно-синий фон, белый текст */
.stat-card {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    text-align: left;
    gap: 10px;
    padding: clamp(24px, 2.6vw, 36px) clamp(20px, 2vw, 28px);
    background-color: var(--color-bg);
    border: none;
    border-radius: 12px;
    color: var(--color-text);
    min-height: 160px;
    height: 100%;
    box-sizing: border-box;
}

.stat-card__value {
    margin: 0;
    font-family: var(--font-serif);
    font-weight: 400;
    font-size: clamp(24px, 2.4vw, 34px);
    line-height: 1.1;
    color: #ffffff;
    letter-spacing: 0.01em;
    white-space: normal;
}

.stat-card__label {
    margin: 0;
    font-family: var(--font-sans);
    font-weight: 300;
    font-size: clamp(12px, 0.9vw, 14px);
    line-height: 1.45;
    color: rgba(255, 255, 255, 0.7);
}

/* ----- Адаптив ----- */

/* ≤ 900px — одна колонка: фото сверху по центру, ниже список и статы */
@media (max-width: 900px) {
    .founder__grid {
        grid-template-columns: 1fr;
        gap: 32px;
        align-items: stretch;
    }

    .founder__media {
        justify-self: center;
        max-width: 420px;
        min-height: 0;
        aspect-ratio: 1 / 1;
    }

    .founder__title br {
        display: none;
    }
}

/* ≤ 600px — карточки статистики в колонку */
@media (max-width: 600px) {
    .founder__stats {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .stat-card {
        min-height: 0;
        padding: 26px 22px;
    }

    .stat-card__label br {
        display: none;
    }
}

/* ==========================================================================
   PROGRAMS — «Программы для глубокого изменения своего кинетического имиджа»
   Делается 1-в-1 как на скриншоте:
   • БЕЛЫЙ фон;
   • заголовок (serif, тёмный);
   • курсивный ЗОЛОТОЙ подзаголовок «с результатом во всех сферах жизни»;
   • короткая ЗОЛОТАЯ горизонтальная линия-разделитель;
   • заголовок группы «Для женщин» (serif, тёмный);
   • карточка с тонким ЗОЛОТЫМ бордером, белая, без тени;
   • заголовок программы по центру (sans, средний);
   • серый абзац-описание;
   • жирная подпись «Подходит тем, кто»;
   • маркированный список с мелкими точечками-маркерами;
   • прямоугольная ЗОЛОТАЯ кнопка с лёгким скруглением (НЕ pill);
   • снизу — точки-пагинация: тёмные кружки, активный — золотой.
   ========================================================================== */

.programs {
    padding-block: clamp(56px, 7vw, 100px);
    background-color: #ffffff;
    color: #2a2a2a;
}

/* ----- Шапка секции ----- */
.programs__head {
    text-align: center;
    max-width: 820px;
    margin: 0 auto clamp(24px, 2.6vw, 36px);
    display: flex;
    flex-direction: column;
    align-items: center;
}

.programs__title {
    margin: 0;
    font-family: var(--font-serif);
    font-weight: 400;
    font-size: clamp(24px, 2.8vw, 36px);
    line-height: 1.3;
    color: #2a2a2a;
    letter-spacing: 0.005em;
}

.programs__subtitle {
    margin-top: 6px;
    font-family: var(--font-serif);
    font-style: italic;
    font-weight: 400;
    font-size: clamp(14px, 1.15vw, 17px);
    line-height: 1.4;
    color: var(--color-accent);
    letter-spacing: 0.005em;
}

/* Золотой короткий разделитель */
.programs__divider {
    display: inline-block;
    width: 48px;
    height: 2px;
    margin-top: clamp(22px, 2.4vw, 30px);
    background-color: var(--color-accent);
    border-radius: 2px;
}

/* Заголовок группы «Для женщин» */
.programs__group-title {
    margin: clamp(14px, 1.6vw, 22px) 0 0;
    font-family: var(--font-serif);
    font-weight: 400;
    font-size: clamp(22px, 2.4vw, 30px);
    line-height: 1.2;
    color: #2a2a2a;
    letter-spacing: 0.005em;
}

/* ----- Слайдер ----- */
.programs__slider {
    max-width: 880px;
    margin: 0 auto;
}

.programs__track {
    margin: 0;
    padding: 0;
    list-style: none;
    position: relative;
}

.programs__slide {
    display: none;
}

.programs__slide.is-active {
    display: block;
}

/* ----- Карточка программы ----- */
.program-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: clamp(14px, 1.4vw, 20px);
    padding: clamp(32px, 3.8vw, 52px) clamp(28px, 4vw, 72px);
    background-color: #ffffff;
    /* Золотой бордер, как на скриншоте */
    border: 1px solid var(--color-accent);
    border-radius: 4px;
    box-shadow: none;
}

.program-card__title {
    margin: 0;
    font-family: var(--font-sans);
    font-weight: 400;
    font-size: clamp(16px, 1.3vw, 19px);
    line-height: 1.35;
    color: #2a2a2a;
    letter-spacing: 0.005em;
}

.program-card__lead {
    margin: 0;
    max-width: 620px;
    font-family: var(--font-sans);
    font-weight: 300;
    font-size: clamp(12px, 1vw, 14px);
    line-height: 1.7;
    color: #8a8a8a;
}

.program-card__match-title {
    margin: clamp(10px, 1vw, 14px) 0 0;
    font-family: var(--font-sans);
    font-weight: 600;
    font-size: clamp(13px, 1.05vw, 15px);
    line-height: 1.3;
    color: #2a2a2a;
}

.program-card__match-list {
    margin: 4px 0 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    font-family: var(--font-sans);
    font-weight: 300;
    font-size: clamp(12px, 1vw, 14px);
    line-height: 1.55;
    color: #8a8a8a;
}

.program-card__match-list li {
    position: relative;
    padding-left: 14px;
}

.program-card__match-list li::before {
    content: "·";
    position: absolute;
    left: 2px;
    top: -2px;
    color: #8a8a8a;
    font-size: 22px;
    line-height: 1;
}

/* Овальная (pill) ЗОЛОТАЯ кнопка */
.program-card__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: clamp(18px, 2vw, 26px);
    min-height: 48px;
    min-width: 240px;
    padding: 12px 40px;
    font-family: var(--font-sans);
    font-weight: 400;
    font-size: clamp(13px, 1vw, 15px);
    letter-spacing: 0.02em;
    color: #ffffff;
    background-color: var(--color-accent);
    border-radius: var(--radius-pill);
    transition: background-color var(--t-base), transform var(--t-fast), box-shadow var(--t-base);
}


.program-card__btn:hover {
    background-color: #d4b06a;
    box-shadow: 0 10px 22px rgba(198, 163, 91, 0.28);
}

.program-card__btn:active {
    transform: translateY(1px);
}

.program-card__btn:focus-visible {
    outline: 2px solid var(--color-accent);
    outline-offset: 3px;
}

/* ----- Точки-пагинация ----- */
.programs__dots {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    margin-top: clamp(22px, 2.6vw, 32px);
}

.programs__dot {
    width: 9px;
    height: 9px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background-color: rgba(42, 42, 42, 0.25);
    cursor: pointer;
    transition: background-color var(--t-fast), transform var(--t-fast);
}

.programs__dot:hover {
    background-color: rgba(42, 42, 42, 0.5);
}

.programs__dot.is-active {
    background-color: var(--color-accent);
    transform: scale(1.15);
}

.programs__dot:focus-visible {
    outline: 2px solid var(--color-accent);
    outline-offset: 3px;
}

/* ==========================================================================
   PROGRAMS — группа «Для мужчин и женщин»
   Две карточки-тарифа в ряд (без слайдера). Внутри карточки всё выровнено
   по ЛЕВОМУ краю: заголовок, описание, «Что внутри», список и кнопка.
   ========================================================================== */

/* Шапка-разделитель между группами «Для женщин» и «Для мужчин и женщин» */
.programs__head--secondary {
    margin-top: clamp(40px, 5vw, 64px);
}

/* Сетка из двух карточек */
.programs__pair {
    margin: clamp(24px, 2.8vw, 36px) 0 0;
    padding: 0;
    list-style: none;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(20px, 2vw, 28px);
    max-width: 1080px;
    margin-inline: auto;
}

.programs__pair-item {
    display: flex;
    /* Растягиваем карточку на всю высоту строки, чтобы обе были одинаковой
       высоты, а кнопки выравнивались по нижней линии */
    align-items: stretch;
}

/* Карточка-тариф: те же стили, что и .program-card, но текст слева.
   Внутри — flex-колонка с фиксированными отступами, чтобы блоки
   ("заголовок", "описание", "что внутри", "список", "кнопка") стояли
   на одинаковой вертикальной сетке у обеих карточек. */
.program-card--tariff {
    width: 100%;
    height: 100%;
    align-items: stretch;
    text-align: left;
    padding: clamp(26px, 2.6vw, 36px) clamp(26px, 2.6vw, 36px);
    gap: clamp(12px, 1.2vw, 16px);
}


/* Левое выравнивание заголовка */
.program-card__title--left {
    text-align: left;
    align-self: flex-start;
    font-weight: 500;
}

/* Левое выравнивание лида */
.program-card__lead--left {
    text-align: left;
    align-self: flex-start;
    max-width: 100%;
}

/* «Что внутри:» — слева, жирный */
.program-card__match-title--left {
    text-align: left;
    align-self: flex-start;
    font-weight: 600;
}

/* Список «Что внутри» — слева, точки-маркеры серые.
   flex: 1 + align-self: stretch → список занимает всё свободное место,
   за счёт чего кнопка снизу прижимается к нижней границе карточки.
   Так у обеих карточек кнопки стоят ровно на одной линии. */
.program-card__match-list--left {
    align-items: flex-start;
    text-align: left;
    width: 100%;
    align-self: stretch;
    flex: 1 1 auto;
    gap: 10px;
}

.program-card__match-list--left li {
    padding-left: 18px;
}

.program-card__match-list--left li::before {
    content: "·";
    left: 4px;
    top: -2px;
}

/* Кнопка «Получить доступ» — слева, узкая, овальная.
   margin-top: auto страхует выравнивание кнопок по нижней линии,
   если контента в карточке мало. */
.program-card__btn--left {
    align-self: flex-start;
    margin-top: auto;
    min-width: 200px;
    width: auto;
}


/* ----- Адаптив парных карточек ----- */
@media (max-width: 900px) {
    .programs__pair {
        grid-template-columns: 1fr;
        gap: 20px;
    }
}

/* ==========================================================================
   STREAMS — «Бесплатные эфиры»
   Синий фон секции, по углам — золотые кольца (zoloto1.png — единая
   декоративная картинка, в которой нарисованы и левая, и правая пары колец).
   Над фоном — 3 карточки спикеров: фото сверху, описание + список + кнопка.
   ========================================================================== */

.streams {
    position: relative;
    overflow: hidden;
    padding-block: clamp(56px, 7vw, 96px);
    background-color: var(--color-bg);
    color: var(--color-text);
}

/* Слой с золотыми кольцами на заднем фоне.
   Внутри `.streams__rings` рисуем ДВЕ декоративные картинки `zoloto1.png`:
   • левая — торчит наполовину за ЛЕВЫЙ край секции, по центру по вертикали;
   • правая — зеркальная, торчит наполовину за ПРАВЫЙ край секции.
   Так на скрине: кольца «выходят» за пределы блока ровно на половину диаметра.
   Картинка `zoloto1.png` содержит ОДНУ пару колец — выводим её дважды и
   правую копию зеркалим через `transform: scaleX(-1)`. */
.streams__rings {
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 0;
    overflow: hidden;
}

.streams__rings::before,
.streams__rings::after {
    content: "";
    position: absolute;
    top: 50%;
    /* Кольца на скрине занимают примерно 45% ширины секции и квадратные */
    width: 45%;
    aspect-ratio: 1 / 1;
    background-image: url('../img/zoloto1.png');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    transform: translateY(-50%);
}

/* Левая пара — наполовину уходит за левый край */
.streams__rings::before {
    left: -22%;
    background-position: left center;
}

/* Правая пара — зеркалим и уходим за правый край */
.streams__rings::after {
    right: -22%;
    background-position: right center;
    transform: translateY(-50%) scaleX(-1);
}


.streams__container {
    position: relative;
    z-index: 1;
}

/* ----- Шапка секции ----- */
.streams__head {
    text-align: center;
    margin-bottom: clamp(32px, 4vw, 56px);
}

.streams__title {
    margin: 0;
    font-family: var(--font-serif);
    font-weight: 300;
    font-size: clamp(28px, 3.4vw, 44px);
    line-height: 1.2;
    color: var(--color-text);
    letter-spacing: 0.005em;
}

.streams__subtitle {
    margin: 10px 0 0;
    font-family: var(--font-sans);
    font-weight: 300;
    font-size: clamp(14px, 1.1vw, 16px);
    line-height: 1.5;
    color: var(--color-text-muted);
}

/* ----- Сетка карточек ----- */
.streams__list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(20px, 2vw, 28px);
    max-width: 1100px;
    margin-inline: auto;
}

.streams__item {
    display: flex;
}

/* ----- Карточка эфира ----- */
.stream-card {
    display: flex;
    flex-direction: column;
    width: 100%;
    background-color: transparent;
    overflow: visible;
}

.stream-card__media {
    width: 100%;
    aspect-ratio: 4 / 3.2;
    overflow: hidden;
    border-radius: 10px;
    background-color: #d8d8d8;
    box-shadow: 0 14px 32px rgba(0, 0, 0, 0.22);
}

.stream-card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Белый блок с текстом — поднимается «нахлёстом» поверх фото снизу */
.stream-card__body {
    position: relative;
    margin: -18px 14px 0;
    padding: clamp(20px, 1.8vw, 26px) clamp(18px, 1.6vw, 22px) clamp(22px, 2vw, 28px);
    background-color: #ffffff;
    color: #1f1f1f;
    border-radius: 10px;
    box-shadow: 0 14px 30px rgba(0, 0, 0, 0.18);
    display: flex;
    flex-direction: column;
    gap: 12px;
    flex: 1;
}

.stream-card__tag {
    margin: 0;
    font-family: var(--font-sans);
    font-weight: 400;
    font-size: 12px;
    line-height: 1.3;
    color: #7a7a7a;
    letter-spacing: 0.04em;
}

.stream-card__title {
    margin: 0;
    font-family: var(--font-sans);
    font-weight: 600;
    font-size: clamp(14px, 1.05vw, 16px);
    line-height: 1.35;
    color: #1f1f1f;
    letter-spacing: 0.005em;
}

.stream-card__features {
    margin: 4px 0 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 8px;
    font-family: var(--font-sans);
    font-weight: 300;
    font-size: clamp(12px, 0.95vw, 14px);
    line-height: 1.45;
    color: #5a5a5a;
    flex: 1 1 auto;
}

.stream-card__features li {
    position: relative;
    padding-left: 16px;
}

.stream-card__features li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 7px;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background-color: var(--color-accent);
}

/* Золотая овальная кнопка — на всю ширину карточки, прижата к низу */
.stream-card__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: auto;
    min-height: 44px;
    padding: 10px 24px;
    font-family: var(--font-sans);
    font-weight: 400;
    font-size: clamp(13px, 1vw, 14px);
    letter-spacing: 0.02em;
    color: #ffffff;
    background-color: var(--color-accent);
    border-radius: var(--radius-pill);
    transition: background-color var(--t-base), transform var(--t-fast), box-shadow var(--t-base);
}

.stream-card__btn:hover {
    background-color: #d4b06a;
    box-shadow: 0 10px 22px rgba(198, 163, 91, 0.32);
}

.stream-card__btn:active {
    transform: translateY(1px);
}

.stream-card__btn:focus-visible {
    outline: 2px solid var(--color-accent);
    outline-offset: 3px;
}

/* ----- Адаптив ----- */
@media (max-width: 900px) {
    .streams__list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    /* На мобильных кольца сильно сжимаются и теряют красоту — приглушаем */
    .streams__rings {
        opacity: 0.55;
    }
}

@media (max-width: 640px) {
    .streams__list {
        grid-template-columns: 1fr;
        max-width: 380px;
    }

    .streams__rings {
        opacity: 0.4;
    }
}


/* ----- Адаптив ----- */
@media (max-width: 640px) {
    .program-card {
        padding: 26px 20px;
    }

    .program-card__btn {
        width: 100%;
        min-width: 0;
    }

    .program-card__lead br {
        display: none;
    }

    .program-card__btn--left {
        width: 100%;
    }
}

/* ==========================================================================
   OFFLINE — «Оффлайн-тренинги в Москве с Валентином»
   --------------------------------------------------------------------------
   Синий фон + золотые кольца zoloto1 по углам (как .streams).
   В центре — заголовок и две белые карточки в ряд: тег, фото, заголовок,
   описание, две строки метаинформации (длительность / даты).
   ========================================================================== */

.offline {
    position: relative;
    overflow: hidden;
    padding-block: clamp(56px, 7vw, 100px);
    background-color: var(--color-bg);
    color: var(--color-text);
}

/* Декоративные золотые кольца — тот же приём, что и в .streams__rings */
.offline__rings {
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 0;
    overflow: hidden;
}

.offline__rings::before,
.offline__rings::after {
    content: "";
    position: absolute;
    top: 50%;
    width: 45%;
    aspect-ratio: 1 / 1;
    background-image: url('../img/zoloto1.png');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    transform: translateY(-50%);
}

.offline__rings::before {
    left: -22%;
    background-position: left center;
}

.offline__rings::after {
    right: -22%;
    background-position: right center;
    transform: translateY(-50%) scaleX(-1);
}

.offline__container {
    position: relative;
    z-index: 1;
}

/* ----- Шапка ----- */
.offline__head {
    text-align: center;
    margin-bottom: clamp(32px, 4vw, 56px);
}

.offline__title {
    margin: 0;
    font-family: var(--font-serif);
    font-weight: 300;
    font-size: clamp(26px, 3.2vw, 40px);
    line-height: 1.25;
    color: var(--color-text);
    letter-spacing: 0.005em;
}

/* ----- Сетка из 2 карточек ----- */
.offline__list {
    margin: 0 auto;
    padding: 0;
    list-style: none;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(20px, 2.4vw, 36px);
    max-width: 980px;
}

.offline__item {
    display: flex;
}

/* ----- Карточка ----- */
.offline-card {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: clamp(12px, 1.2vw, 16px);
    padding: clamp(22px, 2.2vw, 30px);
    background-color: #ffffff;
    color: #2a2a2a;
    border-radius: 14px;
    box-shadow: 0 18px 38px rgba(0, 0, 0, 0.22);
}

.offline-card__tag {
    margin: 0;
    font-family: var(--font-sans);
    font-weight: 400;
    font-size: 12px;
    line-height: 1.3;
    color: #7a7a7a;
    letter-spacing: 0.02em;
}

.offline-card__media {
    width: 100%;
    aspect-ratio: 4 / 2.6;
    overflow: hidden;
    border-radius: 8px;
    background-color: #d8d8d8;
}

.offline-card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.offline-card__title {
    margin: 4px 0 0;
    font-family: var(--font-sans);
    font-weight: 600;
    font-size: clamp(15px, 1.2vw, 18px);
    line-height: 1.3;
    color: #2a2a2a;
    letter-spacing: 0.005em;
}

.offline-card__text {
    margin: 0;
    font-family: var(--font-sans);
    font-weight: 300;
    font-size: clamp(12px, 0.95vw, 14px);
    line-height: 1.6;
    color: #5a5a5a;
}

.offline-card__meta {
    margin: 0;
    font-family: var(--font-sans);
    font-weight: 300;
    font-size: clamp(12px, 0.95vw, 14px);
    line-height: 1.4;
    color: #2a2a2a;
}

.offline-card__meta strong {
    font-weight: 600;
    color: #2a2a2a;
}

/* ----- Адаптив ----- */
@media (max-width: 900px) {
    .offline__list {
        grid-template-columns: 1fr;
        max-width: 460px;
    }

    .offline__rings {
        opacity: 0.55;
    }

    .offline__title br {
        display: none;
    }
}

@media (max-width: 640px) {
    .offline__rings {
        opacity: 0.4;
    }
}

/* ==========================================================================
   Секция «Отзывы о бесплатных эфирах» (.reviews)
   --------------------------------------------------------------------------
   Простой слайдер: на каждом слайде — 2 длинных скриншота в две колонки.
   Снизу по центру — две круглые синие стрелки навигации.
   Никакого фона/рамок у слайдов: только сами картинки.
   ========================================================================== */

.reviews {
    padding: clamp(40px, 6vw, 80px) 0 clamp(40px, 6vw, 80px);
    background: #fff;
}

.reviews__head {
    text-align: center;
    margin-bottom: clamp(28px, 4vw, 56px);
}

.reviews__title {
    margin: 0;
    font-family: 'Monterchi', 'Times New Roman', serif;
    font-weight: 300;
    font-size: clamp(24px, 2.6vw, 38px);
    line-height: 1.2;
    color: #0d2a4a; /* тёмно-синий, как заголовки в макете */
}

/* Обёртка-слайдер: позиционная база для стрелок (стрелки внутри потока) */
.reviews__slider {
    position: relative;
}

/* Окно просмотра — обрезает «соседние» слайды трека */
.reviews__viewport {
    overflow: hidden;
}

/* Трек: горизонтальная лента слайдов, сдвигается через --offset (в %) */
.reviews__track {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-wrap: nowrap;
    transform: translateX(var(--offset, 0%));
    transition: transform .45s ease;
    will-change: transform;
}

/* Один слайд = вся ширина viewport, внутри две колонки картинок.
   `align-items: stretch` + одинаковая `aspect-ratio` у колонок гарантируют,
   что обе колонки имеют одинаковую высоту, а изображения масштабируются
   через `object-fit: cover` — без перекосов и пустот. */
.reviews__slide {
    flex: 0 0 100%;
    min-width: 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: clamp(20px, 3vw, 48px);
    align-items: stretch;
}

/* Колонка-«фрейм»: фиксированная высота для обеих колонок —
   картинки обрезаются одинаково, слайд выглядит ровно. */
.reviews__col {
    min-width: 0;
    width: 100%;
    height: clamp(320px, 36vw, 460px);
    overflow: hidden;
    background: transparent;
    border-radius: 6px;
}

.reviews__col img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top center;
}

/* ----- Навигация: круглые стрелки снизу по центру ----- */
.reviews__nav {
    margin-top: clamp(20px, 3vw, 36px);
    display: flex;
    justify-content: center;
    gap: 14px;
}

.reviews__arrow {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    border: 0;
    padding: 0;
    background: #163a66; /* тёмно-синий */
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background .2s ease, transform .2s ease, opacity .2s ease;
}

.reviews__arrow:hover {
    background: #0d2a4a;
}

.reviews__arrow:active {
    transform: scale(0.96);
}

.reviews__arrow:disabled {
    opacity: 0.4;
    cursor: default;
}

/* ----- Адаптив ----- */
@media (max-width: 640px) {
    /* На мобильных переходим на одну колонку — по одному скриншоту на слайд легче читать */
    .reviews__slide {
        grid-template-columns: 1fr;
        gap: 18px;
    }
}

/* ==========================================================================
   OFFLINE-REVIEWS — «Отзывы с оффлайн-тренингов»
   --------------------------------------------------------------------------
   Белый фон. Заголовок тёмно-синий по центру.
   Слайдер: на одном слайде — две «чат-карточки» в две колонки
   (бледно-зелёные плашки в стиле мессенджера, с переносами строк).
   Снизу по центру — две круглые синие стрелки.
   ========================================================================== */

.offline-reviews {
    padding: clamp(40px, 6vw, 80px) 0 clamp(48px, 7vw, 96px);
    background: #fff;
    color: #2a2a2a;
}

.offline-reviews__head {
    text-align: center;
    margin-bottom: clamp(28px, 4vw, 56px);
}

.offline-reviews__title {
    margin: 0;
    font-family: var(--font-serif);
    font-weight: 300;
    font-size: clamp(24px, 2.6vw, 38px);
    line-height: 1.2;
    color: #0d2a4a;
    letter-spacing: 0.005em;
}

/* Слайдер (та же механика, что и .reviews) */
.offline-reviews__slider {
    position: relative;
}

.offline-reviews__viewport {
    overflow: hidden;
}

.offline-reviews__track {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-wrap: nowrap;
    transform: translateX(var(--offset, 0%));
    transition: transform .45s ease;
    will-change: transform;
}

.offline-reviews__slide {
    flex: 0 0 100%;
    min-width: 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: clamp(20px, 3vw, 40px);
    align-items: start;
    padding-inline: 4px; /* лёгкие поля, чтобы не «прилипало» к краю */
}

/* ----- Колонка с фото-скриншотом отзыва ----------------------------------- */
.offline-reviews__col {
    min-width: 0;
    width: 100%;
    height: clamp(320px, 36vw, 460px);
    background: transparent;
    border: none;
    border-radius: 0;
    padding: 0;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    overflow: hidden;
}

.offline-reviews__col img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top center;
    border-radius: 0;
    box-shadow: none;
}

/* ----- Навигация: круглые стрелки снизу по центру ----- */
.offline-reviews__nav {
    margin-top: clamp(20px, 3vw, 36px);
    display: flex;
    justify-content: center;
    gap: 14px;
}

.offline-reviews__arrow {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    border: 0;
    padding: 0;
    background: #163a66;
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background .2s ease, transform .2s ease, opacity .2s ease;
}

.offline-reviews__arrow:hover {
    background: #0d2a4a;
}

.offline-reviews__arrow:focus-visible {
    outline: 2px solid var(--color-accent);
    outline-offset: 3px;
}

.offline-reviews__arrow:active {
    transform: scale(0.96);
}

.offline-reviews__arrow:disabled {
    opacity: 0.4;
    cursor: default;
}

/* ----- Адаптив ----- */
@media (max-width: 768px) {
    .offline-reviews__slide {
        grid-template-columns: 1fr;
        gap: 18px;
    }
}

/* ==========================================================================
   ARTICLES — «Статьи по кинетике»
   Белый фон. Заголовок по центру (serif, тёмно-синий).
   Сетка из 4 карточек: серая квадратная картинка-обложка, мелкий
   aps-заголовок, описание в 1–2 строки, ссылка «Прочитать полностью →».
   ========================================================================== */

.articles {
    padding: clamp(48px, 6vw, 96px) 0;
    background: #ffffff;
    color: #2a2a2a;
}

.articles__head {
    text-align: center;
    margin-bottom: clamp(28px, 4vw, 48px);
}

.articles__title {
    margin: 0;
    font-family: var(--font-serif);
    font-weight: 300;
    font-size: clamp(24px, 2.6vw, 38px);
    line-height: 1.2;
    color: #0d2a4a;
    letter-spacing: 0.005em;
}

.articles__list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: clamp(20px, 2.4vw, 32px);
}

.articles__item {
    display: flex;
}

/* ----- Карточка статьи ----- */
.article-card {
    display: flex;
    flex-direction: column;
    width: 100%;
}

.article-card__cover {
    display: block;
    width: 100%;
    aspect-ratio: 1 / 1;
    background-color: #d8d8d8;
    border-radius: 4px;
    overflow: hidden;
    margin-bottom: clamp(14px, 1.4vw, 18px);
    transition: transform var(--t-base);
}

.article-card__cover:hover {
    transform: translateY(-2px);
}

.article-card__cover img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.article-card__title {
    margin: 0 0 8px;
    font-family: var(--font-sans);
    font-weight: 600;
    font-size: clamp(11px, 0.85vw, 13px);
    line-height: 1.35;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #2a2a2a;
}

.article-card__title a {
    color: inherit;
}

.article-card__title a:hover {
    color: var(--color-accent);
}

.article-card__text {
    margin: 0 0 clamp(12px, 1.4vw, 18px);
    font-family: var(--font-sans);
    font-weight: 300;
    font-size: clamp(12px, 0.9vw, 14px);
    line-height: 1.5;
    color: #6a6a6a;
}

.article-card__more {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-top: auto;
    font-family: var(--font-sans);
    font-weight: 600;
    font-size: clamp(11px, 0.85vw, 13px);
    line-height: 1.4;
    color: #2a2a2a;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.article-card__more:hover {
    color: var(--color-accent);
}

.article-card__more svg {
    flex-shrink: 0;
    transition: transform var(--t-fast);
}

.article-card__more:hover svg {
    transform: translateX(4px);
}

/* ----- Адаптив ----- */
@media (max-width: 1024px) {
    .articles__list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 28px 24px;
    }
}

@media (max-width: 480px) {
    .articles__list {
        grid-template-columns: 1fr;
        max-width: 360px;
        margin-inline: auto;
        gap: 28px;
    }
}

/* ==========================================================================
   TEAM-SLIDER — «Наша команда»
   Белый фон. Заголовок и курсивный подзаголовок по центру.
   Слайдер: на каждом слайде сетка из 4 карточек эксперта
   (серое фото 3/4, имя, золотая курсивная роль, описание).
   Снизу — две круглые синие стрелки.
   ========================================================================== */

.team-slider {
    padding: clamp(48px, 6vw, 96px) 0;
    background: #ffffff;
    color: #2a2a2a;
}

.team-slider__head {
    text-align: center;
    margin-bottom: clamp(28px, 4vw, 48px);
}

.team-slider__title {
    margin: 0;
    font-family: var(--font-serif);
    font-weight: 300;
    font-size: clamp(24px, 2.6vw, 38px);
    line-height: 1.2;
    color: #0d2a4a;
    letter-spacing: 0.005em;
}

.team-slider__subtitle {
    margin: 10px 0 0;
    font-family: var(--font-serif);
    font-style: italic;
    font-weight: 400;
    font-size: clamp(13px, 1vw, 15px);
    line-height: 1.4;
    color: #6a6a6a;
}

/* ----- Слайдер (механика, как у .reviews) ----- */
.team-slider__slider {
    position: relative;
}

.team-slider__viewport {
    overflow: hidden;
}

.team-slider__track {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-wrap: nowrap;
    transform: translateX(var(--offset, 0%));
    transition: transform .45s ease;
    will-change: transform;
}

.team-slider__slide {
    flex: 0 0 100%;
    min-width: 0;
}

.team-slider__grid {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: clamp(16px, 2vw, 28px);
}

/* ----- Карточка эксперта ----- */
.team-member {
    display: flex;
    flex-direction: column;
}

.team-member__photo {
    width: 100%;
    aspect-ratio: 3 / 4;
    overflow: hidden;
    border-radius: 4px;
    background-color: #d8d8d8;
    margin-bottom: clamp(12px, 1.2vw, 16px);
}

.team-member__photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.team-member__name {
    margin: 0 0 4px;
    font-family: var(--font-sans);
    font-weight: 600;
    font-size: clamp(14px, 1.1vw, 16px);
    line-height: 1.3;
    color: #2a2a2a;
    letter-spacing: 0.005em;
}

.team-member__role {
    margin: 0 0 10px;
    font-family: var(--font-serif);
    font-style: italic;
    font-weight: 400;
    font-size: clamp(12px, 0.95vw, 14px);
    line-height: 1.3;
    color: var(--color-accent);
}

.team-member__bio {
    margin: 0;
    font-family: var(--font-sans);
    font-weight: 300;
    font-size: clamp(12px, 0.9vw, 13px);
    line-height: 1.5;
    color: #6a6a6a;
}

/* ----- Навигация: круглые синие стрелки снизу по центру ----- */
.team-slider__nav {
    margin-top: clamp(20px, 3vw, 36px);
    display: flex;
    justify-content: center;
    gap: 14px;
}

.team-slider__arrow {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    border: 0;
    padding: 0;
    background: #163a66;
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background .2s ease, transform .2s ease, opacity .2s ease;
}

.team-slider__arrow:hover {
    background: #0d2a4a;
}

.team-slider__arrow:focus-visible {
    outline: 2px solid var(--color-accent);
    outline-offset: 3px;
}

.team-slider__arrow:active {
    transform: scale(0.96);
}

.team-slider__arrow:disabled {
    opacity: 0.4;
    cursor: default;
}

/* ----- Адаптив ----- */
@media (max-width: 1024px) {
    .team-slider__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 24px;
    }
}

@media (max-width: 480px) {
    .team-slider__grid {
        grid-template-columns: 1fr;
        max-width: 320px;
        margin-inline: auto;
        gap: 28px;
    }
}

/* ==========================================================================
   PROFESSION-STEPS — «Кинетика как профессия: 5 ступеней до диплома»
   Тёмно-синий фон. По центру заголовок (с золотым акцентом «5 ступеней»)
   и подзаголовок. Ниже сетка 3 + 2 белых карточек со ступенями (01…05).
   Под ними: золотой короткий разделитель, текст-описание программы,
   три счётчика-достижения и золотая овальная кнопка «Узнать подробнее».
   ========================================================================== */

.profession-steps {
    padding: clamp(56px, 7vw, 100px) 0;
    background-color: var(--color-bg);
    color: var(--color-text);
}

/* ----- Шапка ----- */
.profession-steps__head {
    text-align: center;
    max-width: 820px;
    margin: 0 auto clamp(32px, 4vw, 56px);
}

.profession-steps__title {
    margin: 0;
    font-family: var(--font-serif);
    font-weight: 300;
    font-size: clamp(26px, 3.2vw, 42px);
    line-height: 1.25;
    color: var(--color-text);
    letter-spacing: 0.005em;
}

.profession-steps__title-accent {
    color: var(--color-accent);
}

.profession-steps__subtitle {
    margin: clamp(16px, 1.8vw, 22px) 0 0;
    font-family: var(--font-sans);
    font-weight: 300;
    font-size: clamp(13px, 1vw, 15px);
    line-height: 1.5;
    color: var(--color-text-muted);
}

/* ----- Сетка карточек 3 + 2 -----
   На десктопе — 6-колоночная сетка. В первом ряду 3 карточки по 2 колонки.
   Во втором ряду — 2 широкие карточки по 3 колонки. */
.profession-steps__list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: clamp(16px, 1.8vw, 24px);
    max-width: 1180px;
    margin-inline: auto;
}

.profession-steps__item {
    grid-column: span 2;
    display: flex;
}

.profession-steps__item--wide {
    grid-column: span 3;
}

/* ----- Карточка ступени ----- */
.step-card {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: clamp(10px, 1vw, 14px);
    padding: clamp(22px, 2vw, 30px) clamp(22px, 2vw, 28px) clamp(24px, 2.2vw, 32px);
    background-color: #ffffff;
    color: #2a2a2a;
    border-radius: 10px;
    box-shadow: 0 18px 32px rgba(0, 0, 0, 0.18);
}

.step-card__num {
    font-family: var(--font-serif);
    font-style: italic;
    font-weight: 400;
    font-size: clamp(18px, 1.6vw, 22px);
    line-height: 1;
    color: var(--color-accent);
    letter-spacing: 0.02em;
}

.step-card__title {
    margin: 4px 0 0;
    font-family: var(--font-sans);
    font-weight: 500;
    font-size: clamp(16px, 1.3vw, 20px);
    line-height: 1.25;
    color: #2a2a2a;
    letter-spacing: 0.005em;
}

.step-card__lead {
    margin: 4px 0 0;
    font-family: var(--font-sans);
    font-weight: 400;
    font-size: clamp(13px, 1vw, 15px);
    line-height: 1.5;
    color: #2a2a2a;
}

.step-card__text {
    margin: 4px 0 0;
    font-family: var(--font-sans);
    font-weight: 300;
    font-size: clamp(13px, 1vw, 15px);
    line-height: 1.6;
    color: #5a5a5a;
}

.step-card__list {
    margin: 4px 0 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 8px;
    font-family: var(--font-sans);
    font-weight: 300;
    font-size: clamp(12px, 0.95vw, 14px);
    line-height: 1.5;
    color: #5a5a5a;
}

.step-card__list li {
    position: relative;
    padding-left: 16px;
}

.step-card__list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 8px;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background-color: var(--color-accent);
}

.step-card__note {
    margin: clamp(8px, 1vw, 12px) 0 0;
    font-family: var(--font-sans);
    font-weight: 600;
    font-size: clamp(12px, 0.95vw, 14px);
    line-height: 1.5;
    color: #2a2a2a;
}

/* ----- Низ секции: разделитель, описание, счётчики, кнопка ----- */
.profession-steps__foot {
    margin-top: clamp(40px, 5vw, 64px);
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: clamp(20px, 2.4vw, 32px);
}

.profession-steps__divider {
    display: inline-block;
    width: 48px;
    height: 2px;
    background-color: var(--color-accent);
    border-radius: 2px;
}

.profession-steps__caption {
    margin: 0;
    max-width: 720px;
    font-family: var(--font-sans);
    font-weight: 300;
    font-size: clamp(14px, 1.1vw, 16px);
    line-height: 1.6;
    color: var(--color-text);
}

/* Золотой акцент внутри подписи — только фраза
   «Программа подготовки амбассадоров школы» */
.profession-steps__caption-accent {
    color: var(--color-accent);
}

/* Три счётчика */
.profession-steps__stats {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(30px, 4vw, 80px);
    max-width: 720px;
    width: 100%;
}

.profession-steps__stat {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
}

.profession-steps__stat-num {
    margin: 0;
    font-family: var(--font-serif);
    font-weight: 400;
    font-size: clamp(28px, 3.4vw, 44px);
    line-height: 1;
    color: var(--color-accent);
    letter-spacing: 0.005em;
}

.profession-steps__stat-label {
    margin: 0;
    font-family: var(--font-sans);
    font-weight: 300;
    font-size: clamp(13px, 1vw, 15px);
    line-height: 1.3;
    color: var(--color-text-muted);
}

.profession-steps__btn {
    min-width: 220px;
}

/* ----- Адаптив ----- */
@media (max-width: 1024px) {
    /* 2 колонки: каждая карточка во весь ряд по 2 */
    .profession-steps__list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .profession-steps__item,
    .profession-steps__item--wide {
        grid-column: span 1;
    }
}

@media (max-width: 640px) {
    .profession-steps__list {
        grid-template-columns: 1fr;
        max-width: 420px;
    }

    .profession-steps__stats {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .profession-steps__title br,
    .profession-steps__caption br {
        display: none;
    }

    .profession-steps__btn {
        width: 100%;
        max-width: 280px;
    }
}

/* ==========================================================================
   FAQ-BOTTOM — «Часто задаваемые вопросы» (заключительная секция перед футером)
   --------------------------------------------------------------------------
   Белый фон. Заголовок serif по центру, тёмно-синий (как другие h2 на странице).
   Список аккордеонов на светло-сером фоне #F3F3F3, тонкий бордер #E5E5E5.
   Справа — золотой плюсик 14×14px (только горизонталь + вертикаль),
   при открытии вертикальная палочка прячется → остаётся «минус».
   Высота закрытой строки компактная, padding 18px по вертикали.
   Открытая строка показывает мелкий серый ответ под вопросом.
   ========================================================================== */

.faq-bottom {
    padding: clamp(56px, 7vw, 96px) 0 clamp(48px, 6vw, 80px);
    background: #ffffff;
    color: #2a2a2a;
}

.faq-bottom__head {
    text-align: center;
    margin-bottom: clamp(32px, 4vw, 56px);
}

.faq-bottom__title {
    margin: 0;
    font-family: var(--font-serif);
    font-weight: 300;
    font-size: clamp(24px, 2.6vw, 38px);
    line-height: 1.2;
    color: #0d2a4a;
    letter-spacing: 0.005em;
}

/* ----- Список аккордеонов ----- */
.faq-bottom__list {
    margin: 0 auto;
    padding: 0;
    list-style: none;
    max-width: 980px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.faq-bottom__item {
    list-style: none;
}

/* Сам аккордеон — серая плашка */
.faq-bottom__accordion {
    width: 100%;
    background-color: #F3F3F3;
    border: 1px solid #E5E5E5;
    border-radius: 4px;
    overflow: hidden;
    transition: background-color var(--t-fast), border-color var(--t-fast);
}

.faq-bottom__accordion[open] {
    background-color: #EFEFEF;
}

/* Строка с вопросом */
.faq-bottom__head-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    min-height: 56px;
    padding: 14px 24px;
    cursor: pointer;
    list-style: none;
    user-select: none;
}

.faq-bottom__head-row::-webkit-details-marker {
    display: none;
}

.faq-bottom__head-row:hover {
    background-color: #EBEBEB;
}

.faq-bottom__head-row:focus-visible {
    outline: 2px solid var(--color-accent);
    outline-offset: -2px;
}

.faq-bottom__q {
    flex: 1 1 auto;
    font-family: var(--font-sans);
    font-weight: 400;
    font-size: clamp(13px, 1vw, 14px);
    line-height: 1.4;
    color: #2a2a2a;
    letter-spacing: 0.005em;
}

/* Золотой плюсик справа: две палочки через ::before/::after */
.faq-bottom__icon {
    position: relative;
    flex-shrink: 0;
    width: 18px;
    height: 18px;
    color: var(--color-accent);
}

.faq-bottom__icon::before,
.faq-bottom__icon::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    background-color: currentColor;
    transition: transform var(--t-base), opacity var(--t-base);
}

/* горизонтальная палочка (остаётся всегда — превращается в «минус») */
.faq-bottom__icon::before {
    width: 14px;
    height: 1.5px;
    transform: translate(-50%, -50%);
}

/* вертикальная палочка (исчезает при открытии) */
.faq-bottom__icon::after {
    width: 1.5px;
    height: 14px;
    transform: translate(-50%, -50%);
}

.faq-bottom__accordion[open] .faq-bottom__icon::after {
    transform: translate(-50%, -50%) rotate(90deg);
    opacity: 0;
}

/* Контент ответа */
.faq-bottom__body {
    padding: 2px 24px 18px;
    font-family: var(--font-sans);
    font-weight: 300;
    font-size: clamp(12px, 0.9vw, 13px);
    line-height: 1.55;
    color: #7a7a7a;
}

.faq-bottom__body p {
    margin: 0;
}

/* ----- Адаптив ----- */
@media (max-width: 640px) {
    .faq-bottom__head-row {
        padding: 14px 18px;
        gap: 14px;
    }

    .faq-bottom__body {
        padding: 2px 18px 16px;
    }

    .faq-bottom__q {
        font-size: 13px;
    }
}


/* ==========================================================================
   ============================  MOBILE 375px  =============================
   Полная мобильная адаптация под iPhone-стандарт (width: 375).
   Срабатывает на устройствах <=480px.
   ========================================================================== */

@media (max-width: 480px) {

    /* Сброс «зума» десктопа на мобильных — на телефоне это только мешает */
    html { zoom: 1 !important; }
    body { zoom: 1 !important; }

    .container {
        width: 100%;
        max-width: 100%;
        padding-left: 16px;
        padding-right: 16px;
    }

    /* ---------- HEADER ---------- */
    .header { padding-block: 12px; }
    .header__container {
        flex-wrap: wrap;
        gap: 10px;
        align-items: center;
    }
    .header__logo-img { width: 150px; height: auto; }
    .header__actions { gap: 10px; }
    .header__login span { display: none; }      /* оставляем только иконку */
    .header__socials { display: none; }         /* соцсети прячем — экономим место */
    .lang-switcher__btn { padding: 6px 8px; font-size: 12px; }

    /* Бургер-меню (открытое) — вертикальный список на всю ширину */
    .header__menu {
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        flex-direction: column;
        background: #fff;
        padding: 16px 20px;
        gap: 12px;
        box-shadow: 0 8px 24px rgba(0, 0, 0, .08);
        z-index: 50;
    }

    /* ---------- HERO ---------- */
    .hero { padding-block: 32px 40px; }
    .hero__inner {
        grid-template-columns: 1fr;
        gap: 28px;
    }
    .hero__title {
        font-size: 26px;
        line-height: 1.2;
    }
    .hero__title br { display: none; }
    .hero__subtitle {
        font-size: 14px;
        line-height: 1.5;
    }
    .hero__subtitle br { display: none; }
    .hero__btn {
        width: 100%;
        max-width: 280px;
        margin-inline: auto;
        display: flex;
        justify-content: center;
    }
    .founder-card__photo img { width: 100%; height: auto; }
    .founder-card__caption {
        font-size: 13px;
        text-align: center;
    }
    .founder-card__caption br { display: none; }

    /* ---------- FAQ (верхний) ---------- */
    .faq { padding-block: 40px; }
    .faq__title {
        font-size: 22px;
        line-height: 1.25;
        margin-bottom: 22px;
        text-align: center;
    }
    .accordion__head {
        padding: 14px 16px;
        gap: 12px;
    }
    .accordion__text { font-size: 14px; }
    .accordion__body { padding: 0 16px 14px; font-size: 13px; }

    /* ---------- KINETICS ---------- */
    .kinetics { padding-block: 40px; }
    .kinetics__title { font-size: 24px; line-height: 1.2; }
    .kinetics__subtitle { font-size: 14px; }

    .kinetics__composition {
        grid-template-columns: 1fr;
        gap: 24px;
        text-align: center;
    }
    .kinetics__aside { font-size: 13px; line-height: 1.5; }
    .kinetics__aside p { margin: 0 0 10px; }

    .quote-circle {
        width: 280px;
        height: 280px;
        margin-inline: auto;
    }
    .quote-circle__ring { width: 280px; height: 280px; }
    .quote-circle__quote { padding: 30px; }
    .quote-circle__quote p { font-size: 12px; line-height: 1.4; }
    .quote-circle__author { font-size: 11px; }

    .kinetics__intro { text-align: center; }
    .kinetics__heading { font-size: 22px; }
    .kinetics__lead, .kinetics__strong, .kinetics__note { font-size: 13px; }
    .kinetics__lead br { display: none; }
    .kinetics__list { padding-left: 18px; font-size: 13px; text-align: left; }

    .kinetics__how-title { font-size: 22px; text-align: center; }
    .steps {
        grid-template-columns: 1fr;
        gap: 22px;
    }
    .steps__item { text-align: center; }
    .steps__number { width: 80px; height: 80px; margin-inline: auto; }
    .steps__text { font-size: 13px; }
    .steps__text br { display: none; }

    /* ---------- FOUNDER ---------- */
    .founder { padding-block: 40px; }
    .founder__title {
        font-size: 22px;
        line-height: 1.25;
        text-align: center;
    }
    .founder__title br { display: none; }
    .founder__grid {
        grid-template-columns: 1fr;
        gap: 24px;
    }
    .founder__media img { width: 100%; height: auto; border-radius: 12px; }
    .founder__list { gap: 12px; }
    .founder__list-text { font-size: 13px; line-height: 1.45; }
    .founder__list-text br { display: none; }

    .founder__stats {
        grid-template-columns: 1fr;
        gap: 12px;
    }
    .stat-card { padding: 16px; }
    .stat-card__value { font-size: 22px; }
    .stat-card__label { font-size: 12px; }
    .stat-card__label br { display: none; }

    /* ---------- PROGRAMS ---------- */
    .programs { padding-block: 40px; }
    .programs__title { font-size: 22px; line-height: 1.25; }
    .programs__title br { display: none; }
    .programs__subtitle { font-size: 13px; }
    .programs__group-title { font-size: 18px; }

    .programs__slider { padding-inline: 0; }
    .programs__slide { padding: 0; }
    .program-card { padding: 20px; }
    .program-card__title { font-size: 18px; line-height: 1.25; }
    .program-card__lead { font-size: 13px; }
    .program-card__lead br { display: none; }
    .program-card__match-title { font-size: 13px; }
    .program-card__match-list { font-size: 13px; padding-left: 18px; }
    .program-card__btn {
        width: 100%;
        max-width: 100%;
        padding: 12px 16px;
        font-size: 13px;
        text-align: center;
        justify-content: center;
    }

    .programs__pair {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    /* ---------- STREAMS (Бесплатные эфиры) ---------- */
    .streams { padding-block: 40px; }
    .streams__rings { display: none; }
    .streams__title { font-size: 22px; text-align: center; }
    .streams__subtitle { font-size: 13px; text-align: center; }
    .streams__list {
        grid-template-columns: 1fr;
        gap: 18px;
    }
    .stream-card { padding: 16px; }
    .stream-card__media img { width: 100%; height: auto; }
    .stream-card__title { font-size: 15px; line-height: 1.3; }
    .stream-card__features { font-size: 13px; padding-left: 18px; }
    .stream-card__btn {
        width: 100%;
        text-align: center;
        justify-content: center;
        padding: 12px 16px;
        font-size: 13px;
    }

    /* ---------- REVIEWS ---------- */
    .reviews { padding-block: 40px; }
    .reviews__title { font-size: 22px; text-align: center; }
    .reviews__slide {
        grid-template-columns: 1fr;
        gap: 16px;
    }
    .reviews__col img { width: 100%; height: auto; }
    .reviews__nav { gap: 10px; justify-content: center; margin-top: 18px; }
    .reviews__arrow { width: 34px; height: 34px; }

    /* ---------- OFFLINE ---------- */
    .offline { padding-block: 40px; }
    .offline__rings { display: none; }
    .offline__title { font-size: 22px; text-align: center; line-height: 1.25; }
    .offline__title br { display: none; }
    .offline__list {
        grid-template-columns: 1fr;
        gap: 18px;
    }
    .offline-card { padding: 16px; }
    .offline-card__media img { width: 100%; height: auto; }
    .offline-card__title { font-size: 17px; }
    .offline-card__text { font-size: 13px; line-height: 1.5; }
    .offline-card__meta { font-size: 13px; }

    /* ---------- OFFLINE REVIEWS ---------- */
    .offline-reviews { padding-block: 40px; }
    .offline-reviews__title { font-size: 22px; text-align: center; }
    .offline-reviews__slide {
        grid-template-columns: 1fr;
        gap: 16px;
    }
    .offline-reviews__col img { width: 100%; height: auto; }
    .offline-reviews__nav { gap: 10px; justify-content: center; margin-top: 18px; }
    .offline-reviews__arrow { width: 34px; height: 34px; }

    /* ---------- ARTICLES ---------- */
    .articles { padding-block: 40px; }
    .articles__title { font-size: 22px; text-align: center; }
    .articles__list {
        grid-template-columns: 1fr;
        gap: 22px;
    }
    .article-card__cover { aspect-ratio: 16 / 10; }
    .article-card__cover img { width: 100%; height: 100%; object-fit: cover; }
    .article-card__title { font-size: 16px; line-height: 1.3; }
    .article-card__text { font-size: 13px; }
    .article-card__more { font-size: 13px; }

    /* ---------- TEAM SLIDER ---------- */
    .team-slider { padding-block: 40px; }
    .team-slider__title { font-size: 22px; text-align: center; }
    .team-slider__subtitle { font-size: 13px; text-align: center; }
    .team-slider__grid {
        grid-template-columns: 1fr;
        gap: 22px;
    }
    .team-member__photo { width: 200px; height: 200px; margin-inline: auto; }
    .team-member { text-align: center; }
    .team-member__name { font-size: 16px; }
    .team-member__role { font-size: 13px; }
    .team-member__bio { font-size: 13px; }
    .team-slider__nav { gap: 10px; justify-content: center; margin-top: 18px; }
    .team-slider__arrow { width: 34px; height: 34px; }

    /* ---------- PROFESSION STEPS (5 ступеней до диплома) ---------- */
    .profession-steps { padding-block: 40px; }
    .profession-steps__title { font-size: 22px; line-height: 1.25; text-align: center; }
    .profession-steps__title br { display: none; }
    .profession-steps__subtitle { font-size: 13px; text-align: center; }
    .profession-steps__list {
        grid-template-columns: 1fr;
        gap: 16px;
    }
    .profession-steps__item--wide { grid-column: auto; }
    .step-card { padding: 18px; }
    .step-card__num { font-size: 32px; }
    .step-card__title { font-size: 17px; }
    .step-card__list, .step-card__lead, .step-card__text, .step-card__note { font-size: 13px; }

    .profession-steps__caption { font-size: 13px; text-align: center; }
    .profession-steps__caption br { display: none; }
    .profession-steps__stats {
        grid-template-columns: 1fr;
        gap: 12px;
        text-align: center;
    }
    .profession-steps__stat-num { font-size: 24px; }
    .profession-steps__stat-label { font-size: 13px; }
    .profession-steps__btn {
        width: 100%;
        max-width: 280px;
        margin-inline: auto;
        display: flex;
        justify-content: center;
    }

    /* ---------- FAQ BOTTOM ---------- */
    .faq-bottom { padding-block: 40px; }
    .faq-bottom__title {
        font-size: 22px !important;
        line-height: 1.25;
        text-align: center;
    }
    .faq-bottom__head-row { padding: 12px 14px; gap: 10px; }
    .faq-bottom__q { font-size: 13px; }
    .faq-bottom__body { padding: 2px 14px 14px; font-size: 12px; }

    /* ---------- FOOTER ---------- */
    .footer { padding-block: 32px; }
    .footer__inner,
    .footer__container,
    .footer__grid {
        grid-template-columns: 1fr !important;
        gap: 22px;
        text-align: center;
    }
    .footer__logo-img { margin-inline: auto; }
    .footer__menu,
    .footer__socials,
    .footer__contacts {
        justify-content: center;
        text-align: center;
    }

    /* ---------- Универсальные правила ---------- */
    h1, h2, h3 { word-wrap: break-word; }
    img { max-width: 100%; height: auto; }

    /* ======================================================================
       COURSES.HTML — страница «Курсы»
       ====================================================================== */

    /* ---------- COURSES HERO ---------- */
    .courses-hero { padding-block: 80px 40px; min-height: auto; }
    .courses-hero__title {
        font-size: 32px;
        line-height: 1.1;
        text-align: left;
    }
    .courses-hero__title br { display: none; }
    .courses-hero::after { width: 100%; opacity: 0.2; }

    /* ---------- COURSES STATS (книга/ладошки/аплодисменты) ---------- */
    .courses-stats { padding-block: 32px; }
    .courses-stats__list {
        grid-template-columns: 1fr;
        gap: 24px;
    }
    .courses-stats__item { gap: 12px; }
    .courses-stats__icon svg { width: 44px; }
    .courses-stats__label { font-size: 14px; }
    .courses-stats__label br { display: none; }

    /* ---------- COURSES CATALOG (фильтры + карточки) ---------- */
    .courses-catalog { padding-block: 40px; }

    .courses-filters {
        flex-wrap: wrap;
        gap: 8px;
        margin-bottom: 24px;
        justify-content: flex-start;
    }
    .courses-filters .library-filters__btn {
        padding: 8px 14px;
        font-size: 12px;
        min-height: 32px;
    }

    .courses-grid {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .course-card__media { aspect-ratio: 4 / 2.5; }
    .course-card__title { font-size: 16px; line-height: 1.3; }
    .course-card__desc { font-size: 13px; }
    .course-card__features-title { font-size: 13px; }
    .course-card__features { font-size: 13px; }
    .course-card__btn {
        width: 100%;
        padding: 12px 16px;
        font-size: 13px;
    }

    .courses-more-btn {
        width: 100%;
        min-width: 0;
        padding: 12px 16px;
        font-size: 14px;
    }

    /* ---------- COURSES EXTRA ---------- */
    .courses-extra { padding-block: 40px; }
    .courses-extra__title { font-size: 22px; text-align: center; }

    /* ---------- COURSES REVIEWS (слайдер отзывов) ---------- */
    .courses-reviews { padding-block: 40px; }
    .courses-reviews__title { font-size: 22px; text-align: center; line-height: 1.25; }
    .review-card { padding: 18px; }
    .review-card__text { font-size: 14px; line-height: 1.6; }
    .review-card__link { font-size: 13px; }
    .courses-reviews__nav { gap: 12px; margin-top: 22px; }
    .courses-reviews__arrow { width: 36px; height: 36px; }

    /* ---------- EXPERT (Валентин Шишкин — фото + статистика) ---------- */
    .expert { padding-block: 40px; }
    .expert__grid {
        grid-template-columns: 1fr;
        gap: 24px;
    }
    .expert__media {
        max-width: 280px;
        margin-inline: auto;
    }
    .expert__title { font-size: 22px; line-height: 1.25; text-align: center; }
    .expert__title br { display: none; }
    .expert__list { font-size: 14px; }
    .expert__stats {
        grid-template-columns: 1fr;
        gap: 10px;
    }
    .expert__stat {
        flex-direction: row;
        justify-content: center;
        align-items: center;
        gap: 12px;
        padding: 14px 16px;
    }
    .expert__stat-number { font-size: 22px; }
    .expert__stat-label { font-size: 12px; text-align: left; }

    /* ======================================================================
       COURSE.HTML — страница отдельного курса
       ====================================================================== */

    /* ---------- COURSE HERO ---------- */
    .course-hero {
        padding-block: 80px 40px;
        min-height: auto;
    }
    .course-hero::after {
        left: 0;
        right: -10%;
        background-size: 180% auto;
        opacity: 0.25;
    }
    .course-hero__content { max-width: 100%; }
    .course-hero__title {
        font-size: 28px;
        line-height: 1.15;
    }
    .course-hero__title br { display: none; }
    .course-hero__subtitle {
        font-size: 14px;
        line-height: 1.55;
    }
    .course-hero__subtitle br { display: none; }
    .course-hero__btn {
        width: 100%;
        max-width: 280px;
        display: flex;
        justify-content: center;
        padding: 12px 16px;
        font-size: 13px;
    }

    /* ---------- AUDIENCE (4 круга 01–04 «Для женщин, которые хотят») ---------- */
    .audience { padding-block: 40px; }
    .audience__title {
        font-size: 22px;
        line-height: 1.25;
        text-align: center;
    }
    .audience__title br { display: none; }
    .audience__list {
        grid-template-columns: 1fr;
        gap: 24px;
        margin-top: 28px;
    }
    .audience__item { gap: 14px; padding-inline: 0; }
    .audience__circle { width: 76px; }
    .audience__num { font-size: 22px; }
    .audience__text {
        font-size: 13px;
        line-height: 1.5;
        max-width: 280px;
    }
    .audience__text br { display: none; }

    /* ---------- INCLUDES («Включает в себя» — фон mujik.png) ---------- */
    .includes { padding-block: 40px; }
    .includes__title {
        font-size: 22px;
        line-height: 1.25;
        text-align: center;
        margin-bottom: 24px;
    }
    .includes__title br { display: none; }
    .includes__list { gap: 16px; max-width: 100%; }
    .includes__item {
        grid-template-columns: 32px minmax(0, 1fr);
        gap: 12px;
    }
    .includes__num { font-size: 20px; }
    .includes__desc {
        font-size: 13px;
        line-height: 1.6;
    }
    .includes__desc br { display: none; }
    .includes__btn {
        width: 100%;
        max-width: 280px;
        margin-inline: auto;
        display: flex;
        justify-content: center;
        margin-top: 24px;
        padding: 12px 16px;
        font-size: 13px;
    }

    /* ======================================================================
       LIBRARY.HTML — страница «Библиотека»
       ====================================================================== */

    /* ---------- LIBRARY HERO ---------- */
    .library-hero {
        padding-block: 80px 40px;
        min-height: auto;
    }
    .library-hero::after {
        left: 0;
        right: -10%;
        background-size: 180% auto;
        opacity: 0.25;
    }
    .library-hero__content { max-width: 100%; }
    .library-hero__title {
        font-size: 28px;
        line-height: 1.15;
    }
    .library-hero__title br { display: none; }
    .library-hero__subtitle {
        font-size: 14px;
        line-height: 1.55;
    }
    .library-hero__subtitle br { display: none; }
    .library-hero__btn {
        width: 100%;
        max-width: 280px;
        display: flex;
        justify-content: center;
        padding: 12px 16px;
        font-size: 13px;
    }

    /* ---------- LIBRARY CATALOG ---------- */
    .library-catalog { padding-block: 40px; }
    .library-catalog__title {
        font-size: 22px;
        line-height: 1.25;
        text-align: center;
        margin-bottom: 24px;
    }

    /* Фильтры — переносятся, кнопки компактнее */
    .library-filters {
        flex-wrap: wrap;
        gap: 8px;
        justify-content: flex-start;
        margin-bottom: 24px;
    }
    .library-filters__btn {
        padding: 7px 14px;
        font-size: 12px;
        min-height: 30px;
    }

    /* Сетка — 1 колонка */
    .library-grid {
        grid-template-columns: 1fr;
        gap: 24px;
        max-width: 320px;
        margin-inline: auto;
    }

    /* Карточка материала */
    .material-card__cover {
        aspect-ratio: 1 / 1;
        border-radius: 12px;
        margin-bottom: 14px;
    }
    .material-card__title { font-size: 12px; line-height: 1.4; }
    .material-card__text { font-size: 13px; line-height: 1.5; margin-bottom: 12px; }
    .material-card__more { font-size: 13px; }

    /* Кнопка «Показать ещё» — full-width */
    .library-more-btn {
        width: 100%;
        min-width: 0;
        padding: 12px 16px;
        font-size: 14px;
    }

    /* ======================================================================
       PROFESSION.HTML — страница «Профессия» (имидж-консультант)
       ====================================================================== */

    /* ---------- PROFESSION HERO ---------- */
    .profession-hero {
        padding-block: 80px 40px;
        min-height: auto;
    }
    .profession-hero::after {
        left: 0;
        right: -10%;
        background-size: 180% auto;
        opacity: 0.25;
    }
    .profession-hero__content { max-width: 100%; }
    .profession-hero__title {
        font-size: 28px;
        line-height: 1.15;
    }
    .profession-hero__title br { display: none; }
    .profession-hero__text {
        font-size: 14px;
        line-height: 1.55;
    }
    .profession-hero__text br { display: none; }
    .profession-hero__btn {
        width: 100%;
        max-width: 280px;
        display: flex;
        justify-content: center;
        padding: 12px 16px;
        font-size: 13px;
    }

    /* ---------- PROFESSION ABOUT (4 преимущества) ---------- */
    .profession-about { padding-block: 40px; }
    .profession-about__title {
        font-size: 22px;
        line-height: 1.25;
        text-align: center;
    }
    .profession-about__title br { display: none; }
    .profession-about__lead {
        font-size: 13px;
        line-height: 1.6;
        text-align: center;
    }
    .profession-about__lead br { display: none; }

    .profession-features {
        grid-template-columns: 1fr;
        gap: 24px;
        margin-top: 28px;
        max-width: 320px;
        margin-inline: auto;
    }
    .profession-features__item { padding-inline: 0; }
    .profession-features__icon svg { width: 44px; }
    .profession-features__title { font-size: 16px; }
    .profession-features__text {
        font-size: 13px;
        line-height: 1.55;
    }
    .profession-features__text br { display: none; }

    /* ---------- PROFESSION PROGRAM (6 пунктов на фото mujik.png) ---------- */
    .profession-program { padding-block: 40px; }
    .profession-program__title {
        font-size: 22px;
        line-height: 1.25;
        text-align: center;
        margin-bottom: 24px;
    }
    .profession-program__title br { display: none; }

    .profession-program__list {
        grid-template-columns: 1fr;
        gap: 18px;
        max-width: 100%;
    }
    .profession-program__item {
        grid-template-columns: 32px minmax(0, 1fr);
        gap: 12px;
    }
    .profession-program__num { font-size: 20px; }
    .profession-program__name { font-size: 15px; line-height: 1.3; }
    .profession-program__text {
        font-size: 13px;
        line-height: 1.55;
    }
    .profession-program__text br { display: none; }

    .profession-program__btn {
        width: 100%;
        max-width: 280px;
        margin-inline: auto;
        display: flex;
        justify-content: center;
        margin-top: 24px;
        padding: 12px 16px;
        font-size: 13px;
    }

    /* ======================================================================
       TEACHER.HTML — страница «Преподаватель» (Валентин Шишкин)
       ====================================================================== */

    /* ---------- TEACHER HERO (фото + контент) ---------- */
    .teacher-hero {
        padding-block: 80px 40px;
        min-height: auto;
    }
    .teacher-hero::after {
        left: 0;
        right: -10%;
        background-size: 180% auto;
        opacity: 0.25;
    }
    .teacher-hero__grid {
        grid-template-columns: 1fr;
        gap: 24px;
        text-align: center;
    }
    .teacher-hero__content { max-width: 100%; }
    .teacher-hero__title {
        font-size: 28px;
        line-height: 1.15;
    }
    .teacher-hero__title br { display: none; }
    .teacher-hero__role { font-size: 14px; }
    .teacher-hero__text {
        font-size: 14px;
        line-height: 1.55;
    }
    .teacher-hero__text br { display: none; }
    .teacher-hero__btn {
        width: 100%;
        max-width: 280px;
        margin-inline: auto;
        display: flex;
        justify-content: center;
        padding: 12px 16px;
        font-size: 13px;
    }
    .teacher-hero__media {
        max-width: 260px;
        margin-inline: auto;
        justify-self: center;
    }

    /* ---------- TEACHER ABOUT («О преподавателе») ---------- */
    .teacher-about__head { padding-block: 40px; }
    .teacher-about__title {
        font-size: 22px;
        line-height: 1.25;
    }
    .teacher-about__lead {
        font-size: 13px;
        line-height: 1.65;
    }
    .teacher-about__lead + .teacher-about__lead { margin-top: 14px; }

    /* TEACHER STATS — синяя полоса со счётчиками */
    .teacher-stats { padding-block: 32px; }
    .teacher-stats__list {
        grid-template-columns: 1fr;
        gap: 22px;
    }
    .teacher-stats__number { font-size: 26px; }
    .teacher-stats__label { font-size: 13px; max-width: 260px; }

    /* ---------- TEACHER EDU («Образование и профессиональный путь») ---------- */
    .teacher-edu { padding-block: 40px; }
    .teacher-edu__title {
        font-size: 22px;
        line-height: 1.25;
        margin-bottom: 24px;
    }
    .teacher-edu__grid {
        grid-template-columns: 1fr;
        gap: 24px;
    }
    .teacher-edu__media {
        max-width: 280px;
        margin-inline: auto;
        aspect-ratio: 4 / 5;
    }
    .teacher-edu__list { font-size: 13px; line-height: 1.55; gap: 12px; }
    .teacher-edu__list li { padding-left: 28px; }
    .teacher-edu__list li::before {
        width: 16px;
        height: 16px;
        top: 3px;
    }
    .teacher-edu__btn {
        width: 100%;
        max-width: 280px;
        margin-inline: auto;
        align-self: center;
        display: flex;
        justify-content: center;
        padding: 12px 16px;
        font-size: 13px;
    }

    /* ---------- CONTACT CTA («Хотите узнать больше?») ---------- */
    .contact-cta {
        min-height: auto;
    }
    .contact-cta__media {
        position: absolute;
        inset: 0;
        width: 100%;
        opacity: 0.35;
    }
    .contact-cta::before {
        background: linear-gradient(
            180deg,
            rgba(15, 27, 41, 0.85) 0%,
            rgba(15, 27, 41, 0.95) 100%
        );
    }
    .contact-cta::after { display: none; }
    .contact-cta__container { padding-block: 40px; }
    .contact-cta__content { max-width: 100%; text-align: center; }
    .contact-cta__title {
        font-size: 22px;
        line-height: 1.25;
    }
    .contact-cta__text {
        font-size: 13px;
        line-height: 1.55;
    }
    .contact-cta__btn {
        width: 100%;
        max-width: 280px;
        margin-inline: auto;
        display: flex;
        justify-content: center;
        padding: 12px 16px;
        font-size: 13px;
    }

    /* ======================================================================
       ABOUT.HTML — страница «О школе»
       ====================================================================== */

    /* ---------- ABOUT HERO ---------- */
    .about-hero {
        padding-block: 80px 40px;
        min-height: auto;
    }
    .about-hero::after {
        left: 0;
        right: -10%;
        background-size: 180% auto;
        opacity: 0.25;
    }
    .about-hero__content { max-width: 100%; }
    .about-hero__title {
        font-size: 28px;
        line-height: 1.15;
    }
    .about-hero__title br { display: none; }
    .about-hero__subtitle {
        font-size: 14px;
        line-height: 1.55;
    }
    .about-hero__subtitle br { display: none; }
    .about-hero__btn {
        width: 100%;
        max-width: 280px;
        display: flex;
        justify-content: center;
        padding: 12px 16px;
        font-size: 13px;
    }

    /* ---------- MISSION («Наша миссия и ценности» — 2 карточки) ---------- */
    .mission { padding-block: 40px; }
    .mission__title {
        font-size: 22px;
        line-height: 1.25;
        text-align: center;
    }
    .mission__grid {
        grid-template-columns: 1fr;
        gap: 28px;
        margin-top: 28px;
        max-width: 320px;
        margin-inline: auto;
    }
    .mission-card { gap: 12px; }
    .mission-card__icon svg { width: 44px; }
    .mission-card__title { font-size: 17px; }
    .mission-card__text {
        font-size: 13px;
        line-height: 1.55;
    }
    .mission-card__text br { display: none; }

    /* ---------- STATS (синяя полоса со счётчиками школы) ---------- */
    .stats { padding-block: 32px; }
    .stats__title {
        font-size: 20px;
        line-height: 1.3;
    }
    .stats__title br { display: none; }
    .stats__list {
        grid-template-columns: 1fr;
        gap: 22px;
        margin-top: 28px;
    }
    .stats__number { font-size: 28px; }
    .stats__label {
        font-size: 13px;
        max-width: 260px;
    }

    /* ---------- TEAM («Наша команда» — 4 эксперта) ---------- */
    .team { padding-block: 40px; }
    .team__title {
        font-size: 22px;
        line-height: 1.25;
        text-align: center;
    }
    .team__subtitle {
        font-size: 13px;
        line-height: 1.5;
        text-align: center;
    }
    .team__list {
        grid-template-columns: 1fr;
        gap: 24px;
        max-width: 280px;
        margin-inline: auto;
    }
    .team-card { gap: 10px; }
    .team-card__photo {
        aspect-ratio: 1 / 1;
    }
    .team-card__name { font-size: 16px; }
    .team-card__role { font-size: 12px; }
    .team-card__bio {
        font-size: 13px;
        line-height: 1.55;
    }

    /* ======================================================================
       CONTACTS.HTML — страница «Контакты»
       ====================================================================== */

    /* ---------- CONTACTS HERO (заголовок + список + фото справа) ---------- */
    .contacts-hero {
        padding-block: 80px 40px;
        min-height: auto;
    }
    .contacts-hero__grid {
        grid-template-columns: 1fr;
        gap: 24px;
    }
    .contacts-hero__content { max-width: 100%; }
    .contacts-hero__title {
        font-size: 28px;
        line-height: 1.15;
    }
    .contacts-hero__title br { display: none; }
    .contacts-hero__lead {
        font-size: 14px;
        line-height: 1.55;
    }
    .contacts-hero__lead br { display: none; }

    /* Список контактов: иконка + основная строка + подпись */
    .contacts-list {
        margin-top: 24px;
        gap: 16px;
    }
    .contacts-list__item {
        grid-template-columns: 40px minmax(0, 1fr);
        gap: 12px;
    }
    .contacts-list__icon { width: 40px; height: 40px; }
    .contacts-list__main { font-size: 14px; }
    .contacts-list__sub { font-size: 12px; }

    /* Фото справа — снизу, по центру */
    .contacts-hero__media {
        justify-self: center;
        max-width: 100%;
        aspect-ratio: 4 / 3;
        border-radius: 12px;
    }

    /* ---------- CONTACTS FORM SECTION («Напишите нам» / «Мы поможем вам») ---------- */
    .contacts-form-section { padding-block: 40px; }
    .contacts-form-section__grid {
        grid-template-columns: 1fr;
        gap: 32px;
    }
    .contacts-form-section__title {
        font-size: 22px;
        line-height: 1.25;
        margin-bottom: 20px;
        text-align: center;
    }

    /* Форма — все поля в одну колонку, кнопка full-width */
    .contacts-form__row--two {
        grid-template-columns: 1fr;
    }
    .contacts-form__field input,
    .contacts-form__field textarea {
        padding: 12px 14px;
        font-size: 14px;
    }
    .contacts-form__field textarea { min-height: 110px; }
    .contacts-form__btn {
        width: 100%;
        min-width: 0;
        align-self: stretch;
        padding: 12px 16px;
        font-size: 13px;
        display: flex;
        justify-content: center;
    }

    /* Список «Мы поможем вам» */
    .help-list { gap: 18px; }
    .help-list__title { font-size: 15px; }
    .help-list__text {
        font-size: 13px;
        line-height: 1.55;
    }

    /* ---------- CONTACTS MAP (карта + белая карточка «Мы вас ждём») ---------- */
    .contacts-map {
        min-height: 380px;
    }
    .contacts-map__container {
        padding-block: 28px;
        justify-content: center;
    }
    .map-card {
        max-width: 100%;
        padding: 20px 20px 22px;
    }
    .map-card__title { font-size: 20px; line-height: 1.25; }
    .map-card__address { font-size: 13px; line-height: 1.55; }
    .map-card__subtitle { font-size: 13px; }
    .map-card__list { font-size: 13px; line-height: 1.5; }
    .map-card__btn {
        width: 100%;
        padding: 12px 16px;
        font-size: 13px;
    }
}

