/*
 * Страница /resident/ по макету Figma («Как стать резидентом ОЭЗ», фреймы 1920 и 390) с правками клиента.
 * Всё ограничено обёрткой .resident-page: шапка и подвал сайта остаются на шрифте VTB Group, как на /contacts/.
 * Макет снят с HTML-прототипа и набран Inter, размеры шрифтов в нём дробные — повторяем как есть.
 */

@font-face {
    font-family: "Inter";
    src: url(/assets/Inter/Inter-cyrillic.woff2) format("woff2");
    font-weight: 300 700;
    font-style: normal;
    font-display: swap;
    unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
    font-family: "Inter";
    src: url(/assets/Inter/Inter-latin.woff2) format("woff2");
    font-weight: 300 700;
    font-style: normal;
    font-display: swap;
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Всем элементам: у заголовков и .f1–.f6 в base.css свой font-family, наследование его не перебивает */
.resident-page,
.resident-page * {
    font-family: "Inter", Helvetica, Arial, sans-serif;
    /* В макете Inter 3 без оптических размеров; Inter 4 на крупном кегле иначе сужает буквы */
    font-optical-sizing: none;
    font-variation-settings: "opsz" 14;
}

/* ===== Общее: заголовки блоков, ритм, кнопки ===== */

/* Заголовок блока — как в новых блоках макета (по правке клиента 15.10 у всех блоков один размер) */
.resident-page .heading_wrapper {
    margin-bottom: 16px;
}

.resident-page .heading_wrapper .heading.h3 {
    font-size: 35px;
    font-weight: 600;
    line-height: 39.6px;
    letter-spacing: -0.72px;
    color: #132561;
}

/* Отступы между блоками — по макету: ~46–50 px и ~100 px. Разделители .mb-theme остаются якорями */
.resident-page > .mb-theme {
    height: 0;
    margin: 0;
}

.resident-page section.max-width-theme {
    margin-top: 0;
    margin-bottom: 0;
    padding-top: 0;
    padding-bottom: 0;
}

.resident-page section.how_to { margin-top: 46px; }
.resident-page section.status_steps { margin-top: 45px; }
.resident-page section.calculator { margin-top: 47.5px; }
.resident-page section.privileges { margin-top: 97.5px; }
.resident-page section.tax_benefits { margin-top: 98px; }
.resident-page section.resident_status { margin-top: 49.5px; }
.resident-page section.investor { margin-top: 96.5px; }
.resident-page section.placement { margin-top: 100px; }
.resident-page section.ready_object { margin-top: 56.5px; }
.resident-page section.progress { margin-top: 98px; }
.resident-page section.documents { margin-top: 100px; }
.resident-page section.first_step { margin-top: 100px; }
.resident-page section.questions { margin-top: 99.5px; margin-bottom: 100px; }

/* Кнопки под блоками: 56 px, радиус 7, текст 15/22.4 medium */
.resident-page .btns_wrapper {
    margin-top: 0;
    gap: 12px;
}

.resident-page .btns_wrapper a,
.resident-page .btns_wrapper .resident-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 56px;
    padding: 0 24px;
    border-radius: 7px;
    font-size: 15px;
    font-weight: 500;
    line-height: 22.4px;
}

/* Карточка макета: белая, рамка #E6ECF4, радиус 16, мягкая тень */
.resident-page .how_to_item,
.resident-page .require_item {
    background: #fff;
    border: 1px solid #E6ECF4;
    border-radius: 16px;
    box-shadow: 0 6px 20px rgba(19, 37, 97, 0.05), 0 1px 2px rgba(19, 37, 97, 0.04);
}

/* ===== Требования к резидентам ===== */

.resident-page .how_to_wrapper {
    gap: 22px;
    margin-bottom: 22px;
    padding-top: 0;
}

.resident-page .how_to_item {
    flex: 1 1 0;
    min-height: 187px;
    padding: 28px;
    gap: 17px;
}

