/* main-original.css — стили, максимально близкие к оригинальному сайту */

/* === GLOBAL ANTI-GLOBER OVERRIDE === */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500&display=swap');

html, body, *, *::before, *::after {
    font-family: "Inter", sans-serif !important;
}

/* ===========================
   HEADER — BASE STYLES
=========================== */

.header {
    height: 100px;
    padding: 10px 0 0;
}

.header__content {
    max-width: 1344px;
    height: 80px;
    margin: 0 auto;
    padding: 0 12px;

    display: flex;
    justify-content: space-between;
    align-items: center;

    color: #111;
}

/* ----- LEFT SIDE ----- */

.header-left {
    display: flex;
    align-items: center;
}

.header-left__logo {
    max-width: 75px;
    margin: 0 0 0 20px;
}

.header-left__logo img {
    width: 100%;
    height: auto;
}

.header-left__text {
    color: #111;
    font-size: 14px;
    margin-left: 20px;
    max-width: 200px;
}

/* ----- RIGHT SIDE ----- */

.header-right {
    display: flex;
    justify-content: flex-end;
    gap: 30px;
}

.counter {
    width: 230px;
}

.counter__text {
    color: #878787;
    text-align: right;
}

.counter__value {
    color: #107f8c;
    font-size: 25px;
    margin-left: 35px;
    position: relative;
}

.counter__value:before {
    content: "";
    position: absolute;
    left: -15px;
    top: calc(50% - 25px);
    width: 50px;
    height: 50px;

    border: 1px solid #37ad5f;
    border-radius: 50%;
    border-right: none;
    border-top: none;

    transform: rotate(45deg);
    animation: rotate 1.8s 1;
}


/* === ОСНОВА === */

.banner-inner {
    display: flex;
    justify-content: center;
    width: 100%;
}

.banner-inner__content {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 40px;

    margin-bottom: 60px;         /* ← отступ снизу */

    background-color: #def4f0;
    border-radius: 20px;
    padding: 40px 80px;
    flex: 1 1 50%;
    height: auto;
    position: relative;
}

.banner-inner-info {
    max-width: 600px;
}

.banner-inner-info__title {
    font-size: 32px;
    line-height: 1.3;
    font-weight: 500;
}

/* === ДВЕ КАРТИНКИ === */

.desktop-img {
    display: flex;
    flex: 1 1 50%;
    justify-content: center;
    align-self: flex-end; /* <-- Прижимает контейнер к нижней части */
}

.mobile-img {
    display: none;
}

.banner-inner__img img {
    max-width: 60%;
    height: auto;
}

.button-scroll {
    background: #107f8c;
    border-radius: 20px;
    color: #fff;
    cursor: pointer;
    display: inline-block;
    font-weight: 400;
    overflow: hidden;
    padding: 1px 6px;
    position: relative;
    text-align: center;
    transition: background-color .2s linear,color .2s linear,box-shadow .2s linear
}

.button-scroll:hover {
    background-color: #21a19a
}

.button-scroll:before {
    background-position: 500%;
    content: "";
    height: 112px;
    position: absolute;
    width: 140px;
    z-index: 1
}

.button-scroll__span {
    align-items: center;
    display: flex;
    font-size: 24px;
    font-weight: 400;
    justify-content: center;
    line-height: 25px;
    padding: 16px 40px 16px;
    position: relative;
    white-space: nowrap
}

.small>.button-scroll__span {
    font-size: 14px;
    line-height: 20px;
    padding: 8px 20px
}

.small.button-scroll {
    box-shadow: none
}

.banner-info {
    position: relative;
    width: 100%;
    margin-top: -100px; /* эффект наложения */
    z-index: 2;
}

.banner-info__content {
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 3px 20px rgba(0,0,0,.1);
    margin: 0 auto;
    padding: 40px 40px;

    /* 👇 Делаем гибким */
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;

    width: 100%;
    max-width: 1320px; /* теперь уменьшается плавно */
    height: auto;
    flex-wrap: wrap;   /* элементы переносятся при уменьшении */
}

.banner-info__list {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    gap: 20px;
    flex-wrap: wrap; /* 👈 при уменьшении экрана элементы переносятся */
}

.banner-info__item {
    flex: 1 1 calc(33.33% - 20px); /* 3 элемента в строку на больших */
    min-width: 200px;              /* минимальная ширина при сжатии */
    margin: 0;
}

.banner-info__item:first-child {
    margin: 0
}

.banner-info__title {
    font-size: 24px;
    font-weight: 500;
    line-height: 32px
}

.banner-info__text {
    font-size: 16px;
    line-height: 22px;
    margin: 4px 0 0
}


/* === ФОРМА ЗАЯВКИ === */

.form-quest {
    padding: 40px 0 0;
}

.form-quest__content {
    width: 716px;
    margin: 0 auto;
    padding: 40px;
    border-radius: 16px;
    box-shadow: 0 3px 20px rgba(0,0,0,.1);
    background: #fff;
}

.discount_label {
    display: block;
    max-width: 370px;
    margin: 0 auto 10px;
    padding: 6px;
    text-align: center;
    text-transform: uppercase;
    font-size: 14px;
    font-weight: 400;
    border: 1px solid #37ad5f;
    color: #37ad5f;
}

