/* ******************************************** 1199 ********************************************* */
@media screen and (max-width: 1199px) {

    /* Хедер: меню уходит под гамбургер на всю ширину экрана */
    .header_inner {position: static;}
    .header_nav {
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        margin: 0;
        padding: 10px 20px 25px;
        background-color: var(--maincolor);
        border-bottom: 1px solid var(--seccolor);
        box-shadow: 0 15px 25px rgba(0, 0, 0, 0.3);
        opacity: 0;
        visibility: hidden;
        transform: translateY(-10px);
        transition: opacity 300ms, transform 300ms var(--ease), visibility 300ms;
    }
    .header_nav a {
        padding: 12px 0;
        border-bottom: 1px solid rgba(255, 255, 255, 0.08);
        font-size: 16px;
        text-align: right;
    }
    .header_nav a::after {display: none;}
    header.openned .header_nav {
        opacity: 1;
        visibility: visible;
        transform: none;
    }
    .header_contacts {margin-left: auto;}

    .hamburger {
        position: relative;
        display: block;
        flex-shrink: 0;
        width: 30px;
        height: 20px;
        margin-left: 25px;
    }
    .hamburger span {
        position: absolute;
        left: 0;
        width: 100%;
        height: 4px;
        background-color: var(--seccolor);
        transition: transform 300ms var(--ease), opacity 300ms, top 300ms;
    }
    .hamburger span:nth-child(1) {top: 0;}
    .hamburger span:nth-child(2) {top: 8px;}
    .hamburger span:nth-child(3) {top: 16px;}
    header.openned .hamburger span:nth-child(1) {top: 8px; transform: rotate(45deg);}
    header.openned .hamburger span:nth-child(2) {opacity: 0;}
    header.openned .hamburger span:nth-child(3) {top: 8px; transform: rotate(-45deg);}

    /* Заголовки секций в колонку */
    .sec_head {
        flex-direction: column;
        align-items: flex-start;
        gap: 15px;
    }
    .sec_text {
        width: auto;
        max-width: 640px;
    }

    .hero_title {
        font-size: 56px;
        line-height: 60px;
    }
    .hero_bottom {
        flex-direction: column;
        align-items: flex-start;
    }
    .hero_list {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 15px 30px;
        width: 100%;
    }
    .hero_list li {margin: 0;}

    .utp_grid,
    .partners_grid,
    .threat_grid,
    .objects_grid,
    .problem_grid,
    .tabs_item,
    .benefit_grid {grid-template-columns: repeat(2, 1fr);}
    .construction_grid,
    .wall_grid {grid-template-columns: repeat(3, 1fr);}

    .threat_drone_wrap {
        position: relative;
        left: auto;
        top: auto;
        width: 300px;
        margin: 10px 0 -60px auto;
    }
    .threat_subtitle {margin-top: 20px;}

    .solution_body {
        display: flex;
        flex-direction: column;
    }
    .solution_img {
        position: static;
        order: 1;
        width: 100%;
        max-width: 868px;
        margin: 20px auto 0;
    }
    .solution_text {padding-top: 0;}
    .solution_fire {order: 2; margin-top: 20px;}
    .solution_stats {
        order: 3;
        flex-wrap: wrap;
        margin-top: 40px;
    }

    .engineering_body {
        display: flex;
        flex-direction: column;
        min-height: 0;
    }
    .engineering_img {
        position: relative;
        right: auto;
        width: 100%;
        max-width: 715px;
        margin: 0 auto;
    }
    .engineering_info {max-width: none;}

    .construction_all {
        flex-direction: column;
        align-items: flex-start;
        padding: 25px;
    }
    .construction_all_title {
        width: 100%;
        margin: 0 0 20px;
        padding: 0 0 15px;
        border-right: none;
        border-bottom: 1px solid var(--light);
    }

    .how_body {
        flex-direction: column;
        align-items: center;
        gap: 40px;
    }
    .how_img {max-width: 100%;}
    .how .num_list {
        width: 100%;
        padding-top: 0;
    }

    .levels_scroll {
        overflow-x: auto;
        margin: 0 -20px;
        padding: 0 20px 30px;
    }
    .levels_table {min-width: 1000px;}

    .wall_bottom {flex-direction: column;}
    .wall_photo {max-width: none;}
    .wall_side {width: 100%;}

    .steps_tower {display: none;}
    .steps_list {max-width: none;}

    .docs_body {flex-direction: column;}
    .docs_left {width: auto;}

    .partners_row_list {
        grid-template-columns: repeat(3, 1fr);
        padding: 0;
    }

    .quiz_block_body {flex-direction: column;}
    .quiz_block_info {max-width: none;}
    .quiz_block_form {
        width: 100%;
        max-width: 720px;
    }
}