.resident-page .how_to_item .number {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    padding: 0;
    border-radius: 50%;
    font-size: 19px;
    font-weight: 600;
    line-height: 26.6px;
    box-shadow: 0 6px 16px rgba(50, 97, 236, 0.28);
}

.resident-page .how_to_item .text {
    font-size: 14.5px;
    font-weight: 500;
    line-height: 23.25px;
    color: #132561;
}

.resident-page .require_wrapper {
    gap: 22px;
}

.resident-page .require_item {
    min-height: 350px;
    padding: 28px 28px 46px;
}

.resident-page .require_title {
    margin-bottom: 10px;
    font-size: 18.4px;
    font-weight: 600;
    line-height: 24.7px;
}

.resident-page .require_item .item_wrapper {
    justify-content: flex-start;
    gap: 25px;
    height: auto;
    padding: 20px 0 20px 20px;
}

.resident-page .require_item .item_wrapper div {
    align-items: flex-start;
    padding: 13px 0;
    font-size: 14.5px;
    font-weight: 500;
    line-height: 21.75px;
    color: #132561;
}

.resident-page .require_item .item_wrapper div:last-child {
    padding-bottom: 0;
}

.resident-page .require_item .item_wrapper div:before {
    flex-shrink: 0;
    margin-top: 0;
}

.resident-page section.how_to .btns_wrapper {
    margin-top: 32px;
}

/* ===== Пошагово: как получить статус резидента ===== */

/* Заголовок на всю ширину колонки, список шагов и сроки — 960 px по центру.
   На мобильном у блока остаётся общая ширина .max-width-theme */
@media (min-width: 768px) {
    .resident-page section.status_steps {
        max-width: 1440px;
    }
}

.resident-page .status_steps_wrapper,
.resident-page .deadlines_wrapper {
    max-width: 960px;
    margin-left: auto;
    margin-right: auto;
}

.resident-page .status_steps_wrapper {
    gap: 0;
    margin-bottom: 0;
}

.resident-page .status_steps_item {
    gap: 24px;
    padding-bottom: 22px;
}

.resident-page .status_steps_num {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    font-size: 22px;
    font-weight: 700;
    line-height: 30.8px;
    box-shadow: 0 4px 14px rgba(50, 97, 236, 0.18);
}

.resident-page .status_steps_item:not(:last-child) .status_steps_num::after {
    left: 30px;
    top: 60px;
    height: calc(100% - 60px);
}

.resident-page .status_steps_info {
    gap: 9px;
    padding: 24px 26px;
    border: 1px solid #E6ECF4;
    box-shadow: 0 6px 20px rgba(19, 37, 97, 0.05), 0 1px 2px rgba(19, 37, 97, 0.04);
}

.resident-page .status_steps_info .title {
    font-size: 17.4px;
    font-weight: 600;
    line-height: 23.4px;
}

.resident-page .status_steps_info .text {
    padding-bottom: 7.5px;
    font-size: 13.9px;
    font-weight: 400;
    line-height: 22.5px;
}

.resident-page .status_steps_info .text span {
    font-weight: 600;
}

.resident-page .status_steps_info .info_wrapper {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    padding-top: 14px;
}

.resident-page .status_steps_info .info_wrapper .info_item {
    padding: 0 17px;
    border-left: 1px solid #E6ECF4;
    border-right: 0;
    font-size: 13.3px;
    font-weight: 500;
    line-height: 18.2px;
    color: #132561;
}

.resident-page .status_steps_info .info_wrapper .info_item:first-child {
    padding-left: 0;
    border-left: 0;
}

.resident-page .status_steps_info .info_wrapper .info_item .name {
    margin-bottom: 3.5px;
    font-size: 10.5px;
    font-weight: 600;
    line-height: 15.4px;
    letter-spacing: 0.44px;
    color: #9AA3B2;
}

.resident-page .status_steps_info .info_wrapper .info_item .blue {
    font-size: 13.5px;
    font-weight: 700;
    color: #3261EC;
}