.form-quest__title {
    font-size: 24px;
    text-align: center;
    margin-bottom: 30px;
    font-weight: 400;
}

.form-progress {
    margin-top: 5px;
}

.form-progress__value {
    font-size: 20px;
    margin: 5px 0;
}

.form-progress-line {
    width: 100%;
    height: 10px;
    background: #cfcfcf;
    border-radius: 10px;
    margin-top: 15px;
    position: relative;
}

.form-progress-line__current,
.form-progress-line__next {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    border-radius: 10px;
}

.form-progress-line__current {
    background: #107f8c;
    width: 50%;
    z-index: 3;
}

.form-progress-line__next {
    background: #90df90;
    width: 0%;
    z-index: 2;
}

.button-form {
    margin-left: auto;
    width: 170px;
    height: 48px;
    border-radius: 20px;
    background: #107f8c;
    color: #fff;
    cursor: pointer;
    font-weight: 600;
    overflow: hidden;
    transition: .2s;
    display: block;
}

.button-form:hover {
    background: #21a19a;
}

.button-form__text {
    padding: 14px 40px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.content-error {
    border: 2px solid red
}

.title-error {
    color: red
}

.btns-center .button-form {
    margin: 0
}

.btns-center {
    justify-content: center
}

.form-quest__title-mb-2 {
    margin-bottom: 2rem
}

.text-center {
    display: flex;
    justify-content: center
}

.container.move {
    display: flex
}



/* === Форма поля === */

.input {
    margin-top: 16px;
    width: 100%;
}

.input__info {
    padding: 4px;
}

.input__title {
    font-size: 14px;
    color: #1f2937e6;
}

.input__error {
    font-size: 12px;
    color: #ef4444d8;
    font-weight: 400;
    display: none;
}

.input__input {
    margin-top: 4px;
    position: relative;
}

.input__input input {
    width: 100%;
    height: 52px;
    padding: 0 16px;
    font-size: 14px;
    font-weight: 500;
    background: #f1f1f1;
    border-radius: 4px;
    color: #333333d8;
    outline: 2px solid transparent;
}

.input__input input::placeholder {
    color: #33333399;
    font-weight: 400;
}

.input__input input:focus {
    background: #fff;
    outline: 2px solid #005e7f;
}

.is-valid-error .input__input input {
    outline: 2px solid #ef4444d8;
}

.is-valid-ok .input__input:after {
    background-repeat: no-repeat;
    background-size: 100%;
    content: "";
    height: 16px;
    position: absolute;
    right: 10px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 20px
}

.input__input textarea {
    width: 100%;
    height: 96px;
    padding: 19px 16px;
    font-size: 14px;
    background: #f1f1f1;
    border-radius: 8px;
    resize: vertical;
    color: #333333d8;
    outline: 2px solid transparent;
}

.input__input textarea:focus {
    outline: 2px solid #66ad86;
}



.checkbox {
    margin-top: 16px;
}

.checkbox__error {
    font-size: 12px;
    color: #ef4444d8;
    display: none;
}

.checkbox__wrap {
    margin-top: 10px;
    padding: 4px;
}

.checkbox__label {
    display: flex;
    align-items: center;
}

.checkbox__input {
    width: 24px;
    height: 24px;
    border: 1px solid #111;
    border-radius: 8px;
    margin-right: 12px;
    cursor: pointer;
}

.checkbox__text {
    font-size: 12px;
    line-height: 14px;
}

.checkbox__link-text
    {
  color: #000 !important;
 text-decoration: underline;
}
 
a
    {
  color: #000 ;
  text-decoration: underline;
}

.input__title.active {
    color: #66ad86;
    font-weight: 400;
    opacity: 1
}



.input__input textarea {
    background: #f1f1f1;
    border-radius: 8px;
    color: #333333d8;
    font-size: 14px;
    font-weight: 400;
    height: 96px;
    line-height: 14px;
    outline: 2px solid transparent;
    overflow: hidden;
    padding: 19px 38px 19px 16px;
    resize: vertical;
    width: 100%
}

.input__input textarea::-webkit-input-placeholder {
    color: #33333399;
    font-size: 14px;
    font-weight: 400
}

.input__input textarea::placeholder {
    color: #33333399;
    font-size: 14px;
    font-weight: 400
}

.is-valid-error .input__input textarea {
    outline: 2px solid #ef4444d8
}

.is-valid-ok .textarea__input.input__input:after {
    background-repeat: no-repeat;
    background-size: 100%;
    content: "";
    height: 16px;
    position: absolute;
    right: 10px;
    top: 24px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 20px
}

.input__input textarea:focus {
    background: #fff;
    outline: 2px solid #66ad86
}



.form-step__btns {
    margin: 30px 0 0
}

.form-step-back {
    color: #337ab7;
    cursor: pointer;
    font-weight: 400;
    margin: 0 5px 0 10px;
    text-decoration: underline
}


.discount_label {
    border: 1px solid;
    color: #107f8c;
    display: block;
    font-size: 14px;
    margin: 0 auto 20px;
    max-width: 600px;
    padding: 6px;
    text-align: center;
    text-transform: uppercase;
    font-weight: 400;
}

.contact-method {
    display: flex;
    gap: 20px;
    margin-top: 10px;
    align-items: center;
}

.contact-method__item {
    display: flex;
    align-items: center;
    gap: 6px;
    cursor: pointer;
    font-size: 14px;
}

.contact-method__item input {
    cursor: pointer;
}

.contact-method__error {
    display: none;
    width: 100%;
    font-size: 12px;
    color: #e53935;
    margin-bottom: 6px;
}


/* ==========================
   ТАБЫ — БАЗА (DESKTOP 1025+)
========================== */

/* Контейнер */
.tabs {
    margin: 60px 40px 0;
    overflow: hidden;
}

/* Верхняя навигация */
.tabs-nav {
    border-bottom: 1px solid #cfcfcf;
    padding: 10px 0;
}

.tabs-nav__title {
    font-size: 24px;
    font-weight: 400;
    line-height: 32px;
    margin-right: 24px;
}

.tabs-nav__link {
    color: #111;
    cursor: pointer;
    margin: 0 20px 0 0;
    transition: all .2s;
}

.tabs-nav__link._active {
    color: #959595;
}

/* Список табов (контент) */
.tabs__list {
    width: 100%;
}

/* Общий класс таба */
.tab-item {
    display: none;
    width: 100%;
}

.tab-item.active {
    display: block;
}

/* ==========================
   ОПИСАНИЕ (tab-description)
========================== */

.tab-description {
    margin: 40px auto 0;
    max-width: 1344px;
}

.tab-description__title {
    font-size: 40px;
    font-weight: 400;
    line-height: 48px;
    text-align: center;
}

.tab-description-carts {
    align-items: stretch !important;
    margin: 30px -12px 0;
}

.tab-description-carts-item {
    background: #f9f9f9;
    border-radius: 16px;
    flex: 1.6 1;
    margin: 0 12px;
    min-height: 200px;
    position: relative;
}

.tab-description-carts-item__info {
    flex: 0 0 70%;
    padding: 28px 0 20px 32px;
}

.tab-description-carts-item__title {
    color: #111;
    font-size: 26px;
    font-weight: 400;
    line-height: 34px;
    text-shadow: 0 1px 4px #f5f5f7;
}

.tab-description-carts-item__text {
    font-size: 16px;
    line-height: 24px;
    margin: 8px 0 0;
}

.tab-description-carts-item__img {
    flex: 0 0 30%;
}

.tab-description-carts-item__img img {
    bottom: 0;
    height: auto;
    position: absolute;
    right: 0;
    width: 30%;
}

/* ==========================
   КАК ПОЛУЧИТЬ (tab-get)
========================== */

.tab-get__list {
    margin: 40px auto 0;
    width: 1320px;
}

.tab-get-item {
    border-top: 1px solid #cfcfcf;
    padding: 60px 0 0;
    width: 100%;
}

.tab-get-item.row {
    align-items: normal;
}

.tab-get-item:first-child {
    border: none;
    padding: 0 0 80px;
}

.tab-get-item__title {
    color: #959595;
    font-size: 32px;
    font-weight: 400;
    line-height: 47px;
    padding: 0 60px 0 0;
    width: 30%;
}

.tab-get-item__points {
    font-size: 18px;
    line-height: 26px;
    padding: 12px 0 0;
    width: 70%;
}

.tab-get-item__point {
    margin: 24px 0 0;
    padding: 0 0 0 36px;
    position: relative;
}

.tab-get-item__point:first-child {
    margin: 12px 0 0;
}

.tab-get-item__point:before {
    background-color: #a40b00;
    content: "";
    display: block;
    height: 2px;
    left: 0;
    position: absolute;
    top: calc(.5em + 3px);
    width: 20px;
}

.tab-get__list {
    width: 100%;
}

/* ==========================
   ТАРИФЫ (tab-rates)
========================== */

.tab-rates {
    border-bottom: 1px solid #cfcfcf;
    padding-bottom: 40px;
    padding-top: 40px;
}

.tab-rates__list.row {
    align-items: normal;
}

.tab-rates__title {
    color: #959595;
    font-size: 32px;
    font-weight: 400;
    line-height: 47px;
    padding: 0 60px 0 0;
    width: 30%;
}

.tab-rates__info {
    margin: 12px 0 0;
    width: 70%;
}

.tab-rates__table {
    background-color: #f5f5f7;
    border-radius: 16px;
    box-shadow: 0 3px 15px 0 rgba(0,0,0,.15);
    overflow: hidden;
}

.tab-rates__item {
    cursor: pointer;
}

.tab-rates__item:first-child .tab-rates__left,
.tab-rates__item:first-child .tab-rates__right {
    border-top: none;
}

.tab-rates__left,
.tab-rates__right {
    background-color: #f5f5f7;
    border-collapse: collapse;
    border-top: 1px solid #cfcfcf;
    font-size: 14px;
    line-height: 22px;
}

.tab-rates__left {
    border-right: 1px solid #cfcfcf;
    flex: 0 0 450px;
    padding: 17px 25px;
}

.tab-rates__right {
    flex: 0 1 100%;
    padding: 17px 25px 17px 26px;
}

.tab-rates__description {
    font-size: 14px;
    font-style: italic;
    line-height: 1.5;
    margin: 32px 0 0;
}

/* =====================================================
   TABLET 1024–757 (общий вид как у твоих макетов)
===================================================== */
@media (max-width: 1024px) {

    /* шапка табов */
    .tabs-nav {
        margin: 0 10px;
    }

    .tabs-nav__title {
        display: none;
    }

    /* описание: три карточки в колонку, как на скрине */
    .tab-description__title {
        font-size: 32px;
    }

    .tab-description-carts {
        display: block !important;
        margin: 30px auto 0;
        max-width: 788px;
        padding: 0 12px;
    }

    .tab-description-carts-item {
        margin: 0 0 24px !important;
        min-height: 165px;
    }

    .tab-description-carts-item__info {
        padding: 24px 0 20px 24px;
        flex: 0 0 77%;
    }

    .tab-description-carts-item__img img {
        width: 15%;
    }

    /* как получить: в одну колонку */
    .tab-get {
        margin: 0 12px;
    }

    .tab-get-item {
        display: block !important;
    }

    .tab-get-item__title,
    .tab-get-item__points {
        width: 100%;
    }

    /* тарифы: заголовок сверху, таблица ниже */
    .tab-rates {
        margin: 0 10px;
    }

    .tab-rates__left,
    .tab-rates__right {
        flex: 0 0 50%;
    }

    .tab-rates__list {
        display: block !important;
    }

    .tab-rates__info,
    .tab-rates__title {
        width: 100%;
    }

    .tab-rates__info {
        margin: 32px 0 0;
    }
}

/* =====================================================
   MOBILE ≤ 768px
===================================================== */
@media (max-width: 768px) {

    /* верхушка табов */
    .tabs-nav__title {
        display: none;
    }

    .tabs-nav .button-scroll.small {
        display: none;
    }

    /* Описание */
    .tab-description {
        margin: 32px 0 0;
        padding: 0 8px;
    }

    .tab-description__title {
        font-size: 28px;
        line-height: 36px;
        text-align: left;
    }

    .tab-description-carts {
        margin: 24px 0 0;
        padding: 0;
    }

    .tab-description-carts-item {
        min-height: 130px !important;
    }

    .tab-description-carts-item__info {
        flex: 0 0 70%;
        padding: 16px 0 16px 16px;
    }

    .tab-description-carts-item__title {
        font-size: 20px;
        line-height: 24px;
    }

    .tab-description-carts-item__text {
        font-size: 14px;
        line-height: 19.6px;
    }

    .tab-description-carts-item__img img {
        width: 20%;
    }

    /* Как получить */
    .tab-get__list {
        margin: 32px 0 0;
    }

    .tab-get-item {
        padding: 32px 0 0;
    }

    .tab-get-item:first-child {
        padding: 0 0 32px;
    }

    .tab-get-item__title {
        font-size: 24px;
        line-height: 34px;
        padding: 0;
    }

    .tab-get-item__point {
        font-size: 16px;
    }

    /* Тарифы */
    .tab-rates {
        padding: 32px 0;
    }

    .tab-rates__title {
        font-size: 24px;
        line-height: 34px;
        padding: 0;
    }

    .tab-rates__left,
    .tab-rates__right {
        height: 67px;
        padding: 11px 14px;
    }
}

/* =======================================================
   BANNER-ADV — BASE (DESKTOP 1025px+)
======================================================= */

.banner-adv {
    margin: 86px auto 0;
    padding: 0 12px;
    width: 1126px;
}

.banner-adv__content {
    background-color: #def4f0;
    border-radius: 24px;
}

.banner-adv__content.row {
    align-items: normal;
    height: 220px;
}

.banner-adv__info {
    margin: 32px 0 32px 48px;
    max-width: 500px;
}

.banner-adv__title {
    color: #333;
    font-size: 32px;
    font-weight: 400;
    line-height: 40px;
    margin: 0 0 20px;
}

.banner-adv__img {
    height: 200px;
    margin: 20px 10% 0 0;
    width: 235px;
}

.banner-adv__img img {
    height: 100%;
    width: 100%;
}


/* =======================================================
   TABLET — 1024px → 769px
======================================================= */

@media (max-width: 1024px) {

    .banner-adv {
        width: 100%;
        max-width: 100%;
        margin-top: 64px;
        padding: 0 12px;
    }

    .banner-adv__content {
        height: auto;
        padding: 32px;
        align-items: stretch;
    }

    .banner-adv__content.row {
        height: 200px;   /* ВАЖНО: убираем фикс. высоту */
    }

    .banner-adv__info {
        margin: 0 0 20px 0;
        max-width: 60%;
    }

    .banner-adv__title {
        font-size: 32px;
        line-height: 1.3;
    }

    /* Картинка — вправо, но не выходит из блока */
    .banner-adv__img {
        align-self: flex-end;
        height: 180px;      /* Чуть больше, чем в мобилке */
        width: auto;
        margin: 0 24px -32px 0; /* Поднимаем, но аккуратно */
    }

    .banner-adv__img img {
        width: auto;
        height: 100%;
        object-fit: contain;
    }
}


/* =======================================================
   MOBILE — ≤768px
======================================================= */

@media (max-width: 768px) {

    .banner-adv__content {
        flex-direction: column;
        align-items: flex-start;
        height: auto;
        padding: 24px;
        overflow: hidden;
    }

    .banner-adv__info {
        margin: 0 0 16px 0;
        max-width: 100%;
        padding: 0;
    }

    .banner-adv__title {
        font-size: 22px;
        line-height: 1.4;
        margin-bottom: 20px;
        text-align: left;
    }

    /* КАРТИНКА В НИЖНЕМ ПРАВОМ УГЛУ (НО В ПОТОКЕ) */
    .banner-adv__img {
        align-self: flex-end;   /* Прижимает картинку вправо */
        height: 140px;          /* Можно менять */
        width: auto;
        margin-top: -80px;      /* Лёгкое поднятие (необязательно) */
    }

    .banner-adv__img img {
        height: 100%;
        width: auto;
        object-fit: contain;
    }

    /* ОБОЛОЧКА */
    .banner-adv {
        width: 100%;
        margin-top: 32px;
    }

    .banner-adv__content.row {
    align-items: normal;
    height: 160px;
    } 

    .banner-adv__img {
        margin-right: -10px;
    }

}


/* =======================================================
   ROADMAP — BASE (DESKTOP 1025px+)
======================================================= */

.tab-roadmap {
    display: none;
}

.roadmap {
    margin: 40px 0 0;
}

.roadmap__content {
    margin: 0 auto;
    width: 1176px;
    max-width: 100%;
}

.roadmap__title {
    font-size: 40px;
    font-weight: 400;
    line-height: 48px;
    text-align: center;
}

.roadmap__list {
    margin: 64px 0 0;
    position: relative;
    align-items: flex-start !important;
}

.roadmap__list:before {
    content: "";
    position: absolute;
    top: 24px;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: #cfcfcf;
    z-index: 1;
}

.roadmap-item {
    flex: 1 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 68px 40px 0;
    position: relative;
}

.roadmap-item:after {
    content: "";
    position: absolute;
    left: 50%;
    top: 0;
    bottom: 0;
    width: 112px;
    background: #fff;
    transform: translateX(-50%);
    z-index: 2;
}

.roadmap-item:first-child:after {
    left: 0;
    transform: none;
    width: calc(50% + 56px);
}

.roadmap-item:last-child:after {
    right: 0;
    left: auto;
    transform: none;
    width: calc(50% + 56px);
}

.roadmap-item__step {
    position: absolute;
    top: 0;
    left: 50%;
    width: 48px;
    height: 48px;
    background-color: #f0f3f6;
    border-radius: 50%;
    color: #005e7f;
    font-size: 24px;
    line-height: 54px;
    text-align: center;
    transform: translateX(-50%);
    z-index: 3;
}

.roadmap-item__title {
    font-size: 20px;
    font-weight: 400;
    line-height: 28px;
    z-index: 3;
}

.roadmap-item__text {
    font-size: 16px;
    line-height: 24px;
    margin-top: 4px;
    color: #454545;
    z-index: 3;
}


/* =======================================================
   ROADMAP — TABLET 1024–769px
======================================================= */

@media (max-width: 1024px) {

    .roadmap__title {
        font-size: 32px;
    }

    .roadmap-item {
        padding: 68px 20px 0;
    }
}


/* =======================================================
   ROADMAP — MOBILE ≤768px
======================================================= */

@media (max-width: 768px) {

    .roadmap {
        margin: 32px 0 0;
    }

    .roadmap__title {
        font-size: 28px;
        line-height: 36px;
        text-align: left;
        padding: 0 12px;
    }

    .roadmap__list {
        display: block !important;
        margin: 32px 0 0;
    }

    .roadmap__list:before,
    .roadmap-item:after {
        display: none;
    }

    .roadmap-item {
        display: block;
        padding: 0 12px 0 50px;
        margin: 20px 0 0;
        text-align: left;
    }

    .roadmap-item__step {
        left: 0;
        top: -5px;
        width: 35px;
        height: 35px;
        font-size: 20px;
        line-height: 35px;
        transform: none;
    }

    .roadmap-item__title {
        font-size: 18px;
        line-height: 26px;
    }

    .roadmap-item__text {
        font-size: 14px;
        line-height: 22px;
    }
}

/* =======================================================
   ADVANTAGE — BASE (DESKTOP 1025px+)
======================================================= */

.tab-advantage {
    display: none;
}

.advantage {
    margin: 40px 0 0;
}

.advantage__content {
    margin: 0 auto;
    width: 1320px;
    max-width: 100%;
}

.advantage__list {
    display: flex;
    flex-wrap: wrap;
    padding: 0 12px;
}

.advantage__item {
    width: calc(50% - 24px);
    margin: 24px 0 0;
    padding: 20px 20px 26px 40px;
    border-radius: 16px;
    background: #f9f9f9;
    min-height: 180px;
}

.advantage__item.row {
    align-items: stretch;
}

.advantage__info {
    max-width: 56%;
    min-width: 256px;
    margin: 10px 0 0;
}

.advantage__title {
    font-size: 22px;
    line-height: 34px;
    font-weight: 400;
}

.advantage__text {
    font-size: 14px;
    line-height: 24px;
    margin-top: 8px;
}

.advantage__img {
    width: 130px;
    margin-right: 20px;
}

.advantage__img img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}


