/* ===== ШРИФТ ===== */
@font-face {
    font-family: "Stengazeta";
    src: url("../fonts/Stengazeta-Regular_5.ttf") format("truetype");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

/* ===== БАЗА ===== */
html, body {
    height: 100%;
    background: transparent;
    color: #fff;
    font-family: "Stengazeta", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;
}
.navbar-brand, .navbar .nav-link { color: #fff; }
.navbar .nav-link:hover, .navbar .nav-link:focus { opacity: .85; }

/* Header font ×1.5 */
header .navbar-brand {
    font-size: clamp(30px, 3.6vw, 42px);
    line-height: 1.1;
}
header .navbar-nav .nav-link {
    font-size: clamp(21px, 2.4vw, 27px);
    line-height: 1.1;
}

/* Плавное переключение фона и тень */
header { transition: background-color .25s ease, box-shadow .25s ease; }

/* По умолчанию — прозрачная (над видео) */
header:not(.header-solid) .navbar { background-color: transparent !important; }

/* Когда шапка НЕ над видео — фон #161a19 */
header.header-solid .navbar { background-color: #161a19 !important; }

/* На мобиле при открытом меню — тоже solid */
@media (max-width: 991.98px) {
    header .navbar-collapse.show {
        background-color: #161a19;
        padding: .75rem 0;
    }
}

/* ===== Отступ под фиксированной шапкой (кроме index) =====
   Работает на любых страницах, где на <header> есть класс .header-solid */
header.header-solid + main {
    padding-top: 75px;   /* нужный отступ */
}

/* На очень маленьких экранах можно чуть увеличить, если нужно
@media (max-width: 575.98px) {
  header.header-solid + main { padding-top: 80px; }
}
*/
/* На мобиле при открытом меню — тоже solid */
@media (max-width: 991.98px) {
    header .navbar-collapse.show {
        background-color: #161a19;
        padding: .75rem 0;
    }
}

/* ===== ВИДЕО ===== */
.hero { background: transparent; }
.hero-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }

/* Отступы/ширина поверх видео (×1.5) */
.hero-overlay {
    position: relative; z-index: 2; padding-top: 108px; /* было 72px */
    padding-left: clamp(24px, 7.5vw, 108px);            /* было clamp(16px,5vw,72px) */
    padding-right: clamp(24px, 7.5vw, 108px);
}
.slide-box {
    max-width: 750px;                                    /* было 500px */
    width: 100%;
    padding: 27px 39px;                                  /* было 18px 26px */
    margin-inline: 3vw;                                  /* было 2vw */
}

.text-shadow { text-shadow: 0 3px 18px rgba(0,0,0,.55); } /* было 0 2px 12px */

/* ===== ЕДИНЫЕ КЕГЛИ (×1.5) ===== */
.hero-title { font-weight: 700; line-height: 1.12; font-size: clamp(30px, 4.8vw, 48px); } /* было clamp(20px,3.2vw,32px) */
.hero-subtitle, .hero-list li, .hero-text, .money-note, .money-note-inline, .money-line {
    font-size: clamp(21px, 2.7vw, 27px); /* было clamp(14px,1.8vw,18px) */
}
.join-title { font-weight: 800; line-height: 1.05; font-size: clamp(33px, 5.7vw, 57px); } /* было clamp(22px,3.8vw,38px) */

/* Деньги (×1.5) */
.money-large  { font-weight: 800; line-height: 1.05; font-size: clamp(39px, 8.25vw, 72px); } /* было clamp(26px,5.5vw,48px) */
.money-annual { font-weight: 800; font-size: clamp(33px, 7.2vw, 60px); }                     /* было clamp(22px,4.8vw,40px) */
.money-note { opacity: .95; }
.money-note-inline { opacity: .95; font-weight: 600; }

/* Цвет для цифр */
.num { color: #3ab7ff; }

/* Акценты "СВОим!" */
.accent-svo { color: #3ab7ff; }
.accent-im  { color: #f24e4e; }

/* Кнопка CTA — без скруглений (×1.5) */
.btn-cta {
    background: #5d6b48;
    color: #fff;
    padding: 1.35rem 2.4rem;
    border: none;
    border-radius: 0;
    font-weight: 700;
    font-size: clamp(21px, 2.7vw, 27px);
    text-transform: uppercase;
    transition: background-color .2s ease; /* плавный переход */    /* было clamp(14px,1.8vw,18px) */
}
.btn-cta:hover {  background: #41a683; /* тот же фон, без фильтра */
    color: #fff; }

/* ===== Центровка кнопок слайдера (×1.5) ===== */
.hero-controls{
    bottom: 8px;                 /* опустили ниже (ближе к краю) */
    z-index: 10;                 /* поверх всего */
    pointer-events: none;        /* чтобы контейнер не блокировал клики */
}

/* Кнопки активируем и делаем кликабельными */
.hero-controls .carousel-control-prev,
.hero-controls .carousel-control-next{
    position: static;
    width: 69px;
    height: 69px;
    background: rgba(0,0,0,.28);
    border-radius: .6rem;
    pointer-events: auto;        /* клики только на кнопках */
}

/* Ховер без «прозрачности» — лёгкая подложка, не меняем яркость */
.hero-controls .carousel-control-prev:hover,
.hero-controls .carousel-control-next:hover{
    background: rgba(0,0,0,.36);
}

/* На всякий случай скрываем стандартные угловые */
.carousel-control-prev.hero-control,
.carousel-control-next.hero-control{ display: none !important; }

/* ===== Блок "следящая информация" ===== */
:root{
    --info-h: 108vh;          /* было 72vh — пропорционально ×1.5 */
    --info-short-delta: 33px; /* было 22px */
}

.info-section {
    background: #232726;
    color: #fff;
    min-height: var(--info-h);
    display: flex;
    align-items: center;
}
.info-section .container-xxl{
    padding-left: clamp(24px, 7.5vw, 108px);   /* было clamp(16px,5vw,72px) */
    padding-right: clamp(24px, 7.5vw, 108px);
}

/* Ряд и колонки — на одинаковую высоту */
.info-row { min-height: var(--info-h); }
.info-col { display: flex; }

/* Карточки контента */
.info-box{
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    height: 100%;
    padding: 33px 42px;       /* было 22px 28px */
}

/* Правый блок — чуть короче */
.info-box--terms{
    height: calc(100% - var(--info-short-delta));
    margin-top: calc(var(--info-short-delta) / 2);
    margin-bottom: calc(var(--info-short-delta) / 2);
}

/* Заголовки и списки (×1.5) */
.section-title{ font-weight:700; line-height:1.15; font-size:clamp(27px, 3.9vw, 42px); } /* было clamp(18px,2.6vw,28px) */
.section-subtitle{ font-weight:400; opacity:.9; font-size:1.35em; }                      /* было .9em -> ×1.5 */

.info-list li{
    position:relative; padding-left:27px; margin-bottom:15px;   /* было 18px / 10px */
    line-height:1.35; font-size:clamp(21px, 2.7vw, 25.5px);     /* было clamp(14px,1.8vw,17px) */
}
.info-list li::before{ content:"—"; position:absolute; left:0; top:0; color:#41a683; }

.conditions li{
    display:flex; align-items:flex-start; gap:15px; margin-bottom:15px; /* было 10/10 */
    line-height:1.35; font-size:clamp(21px, 2.7vw, 25.5px);
}
.badge-step{
    flex:0 0 42px; height:42px;                                  /* было 28px */
    display:inline-flex; align-items:center; justify-content:center;
    border:1px solid #41a683; color:#41a683; font-weight:700; font-size:1.35rem; /* было .9rem */
}

/* Акценты */
.info-section .num{ color:#41a683; }
.info-section a.accent-link{ color:#41a683; text-decoration:underline; text-underline-offset:3px; } /* было 2px */
.info-section a.accent-link:hover{ text-decoration-thickness: 3px; }

/* Мобильная адаптация */
@media (max-width: 991.98px){
    .info-section, .info-row{ min-height:auto; }
    .info-box, .info-box--terms{
        height:auto; margin:0; padding:27px 33px;   /* было 18px 22px -> ×1.5 */
    }
}

/* ===== Секция с картинкой и подписью ===== */
.image-section {
    width: 100%;                 /* растягиваем */
    background: transparent;
    margin: 0;
    padding: 0;
}

.image-figure {
    position: relative;
    margin: 0;
    width: 100%;                 /* на всю ширину */
    height: clamp(195px, 45vh, 540px);
    overflow: hidden;
}

.image-cover {
    width: 100%;
    height: 100%;
    object-fit: cover;           /* картинка заполняет секцию */
    display: block;
}

/* Подпись по центру */
.image-caption {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    pointer-events: none;
}

.caption-inner {
    color: #fff;
    text-shadow: 0 3px 18px rgba(0,0,0,.55);
    padding: 0 clamp(12px, 3vw, 48px);
}

/* Текст */
.caption-line-1 {
    font-weight: 800;
    line-height: 1.08;
    font-size: clamp(15px, 2.4vw, 30px);
}
.caption-line-2 {
    margin-top: 4.5px;
    font-weight: 600;
    line-height: 1.08;
    font-size: clamp(12px, 1.8vw, 21px);
    opacity: .98;
}

/* Лёгкая затемнённая подложка */
.image-figure::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0,0,0,.18), rgba(0,0,0,.18));
}


/* ===== Вакансии ===== */
/* ===== Вакансии: фон как у image-section ===== */
.vacancies-section{
    position: relative;
    overflow: hidden;
    padding: 90px clamp(24px, 7.5vw, 108px);
    color: #333333;                      /* как просили */
}

.vacancies-bg{
    position: absolute;
    inset: 0;
    z-index: 0;
}
.vacancies-cover{
    width: 100%;
    height: 100%;
    object-fit: cover;                    /* растягиваем как фон */
    display: block;
}

/* Лёгкий светлый оверлей для читабельности тёмного текста */
.vacancies-section::after{
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(255,255,255,.12), rgba(255,255,255,.12));
    z-index: 0;
}

/* Контент поверх фона */
.vacancies-section .container-xxl{
    position: relative;
    z-index: 1;
}

/* Остальные стили блока вакансий остаются */
.vacancies-title{
    font-weight: 700;
    font-size: clamp(33px, 4.5vw, 51px);
    line-height: 1.2;
}
.vacancies-subtitle{
    font-weight: 400;
    font-size: 1.35em;
    opacity: .85;
    margin-top: 6px;
}
.vacancies-list li{
    display: flex; align-items: center; gap: 15px;
    margin-bottom: 18px;
    font-size: clamp(22.5px, 2.7vw, 27px);
}
.vacancies-list img{ width: 27px; height: 27px; flex-shrink: 0; }
.vacancies-extra{
    font-style: italic;
    font-size: clamp(21px, 2.4vw, 24px);
    margin-bottom: 0;
}

/* Кнопка — как договаривались (#41a683) */
.btn-vacancies{
    background: #41a683;
    color: #fff;
    padding: 1.35rem 2.4rem;
    border: none;
    border-radius: 0;
    font-weight: 700;
    font-size: clamp(21px, 2.7vw, 27px);
    text-transform: uppercase;
    transition: background-color .2s ease; /* плавный переход */
}
.btn-vacancies:hover{
    background: #41a683; /* тот же фон, без фильтра */
    color: #fff;
}
/* ===== Федеральные выплаты ===== */
.payouts-section{
    background: #f0f0f1;
    color: #333333;
    padding: 60px clamp(24px, 7.5vw, 108px);
}

.payouts-title{
    font-weight: 800;
    font-size: clamp(28px, 4.2vw, 48px);
    line-height: 1.15;
    margin-bottom: 18px;
}
.payouts-title .accent{ color: #41a683; }

/* ===== Табы ===== */
.payouts-tabs{
    border-bottom: 1px solid rgba(0,0,0,.15);
    margin-bottom: 8px;
    gap: 12px;
}

/* Все табы — без фона/границ, неактивные серые */
.payouts-tabs .nav-link{
    background: transparent !important;
    border: none !important;
    border-radius: 0;
    color: #a3aca9;                 /* НЕактивный таб */
    font-weight: 700;
    padding: 10px 0;
    position: relative;
    transition: color .2s ease;
}

/* Наведение/фокус — только цвет, без фона */
.payouts-tabs .nav-link:hover,
.payouts-tabs .nav-link:focus{
    color: #333333;
}

/* Активный таб — тёмный текст, без фона; зелёная линия снизу */
.payouts-tabs .nav-link.active{
    color: #333333;
    background-color: transparent !important;
    border: none !important;
}
.payouts-tabs .nav-link.active::after{
    content: "";
    position: absolute;
    left: 0; right: 0; bottom: -1px;
    height: 3px;
    background: #41a683;           /* подчёркивание активного таба */
}

/* ===== Содержимое табов ===== */
.payouts-content{ margin-top: 12px; }

.payout-row{
    display: flex;
    gap: 24px;
    align-items: baseline;
    padding: 14px 0;
    border-bottom: 1px solid rgba(0,0,0,.15);
}

.payout-row .sum{
    flex: 0 0 240px;               /* фикс. колонка для суммы */
    font-weight: 800;
    font-size: clamp(18px, 2.4vw, 24px);
    white-space: nowrap;
    color: #333333;                /* суммы остаются тёмными */
}

.payout-row .desc{
    flex: 1 1 auto;
    font-size: clamp(15px, 2vw, 18px);
    line-height: 1.35;
    color: #676b6a;                /* описание серым тоном */
}

/* Мобилка — в столбик */
@media (max-width: 767.98px){
    .payout-row{
        flex-direction: column;
        gap: 6px;
    }
    .payout-row .sum{ flex-basis: auto; }
}

/* ===== Экипировка ===== */
.equip-section{
    background: #f0f0f1;                  /* светлый фон */
    color: #333333;                       /* тёмный текст */
    padding: 60px clamp(24px, 7.5vw, 108px);
}

.equip-title{
    font-weight: 800;
    line-height: 1.15;
    font-size: clamp(28px, 4.2vw, 48px);
    margin-bottom: 10px;
}
.nowrap{ white-space: nowrap; }

.equip-subtitle{
    font-size: clamp(16px, 2.4vw, 20px);
    opacity: .95;
    margin-bottom: 8px;
}

.equip-note{
    font-size: clamp(16px, 2.4vw, 20px);
    margin-bottom: 0;
}
.equip-note .plus{ color: #41a683; font-weight: 700; }

.equip-image{
    width: 100%;
    max-height: 520px;
    object-fit: contain;                  /* целиком умещается в блоке */
    display: block;
    margin-inline: auto;
}

/* ===== Льготы по контракту ===== */
.benefits-section{
    background: #232726;          /* фон секции */
    color: #fff;
    padding: 60px clamp(24px, 7.5vw, 108px);
}

.benefits-title{
    font-weight: 800;
    line-height: 1.15;
    font-size: clamp(28px, 4.2vw, 48px);
    margin-bottom: 18px;
}
.nowrap{ white-space: nowrap; }

.benefit-card{
    display: block;
    text-decoration: none;
    background: #2a2e2d;                          /* карточка чуть светлее фона */
    border: 1px solid rgba(255,255,255,.06);
    padding: 24px;
    min-height: 168px;
    box-shadow: none;
    transition: transform .15s ease, border-color .15s ease, box-shadow .15s ease;
    color: inherit;
}
.benefit-card:hover{
    transform: translateY(-2px);
    border-color: #41a683;
    box-shadow: 0 0 0 2px rgba(65,166,131,.18) inset;
}

.benefit-card__title{
    margin: 0 0 16px 0;
    color: #ffffff;
    font-weight: 800;
    line-height: 1.2;
    font-size: clamp(18px, 2.4vw, 24px);
}

.benefit-card__more{
    color: #41a683;
    font-weight: 700;
    font-size: clamp(14px, 1.8vw, 16px);
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
.benefit-card__more .arrow{ line-height: 1; }

/* мобильная сетка — одна колонка */
@media (max-width: 991.98px){
    .benefit-card{ min-height: 140px; }
}
/* ===== Документы для поступления ===== */
/* ===== Документы для поступления ===== */
.docs-section{
    position: relative;
    background: #232726;
    color: #fff;
    padding: 60px clamp(24px, 7.5vw, 108px);
    overflow: hidden;
}

/* фон-картинка в правом нижнем углу, за текстом */
.docs-bg{
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: 0;
    pointer-events: none;
}
.docs-bg-img{
    display: block;
    width: min(38vw, 440px);
    height: auto;
    object-fit: contain;
}

/* контент поверх фона */
.docs-section .container-xxl{
    position: relative;
    z-index: 1;
}

.docs-title{
    font-weight: 800;
    line-height: 1.15;
    font-size: clamp(28px, 4.2vw, 48px);
    margin-bottom: 12px;
}
.docs-title .accent{ color: #41a683; }

.docs-subtitle{
    font-weight: 700;
    font-size: clamp(18px, 2.4vw, 22px);
    margin: 12px 0 8px;
    color: #cfd3d2;
}

.docs-list{
    padding-left: 1.2em;
    margin: 0;
}
.docs-list li{
    margin: 0 0 10px;
    line-height: 1.35;
    font-size: clamp(15px, 2vw, 18px);
    border-bottom: 1px solid rgba(255,255,255,.08);
    padding-bottom: 10px;
}
.docs-list li::marker{
    color: #41a683;
    font-weight: 800;
}
.docs-list .note{
    opacity: .7;
    font-size: .95em;
}
.warn{ color: #f5a623; font-weight: 800; }

@media (max-width: 991.98px){
    .docs-bg-img{ width: 60vw; opacity: .85; }
}

/* ===== Иностранные граждане ===== */
.foreign-section{
    background: #f0f0f1;           /* светлый фон секции */
    color: #333333;
    padding: 60px clamp(24px, 7.5vw, 108px);
}

/* Отделяющая "карточка" на белом фоне */
.foreign-panel{
    background: #ffffff;
    border: 1px solid #e6e8ea;
    border-radius: 12px;
    padding: clamp(20px, 4vw, 36px);
    box-shadow: 0 6px 22px rgba(0,0,0,.05);
}

.foreign-title{
    font-weight: 800;
    line-height: 1.15;
    font-size: clamp(24px, 3.8vw, 44px);
    margin: 0 0 16px 0;
}
.foreign-title .accent{ color: #41a683; }

/* Список пунктов */
.foreign-list{ margin: 0; }

.foreign-item{
    display: grid;
    grid-template-columns: 64px 1fr;                 /* номер + текст */
    gap: 18px;
    padding: 18px 0;
    border-bottom: 1px solid #e6e8ea;
}
.foreign-item:last-child{ border-bottom: none; }

.foreign-num{
    font-weight: 900;
    font-size: clamp(28px, 4vw, 44px);
    line-height: 1;
    color: #41a683;
    align-self: start;
}
.foreign-text{
    margin: 0;
    font-size: clamp(15px, 2vw, 18px);
    line-height: 1.5;
    color: #333333;
}

/* Адаптив — в столбик на узких экранах */
@media (max-width: 575.98px){
    .foreign-item{
        grid-template-columns: 44px 1fr;
        gap: 12px;
    }
    .foreign-num{
        font-size: 32px;
    }
}
/* ===== FAQ ===== */
.faq-section{
    background: #f0f0f1;     /* только фон, без карточек */
    color: #333333;
    padding: 60px clamp(24px, 7.5vw, 108px);
}

.faq-title{
    font-weight: 800;
    line-height: 1.15;
    font-size: clamp(26px, 4vw, 44px);
    margin: 0 0 12px 0;
}
.faq-title .accent{ color: #41a683; }

.faq-item{ border-top: 1px solid #e6e8ea; }
.faq-item:first-child{ border-top: 0; }

/* Кнопка-вопрос */
.faq-toggle{
    width: 100%;
    background: transparent;
    border: 0;
    text-align: left;
    padding: 18px 44px 18px 0;
    font-weight: 800;
    font-size: clamp(16px, 2.4vw, 20px);
    color: #333333;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}
.faq-toggle:focus{ outline: none; }

/* Иконка + / – */
.faq-icon{
    flex: 0 0 24px; width: 24px; height: 24px; position: relative;
}
.faq-icon::before, .faq-icon::after{
    content:""; position:absolute; inset:0; margin:auto;
    width: 16px; height: 2px; background:#41a683;
}
.faq-icon::after{ transform: rotate(90deg); }
.faq-toggle[aria-expanded="true"] .faq-icon::after{ display:none; }

/* Ответ */
.faq-answer{
    color: #757978;                 /* цвет ответов */
    font-size: clamp(15px, 2vw, 18px);
    line-height: 1.55;
    max-height: 0; overflow: hidden;
    padding: 0; transition: max-height .25s ease, padding .25s ease;
}
.faq-answer.open{ padding-bottom: 18px; }

/* Кнопка загрузки — без «прозрачности» при hover */
.btn-faq-download{
    display: inline-block;
    background: #41a683;
    color: #fff;
    padding: .8rem 1.2rem;
    border: 0;
    border-radius: 0;
    font-weight: 700;
    text-decoration: none;
    transition: background-color .2s ease, box-shadow .2s ease;
}
.btn-faq-download:hover,
.btn-faq-download:focus,
.btn-faq-download:active{
    background: #41a683;  /* тот же цвет */
    color: #fff;
    opacity: 1;           /* не становиться прозрачной */
    box-shadow: none;
}
/* ===== FOOTER ===== */

/* ===== FOOTER ===== */
.site-footer {
    background:#161a19;
    color:#fff;
}

/* Секция формы */
.footer-apply {
    padding: 60px clamp(24px, 7.5vw, 108px);
}

/* Левый столбец с картинкой — центрируем по высоте/ширине */
.footer-apply .col-lg-6:first-child {
    display:flex;
    align-items:center;
    justify-content:center;         /* центр на мобильных */
}
@media (min-width: 992px) {
    .footer-apply .col-lg-6:first-child {
        justify-content:flex-start; /* слева на десктопе */
    }
}

/* Картинка: меньше формы, ограничена по размеру */
.footer-apply-img {
    height:auto;
    width:auto;
    max-width:90%;                         /* не шире 90% колонки */
    max-height:clamp(220px, 80%, 520px);   /* до 80% высоты колонки */
    object-fit:contain;
    border:1px solid rgba(255,255,255,.08);
}

/* На мобильных — во всю ширину, компактнее */
@media (max-width: 991.98px) {
    .footer-apply-img {
        max-width:100%;
        max-height:320px;
    }
}

/* Заголовок формы */
.apply-title {
    font-weight:800;
    font-size:clamp(20px,3vw,32px);
    margin-bottom:12px;
}

/* Поля формы */
.apply-form .form-label {
    color:#cfd3d2;
    font-weight:700;
}
.apply-form .form-control {
    background:#1d2221;
    border:1px solid #2a2f2e;
    color:#fff;
    border-radius:6px;
    padding-top:.9rem;
    padding-bottom:.9rem;
    width:100%;
}
.apply-form .form-control::placeholder {
    color:#7a8180;
}
.muted {
    opacity:.7;
    font-weight:400;
}

/* Кнопка отправки — без прозрачности */
.btn-apply {
    background:#2d604e;
    color:#fff;
    border:0;
    border-radius:0;
    padding:1rem 1.2rem;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.02em;
    transition: transform .08s ease, box-shadow .2s ease, background-color .2s ease;
}
.btn-apply:hover,
.btn-apply:focus,
.btn-apply:active {
    background:#2d604e;
    color:#fff;
    opacity:1;
    box-shadow:none;
    transform:translateY(-1px);
}

/* Сообщение после отправки */
.apply-msg {
    margin-top:10px;
    min-height:1.25rem;
    font-size:.95rem;
}

/* Одноколоночное расположение элементов формы */
.apply-form .col-12 {
    width:100%;
}

/* Адаптив: уменьшаем паддинги */
@media (max-width: 991.98px) {
    .footer-apply {
        padding:40px 20px;
    }
}


.contract-section{
    background: #f0f0f1;
    color: #333333;
    padding: 60px clamp(24px, 7.5vw, 108px);
}
.contract-title{
    font-weight: 800;
    line-height: 1.15;
    font-size: clamp(26px, 4vw, 44px);
    margin: 0 0 16px 0;
}
.contract-title .accent{ color: #41a683; }

/* Рамка под PDF */
.pdf-frame{
    background:#fff;
    border: 1px solid #e6e8ea;
    box-shadow: 0 4px 20px rgba(0,0,0,.06);
    border-radius: 8px;
    overflow: hidden;
    height: clamp(360px, 70vh, 900px);
    position: relative;
}
.pdf-embed{
    width: 100%;
    height: 100%;
    border: 0;
    display: block;
}

/* Кнопка скачивания — не становится прозрачной при hover */
.btn-contract-download{
    display: inline-block;
    background: #41a683;
    color: #fff;
    padding: 0.9rem 1.4rem;
    border: 0;
    border-radius: 0;
    font-weight: 700;
    text-decoration: none;
    margin-top: 16px;
    transition: background-color .2s ease, box-shadow .2s ease;
}
.btn-contract-download:hover,
.btn-contract-download:focus,
.btn-contract-download:active{
    background: #41a683;  /* тот же цвет */
    color: #fff;
    opacity: 1;           /* без прозрачности */
    box-shadow: none;
}

/* Мелкие правки */
.contract-lead{
    margin-bottom: 18px;
    color: #676b6a;
    font-size: clamp(15px, 2vw, 18px);
    line-height: 1.45;
}
/* ===== What To Do ===== */
.what-section{
    background: #fff; /* светлый фон */
    color: #333333;
    padding: 60px clamp(24px, 7.5vw, 108px);
}

.what-title{
    font-weight: 800;
    font-size: clamp(26px, 4vw, 44px);
    line-height: 1.15;
    margin-bottom: 18px;
}

.what-intro .hello{
    font-weight: 700;
    font-size: clamp(18px, 2.4vw, 24px);
    margin-bottom: 8px;
}

.what-intro .lead{
    font-weight: 800;
    font-size: clamp(20px, 2.7vw, 28px);
    line-height: 1.3;
    margin-bottom: 12px;
}

.what-intro .accent{
    color: #41a683;
}

.what-intro .note{
    font-size: clamp(15px, 2vw, 18px);
    color: #555;
    margin-top: 6px;
}
.steps-section{
    background: #fff;
    color: #333;
    padding: 60px clamp(24px,7.5vw,108px);
}

.steps-title{
    font-weight: 800;
    font-size: clamp(24px,4vw,40px);
    margin-bottom: 20px;
}
.steps-title .accent{ color:#41a683; }

.steps-list{ padding-left: 20px; }
.steps-list li{ margin-bottom: 10px; line-height: 1.5; }

.required{
    color: #c62828;
    font-weight: 800;
}
.optional{
    color: #757978;
    font-style: italic;
}
.steps-note{
    margin-top: 20px;
    font-size: 16px;
    color: #555;
}
/* ===== LIMITS (секция 1) ===== */
.limits-hero{
    background:#f0f0f1;
    color:#333333;
    padding:60px clamp(24px,7.5vw,108px);
}

.limits-title{
    font-weight:800;
    line-height:1.05;
    font-size:clamp(28px,4.8vw,56px);
    margin:0 0 16px 0;
}

.limits-subtitle{
    font-weight:800;
    line-height:1.2;
    font-size:clamp(20px,3.2vw,28px);
    margin:0 0 18px 0;
}

.limits-hero .accent{ color:#41a683; }

.limit-item{
    border-top:1px solid #cfd3d2;   /* тонкая линия как на примере */
    padding-top:16px;
}

.limit-text{
    margin:0;
    font-size:clamp(15px,2vw,18px);
    line-height:1.55;
}

.warn{
    color:#d64a4a;                   /* красный акцент предупреждений */
    font-weight:800;
}
/* ===== LIMITS: перечень заболеваний ===== */
.limits-medical{
    background:#f0f0f1;
    color:#333333;
    padding:60px clamp(24px,7.5vw,108px);
}

.lm-title{
    font-weight:800;
    line-height:1.25;
    font-size:clamp(20px,3vw,28px);
    margin:0 0 16px 0;
}

.badge-note{
    display:inline-block;
    margin-left:.5rem;
    padding:.25rem .5rem;
    background:#e7f4ef;
    color:#2f7a63;
    border:1px solid #c9e7dc;
    font-weight:700;
    font-size:.9em;
    border-radius:6px;
    vertical-align:middle;
}

.lm-list{
    padding-left: 20px;
    margin: 0;
}
.lm-list > li{
    margin-bottom: 12px;
    line-height: 1.55;
}
.lm-list strong{ font-weight:800; }

/* Карточка «зрение» */
.vision-box{
    background:#ffffff;
    border:1px solid #e6e8ea;
    border-radius:8px;
    padding:14px 16px;
    margin-top:8px;
}
.vision-box p{
    margin:0 0 10px 0;
    line-height:1.5;
}
.vision-note{
    display:block;
    margin-top:6px;
    color:#d64a4a;
    font-weight:700;
}
/* ===== Convictions (фон как в vacancies) ===== */
.convictions-section{
    position: relative;
    padding: 60px clamp(24px, 7.5vw, 108px);
    color: #f0f0f1;
    overflow: hidden;
}

.convictions-bg{
    position: absolute;
    inset: 0;
    z-index: 0;
}
.convictions-cover{
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* затемнение для читабельности текста */
.convictions-section::after{
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(0deg, rgba(0,0,0,.52), rgba(0,0,0,.52));
    z-index: 0;
}

.convictions-section .container-xxl{ position: relative; z-index: 1; }

.conv-title{
    font-weight: 800;
    line-height: 1.15;
    font-size: clamp(22px, 4vw, 40px);
    margin: 0 0 18px 0;
}
.conv-title .accent{ color:#41a683; }

/* Список: сетка 2 колонки на десктопе */
.conv-list{
    counter-reset: conv;
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: 1fr;
    gap: 14px 28px;
    font-size: clamp(15px, 2vw, 18px);
    line-height: 1.55;
}
@media (min-width: 992px){
    .conv-list{ grid-template-columns: 1fr 1fr; }
}
.conv-list > li{
    position: relative;
    padding-left: 38px;
}
.conv-list > li::before{
    counter-increment: conv;
    content: counter(conv) ".";
    position: absolute;
    left: 0; top: 0;
    font-weight: 800;
    color: #41a683;
    min-width: 28px;
}
.conv-note{
    display: block;
    margin-top: 6px;
    color: #cfe9de;
    font-size: .95em;
}
.rankpay-section{
    background: #f0f0f1;      /* было #fff */
    color:#333333;
    padding:60px clamp(24px, 7.5vw, 108px);
}
.rankpay-title{
    font-weight:800;
    font-size:clamp(24px, 3.6vw, 42px);
    line-height:1.15;
    margin:0 0 14px 0;
}
.rankpay-subtitle{
    font-weight:800;
    font-size:clamp(20px, 3vw, 34px);
    line-height:1.2;
    margin:24px 0 8px 0;
}
.rankpay-title .accent,
.rankpay-subtitle .accent{ color:#41a683; }

.rankpay-row{
    display:flex;
    gap:24px;
    align-items:baseline;
    padding:14px 0;
    border-bottom:1px solid rgba(0,0,0,.15);
}
.rankpay-row .sum{
    flex:0 0 240px;
    font-weight:800;
    font-size:clamp(18px, 2.4vw, 24px);
    white-space:nowrap;
}
.rankpay-row .desc{
    flex:1 1 auto;
    font-size:clamp(15px, 2vw, 18px);
    line-height:1.35;
}

.rankpay-extra{ margin-top:26px; }

.extra-grid{
    display:grid;
    grid-template-columns: repeat(2, minmax(240px, 1fr));
    gap:18px;
    margin-top:12px;
}
.extra-card{
    background:#f8f9fa;
    border:1px solid rgba(0,0,0,.08);
    padding:18px 20px;
}
.extra-sum{
    font-weight:800;
    font-size:clamp(20px, 2.8vw, 28px);
    margin-bottom:4px;
}
.extra-desc{ color:#555; }

.equipment-figure{
    max-width:860px;
    margin:36px auto 0;
    text-align:center;
}
.equipment-figure img{
    max-width:100%;
    height:auto;
    display:inline-block;
}

@media (max-width: 767.98px){
    .rankpay-row{ flex-direction:column; gap:6px; }
    .rankpay-row .sum{ flex-basis:auto; }
    .extra-grid{ grid-template-columns:1fr; }
}

.vacancies-section{
    background:#fff;
    padding:60px clamp(24px,7.5vw,108px);
}
.vacancies-heading{
    font-weight:800;
    font-size:clamp(24px,3.6vw,42px);
    margin:0 0 16px 0;
    color:#333333;
}

/* Аккордеон */
.vac-accordion{ border-top:1px solid rgba(0,0,0,.12); }
.vac-item{ border-bottom:1px solid rgba(0,0,0,.12); }
.vac-toggle{
    width:100%;
    padding:18px 48px 18px 0;
    background:transparent;
    border:0;
    text-align:left;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    cursor:pointer;
}
.vac-ttl{
    color:#333333;                 /* ТРЕБУЕМОЕ: заголовки вакансий #333333 */
    font-weight:800;
    font-size:clamp(16px,2.2vw,20px);
    line-height:1.2;
}
.vac-icon{
    flex:0 0 22px; width:22px; height:22px; position:relative;
}
.vac-icon::before,.vac-icon::after{
    content:""; position:absolute; inset:0; margin:auto;
    width:16px; height:2px; background:#333333; transition:transform .2s ease,opacity .2s ease;
}
.vac-icon::after{ transform:rotate(90deg); }
.vac-toggle[aria-expanded="true"] .vac-icon::after{ opacity:0; transform:rotate(0deg); }

.vac-body{ padding:0 0 16px 0; color:#757978; }
.vac-body p{ margin:.35rem 0; }
.vac-body ul{ margin:.25rem 0 .5rem 1.1rem; }

/* Тёмная секция с высоким видео */
.vacancies-video{
    position:relative;
    background:#0d0f10;
    min-height:64vh;               /* "высокое" видео */
    overflow:hidden;
}
.vac-video{
    position:absolute; inset:0;
    width:100%; height:100%;
    object-fit:cover;
    filter:brightness(.82);
}
.vac-video-overlay{
    position:relative; z-index:2;
    min-height:80vh;
    display:grid; place-items:center;
    padding:40px;
}
.vac-video-title{
    color:#ffffff;
    font-weight:800;
    font-size:clamp(70px,3.2vw,36px);
    text-align:center;
    text-shadow:0 2px 14px rgba(0,0,0,.55);
}

@media (max-width: 767.98px){
    .vac-toggle{ padding:16px 38px 16px 0; }
}
.terms-section{
    background:#f0f0f1;
    color:#333333;
    padding:60px clamp(24px,7.5vw,108px);
}
.terms-h1{
    margin:0 0 8px 0;
    font-weight:800;
    line-height:1.05;
    font-size:clamp(26px,4.2vw,52px);
}
.terms-h2{
    margin:0 0 22px 0;
    font-weight:800;
    line-height:1.15;
    font-size:clamp(22px,3.6vw,38px);
}
.terms-h2 .accent{ color:#41a683; }

/* Базово — один столбец (мобила): порядок строго 1..8 */
.terms-grid{
    display:grid;
    grid-template-columns:1fr;
}

.terms-item{
    display:grid;
    grid-template-columns: 28px 1fr;
    gap:18px;
    padding:18px 0;
    border-top:1px solid rgba(0,0,0,.18);
}
.terms-item:first-child{ border-top:0; }

.terms-num{
    color:#41a683;
    font-weight:800;
    font-size:clamp(16px,2.2vw,20px);
    line-height:1;
    margin-top:2px;
}
.terms-text{
    font-size:clamp(15px,2vw,18px);
    line-height:1.45;
}
.terms-link{
    display:inline-block;
    margin-top:10px;
    color:#41a683;
    text-decoration:underline;
    text-underline-offset:3px;
    font-weight:700;
}
.terms-link:hover{ text-decoration-thickness:2px; }

/* ≥992px: раскладываем DOM-порядок в две параллельные колонки:
   слева 1–4 (ряды 1–4), справа 5–8 (ряды 1–4) */
@media (min-width: 992px){
    .terms-grid{
        grid-template-columns:1fr 1fr;
        column-gap:48px;
    }
    /* позиционирование по рядам/колонкам */
    .terms-item:nth-child(1){ grid-column:1; grid-row:1; border-top:0; }
    .terms-item:nth-child(2){ grid-column:1; grid-row:2; }
    .terms-item:nth-child(3){ grid-column:1; grid-row:3; }
    .terms-item:nth-child(4){ grid-column:1; grid-row:4; }

    .terms-item:nth-child(5){ grid-column:2; grid-row:1; border-top:0; }
    .terms-item:nth-child(6){ grid-column:2; grid-row:2; }
    .terms-item:nth-child(7){ grid-column:2; grid-row:3; }
    .terms-item:nth-child(8){ grid-column:2; grid-row:4; }
}


@media (max-width: 767.98px){
    .benefits-list{ grid-template-columns:1fr; }
    .benefits-list .benefit:nth-child(2){ border-top:1px solid rgba(0,0,0,.12); }
}




/* Мобильная версия — по одной в ряд */
@media (max-width: 767.98px){
    .benefit-item{ flex: 0 0 100%; }
}

/* ===== Доп. льготы (тёмная секция) ===== */
.extra-benefits{
    background:#161a19;
    color:#e9eeec;
    padding: 60px clamp(24px, 7.5vw, 108px);
}
.extra-title{
    margin:0 0 22px 0;
    font-weight:800;
    line-height:1.12;
    font-size:clamp(26px,4.2vw,44px);
}
.extra-title .accent{ color:#41a683; }

/* Нумерованный список — ровная сетка 2×N на ПК, 1×N на мобилке */
.extra-grid{
    display:grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap:18px 28px;
    counter-reset: extra;
    list-style:none;
    padding:0;
    margin:0;
}
.extra-item{
    position:relative;
    padding:18px 18px 18px 56px;
    border:1px solid rgba(255,255,255,.08);
    background: rgba(255,255,255,.02); /* лёгкая прозрачность карточки */
    border-radius: 10px;
    font-size: clamp(16px, 2.2vw, 18px);
    line-height:1.5;
    color:#dfe3e2;
}
.extra-item::before{
    counter-increment: extra;
    content: counter(extra);
    position:absolute; left:16px; top:16px;
    width:28px; height:28px; line-height:28px;
    text-align:center;
    font-weight:800;
    border-radius:50%;
    background:#2a2f2e;
    color:#41a683;
    border:1px solid rgba(65,166,131,.35);
    font-size:14px;
}

/* Ховеры без изменения прозрачности */
.extra-item:hover{
    background: rgba(255,255,255,.04);
    border-color: rgba(255,255,255,.14);
}

/* Мобилка — одна колонка */
@media (max-width: 767.98px){
    .extra-grid{ grid-template-columns: 1fr; }
}
/* ===== Новые классы (prefix: kin-) ===== */
.kin-benefits{
    position: relative;
    background:#161a19;
    color:#fff;
    padding:60px clamp(24px,7.5vw,108px);
    overflow:hidden;
}
.kin-bg{ position:absolute; inset:0; z-index:0; pointer-events:none; }
.kin-cover{ width:100%; height:100%; object-fit:cover; opacity:.08; }
.kin-layer{ position:relative; z-index:1; }

.kin-title{
    font-weight:800;
    line-height:1.15;
    font-size:clamp(26px,4vw,44px);
    margin:0 0 22px 0;
}
.kin-accent{ color:#41a683; }
.kin-subtitle{
    margin:36px 0 16px;
    font-weight:800;
    font-size:clamp(18px,2.6vw,24px);
    color:#cfd3d2;
}

/* Сетка: 3 в ряд на десктопе, 2 — планшет, 1 — мобилка.
   Ряды одинаковой высоты — карточки точно стоят «друг напротив друга». */
.kin-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);  /* по три в ряд */
    grid-auto-rows:1fr;                   /* одинаковая высота строк */
    gap:clamp(16px,2vw,24px);
    align-items:stretch;
}

.kin-card{
    display:flex;
    align-items:flex-start;
    gap:14px;
    padding:clamp(16px,2vw,20px);
    background:rgba(255,255,255,.06);     /* прозрачная плитка */
    border:1px solid rgba(255,255,255,.10);
    border-radius:12px;
    min-height:130px;                      /* уравниваем ряд */
}
.kin-ico{ width:28px; height:28px; flex:0 0 28px; }
.kin-text{
    margin:0; color:#e6e9e8;
    font-size:clamp(15px,1.9vw,18px);
    line-height:1.45;
}

/* адаптив */
@media (max-width: 991.98px){
    .kin-grid{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width: 575.98px){
    .kin-grid{ grid-template-columns:1fr; }
}
.law-note-section{ padding:60px clamp(24px,7.5vw,108px);background:#f0f0f1; }
.law-note-title{
    font-weight:800; line-height:1.12;
    font-size:clamp(26px,4.2vw,44px); color:#333333; margin:0 0 10px 0;
}
.law-note-text{ color:#333333; font-size:clamp(15px,2vw,18px); line-height:1.55; }
.law-note-text p{ margin:0 0 12px 0; }

/* ===== Бенефиты (новые классы) ===== */
.law-benefits--light{
    background:#f0f0f1;
    color:#333;
    padding:60px clamp(24px,7.5vw,108px);
}

/* Заголовок */
.law-benefits-title{
    font-weight:800; line-height:1.15;
    font-size:clamp(24px,3.8vw,40px);
    margin:0 0 18px 0;
}
.law-benefits-title span{ color:#41a683; }

/* Ровная сетка: строго 2 в ряд на десктопе */
.law-ben-grid{
    display:grid;
    grid-template-columns:repeat(2, minmax(0,1fr));
    column-gap:48px;          /* расстояние между колонками */
    row-gap:22px;             /* расстояние между рядами   */
    align-items:start;        /* верхнее выравнивание в строках */
}

/* Карточка пункта */
.law-ben-card{
    display:flex;
    gap:14px;
    align-items:flex-start;
    padding:10px 0;
}

/* Иконка слева — одинаковый размер */
.law-ben-ico{
    width:24px; height:24px; flex:0 0 24px;
    margin-top:2px;
}

/* Текст — аккуратная межстрочность; без переноса сетки */
.law-ben-text{
    font-size:clamp(16px,2.1vw,18px);
    line-height:1.45;
    color:#333;
}

/* Отключаем прежние разделители, чтобы не ломали сетку */
.law-ben-divider{ display:none; }

/* Мобилка: по одному в ряд */
@media (max-width: 767.98px){
    .law-ben-grid{ grid-template-columns:1fr; row-gap:18px; }
}
.svc-ben{
    background:#f0f0f1;
    color:#333333;
    padding:60px clamp(24px,7.5vw,108px);
}
.svc-ben-title{
    font-weight:800; line-height:1.15;
    font-size:clamp(26px,4vw,44px);
    margin:0 0 12px 0;
}
.svc-ben-list{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr)); /* две колонки, пункты напротив */
    gap:22px 64px;
    margin:0; padding:0;
}
.svc-ben-item{
    display:flex; align-items:flex-start; gap:12px;
    padding-bottom:14px;
    border-bottom:1px solid rgba(0,0,0,.15);
}
.svc-ben-ico{ width:24px; height:24px; flex:0 0 24px; margin-top:2px; }
.svc-ben-text{ font-size:clamp(15px,2vw,18px); line-height:1.45; }

/* Мобайл — в столбик */
@media (max-width: 767.98px){
    .svc-ben-list{ grid-template-columns:1fr; gap:18px; }
}

/* ===== УНИКАЛЬНЫЕ СТИЛИ ДЛЯ СЕКЦИИ 2 (фон-картинка, карточки 2×3) ===== */
.svc-vbd{
    position: relative;
    overflow: hidden;
    padding: 80px clamp(28px, 8vw, 128px); /* больше внутренние поля */
    color: #333333;
}

.svc-vbd-bg{ position:absolute; inset:0; z-index:0; }
.svc-vbd-cover{
    width:100%; height:100%;
    object-fit:cover; display:block;
    filter: brightness(1.02) saturate(1.02);
}

/* мягкая светлая вуаль поверх фона для читабельности текста */
.svc-vbd::after{
    content:""; position:absolute; inset:0; z-index:0;
    background: linear-gradient(180deg, rgba(255,255,255,.68), rgba(255,255,255,.68));
}

.svc-vbd .container-xxl{ position:relative; z-index:1; }

.svc-vbd-title{
    font-weight: 800;
    line-height: 1.15;
    font-size: clamp(28px, 4.2vw, 46px); /* крупнее заголовок */
    margin: 0 0 24px 0;
}

/* Сетка 2×3, увеличенные интервалы */
.svc-vbd-grid{
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px 32px;  /* крупнее шаги */
}

/* Карточка — больше, прозрачнее, стеклоэффект */
.svc-vbd-card{
    display:flex; align-items:center; gap:16px;
    min-height:120px;
    padding:22px 24px;
    background:transparent !important;   /* прозрачная */
    border:0;                            /* без рамки */
    box-shadow:none;                     /* без тени */
    backdrop-filter:none;                /* без стеклоэффекта */
    -webkit-backdrop-filter:none;
    transition:transform .12s ease;
}


.svc-vbd-card:hover{
    transform:translateY(-2px);
    box-shadow:none;
}
.svc-vbd-ico{
    width: 28px; height: 28px; flex: 0 0 28px;  /* больше иконка */
    margin-top: 2px;
}

.svc-vbd-text{
    font-size: clamp(17px, 2.4vw, 22px); /* крупнее текст */
    line-height: 1.5;
    color: #333333;
}

/* Планшеты — оставляем 2 колонки, уменьшаем зазоры немного */
@media (max-width: 991.98px){
    .svc-vbd{
        padding: 64px clamp(24px, 7vw, 96px);
    }
    .svc-vbd-grid{
        gap: 24px 24px;
    }
    .svc-vbd-card{
        min-height: 110px;
        padding: 20px 22px;
    }
}

/* Мобайл — 1 колонка */
@media (max-width: 767.98px){
    .svc-vbd-grid{
        grid-template-columns: 1fr;
        gap: 18px;
    }
    .svc-vbd-card{
        min-height: 100px;
        padding: 18px 20px;
    }
    .svc-vbd-title{
        margin-bottom: 18px;
    }
}
/* ===== Кредитные каникулы: без затемнения, тёмный текст ===== */
.ch-section{
    position: relative;
    color: #333333;           /* общий цвет текста */
    overflow: hidden;
}
.ch-bg{ position:absolute; inset:0; z-index:0; }
.ch-cover{ width:100%; height:100%; object-fit:cover; display:block; }

/* БЕЗ оверлея: не затемняем фон */
.ch-section::after{ content:none; }

.ch-content{
    position: relative; z-index:1;
    padding: 60px clamp(24px, 7.5vw, 108px);
}

.ch-title{
    font-weight: 800;
    line-height: 1.15;
    font-size: clamp(26px, 4vw, 44px);
    margin: 0 0 12px 0;
    color:#333333;
}

.ch-lead, .ch-text{
    font-size: clamp(15px, 2vw, 18px);
    line-height: 1.6;
    margin: 0 0 12px 0;
    color:#333333;
    text-shadow: none;        /* без светлых/тёмных теней */
}

.ch-cols{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: clamp(18px, 3vw, 36px);
    margin-top: 8px;
}
.ch-subtitle{
    font-weight: 800;
    font-size: clamp(18px, 2.6vw, 24px);
    margin: 10px 0 8px;
    color:#333333;
}
.ch-list{
    margin: 0; padding-left: 18px;
    font-size: clamp(14px, 2vw, 17px);
    line-height: 1.55;
    color:#333333;
}
.ch-list li{ margin-bottom: 8px; }

@media (max-width: 991.98px){
    .ch-cols{ grid-template-columns: 1fr; }
}
/* ===== Единый стиль инфостраниц ===== */
.ls-section{
    background: #f0f0f1;
    color: #333333;
    padding: 60px clamp(24px, 7.5vw, 108px);
}
.ls-title{
    font-weight: 800;
    line-height: 1.15;
    font-size: clamp(26px, 4vw, 44px);
    margin: 0 0 12px 0;
}
.ls-title .accent{ color:#41a683; }
.ls-lead{
    font-size: clamp(15px, 2vw, 18px);
    line-height: 1.6;
    margin: 0 0 12px 0;
}
.ls-box{
    background: rgba(0,0,0,.03);
    border: 1px solid rgba(0,0,0,.08);
    padding: 16px 18px;
    border-radius: 8px;
    margin-top: 8px;
}
.ls-sub{
    font-weight: 800;
    font-size: clamp(18px,2.6vw,24px);
    margin: 16px 0 8px;
}
/* ===== Отзывы: секция ===== */
.reviews-section{
    background:#f0f0f1;
    color:#333333;
    padding:60px clamp(24px,7.5vw,108px);
}
.reviews-title{
    font-weight:800;
    line-height:1.15;
    font-size:clamp(26px,4vw,44px);
    margin:0 0 18px 0;
}

/* Лента со снэпом */
.reviews-scroller{ position:relative; }
.reviews-track{
    --gap: 18px;
    display:grid;
    grid-auto-flow: column;
    gap: var(--gap);
    grid-auto-columns: 100%;                 /* 1 на экран (моб.) */
    overflow-x:auto;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 8px;
    cursor: grab;
    user-select: none;
}
.reviews-track.dragging{ cursor: grabbing; }

@media (min-width: 992px){
    .reviews-track{
        grid-auto-columns: calc((100% - 2 * var(--gap)) / 3); /* 3 в ряд (десктоп) */
    }
}

/* Карточка */
.review-card{
    scroll-snap-align: center;
    background:#fff;
    border:1px solid #e6e8ea;
    border-radius:12px;
    padding:22px 20px;
    display:flex; flex-direction:column; align-items:center;
    text-align:center; min-height:100%;
}
.review-photo{
    width:140px; height:140px;               /* крупнее фото */
    border-radius:50%;
    object-fit:cover; object-position:center;
    margin-bottom:12px; border:2px solid #e6e8ea;
}
.review-name{ font-weight:800; font-size:1.05rem; margin:0 0 8px 0; }
.review-text{ font-size:clamp(14px,2vw,16px); line-height:1.55; margin:0; }

/* Кнопки — по КРАЯМ, ниже ленты, не заходят на карточки */
.reviews-controls-edge{
    display:flex; justify-content:space-between; align-items:center;
    margin-top:14px;
}
.reviews-btn.edge{
    min-width:56px; height:44px;
    background:#e6e8ea;
    color:#333;
    border:0; border-radius:8px;
    font-weight:800; cursor:pointer; user-select:none;
    transition: background-color .2s ease, transform .08s ease;
}
.reviews-btn.edge:hover,
.reviews-btn.edge:focus,
.reviews-btn.edge:active{
    background:#d7dadc;
    color:#333;
    opacity:1;                 /* не выцветает */
    transform:translateY(-1px);
}