.resident-page .status_steps_info .docs_toggle {
    margin-top: 4px;
    font-size: 13.3px;
    line-height: 18.2px;
}

/* ===== Сроки ключевых этапов ===== */

.resident-page section.status_steps .heading-sub {
    margin-top: 26px;
    margin-bottom: 0;
    font-size: 23.1px;
    font-weight: 600;
    line-height: 33.6px;
    letter-spacing: 0;
}

.resident-page .deadlines_wrapper {
    gap: 20px;
    margin-top: 24px;
}

.resident-page .deadlines_item {
    max-width: none;
    min-height: 144px;
    gap: 9px;
    padding: 24px;
    border-radius: 16px;
    box-shadow: 0 6px 20px rgba(19, 37, 97, 0.05), 0 1px 2px rgba(19, 37, 97, 0.04);
}

.resident-page .deadlines_item .deadlines_digit {
    font-size: 30px;
    font-weight: 700;
    line-height: 30px;
}

/* «рабочих дней» на 2 кегля меньше пояснения — правка клиента 15.10 */
.resident-page .deadlines_item .deadlines_unit {
    margin-bottom: 0;
    font-size: 10.5px;
    font-weight: 500;
    line-height: 15px;
    color: #5B6472;
}

.resident-page .deadlines_item .deadlines_text {
    font-size: 12.5px;
    font-weight: 500;
    line-height: 18.2px;
    color: #5B6472;
}

/* ===== Калькулятор выгоды ===== */

.resident-page section.calculator .heading_wrapper,
.resident-page section.progress .heading_wrapper,
.resident-page section.questions .heading_wrapper {
    margin-bottom: 32px;
}

.resident-page .calculator_container {
    min-height: 587.5px;
}

.resident-page .calculator_item.main .flex > div > div {
    margin-bottom: 19.5px;
}

.resident-page .calculator_item.main .calc-title {
    font-size: 22.1px;
    font-weight: 500;
    line-height: 21.85px;
    letter-spacing: -0.35px;
}

.resident-page .calculator_item.main .descr {
    margin-bottom: 4px;
    font-size: 15px;
    font-weight: 500;
    line-height: 22.4px;
    color: #565655;
}

.resident-page .calculator_item.main input[type=text] {
    height: 30.5px;
    padding: 6px 0 7px 10px;
    font-size: 13px;
    font-weight: 500;
    color: #757575;
}

.resident-page .calculator_item.main .btns .theme-btn,
.resident-page .calculator_item.main .btns input {
    height: 56px;
    border-radius: 7px;
    font-size: 15px;
    font-weight: 500;
}

.resident-page .calculator_item.right_block .profit_value {
    font-size: 38.8px;
    font-weight: 300;
    line-height: 56px;
    color: #090521;
}

.resident-page .calculator_item.right_block > div:first-child .profit_value {
    font-size: 40px;
    font-weight: 700;
    color: #3261EC;
}

.resident-page .calculator_item.right_block .profit_text {
    font-size: 15.5px;
    font-weight: 500;
    line-height: 22.4px;
    color: #565655;
}

.resident-page .detail_link_wrapper a {
    font-size: 15px;
    font-weight: 500;
    line-height: 22.4px;
}

/* ===== Таможенные льготы ===== */

.resident-page section.privileges .heading_wrapper {
    margin-bottom: 24px;
}

.resident-page section.privileges img {
    display: block;
    width: 100%;
    max-width: 1346px;
    margin: 0 auto;
}

.resident-page .privileges .privileges_wrapper {
    margin-top: 24px;
    margin-bottom: 0;
    padding-top: 12px;
    gap: 20px;
}

.resident-page .privileges_wrapper > div {
    border-right-color: #00AAFF;
    padding-right: 11px;
}

.resident-page .privileges_wrapper .percents {
    font-size: 112px;
    font-weight: 500;
    line-height: 156.8px;
    color: #3261EC;
}

.resident-page .privileges_wrapper .title {
    margin-top: 10px;
    font-size: 22px;
    font-weight: 500;
    line-height: 32.2px;
    color: #132561;
}