/* =======================================================
   ADVANTAGE — TABLET 1024–769px
======================================================= */

@media (max-width: 1024px) {

    .advantage__list {
        display: block !important;
    }

    .advantage__item {
        width: 100%;
        height: 140px;
        min-height: 140px;
    }

    .advantage__info {
        width: 100%;
        min-width: auto;
        max-width: 75%;
    }

    .advantage__img {
        width: 100px;
        height: auto;
    }

    .advantage__title {
    font-size: 24px;
    line-height: 34px;
    font-weight: 400;
    }

    .advantage__text {
    font-size: 16px;
    line-height: 24px;
    margin-top: 8px;
    }
}


/* =======================================================
   ADVANTAGE — MOBILE ≤768px
======================================================= */

@media (max-width: 768px) {

    .advantage {
        margin: 32px 0 0;
    }

    .advantage__item {
        padding: 12px 24px;
        width: 100%;
        min-height: auto;
    }

    .advantage__title {
        font-size: 20px;
        line-height: 28px;
    }

    .advantage__text {
        font-size: 14px;
        line-height: 1.4;
    }

    .advantage__img {
        width: 90px;
        margin-right: 12px;
    }

    .advantage__item {
        height: auto;
    }
}

/* ==============================
   FOOTER — BASE (DESKTOP)
============================== */