/* ******************************************** 768 ********************************************* */
@media screen and (max-width: 768px) {

    :root {--header_h: 57px;}

    body {min-width: 320px;}
    .ms {display: flex !important;}
    .mh {display: none !important;}

    .div1400 {width: calc(100% - 20px);}
    section {padding: 20px 0 60px;}

    /* ---------- ФОНЫ ---------- */
    .bg_group_utp .bg_net {top: -366px; margin-left: -1108px; left: 0;}
    .engineering .bg_net {top: -399px; margin-left: -984px; left: 0;}
    .bg_group_how .bg_net {top: -376px; margin-left: -984px; left: 0;}
    .bg_burst {left: 0; margin-left: 0;}
    .bg_burst_1 {top: 1239px; left: 77px; width: 467px; height: 508px;}
    .bg_burst_2 {top: 2810px; left: -88px; width: 581px; height: 631px;}

    /* ---------- ЗАГОЛОВКИ ---------- */
    .sec_head {
        gap: 10px;
        margin-bottom: 20px;
    }
    .sec_label {
        margin-bottom: 5px;
        font-size: 12px;
        line-height: 23px;
    }
    .sec_label::before {
        width: 15px;
        height: 2px;
        margin-right: 7px;
    }
    .sec_title {
        font-size: 23px;
        line-height: 25px;
    }
    .sec_text {
        padding: 0;
        font-size: 14px;
        line-height: 18px;
    }

    /* ---------- КНОПКИ ---------- */
    .btn {
        height: 44px;
        padding: 0 20px;
        font-size: 16px;
    }
    .btn_red {box-shadow: 0 0 0 3px rgba(178, 24, 14, 0.32);}
    .btn_dark {box-shadow: 0 0 0 3px rgba(65, 69, 75, 0.32);}

    /* ---------- HEADER ---------- */
    .header_logo img {width: 182px;}
    .header_contacts,
    .header_btn {display: none;}
    .header_call {margin-left: auto;}
    .header_call svg {width: 23px; height: 23px;}
    .hamburger {margin-left: 20px;}
    .header_nav {padding: 5px 10px 20px;}

    /* ---------- HERO ---------- */
    .hero {
        min-height: 100vh;
        min-height: 100svh;
        padding: calc(var(--header_h) + 20px) 0 70px;
        background-image: url(../img/site/mobile_hero_back.webp);
    }
    /* На мобилке градиент из макета растянут на весь блок */
    .hero_shade {background: linear-gradient(105.84deg, rgba(21, 32, 42, 0.95) 6.85%, rgba(21, 32, 42, 0.922393) 25.74%, rgba(21, 32, 42, 0.85) 35.63%, rgba(21, 32, 42, 0.75) 64.63%, rgba(21, 32, 42, 0.65) 82.33%, rgba(21, 32, 42, 0.4) 100%);}
    .hero_org {
        padding-bottom: 10px;
        font-size: 13px;
        line-height: 16px;
        letter-spacing: 0;
    }
    .hero_title {
        margin-top: 30px;
        font-size: 32px;
        line-height: 32px;
    }
    .hero_bottom {
        gap: 40px;
        margin-top: 0;
        padding-top: 20px;
    }
    .hero_subtitle {
        font-size: 18px;
        line-height: 22px;
    }
    .hero_text {
        margin-top: 10px;
        font-size: 16px;
        line-height: 20px;
    }
    .hero_buttons {margin-top: 30px; padding-left: 3px;}
    .hero_pres {
        height: 37px;
        padding: 5px 20px 6px 10px;
        font-size: 13px;
        line-height: 11px;
        font-weight: 400;
        color: var(--maincolor);
        background-color: var(--bg_light);
        box-shadow: 0 0 0 3px rgba(242, 241, 237, 0.32);
    }
    .hero_pres span {
        max-width: 93px;
        white-space: normal;
        text-align: left;
    }
    .hero_list {
        display: flex;
        flex-direction: column;
        gap: 10px;
        width: 277px;
    }
    .hero_list li {
        min-height: 38px;
        padding: 5px 10px;
        font-size: 12px;
        line-height: 14px;
    }
    .hero_list li:nth-child(2) {min-height: 24px;}

    /* ---------- UTP ---------- */
    .utp .sec_head {margin-bottom: 10px;}
    .utp_grid,
    .partners_grid,
    .threat_grid,
    .objects_grid,
    .problem_grid,
    .construction_grid,
    .wall_grid,
    .tabs_item,
    .benefit_grid,
    .prod_grid {
        grid-template-columns: 1fr;
        gap: 10px;
    }
    .utp_card {
        display: grid;
        grid-template-columns: 23px 1fr;
        column-gap: 10px;
        align-items: center;
        min-height: 0;
        padding: 15px;
        border-radius: 0;
    }
    .utp_title {margin: 0;}
    .utp_text {
        grid-column: span 2;
        font-size: 14px;
        line-height: 18px;
    }

    /* ---------- PARTNERS ---------- */
    .partners_card {padding: 15px;}
    .partners_name {
        font-size: 16px;
        line-height: 20px;
    }
    .partners_text {
        font-size: 14px;
        line-height: 17px;
    }
    .partners_approval {
        margin-top: 10px;
        padding: 15px;
        font-size: 16px;
        line-height: 20px;
    }
    .partners_ankor {
        flex-direction: column;
        gap: 15px;
        margin-top: 10px;
        padding: 15px 15px 30px;
        text-align: center;
    }
    .partners_ankor img {width: 228px;}
    .partners_ankor_text {
        position: relative;
        margin: 0;
        padding: 15px 0 0;
        border-left: none;
    }
    .partners_ankor_text::before {
        content: '';
        position: absolute;
        left: 50%;
        top: 0;
        width: 127px;
        height: 1px;
        margin-left: -63px;
        background-color: var(--light);
    }
    .partners_ankor_text p {
        font-size: 16px;
        line-height: 20px;
    }
    .partners_ankor_text .partners_ankor_title {
        margin-bottom: 10px;
        font-size: 18px;
        line-height: 22px;
    }

    /* ---------- THREAT ---------- */
    .threat_back {
        background:
            linear-gradient(90deg, rgba(21, 32, 42, 0.9) 0%, rgba(21, 32, 42, 0.8) 51.23%, rgba(21, 32, 42, 0.55) 100%),
            var(--maincolor) url(../img/site/mobile_threat_back.webp) center / cover no-repeat;
    }
    .threat .sec_title {
        font-size: 23px;
        line-height: 25px;
    }
    .threat .sec_head {margin-bottom: 10px;}
    .threat_drone_wrap {
        width: 250px;
        margin: 0;
        transform: none !important;
    }
    .threat_subtitle {
        margin-top: 10px;
        font-size: 20px;
        line-height: 24px;
    }
    .threat_grid {
        max-width: 260px;
        margin-top: 10px;
    }
    .threat_card {
        display: flex;
        flex-direction: column;
        gap: 5px;
        min-height: 0;
        padding: 15px;
        border-radius: 0;
    }
    .threat_type {
        font-size: 16px;
        line-height: 18px;
    }
    .threat_doc {
        margin: 0;
        font-size: 23px;
        line-height: 23px;
    }
    .threat_text {
        font-size: 14px;
        line-height: 17px;
    }

    /* ---------- OBJECTS ---------- */
    .objects .sec_head {margin-bottom: 10px;}
    .objects_card {padding-top: 15px;}
    .objects_head {
        flex-direction: row;
        align-items: center;
        gap: 10px;
        padding: 0 15px;
    }
    .objects_icon {
        flex-shrink: 0;
        width: 57px;
        object-fit: contain;
    }
    .objects_title {
        min-height: 0;
        font-size: 18px;
        line-height: 20px;
    }
    .objects_text {
        min-height: 0;
        margin-bottom: 15px;
        padding: 0 15px;
        font-size: 14px;
        line-height: 17px;
    }
    .objects_img {aspect-ratio: 373 / 180;}
    .objects_also {margin-top: 10px; padding-top: 10px;}
    .objects_also_title {font-size: 18px; line-height: 18px;}

    /* На мобилке список течёт строкой, точки — внутри текста */
    .dot_list {display: block;}
    .dot_list li {
        display: inline;
        font-size: 16px;
        line-height: 28px;
    }
    .dot_list li:not(:first-child)::before {
        display: inline-block;
        width: 8px;
        height: 8px;
        margin: 0 10px 1px;
    }

    /* ---------- PROBLEM ---------- */
    .problem {
        padding: 0 0 60px;
        background-color: #fff;
    }
    .problem_top {padding: 20px 0;}
    .problem_top .sec_text {color: #fff;}
    .problem_grid {padding-top: 20px;}
    .problem_card {
        min-height: 0;
        padding: 15px;
        background-color: #fff;
        box-shadow: 0 4px 23px rgba(0, 0, 0, 0.1);
    }
    .problem_title {
        margin-top: 10px;
        font-size: 18px;
        line-height: 18px;
    }
    .problem_text {
        margin-top: 10px;
        font-size: 14px;
        line-height: 18px;
    }

    /* ---------- SOLUTION ---------- */
    .solution .sec_head {margin-bottom: 10px;}
    .solution_text {
        font-size: 16px;
        line-height: 21px;
    }
    .solution_img {
        width: 498px;
        max-width: none;
        margin: -13px 0 -72px -44px;
    }
    .solution_fire {
        gap: 10px;
        margin-top: 0;
        padding: 0 3px 10px;
    }
    .solution_fire img {width: 69px;}
    .solution_fire p {
        font-size: 18px;
        line-height: 18px;
    }
    .solution_stats {
        flex-direction: column;
        gap: 10px;
        margin-top: 10px;
    }
    .solution_stat {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        column-gap: 5px;
        padding: 10px 15px;
        border-bottom: none;
        text-align: center;
    }
    .solution_stat p,
    .solution_value b {
        font-size: 16px;
        line-height: 16px;
        font-weight: 800;
    }

    /* ---------- ENGINEERING ---------- */
    .engineering .sec_head {margin-bottom: 10px;}
    .engineering_img {width: 100%;}
    .engineering_info {padding-top: 10px;}
    .num_list li {padding-left: 30px;}
    .num_list .num_list_title {
        font-size: 18px;
        line-height: 22px;
    }
    .num_list p {
        font-size: 14px;
        line-height: 17px;
    }
    .engineering_note {
        margin: 30px 0 0;
        font-size: 14px;
        line-height: 17px;
    }

    /* ---------- CONSTRUCTION ---------- */
    .construction_card {
        display: flex;
        align-items: stretch;
        gap: 10px;
        padding: 0;
    }
    .construction_img {
        flex-shrink: 0;
        width: 174px;
    }
    .construction_img img {
        height: 100%;
        aspect-ratio: auto;
        min-height: 150px;
    }
    .construction_img span {
        left: auto;
        right: -15px;
        top: 5px;
        bottom: auto;
        width: 36px;
        height: 36px;
        border-width: 3px;
        font-size: 16px;
    }
    .construction_info {padding: 15px 15px 15px 10px;}
    .construction_text {
        font-size: 14px;
        line-height: 18px;
    }
    .construction_all {
        margin-top: 10px;
        padding: 15px;
    }
    .construction_all_title {
        margin-bottom: 10px;
        padding-bottom: 10px;
    }
    .construction_all .dot_list li {
        font-size: 16px;
        line-height: 28px;
    }

    /* ---------- HOW ---------- */
    .how_body {gap: 10px;}
    .how .num_list {
        display: flex;
        flex-direction: column;
        gap: 10px;
    }
    .how .num_list li {
        margin: 0;
        padding-left: 22px;
    }
    .how .num_list li::before {
        width: 12px;
        font-size: 18px;
    }
    .how .num_list .num_list_title {
        font-size: 16px;
        line-height: 20px;
    }

    /* ---------- LEVELS ---------- */
    .levels_scroll {
        margin: 0 -10px 0 0;
        padding: 0 10px 30px 0;
    }
    .levels_table {
        min-width: 745px;
        border-collapse: separate;
        border-spacing: 0;
    }
    .levels_table th,
    .levels_table td {
        padding: 13px 10px;
        font-size: 14px;
        line-height: 17px;
    }
    .levels_table th {
        padding: 10px;
        font-size: 16px;
        line-height: 22px;
    }
    .levels_table th:first-child {width: 125px;}
    .levels_table th.levels_max {width: 155px;}
    .levels_table tbody tr:last-child td {padding-bottom: 13px;}
    .levels_table .levels_mass td {
        font-size: 18px;
        line-height: 20px;
    }
    .levels_table .levels_mass td:first-child {font-size: 14px;}
    /* Первая колонка остаётся на месте при горизонтальном скролле */
    .levels_table th:first-child,
    .levels_table td:first-child {
        position: sticky;
        left: 0;
        z-index: 2;
        box-shadow: 6px 0 10px -6px rgba(21, 32, 42, 0.25);
    }
    .levels_table td:first-child {background-color: #fff;}

    /* ---------- SECOND WALL ---------- */
    .second_wall {padding-bottom: 60px;}
    .wall_card {
        display: flex;
        align-items: stretch;
        gap: 10px;
        padding: 0;
    }
    .wall_img {
        flex-shrink: 0;
        width: 160px;
    }
    .wall_img img {
        height: 100%;
        min-height: 150px;
        aspect-ratio: auto;
    }
    .wall_info {padding: 15px 15px 15px 0;}
    .wall_title {font-size: 18px; line-height: 18px;}
    .wall_text {
        font-size: 14px;
        line-height: 18px;
    }
    .wall_bottom {
        gap: 10px;
        margin-top: 10px;
    }
    .wall_photo > img {aspect-ratio: 373 / 350;}
    .wall_tag {padding: 5px 10px;}
    .wall_tag p {font-size: 12px; line-height: 12px;}
    .wall_tag span {font-size: 12px; line-height: 12px;}
    .wall_tag_red {left: 10px; top: 10px; min-width: 0; width: 144px;}
    .wall_tag_dark {right: 10px; bottom: 10px; width: 194px;}
    .wall_line {
        padding: 5px 10px;
        border-left-width: 3px;
    }
    .wall_line .wall_line_title {
        margin-bottom: 5px;
        font-size: 16px;
        line-height: 20px;
    }
    .wall_line p {font-size: 14px; line-height: 17px;}
    .wall_distances {
        margin-top: 10px;
        padding: 15px 15px 8px;
    }
    .wall_distances_threat {
        margin: 5px 0;
        font-size: 14px;
        line-height: 18px;
    }
    .wall_distances li {
        padding: 7px 0;
        font-size: 14px;
        line-height: 17px;
    }
    .wall_distances li:not(:last-child) {margin-bottom: 5px;}

    /* ---------- INDUSTRIES / BENEFITS (поля по 20px) ---------- */
    .industries {padding-bottom: 60px;}
    .tabs_nav {
        gap: 10px;
        margin-bottom: 20px;
    }
    .tabs_btn {
        height: 28px;
        padding: 0 16px 1px;
        font-size: 13px;
        line-height: 13px;
    }
    .tabs_item {gap: 10px;}
    .ind_list {padding: 15px 15px 30px;}
    .ind_list_title {
        font-size: 16px;
        line-height: 20px;
    }
    .line_list li {
        font-size: 14px;
        line-height: 17px;
    }
    .ind_img img {aspect-ratio: 353 / 200;}
    .ind_title {
        padding: 10px 15px 0;
        font-size: 16px;
        line-height: 20px;
    }
    .ind_text {
        padding: 5px 15px 0;
        font-size: 14px;
        line-height: 17px;
    }

    .benefits {padding-top: 20px;}
    .benefit_card {
        display: grid;
        grid-template-columns: 50px 1fr;
        column-gap: 10px;
        align-items: center;
        min-height: 0;
        padding: 15px;
    }
    .benefit_icon {
        width: 50px;
        height: 50px;
        object-fit: contain;
    }
    .benefit_title {
        margin: 0;
        font-size: 18px;
        line-height: 20px;
    }
    .benefit_text {
        grid-column: span 2;
        margin-top: 10px;
        font-size: 14px;
        line-height: 18px;
    }

    /* ---------- PROJECTS ---------- */
    .projects .sec_head {margin-bottom: 10px;}
    .slider_viewport {aspect-ratio: 373 / 360;}
    .slider_bottom {
        margin-top: 10px;
        gap: 0;
    }
    .slider_caption {
        min-height: 0;
        padding: 5px 7px;
        border-left-width: 2px;
    }
    .slider_title {font-size: 16px; line-height: 20px;}
    .slider_text {font-size: 14px; line-height: 17px; margin-top: 5px;}
    .slider_arrows {
        position: absolute;
        left: 10px;
        right: 10px;
        top: calc((100vw - 20px) * 360 / 373 - 46px);
        z-index: 3;
        justify-content: space-between;
        pointer-events: none;
    }
    .slider_arrow {
        width: 36px;
        height: 36px;
        background-size: 13px auto;
        pointer-events: auto;
    }

    /* ---------- PRODUCTION ---------- */
    .prod_img img {aspect-ratio: 373 / 230;}
    .prod_info {padding: 15px 0 20px;}
    .prod_type {font-size: 12px; line-height: 14px;}
    .prod_title {margin-top: 5px; font-size: 16px; line-height: 20px;}
    .prod_text {margin-top: 5px; font-size: 14px; line-height: 17px;}

    /* ---------- STEPS ---------- */
    .steps .sec_head {margin-bottom: 10px;}
    .steps_list li {
        display: grid;
        grid-template-columns: 23px 1fr;
        align-items: start;
        gap: 10px 15px;
        min-height: 0;
        padding: 15px;
    }
    .steps_num {width: auto; font-size: 18px; line-height: 20px;}
    .steps_title {font-size: 16px; line-height: 20px;}
    .steps_text {font-size: 14px; line-height: 18px;}
    .steps_term {
        grid-column: 2;
        text-align: right;
    }

    /* ---------- DOCS ---------- */
    .docs .sec_head {margin-bottom: 10px;}
    .docs_body {gap: 10px;}
    .docs_big {
        font-size: 98px;
        line-height: 98px;
    }
    .docs_big small {font-size: 46px; margin-right: 10px;}
    .docs_lead {
        margin-top: 10px;
        font-size: 18px;
        line-height: 23px;
    }
    .docs_text {
        margin-top: 10px;
        font-size: 16px;
        line-height: 20px;
    }
    .docs_right {padding-top: 10px;}
    .docs_list_title {
        padding: 10px 0;
        font-size: 16px;
        line-height: 20px;
    }
    .docs_list li {
        padding: 10px 0;
        border-bottom-color: rgba(65, 73, 84, 0.4);
    }
    .docs_list span {font-size: 14px; line-height: 17px;}
    .docs_list b {font-size: 16px; line-height: 20px;}

    /* ---------- FAQ ---------- */
    .faq {padding-bottom: 60px;}
    .faq .sec_head {margin-bottom: 10px;}
    .faq_question {
        padding: 15px 50px 15px 15px;
        font-size: 14px;
        line-height: 17px;
    }
    .faq_question::before {
        right: 15px;
        width: 20px;
        height: 2px;
        margin-top: -1px;
    }
    .faq_question::after {
        right: 24px;
        width: 2px;
        height: 20px;
        margin-top: -10px;
    }
    .faq_answer p {
        padding: 5px 15px 20px;
        font-size: 15px;
        line-height: 18px;
    }

    /* ---------- PARTNERS ROW ---------- */
    .partners_row {padding: 20px 0 60px;}
    .partners_row_list {
        grid-template-columns: repeat(2, 1fr);
        gap: 13px 20px;
    }
    .partners_row_list div {min-width: 0;}
    .partners_row_list img {
        max-width: 100%;
        max-height: 90px;
        object-fit: contain;
    }

    /* ---------- QUIZ BLOCK ---------- */
    .quiz_block_body {gap: 20px;}
    .quiz_block_info {display: contents;}
    .quiz_block_text {
        font-size: 16px;
        line-height: 21px;
    }
    .quiz_block_form {padding: 20px;}
    .quiz_block_contacts {order: 3;}
    .quiz_block_phone {
        margin: 0 0 20px;
        font-size: 32px;
        line-height: 39px;
    }
    .quiz_block_link {
        margin-bottom: 20px;
        font-size: 18px;
        line-height: 22px;
    }
    .quiz_block .sec_head {margin-bottom: 20px;}

    /* ---------- КВИЗ ---------- */
    .quiz_question {
        margin: 10px 0;
        font-size: 18px;
        line-height: 32px;
    }
    .quiz_options {
        flex-direction: column;
        align-items: flex-start;
        gap: 5px;
    }
    .quiz_option span {
        padding: 7px 15px;
        font-size: 14px;
        line-height: 17px;
    }
    .quiz_fields {display: block;}
    .quiz_inputs {gap: 10px;}
    .lead_success {padding: 20px 0 5px 15px;}
    .lead_success p {font-size: 17px; line-height: 23px;}
    .lead_error {font-size: 13px; line-height: 17px;}
    .quiz input,
    .quiz textarea {
        padding: 9px 12px;
        font-size: 14px;
    }
    .quiz_label {font-size: 11px;}
    .quiz .politika {font-size: 11px; line-height: 14px;}
    .quiz_nav {
        flex-wrap: wrap;
        justify-content: flex-end;
        gap: 10px;
        margin-top: 10px;
    }
    .quiz_nav .btn {
        height: 34px;
        padding: 0 20px;
        font-size: 16px;
    }
    .quiz_counter {
        order: -1;
        width: 100%;
        padding: 0;
        font-size: 14px;
        line-height: 17px;
    }

    /* ---------- ДОКУМЕНТЫ ---------- */
    .legal {padding: calc(var(--header_h) + 20px) 0 60px;}
    .legal_head {margin-bottom: 20px;}
    .legal_date {margin-top: 10px; font-size: 14px; line-height: 18px;}
    .legal_card {padding: 20px 15px;}
    .legal_block + .legal_block {
        margin-top: 25px;
        padding-top: 25px;
    }
    .legal_card h2 {
        margin-bottom: 12px;
        font-size: 17px;
        line-height: 21px;
    }
    .legal_card h3 {
        margin: 18px 0 8px;
        padding-left: 10px;
        font-size: 15px;
        line-height: 19px;
    }
    .legal_card p,
    .legal_card li,
    .legal_details dt,
    .legal_details dd {
        font-size: 14px;
        line-height: 20px;
    }
    .legal_list li {padding-left: 18px;}
    .legal_list li::before {left: 2px; top: 7px; width: 6px; height: 6px;}
    .legal_details {display: block;}
    .legal_details dt {padding: 10px 0 2px; border-bottom: none;}
    .legal_details dd {padding: 0 0 10px;}
    .legal_card .legal_notice {margin-top: 15px; padding: 10px 12px; border-left-width: 3px;}
    .legal_nav {flex-direction: column; gap: 15px; margin-top: 30px;}
    .legal_nav .btn {height: auto; min-height: 40px; padding: 8px 15px; font-size: 14px;}

    /* ---------- FOOTER ---------- */
    footer {padding: 10px 0 calc(115px + var(--cookies_h, 0px));}
    .footer_inner {
        flex-direction: column;
        align-items: stretch;
        gap: 10px;
    }
    .footer_logo img {width: 182px;}
    .footer_text {font-size: 12px; line-height: 15px;}

    .footer_right {
        display: flex;
        flex-flow: row wrap;
        justify-content: space-between;
    }



    /* ---------- ФИКСИРОВАННЫЕ КНОПКИ ---------- */
    /* Ширины распределены по объёму текста: 148 / 195 по макету */
    .fixed_buttons {
        left: 13px;
        right: 13px;
        bottom: calc(20px + var(--cookies_h, 0px));
        gap: 24px;
    }
    /* «Наверх»: над кнопкой МАКС, отступ 15px */
    .up_button {
        right: 13px;
        bottom: calc(67px + var(--cookies_h, 0px));
    }

    .cookies {padding: 10px 0;}
    /* Первый текст на две колонки, «Подробнее…» и кнопка — рядом под ним */
    .cookies_inner {
        column-gap: 15px;
        row-gap: 6px;
    }
    .cookies_text:first-child {grid-column: 1 / span 2;}
    .cookies_text {font-size: 11px; line-height: 14px;}
    .cookies_btn {grid-row: 2;}
    .cookies_text a {text-underline-offset: 2px;}
    .cookies_btn {
        height: 28px;
        padding: 0 14px 1px;
        font-size: 13px;
    }
    .fixed_buttons .btn {
        height: 32px;
        padding: 0 10px 1px;
        font-size: 14px;
        font-weight: 700;
    }
    .fixed_buttons .btn_red {flex: 148 1 0;}
    .fixed_buttons .btn_max {flex: 195 1 0;}
}



/* Низкие экраны телефонов: hero должен поместиться на первый экран */
@media screen and (max-width: 768px) and (max-height: 760px) {
    .hero {padding-bottom: 60px;}
    .hero_org {font-size: 12px; line-height: 14px;}
    .hero_title {margin-top: 20px; font-size: 28px; line-height: 29px;}
    .hero_bottom {gap: 24px; padding-top: 14px;}
    .hero_subtitle {font-size: 16px; line-height: 19px;}
    .hero_text {font-size: 14px; line-height: 18px;}
    .hero_buttons {margin-top: 20px;}
    .hero_list {gap: 6px;}
}