.resident-page .privileges_wrapper .descr_text_wrapper {
    font-size: 15px;
    font-weight: 500;
    line-height: 22.4px;
    color: #565655;
}

.resident-page .privileges .descr {
    margin: 0;
    padding-top: 47.5px;
    font-size: 21.9px;
    font-weight: 500;
    line-height: 21.85px;
    letter-spacing: -0.35px;
    color: #132561;
}

.resident-page .privileges .btns {
    max-width: none;
    margin-top: 24px;
}

.resident-page .privileges .btns .theme-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 190px;
    height: 56px;
    padding: 0 24px;
    border-radius: 7px;
    font-size: 15.5px;
    font-weight: 500;
    line-height: 22.4px;
    white-space: nowrap;
}

/* ===== Налоговые льготы ===== */

.resident-page section.tax_benefits .heading_wrapper {
    margin-bottom: 13.5px;
}

.resident-page .benefits_wrapper {
    box-shadow: 0 6px 20px rgba(19, 37, 97, 0.05), 0 1px 2px rgba(19, 37, 97, 0.04);
    overflow: hidden;
}

.resident-page .benefits_item.benefits_header div {
    padding: 16px 22px 17px;
    line-height: 17.5px;
}

.resident-page .benefits_item div {
    line-height: 21px;
}

.resident-page section.tax_benefits .btns_wrapper {
    margin-top: 36px;
}

/* ===== Статус резидента подходит компаниям ===== */

.resident-page section.resident_status .btns_wrapper {
    margin-top: 36px;
}

.resident-page .resident_status_wrapper {
    padding: 27px 28px 46px;
    box-shadow: 0 6px 20px rgba(19, 37, 97, 0.05), 0 1px 2px rgba(19, 37, 97, 0.04);
}

.resident-page .resident_status_wrapper div {
    font-size: 14.5px;
    font-weight: 500;
    line-height: 21.75px;
    color: #132561;
}

/* ===== Что получает инвестор ===== */

.resident-page .investor .main-grounds-inner {
    gap: 22px;
}

.resident-page .investor .main-grounds-item {
    display: flex;
    flex-direction: column;
    gap: 9px;
    padding: 30px 28px;
    box-shadow: 0 6px 20px rgba(19, 37, 97, 0.05), 0 1px 2px rgba(19, 37, 97, 0.04);
}

.resident-page .investor .sub-image-wrap {
    width: 52px;
    height: 52px;
    border-radius: 13px;
    background-position: center;
}

.resident-page .investor .sub-checks-wrapper {
    padding-top: 11px;
}

.resident-page .investor .sub-checks-title {
    margin-bottom: 9px;
    font-size: 17.5px;
    font-weight: 600;
    line-height: 23.4px;
    color: #132561;
}

.resident-page .investor .sub-checks-text {
    font-size: 14px;
    font-weight: 500;
    line-height: 22.5px;
    color: #5B6472;
}

/* ===== Форматы размещения ===== */

.resident-page .placement_wrapper {
    align-items: stretch;
}

.resident-page .placement_item {
    flex: 1 1 0;
    padding: 26px 24px;
    border: 1px solid #E6ECF4;
    border-radius: 16px;
    box-shadow: 0 6px 20px rgba(19, 37, 97, 0.05), 0 1px 2px rgba(19, 37, 97, 0.04);
}

/* Плашка формата — у левого края, как в мобильном макете (в десктопном она случайно смещена) */
.resident-page .placement_item .tag {
    margin: 0 0 16px;
    border-radius: 8px;
}

.resident-page .placement_item .name {
    margin-bottom: 15.5px;
    font-size: 17.2px;
    font-weight: 600;
    line-height: 22.5px;
    color: #132561;
}

.resident-page .placement_item .info_wrapper {
    gap: 0;
    width: 100%;
}