.footer {
    margin: 92px auto 0;
}

.footer__content {
    margin: 0 auto;
    width: 1320px;
    max-width: 100%;
    padding: 56px 0;
}

.footer__logo {
    display: block;
    width: 210px;
    height: 100%;
}

.footer__logo img {
    width: 100%;
    height: 100%;
}

.footer__data {
    margin: 42px 0 0;
    padding-bottom: 12px;
    border-bottom: 1px solid #ebebeb;
}

.footer__data.row {
    align-items: normal;
}

.footer__title {
    width: 50%;
    font-size: 14px;
    line-height: 16px;
    color: #454545;
}

.footer__title-link {
    cursor: pointer;
    text-decoration: underline;
}

.footer__organization {
    font-size: 12px;
    line-height: 16px;
    color: #959595;
}

.footer__organization span {
    margin-top: 8px;
    display: block;
}

.footer__organization span:first-child {
    margin-top: 0;
}

.footer__text {
    margin-top: 12px;
    font-size: 11px;
    color: #ababab;
}

aside, footer, nav, section {
    display: block;
}

/* ==============================
   TABLET — 1024px
============================== */

@media (max-width: 1024px) {
    .footer {
        margin: 56px auto 0;
        padding: 10px 10px 56px;
    }

    .footer__content {
        padding: 0;
    }
}