.resident-page .placement_item .info_wrapper .info_item {
    gap: 2px;
    width: 100%;
    padding: 10px 0 11px;
    border-bottom: 0;
}

/* «Кому» и «Формат» в макете идут одной группой без линии, дальше — разделители */
.resident-page .placement_item .info_wrapper .info_item:first-child {
    padding-top: 0;
}

.resident-page .placement_item .info_wrapper .info_item:nth-child(n+3) {
    border-top: 1px solid #E6ECF4;
}

.resident-page .placement_item .info_wrapper .info_item .title {
    font-size: 10.5px;
    font-weight: 600;
    line-height: 15.4px;
    letter-spacing: 0.44px;
    color: #9AA3B2;
}

.resident-page .placement_item .info_wrapper .info_item .text {
    font-size: 13.3px;
    font-weight: 500;
    line-height: 19.6px;
    color: #132561;
}

.resident-page .placement_item .next_step {
    margin-top: auto;
    padding-top: 14px;
    font-size: 13.9px;
    font-weight: 600;
    line-height: 19.6px;
    color: #3261EC;
}

/* Стрелка у кнопки нарисована в шаблоне через ::before от верхнего края ссылки — учитываем отступ сверху */
.resident-page .placement_item .next_step:before,
.resident-page .placement_item .next_step:after {
    top: 21px;
}

/* ===== Получите участок со всеми коммуникациями ===== */

.resident-page section.ready_object .main_text {
    font-size: 38.3px;
    font-weight: 500;
    line-height: 56px;
}

.resident-page section.ready_object .note {
    font-size: 15px;
    font-weight: 500;
    line-height: 22.4px;
}

.resident-page section.ready_object .descr {
    font-size: 11.4px;
    font-weight: 500;
    line-height: 16.8px;
}

.resident-page section.ready_object .btns .theme-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 128px;
    height: 56px;
    padding: 0;
    border-radius: 7px;
    font-size: 14.8px;
    font-weight: 500;
}

/* ===== Развивайтесь в одном пространстве с лидерами ===== */

.resident-page .progress_wrapper .main_title {
    font-size: 30px;
    font-weight: 500;
    line-height: 44.8px;
}

.resident-page .progress_wrapper .main_descr {
    font-size: 22.6px;
    font-weight: 500;
    line-height: 32.2px;
}

.resident-page .progress_wrapper .sub_wrapper .sub_title {
    font-size: 15px;
    font-weight: 500;
    line-height: 22.4px;
    color: #565655;
}

.resident-page section.progress .btns .theme-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 170px;
    height: 56px;
    padding: 0;
    border-radius: 7px;
    font-size: 15.4px;
    font-weight: 500;
}

/* ===== Сделайте первый шаг уже сегодня ===== */

.resident-page .first_step_wrapper .heading_wrapper {
    margin-bottom: 36px;
}

.resident-page .first_step_wrapper .heading_wrapper .heading.h3 {
    color: #fff;
}

.resident-page .first_step_wrapper .heading_wrapper div {
    font-size: 14.9px;
    font-weight: 300;
    line-height: 24px;
}

.resident-page .first_step_item .name {
    margin-bottom: 8px;
    font-size: 16.5px;
    font-weight: 600;
    line-height: 22px;
}

.resident-page .first_step_item .text {
    margin-bottom: 0;
    font-size: 12.9px;
    font-weight: 300;
    line-height: 21px;
}

.resident-page section.first_step .first_step_item .btns_wrapper a {
    width: 100%;
    font-size: 15.5px;
}

.resident-page .first_step_item .btns_wrapper {
    margin-top: 20px;
}

/* ===== Полезные документы: в стиле таблиц макета ===== */

.resident-page .docs_item.docs_header {
    padding-top: 16px;
    padding-bottom: 17px;
    font-size: 12px;
    font-weight: 600;
    line-height: 17.5px;
    letter-spacing: 0.5px;
    text-transform: uppercase;
}

.resident-page .docs_item {
    padding-top: 17px;
    padding-bottom: 17px;
    font-size: 15px;
    font-weight: 600;
    line-height: 21px;
}

.resident-page section.documents .btns_wrapper {
    margin-top: 36px;
}

/* ===== Планшет ===== */

@media (max-width: 1199px) {
    .resident-page .heading_wrapper .heading.h3 {
        font-size: 30px;
        line-height: 34px;
    }
}

/* ===== Мобильная версия (макет 390 px) ===== */

@media (max-width: 767px) {
    .resident-page .heading_wrapper {
        margin-bottom: 12px;
    }

    .resident-page .heading_wrapper .heading.h3 {
        font-size: 25.5px;
        line-height: 28.6px;
        letter-spacing: -0.52px;
    }

    .resident-page section.calculator .heading_wrapper,
    .resident-page section.progress .heading_wrapper,
    .resident-page section.questions .heading_wrapper,
    .resident-page section.privileges .heading_wrapper {
        margin-bottom: 24px;
    }

    /* Между блоками на мобильном — 60 px */
    .resident-page section.how_to,
    .resident-page section.status_steps,
    .resident-page section.calculator,
    .resident-page section.privileges,
    .resident-page section.tax_benefits,
    .resident-page section.resident_status,
    .resident-page section.investor,
    .resident-page section.placement,
    .resident-page section.ready_object,
    .resident-page section.progress,
    .resident-page section.documents,
    .resident-page section.first_step,
    .resident-page section.questions {
        margin-top: 60px;
    }

    .resident-page section.questions {
        margin-bottom: 60px;
    }

    /* Кнопки 45 px, стопкой по центру */
    .resident-page .btns_wrapper a,
    .resident-page .btns_wrapper .resident-btn {
        height: 45px;
        padding: 0 14px;
        font-size: 11.4px;
        line-height: 16.8px;
    }

    .resident-page section.how_to .btns_wrapper,
    .resident-page section.tax_benefits .btns_wrapper,
    .resident-page section.resident_status .btns_wrapper,
    .resident-page section.documents .btns_wrapper {
        margin-top: 24px;
    }

    /* Требования: цифра слева, текст справа (правка 23.10) */
    .resident-page .how_to_wrapper {
        flex-direction: column;
        gap: 12px;
    }

    .resident-page .how_to_item {
        flex: none;
        flex-direction: row;
        align-items: center;
        gap: 16px;
        min-height: 0;
        padding: 20px;
    }

    .resident-page .how_to_item .number {
        flex-shrink: 0;
    }

    .resident-page .require_wrapper {
        flex-direction: column;
        gap: 22px;
    }

    .resident-page .require_item {
        min-height: 0;
        padding: 28px 28px 35.5px;
    }

    .resident-page .require_item .item_wrapper {
        gap: 12px;
        padding: 15px 0 0 15px;
    }

    /* Пошагово: колонки фактов стопкой */
    .resident-page .status_steps_item {
        gap: 16px;
    }

    .resident-page .status_steps_num {
        width: 48px;
        height: 48px;
        font-size: 18px;
        line-height: 25.2px;
    }

    .resident-page .status_steps_item:not(:last-child) .status_steps_num::after {
        left: 24px;
        top: 48px;
        height: calc(100% - 48px);
    }

    .resident-page .status_steps_info {
        min-width: 0;
        padding: 23.5px 20px 24px;
    }

    .resident-page .status_steps_info .info_wrapper {
        grid-template-columns: 1fr;
        gap: 0;
        padding-top: 20px;
    }

    .resident-page .status_steps_info .info_wrapper .info_item,
    .resident-page .status_steps_info .info_wrapper .info_item:first-child {
        padding: 11px 0 0;
        border-left: 0;
    }

    .resident-page .status_steps_info .info_wrapper .info_item:first-child {
        padding-top: 0;
    }

    .resident-page .status_steps_info .info_wrapper .info_item + .info_item {
        margin-top: 12px;
        border-top: 1px solid #E6ECF4;
    }

    .resident-page section.status_steps .heading-sub {
        margin-top: 36px;
    }

    .resident-page .deadlines_wrapper {
        flex-direction: column;
        gap: 20px;
    }

    .resident-page .deadlines_item {
        width: 100%;
        min-height: 0;
    }

    /* Калькулятор: размеры мобильного макета */
    .resident-page section.calculator .heading.h3 {
        font-weight: 500;
        letter-spacing: -1.3px;
    }

    .resident-page .calculator_container {
        gap: 20px;
        min-height: 0;
    }

    .resident-page .calculator_item.main {
        padding: 23px 16px 24px;
        border-radius: 20px;
    }

    .resident-page .calculator_item.main form > div:first-child {
        padding-bottom: 20px;
    }

    .resident-page .calculator_item.main .flex > div > div,
    .resident-page .calculator_item.main form > div:first-child > div {
        margin-bottom: 19px;
    }

    .resident-page .calculator_item.main form > div:first-child > div > div > div {
        margin-bottom: 7px;
    }

    .resident-page .calculator_item.main .calc-title {
        margin-bottom: 7px;
        font-size: 13.3px;
        line-height: 13.3px;
        letter-spacing: -0.21px;
    }

    .resident-page .calculator_item.main .calc-title.m-bottom {
        margin-bottom: 10px;
    }

    .resident-page .calculator_item.main .descr {
        font-size: 12.2px;
        line-height: 18.2px;
    }

    .resident-page .calculator_item.main .btns .theme-btn,
    .resident-page .calculator_item.main .btns input {
        width: auto;
        height: 45px;
        padding: 0 14px;
        font-size: 11.1px;
        line-height: 16.8px;
    }

    .resident-page .calculator_item.right_block {
        gap: 8px;
        padding: 24px 16px;
        border-radius: 20px;
    }

    .resident-page .calculator_item.right_block > div:not(.btns):not(.detail_link_wrapper) {
        margin: 0;
        padding: 11px 12px 12px;
        border-radius: 10px;
    }

    .resident-page .calculator_item.right_block .profit_value {
        font-size: 30.1px;
        line-height: 44.8px;
    }

    .resident-page .calculator_item.right_block > div:first-child .profit_value {
        font-size: 32px;
    }

    .resident-page .calculator_item.right_block .profit_text {
        font-size: 11.4px;
        line-height: 16.8px;
    }

    .resident-page .calculator_item.right_block .btns {
        margin: 0;
        min-height: 74px;
    }

    .resident-page .detail_link_wrapper {
        margin: 0;
        padding: 12px;
    }

    .resident-page .detail_link_wrapper a {
        font-size: 15.3px;
    }

    /* Налоговые льготы: подпись слева, значение справа, строки 31.6 px */
    .resident-page .benefits_wrapper_mobile {
        padding: 0;
    }

    .resident-page .benefits_mobile_item {
        gap: 0;
        padding: 12px 18px 12px 20px;
    }

    .resident-page .benefits_mobile_item:not(:last-child) {
        margin-bottom: 0;
        padding-bottom: 12px;
    }

    /* .row — ещё и класс сетки Bootstrap: перенос, отрицательные поля и width:100% у детей */
    .resident-page .benefits_mobile_item .row {
        flex-wrap: nowrap;
        align-items: center;
        gap: 16px;
        min-height: 31.6px;
        margin: 0;
    }

    .resident-page .benefits_mobile_item .row > div {
        width: auto;
        padding: 0;
    }

    .resident-page .benefits_mobile_item .row div:first-child {
        flex: none;
        font-size: 11.4px;
        line-height: 16.8px;
        white-space: nowrap;
    }

    .resident-page .benefits_mobile_item .row div:last-child {
        flex: 0 1 auto;
        font-size: 13.6px;
        font-weight: 500;
        line-height: 19.6px;
        color: #090521;
        text-align: right;
    }

    .resident-page .benefits_mobile_item .row:first-child div:last-child {
        font-weight: 600;
        color: #132561;
    }

    .resident-page .benefits_mobile_item .row div.highlighted {
        font-size: 14px;
        font-weight: 700;
        letter-spacing: 0.14px;
        color: #3261EC;
    }

    /* Таможенные льготы */
    .resident-page .privileges .privileges_wrapper {
        gap: 10px;
    }

    .resident-page .privileges_wrapper .percents {
        font-size: 44.8px;
        line-height: 67.2px;
    }

    .resident-page .privileges_wrapper > div {
        min-width: 0;
    }

    /* Подписи — прежние мобильные размеры (правка 25.09), в макете они ещё мельче */
    .resident-page .privileges_wrapper .title {
        margin-top: 0;
        font-size: 12px;
        line-height: 15px;
    }

    .resident-page .privileges_wrapper .descr_text_wrapper {
        font-size: 10px;
        line-height: 13px;
    }

    .resident-page .privileges .descr {
        padding-top: 24px;
        font-size: 13.5px;
        line-height: 18px;
        letter-spacing: -0.21px;
        text-align: center;
    }

    .resident-page .privileges .btns {
        display: flex;
        justify-content: center;
    }

    .resident-page .privileges .btns .theme-btn {
        width: auto;
        height: 45px;
        padding: 0 14px;
        font-size: 11.4px;
    }

    /* Что получает инвестор: иконка слева, текст справа (правка 23.10) */
    .resident-page .investor .main-grounds-inner {
        grid-template-columns: 1fr !important;
    }

    .resident-page .investor .main-grounds-item {
        flex-direction: row;
        align-items: flex-start;
        gap: 16px;
        padding: 24px 20px;
    }

    .resident-page .investor .main-grounds-item .top {
        flex-shrink: 0;
    }

    .resident-page .investor .sub-checks-wrapper {
        padding-top: 0;
    }

    /* Форматы */
    .resident-page .placement_wrapper {
        flex-direction: column;
        gap: 22px;
    }

    /* У блока «Пошагово» в стилях компонента max-width 1000 — на мобильном он вылезал шире остальных */
    .resident-page section.status_steps {
        max-width: 320px;
    }

    /* Получите участок: размеры мобильного макета (крупный текст плотный, как в макете) */
    .resident-page section.ready_object .main_text {
        font-size: 17.7px;
        line-height: 20px;
    }

    .resident-page section.ready_object .note {
        font-size: 7.5px;
        line-height: 11.2px;
    }

    .resident-page section.ready_object .descr {
        font-size: 7.6px;
        line-height: 11.2px;
    }

    .resident-page section.ready_object .btns .theme-btn {
        width: 100px;
        height: 45px;
        font-size: 11.1px;
    }

    /* Развивайтесь в одном пространстве с лидерами */
    .resident-page .progress_wrapper .main_title {
        margin-bottom: 12px;
        font-size: 16.3px;
        line-height: 25.2px;
    }

    .resident-page .progress_wrapper .main_descr {
        margin-bottom: 15px;
        font-size: 13.6px;
        line-height: 19.6px;
    }

    .resident-page .progress_wrapper .img_wrapper {
        margin-bottom: 16px;
    }

    .resident-page .progress_wrapper .sub_wrapper {
        gap: 16px;
        margin-bottom: 0;
    }

    .resident-page .progress_wrapper .sub_wrapper > .flex {
        gap: 20px;
    }

    .resident-page .progress_wrapper .sub_wrapper .sub_title {
        font-size: 12.9px;
        line-height: 18.2px;
    }

    .resident-page section.progress .btns {
        margin-top: 32px;
    }

    .resident-page section.progress .btns .theme-btn {
        height: 45px;
        font-size: 11.6px;
    }

    /* Первый шаг */
    .resident-page .first_step_wrapper {
        padding: 35px 22px 36px;
    }

    .resident-page .first_step_block {
        gap: 20px;
    }

    .resident-page section.first_step .first_step_item .btns_wrapper a {
        height: 45px;
        font-size: 11.4px;
    }
}