/* ==============================
   MOBILE — 768px
============================== */

@media (max-width: 768px) {

    .footer {
        margin: 24px auto 0;
        padding: 10px 10px 24px;
    }

    .footer__logo {
        margin: 0 auto;
    }

    .footer__data {
        display: block !important;
        margin-top: 24px;
    }

    .footer__title {
        width: 100%;
        text-align: center;
    }

    .footer__organization {
        margin-top: 20px;
    }
}

/* ===========================
   MODAL BASE
=========================== */

.modal {
    display: none;
    position: fixed;
    z-index: 9999;
    inset: 0;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

.modal._active {
    display: flex;
}

.modal__overlay {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.55);
    backdrop-filter: blur(2px);
}

.modal__window {
    position: relative;
    max-width: 700px;
    width: 100%;
    background: #fff;
    border-radius: 16px;
    padding: 32px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.2);
    z-index: 2;
}

.modal__close {
    position: absolute;
    top: 14px;
    right: 16px;
    font-size: 28px;
    cursor: pointer;
    background: none;
    border: none;
}

.modal__title {
    font-size: 28px;
    margin-bottom: 16px;
    font-weight: 600;
}

.modal__content {
    max-height: 60vh;
    overflow-y: auto;
    padding-right: 6px;
    font-size: 16px;
    line-height: 1.55;
}

.modal__content p {
    margin: 12px 0;
}

/* MOBILE */
@media (max-width: 768px) {
    .modal__window {
        padding: 20px;
    }

    .modal__title {
        font-size: 22px;
    }

    .modal__content {
        font-size: 14px;
        max-height: 65vh;
    }
}






* {
    box-sizing: border-box
}


h2 {
    color: #3e4348;
    font-family: Roboto,sans-serif!important;
    font-size: 24px!important;
    font-weight: 400!important;
    margin: 20px 0;
    text-align: center
}

.container {
    margin: 0 auto;
}



.root {
    overflow: hidden
}

.row {
    align-items: center;
    display: flex
}

.row.jc-sb {
    justify-content: space-between
}

.row.ai-s {
    align-items: flex-start
}

.row.ai-n {
    align-items: normal
}

.nowrap {
    white-space: nowrap
}

.anim-opacity {
    -webkit-animation: anim-opacity 1s;
    animation: anim-opacity 1s
}

@-webkit-keyframes anim-opacity {
    0% {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

@keyframes anim-opacity {
    0% {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

* {
    border: 0;
    margin: 0;
    padding: 0
}

*,:after,:before {
    box-sizing: border-box
}

:active,:focus,a:active,a:focus {
    outline: none
}

aside,footer,nav,section {
    display: block
}


body {
    -ms-text-size-adjust: 100%;
    -moz-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
    line-height: normal
}

body,button,input,textarea {
    font-family: Glober,Arial,Helvetica,sans-serif
}

input::-ms-clear {
    display: none
}

button {
    cursor: pointer
}

button::-moz-focus-inner {
    border: 0;
    padding: 0
}

a:hover,a:visited {
    text-decoration: none
}

ul li {
    list-style: none
}

img {
    vertical-align: top
}

h1,h2,h3,h4,h5,h6 {
    font-size: inherit;
    font-weight: inherit
}

/* ====== PAYMENT BASE ====== */

.payment {
    display: flex;
    width: 664px;
    height: 184px;
    margin-top: 16px;
}

.payment__range-list {
    display: flex;
    flex-direction: column;
}

.payment-calculation {
    margin: 12px 0 0 50px;
}

.payment-calculation__list {
    background: #fff;
    border-radius: 8px;
    padding: 10px;
    color: #333;
    font-size: 14px;
    line-height: 32px;
    position: relative;
    z-index: 10;
}

.payment-calculation__list:before {
    content: "";
    position: absolute;
    left: -17px;
    top: 50%;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-right: 18px solid #fff;
    border-top: 15px solid transparent;
    border-bottom: 15px solid transparent;
}

.payment-calculation__item {
    display: flex;
    justify-content: space-between;
}

.payment-calculation__name {
    font-weight: 500;
    margin-right: 5px;
}

/* ====== RANGE BLOCK ====== */

.range-deep {
    width: 300px;
    margin-bottom: 40px;
}

.range-deep__info {
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: #333;
    font-size: 16px;
    margin-bottom: 5px;
}

/* Основа слайдера */
.input-slider {
    width: 100%;
    height: 15px;
    border-radius: 5px;
    margin: 0;
    padding: 0;
    outline: none;
    -webkit-appearance: none;
    appearance: none;
    box-shadow: inset 0 1px 3px rgba(0,0,0,.3);
}


/* Chrome / Safari */
.input-slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 20px;
    height: 20px;
    background: #107f8c; /* красный */
    border-radius: 50%;
    cursor: pointer;
    transition: background 0.15s;
}


/* Firefox */
.input-slider::-moz-range-thumb {
    width: 20px;
    height: 20px;
    background: #107f8c;
    border-radius: 50%;
    cursor: pointer;
    transition: background 0.15s;
}


/* Edge / IE */
.input-slider::-ms-thumb {
    width: 20px;
    height: 20px;
    background: #107f8c;
    border-radius: 50%;
    cursor: pointer;
}



.button-scroll_main .button-scroll__span {
    font-size: 16px;
    padding: 12px 24px;
    line-height: 25px;
    font-weight: 400;
}

/* --- МОДАЛЬНОЕ ОКНО --- */
.custom-modal {
    position: fixed;               /* фиксируем на экране */
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: none;                 /* скрыто по умолчанию */
    justify-content: center;       /* центр по горизонтали */
    align-items: center;           /* центр по вертикали */
    background: rgba(0, 0, 0, 0.45);  /* затемнение фона */
    z-index: 9999;                 /* поверх всего */
}

.custom-modal._active {
    display: flex;                 /* показать модалку */
}


/* ===== КАСТОМНАЯ МОДАЛКА — ОФОРМЛЕНИЕ ===== */

.custom-modal__content {
    background: #fff;
    border-radius: 16px;
    padding: 40px 32px;
    max-width: 500px;
    width: 90%;
    text-align: center;
    box-shadow: 0px 10px 40px rgba(0, 0, 0, 0.2);
}

.custom-modal__text {
    font-size: 24px;
    line-height: 1.4;
    margin-bottom: 32px;        /* расстояние до кнопки */
}

/* Увеличенная кнопка */
.custom-modal__content .button-scroll {
    width: 100%;
    max-width: 280px;           /* ширина */
    height: 60px;               /* увеличенная высота (примерно ×3) */
    font-size: 20px;            /* увеличенный текст */
    border-radius: 12px;
    margin: 0 auto;
}



/* ===== MOVED MEDIA QUERIES ===== */

@media (max-width: 1024px) {

    .header-left__logo {
        max-width: 50px;
    }

    .header-left__text {
        font-size: 12px;
        margin-left: 10px;
    }

    .counter {
        width: 190px;
    }

    .counter__text {
        font-size: 12px;
    }

    .counter__value {
        font-size: 22px;
    }

    .banner-inner {
        flex-wrap: nowrap;
        justify-content: space-between;
    }

    .banner-inner__content {
        flex-direction: row;
        justify-content: space-between;
        align-items: flex-start; /* ← текст и калькулятор выравниваются сверху */
        padding: 60px;
        gap: 30px;
    }

    /* ЛЕВАЯ ЧАСТЬ — ТЕКСТ */
    .banner-inner__info {
        flex: 1 1 55%;
        text-align: left;
    }

    .banner-inner-info__title {
        font-size: 28px;
        text-align: left;
    }

    /* ПРАВАЯ ЧАСТЬ — КАРТИНКА */
    .desktop-img {
        flex: 1 1 45%;
        display: flex;
        justify-content: center;

        align-self: flex-end; /* ← ОПУСКАЕМ картинку вниз */
        margin-bottom: 20px;    /* ← отступ от верхней линии */
    }

    .desktop-img img {
        max-width: 85%;
    }

    /* Мобильная картинка скрыта */
    .mobile-img {
        display: none;
    }
}

@media (max-width: 768px) {

    .header {
        height: auto;
        padding: 10px 0;
    }

    .header__content {
        flex-direction: column;
        text-align: center;
        height: auto;
        gap: 10px;
    }

    /* Логотип по центру */
    .header-left {
        justify-content: center;
    }

    .header-left__text {
        margin-left: 10px;
    }

    /* Скрываем counter, как у тебя было */
    .counter {
        display: none;
    }

    /* Правый блок исчезает (поскольку нет counter) */
    .header-right {
        display: none;
    }

    

    

    .form-quest__content {
        width: calc(100% - 16px);
        margin: 0 8px;
        padding: 30px 10px;
    }

    .form-quest__title {
        font-size: 20px;
    }

    .form-progress__value {
        font-size: 18px;
    }

    .input__title {
        font-size: 13px;
    }

    .button-form {
        width: 100%;
        margin: 20px 0 0;
    }

    .button-form__text {
        padding: 14px 0;
    }
}


@media (max-width: 900px) {
    .banner-info {
        margin-top: 20px;         /* на мобильных — блок под баннером */
        position: static;
    }

    .banner-info__content {
        padding: 20px;
        flex-direction: column; /* 👈 элементы по вертикали */
        align-items: center;
    }

    .banner-info__item:first-child {
        margin: 0;
    }

    .banner-info__list {
        flex-direction: column;
        gap: 12px;
    }

    .banner-info__item {
        display: flex;
        justify-content: flex-start; /* ВЫРАВНИВАНИЕ СЛЕВА */
        align-items: center;
        gap: 6px;
        flex-wrap: nowrap;
        white-space: nowrap; /* title + text остаются на одной строке */
        text-align: left; /* дополнительная страховка */
        width: 100%;
    }

    .banner-info__title,
    .banner-info__text {
        font-size: 20px;
        line-height: 1.3;
        display: inline; /* чтобы были в одной строке */
        text-align: left;
    }

    .banner-info__title::after {
        content: " — "; /* тире между строками */
    }

    /* Контейнер баннера */
    .banner-inner {
        display: flex;
        flex-direction: column;
        align-items: center;    /* ← центрирование */
        justify-content: center;
        width: 100%;
        padding: 0;
        margin: 0;
    }

    .banner-inner__content {
        display: flex;
        flex-direction: column; /* ← картинка под текстом */
        align-items: center;     /* ← центрирование ВСЕГО */
        justify-content: center;
        width: 100%;
        padding: 20px !important;
        gap: 20px;
        margin-bottom: 20px;         /* ← отступ снизу */
    }

    /* ОБЕ картинки */
    .banner-inner__img {
        width: 100%;
        display: flex;
        justify-content: center;
        margin: 0 auto;
        padding: 0;
    }

    /* скрыть десктоп */
    .desktop-img {
        display: none !important;
        flex: unset !important;
        width: 0 !important;
        height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    /* мобильная картинка */
    .mobile-img {
        display: flex !important;
        justify-content: center;
        width: 100%;
        margin-top: 10px;
    }

    .banner-inner__img img {
    max-width: 20%;
    height: auto;
}

    /* блок текста */
    .banner-inner__info {
        width: 100%;
        text-align: center;         /* ← выравнивание текста */
        display: flex;
        flex-direction: column;
        align-items: center;        /* ← выравнивание вложенных элементов */
        justify-content: center;
        margin: 0 auto;
    }

    .banner-inner-info__title {
        text-align: center;
        width: 90%;
        margin: 0 auto;
    }

    /* калькулятор */


    /* кнопка */
    .button-scroll {
        margin: 0 auto;
    }

    .payment {
        display: block;
        width: 100%;
        background: #fff;
        border-radius: 8px;
        padding: 20px;
        height: auto;
        margin: 20px auto;
    }

    .payment__range-list {
        width: 100%;
    }

    .range-deep {
        width: 100%;
        margin-bottom: 20px;
    }

    .payment-calculation {
        margin: 10px 0 0;
        padding: 10px 0;
    }

    .payment-calculation__list {
        display: flex;
        justify-content: space-around;
        padding: 0;
    }

    .payment-calculation__list:before {
        display: none;
    }

    .payment-calculation__item {
        display: block;
        margin: 0 5px;
        text-align: center;
    }

    .payment-calculation__name {
        margin: 0;
        line-height: 16px;
        font-size: 12px;
    }

    .payment-calculation__num {
        font-size: 18px;
        line-height: 17px;
    }
}

@media (max-width: 768px) {
    .button-scroll {
        display:block;
        margin: 20px auto 0;
        width: 210px
    }

    .button-scroll {
        margin: 0
    }

    .button-scroll__span {
        font-size: 16px
    }

    .small.button-scroll {
        margin: 0;
        width: auto
    }

    .small>.button-scroll__span {
        font-size: 14px
    }
}

@media (max-width: 756px) {
    .tabs-nav .button-scroll.small {
        display:none
    }
}

@media (max-width: 768px) {
    .container {
        padding:0 8px
    }
}