:root {
    --black: #000;
    --main-bg-color: #ffffff;
    --main-bg-dark-color: #eeeeee;
    --main-text-color: #333;
    --main-text-hover-color: #1885bb;
    --button-hover-color: #00a9f1;
    --main-hover-color: #027AAD;
    --button-shadow-color: #38b2e785;
    --button-new-color: #0096D6;
    --main-text-white-color: #d4d4d4;
    --slider-text-color-1: #38B2E7;
    --accent-color: #027AAD;
    --link-color: #008fcc;
    --link-hover-color: #000;
    --header-start-color: 201, 232, 254;
    --header-end-color: 255, 255, 255;
}


@font-face {
    font-family: 'firasans-light';
    src: url('/css/firasans-light.woff2') format('woff2'),
        url('/css/firasans-light.woff') format('woff'),
        url('/css/firasans-light.ttf') format("ttf");
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'firasans-regular';
    src: url('/css/firasans-regular.woff2') format('woff2'),
        url('/css/firasans-regular.woff') format('woff'),
        url('/css/firasans-regular.ttf') format("ttf");
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'firasans-medium';
    src: url('/css/firasans-medium.woff2') format('woff2'),
        url('/css/firasans-medium.woff') format('woff'),
        url('/css/firasans-medium.ttf') format("ttf");
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'firasans-semibold';
    src: url('/css/firasans-semibold.woff2') format("woff2"),
        url('/css/firasans-semibold.woff') format("woff"),
        url('/css/firasans-semibold.ttf') format("ttf");
    font-style: normal;
    font-display: swap;
}

*,
*::before,
*::after {
    padding: 0;
    margin: 0;
    border: 0;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body,
html {
    box-sizing: border-box;
    height: 100%;
    font-family: firasans-light, sans-serif;
    font-weight: normal;
    font-size: 16px;
    color: var(--main-text-color);
    line-height: 1.2;
}

body {
    margin: 0;
    padding: 0;
    position: relative;
}

*,
a:focus {
    outline: 0;
}

h1,
h2,
h3 {
    font-weight: normal;
    line-height: 1.15;
}

b,
strong {
    font-weight: normal;
    font-family: firasans-regular, sans-serif;
}

input,
button,
textarea,
select {
    font: inherit;
}

ul {
    display: block;
    list-style-type: none;
    padding-bottom: 11px;
}

li {
    list-style: none;
}

a {
    color: #000;
    text-decoration: none;
}

svg {
    overflow: visible;
}

body.compensate-for-scrollbar {
    overflow: hidden;
}

picture {
    font-size: 0;
    display: contents;
}

img {
    width: 100%;
    height: auto;
}

.wrapper {
    display: flex;
    flex-direction: column;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 15px;
    position: relative;
    justify-content: center;
    align-items: center;
    overflow: hidden;
}

.wrapper-visible {
    overflow: visible;
}

#top-nav {
    position: fixed;
    top: 0;
    width: 100%;
    height: 110px;
    background-color: #C9E8FE;
    z-index: 9999;
    transform: translateY(0);
    transition:
        transform 0.25s ease,
        background-color 0.25s linear,
        box-shadow 0.25s ease;
    will-change: transform, background-color, box-shadow;
    box-shadow: none;
}

.top-nav.top-nav-white {
    background-color: #FFFFFF !important;
}

.header-wr {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    /* ← распределяет по вертикали */
    max-width: 1200px;
    padding: 0 15px;
    margin: auto;
    height: 100%;
    /* ← занимает всю высоту #top-nav */
}

header {
    display: flex;
    flex-direction: column;
    height: 100%;
    /* ← наследует высоту от .header-wr */
    justify-content: space-between;
}

.top-bar {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    margin-top: 0;
    padding-top: 8px;
}

.top-nav-white .top-bar {
    padding-top: 14px;
}

.top-bar__logo__pic {
    position: relative;
    display: flex;
    align-items: center;
    cursor: pointer;
    transition: opacity 0.3s;
    width: 300px;
    height: 54px;
}

.top-bar__logo__pic:hover,
.top-bar__logo__pic:focus-visible {
    opacity: .7;
}

.img-logo {
    width: 300px;
}

.top-bar__logo__desc {
    position: absolute;
    bottom: -1px;
    margin-left: 47px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    font-family: firasans-regular, sans-serif;
    font-size: 9.7px;
    line-height: 10px;
    text-align: center;
    color: var(--main-text-color);
}

.top-bar__logo__desc-2 {
    position: absolute;
    width: 0;
    height: 0;
    margin: 0;
    padding: 0;
    border: 0;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    overflow: hidden;
    white-space: nowrap;
}

.top-bar__btn__outer {
    display: flex;
    flex-direction: row;
    gap: 50px;
}

.bottom-bar__btn__outer {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: 0;
    padding: 0;
    border: 0;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    overflow: hidden;
    white-space: nowrap;
}

.section__category__btn-outer {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    width: 100%;
    max-width: 1200px;
    padding: 0;
    position: relative;
    height: auto;
    clip: auto;
    clip-path: none;
    overflow: visible;
    white-space: normal;
    margin: 50px 0 0 0;
    gap: 100px;
}

.section__category__btn-outer .top-bar__btn {
    height: 54px;
    width: 220px;
}

.top-bar__btn-wr {
    display: flex;
    flex-direction: column;
    padding: 0;
}

.top-bar__btn__descr {
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: firasans-regular, sans-serif;
    font-size: 11px;
    line-height: 11px;
    margin-bottom: 3px;
}

.top-bar__btn {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 190px;
    height: 46px;
    padding: 10px 20px;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    font-family: firasans-regular, sans-serif;
    font-size: 16px;
    line-height: 16px;
    color: #fff;
    background: #0096D6;
    transition: 0.3s;
}

.top-bar__btn:hover,
.top-bar__btn:focus,
.top-bar__btn:focus-visible {
    background: var(--button-hover-color);
    box-shadow: 0 6px 15px var(--button-shadow-color);
    outline: none;
}

.icon-coat-of-arms,
.icon-call-girl {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    margin-right: 4px;
    color: #fff;
}

.icon-call-girl {
    margin-bottom: 2px;
}

.icon-connect {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 8px;
    height: 8px;
    margin-right: 3px;
    transform: translateY(-0.5px);
    background: #009c00;
    border-radius: 50%;
    animation: blink 1.6s infinite;
}

.icon-connect-big {
    width: 10px;
    height: 10px;
}

.icon-connect.online {
    background: #009c00;
    animation: blink 1.4s infinite;
}

.icon-connect.offline {
    background: #ff0000;
    animation: none;
}

@keyframes blink {

    0%,
    49% {
        opacity: 1;
    }

    50%,
    100% {
        opacity: 0;
    }
}

.top-bar__loc-wr {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    max-width: 210px;
}

.top-bar__loc__text {
    font-family: firasans-light, sans-serif;
    font-size: 16px;
    color: var(--main-text-color);
    white-space: nowrap;
    min-width: 76px;
    padding-bottom: 1px;
}

.top-bar__loc__region {
    position: relative;
    display: flex;
    align-items: center;
    gap: 1px;
    margin-left: 6px;
    cursor: pointer;
    text-decoration: none;
    font-family: firasans-regular, sans-serif;
    font-size: 16px;
    color: var(--main-hover-color);
    padding-bottom: 3px;
    transition: color 0.3s;
}

.top-bar__loc__region svg.icon-address {
    flex-shrink: 0;
    width: 16px;
    height: 16px;
}

#region-text {
    max-width: 110px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.top-bar__loc__region:hover {
    color: var(--main-text-hover-color);
}

.top-bar__loc__region::after {
    content: '';
    position: absolute;
    right: 0;
    bottom: 4px;
    width: calc(100% - 17px);
    height: 1px;
    background: repeating-linear-gradient(to right, currentColor 0, currentColor 2px, transparent 2px, transparent 4px);
}

.top-bar__loc__picker {
    position: absolute;
    top: 21px;
    right: -5px;
    z-index: 100;
    display: flex;
    flex-direction: column;
    width: 215px;
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 8px 15px rgb(0 0 0 / 15%);
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out;
}

.top-bar__loc__picker.active {
    opacity: 1;
    visibility: visible;
}

.top-bar__loc__input {
    width: 100%;
    padding: 10px 40px 10px 10px;
    border: none;
    border-bottom: 1px solid #eee;
    border-top-left-radius: 8px;
    border-top-right-radius: 8px;
    outline: none;
    font-family: firasans-regular, sans-serif;
    font-size: 16px;
    color: var(--main-hover-color);
    background-color: #fff;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}

.top-bar__loc__input-wr {
    position: relative;
}

.top-bar__loc__input {
    padding-right: 40px;
}

.icon-search {
    position: absolute;
    top: 50%;
    right: 8px;
    width: 20px;
    height: 20px;
    transform: translateY(-50%);
    color: #ccc;
    pointer-events: none;
}

.top-bar__loc__input:focus+.icon-search {
    color: #0096D6;
}

.top-bar__loc__input:focus {
    background-color: #f5fbff;
}

.top-bar__loc__input::placeholder {
    font-family: firasans-light, sans-serif;
    color: #cccccc;
    opacity: 1;
    font-size: 15px;
}

.top-bar__loc__dropdown {
    max-height: 180px;
    overflow-y: auto;
}

.top-bar__loc__dropdown::-webkit-scrollbar {
    width: 5px;
}

.top-bar__loc__dropdown::-webkit-scrollbar-track {
    background: #fff;
}

.top-bar__loc__dropdown::-webkit-scrollbar-thumb {
    background: #d8d8d8;
    border-radius: 4px;
}

.top-bar__loc__dropdown div {
    padding: 8px 12px;
    cursor: pointer;
    font-family: firasans-regular, sans-serif;
    font-size: 14px;
}

.top-bar__loc__dropdown div:hover {
    background: #f0f8ff;
}

.top-bar__loc__dropdown .region-item:last-child:hover {
    border-bottom-left-radius: 8px;
    border-bottom-right-radius: 8px;
}

.top-bar__phone {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: center;
}

.top-bar__phone__text {
    font-size: 11px;
    font-family: firasans-regular, sans-serif;
}

.top-bar__phone__num {
    position: relative;
    display: inline-block;
    font-family: firasans-medium, sans-serif;
    font-size: 30px;
    line-height: 30px;
    color: var(--main-text-color);
    padding-left: 21px;
    letter-spacing: 0.8px;
    text-decoration: none;
}

.top-nav-white .top-bar__phone__num {
    font-size: 38px;
}

.top-nav-white .top-bar__phone__text {
    font-size: 12.5px;
}

.top-nav-white .top-bar__phone {
    padding-top: 10px;
}

.top-bar__phone__prefix {
    color: var(--main-text-color);
    transition: color 0.3s;
}

.top-bar__phone__color {
    color: var(--main-text-hover-color);
    transition: color 0.3s;
}

.top-bar__phone__num .icon-call {
    position: absolute;
    top: 6px;
    left: 0;
    width: 18px;
    height: 18px;
    color: var(--main-text-color);
    transition: color 0.3s;
    animation: shakeAndRed 3s infinite;
    transform-origin: center;
    --icon-color: var(--main-text-color);
}

.top-nav-white .top-bar__phone__num .icon-call {
    left: -6px;
    width: 24px;
    height: 24px;
    top: 4px;
}

.top-bar__phone__num:hover .top-bar__phone__prefix,
.top-bar__phone__num:hover .top-bar__phone__color,
.top-bar__phone__num:hover .icon-call,
.top-bar__phone__num:focus-visible .top-bar__phone__prefix,
.top-bar__phone__num:focus-visible .top-bar__phone__color,
.top-bar__phone__num:focus-visible .icon-call {
    color: #00679a;
    --icon-color: #00679a;
}

@keyframes shakeAndRed {

    0%,
    92% {
        transform: translateX(0) rotate(0);
        color: var(--icon-color);
    }

    93%,
    97% {
        transform: translateX(-3px) rotate(-2deg);
        color: #ff0000;
    }

    95%,
    99% {
        transform: translateX(3px) rotate(2deg);
        color: #ff0000;
    }

    100% {
        transform: translateX(0) rotate(0);
        color: var(--icon-color);
    }
}

.top-bar__burger {
    display: none;
}

.menu {
    margin-top: 0;
}

.menu li,
.menu__list li p,
.menu__list>li a {
    position: relative;
    display: flex;
    align-items: baseline;
}

.menu__list {
    display: flex;
    justify-content: space-between;
    padding-bottom: 0;
    margin-top: 2px;
}

.menu__list li p {
    cursor: pointer;
}

.menu__list li {
    padding: 0;
}

.menu__list li a {
    font-family: firasans-regular, sans-serif;
    font-size: 17px;
    padding: 7px 0 8px 0;
    line-height: 1.1;
}

.menu__list li a:first-child {
    padding-left: 0;
}

.menu__list li a:last-child {
    padding-right: 0;
}

.sub-menu__list li:first-child {
    padding: 0 17px 0 17px;
}

.sub-menu__list li:last-child {
    padding: 0 17px 0 17px;
}

.menu__list li .sub-menu__list {
    opacity: 0;
    transition: opacity 0.3s ease-in-out;
    visibility: hidden;
    border-radius: 8px;
}

.menu__list li:hover .sub-menu__list {
    width: max-content;
    background: #fff;
    padding-bottom: 0;
    box-shadow: 0 8px 15px rgb(0 0 0 / 15%);
    opacity: 1;
    visibility: visible;
}

.sub-menu__list.last {
    margin-left: -45px;
    min-width: 150px;
}

.sub-menu__list .menu__list__divider {
    border-bottom: 1px solid #e0e5e8;
    padding: 5px 0 12px 0;
}

.sub-menu__list .menu__list__divider-next {
    padding: 12px 0 5px 0;
}

.sub-menu__link {
    display: inline-block;
}

.sub-menu__link::first-letter {
    text-transform: uppercase;
}

.menu__link {
    color: var(--black);
    transition: .2s;
}

.menu__link:hover,
.menu__link:hover>span {
    color: var(--main-text-hover-color);
}

.sub-menu__list {
    position: absolute;
    margin: 29px 0 0 -17px;
    min-width: 225px;
    background: #DBEDFF;
}

.sub-menu__list li a {
    font-size: 16px;
}

.sub-menu__link:hover {
    color: var(--main-text-hover-color);
    transition: .2s;
}

.sub-menu__list>li {
    position: relative;
    font-size: 13px;
    padding: 0 17px 0 17px;
    line-height: 17px;
}

.sub-menu__list>li a {
    position: relative;
    width: 100%;
    display: block;
    padding: 5px 0;
    color: var(--main-text-color);
}

.sub-menu__list>li:first-child {
    padding-top: 10px;
}

.last li {
    text-align: right;
}

.sub-menu__list>li:last-child {
    padding-bottom: 10px;
}

.main-hero {
    position: relative;
    width: 100%;
    left: 50%;
    right: 50%;
    margin-left: -50%;
    margin-right: -50%;
    overflow: hidden;
    background: linear-gradient(0deg, #ffffff 0%, #c9e8fe 80%, #c9e8fe 100%);
    background-size: 100% 100%;
    background-position: 0 0;
    background-repeat: no-repeat;
    min-height: 410px;
}

.main-hero__track {
    display: flex;
    transition: transform 0.5s ease-in-out;
    will-change: transform;
}

.main-hero__slide {
    min-width: 100%;
    display: flex;
    align-items: center;
    margin-top: 20px;
}

.main-hero__wr {
    max-width: 1200px;
    width: 100%;
    margin: 0 auto;
    padding: 0 15px;
    position: relative;
}

.main-hero__content {
    display: flex;
    align-items: center;
    padding: 0;
    gap: 20px;
    width: 100%;
}

.main-hero__text {
    flex-grow: 1;
    flex-shrink: 1;
    flex-basis: 0%;
    min-width: 0;
}

.main-hero__text h1,
.main-hero__text h2 {
    display: flex;
    flex-direction: column;
    width: 100%;
    color: #000;
    font-size: 3.125rem;
    line-height: 1;
    font-family: firasans-medium, sans-serif;
    color: var(--button-new-color);
    text-transform: uppercase;
    padding: 0;
    margin: 0;
    text-shadow: 0 0 20px rgba(255, 255, 255, 0.9);
}

.main-hero__h1-span {
    display: flex;
    flex-direction: column;
    width: 100%;
    text-transform: none;
    font-size: 2.63rem;
    color: var(--second-text-color);
    text-transform: none;
    line-height: 1;
}

.main-hero__region {
    display: flex;
    flex-direction: column;
    width: 100%;
    font-size: 1.75rem;
    line-height: 1;
    color: var(--main-text-color);
    text-transform: none;
    margin-top: 0.44rem;
}

.main-hero__btn-wr {
    margin: 30px 0 30px 0;
    display: flex;
    position: relative;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 100px;
}

.main-hero__slide .main-hero__text h1,
.main-hero__slide .main-hero__region,
.main-hero__slide .category__subtitle,
.main-hero__slide .btn__mid {
    opacity: 0;
}

.main-hero__slide.is-active .main-hero__text h1 {
    animation: fadeInDown .5s ease 0.3s forwards;
}

.main-hero__slide.is-active .main-hero__region {
    animation: fadeIn 1s ease 0.7s forwards;
}

.main-hero__slide.is-active .category__subtitle {
    animation: fadeIn 1.5s ease 1s forwards;
}

.main-hero__slide.is-active .btn__mid {
    animation: fadeInUp .5s ease 0.3s forwards;
}

@-webkit-keyframes fadeInDown {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(0, -100%, 0);
        transform: translate3d(0, -100%, 0)
    }

    to {
        opacity: 1;
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
}

@keyframes fadeInDown {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(0, -100%, 0);
        transform: translate3d(0, -100%, 0)
    }

    to {
        opacity: 1;
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
}

.animate__fadeInDown {
    -webkit-animation-name: fadeInDown;
    animation-name: fadeInDown
}

@-webkit-keyframes fadeIn {
    0% {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

@keyframes fadeIn {
    0% {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

.animate__fadeIn {
    -webkit-animation-name: fadeIn;
    animation-name: fadeIn
}

@-webkit-keyframes bounceInLeft {

    0%,
    60%,
    75%,
    90%,
    to {
        -webkit-animation-timing-function: cubic-bezier(.215, .61, .355, 1);
        animation-timing-function: cubic-bezier(.215, .61, .355, 1)
    }

    0% {
        opacity: 0;
        -webkit-transform: translate3d(-3000px, 0, 0) scaleX(3);
        transform: translate3d(-3000px, 0, 0) scaleX(3)
    }

    60% {
        opacity: 1;
        -webkit-transform: translate3d(25px, 0, 0) scaleX(1);
        transform: translate3d(25px, 0, 0) scaleX(1)
    }

    75% {
        -webkit-transform: translate3d(-10px, 0, 0) scaleX(.98);
        transform: translate3d(-10px, 0, 0) scaleX(.98)
    }

    90% {
        -webkit-transform: translate3d(5px, 0, 0) scaleX(.995);
        transform: translate3d(5px, 0, 0) scaleX(.995)
    }

    to {
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
}

@keyframes bounceInLeft {

    0%,
    60%,
    75%,
    90%,
    to {
        -webkit-animation-timing-function: cubic-bezier(.215, .61, .355, 1);
        animation-timing-function: cubic-bezier(.215, .61, .355, 1)
    }

    0% {
        opacity: 0;
        -webkit-transform: translate3d(-3000px, 0, 0) scaleX(3);
        transform: translate3d(-3000px, 0, 0) scaleX(3)
    }

    60% {
        opacity: 1;
        -webkit-transform: translate3d(25px, 0, 0) scaleX(1);
        transform: translate3d(25px, 0, 0) scaleX(1)
    }

    75% {
        -webkit-transform: translate3d(-10px, 0, 0) scaleX(.98);
        transform: translate3d(-10px, 0, 0) scaleX(.98)
    }

    90% {
        -webkit-transform: translate3d(5px, 0, 0) scaleX(.995);
        transform: translate3d(5px, 0, 0) scaleX(.995)
    }

    to {
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
}

.animate__bounceInLeft {
    -webkit-animation-name: bounceInLeft;
    animation-name: bounceInLeft
}

@-webkit-keyframes fadeInUp {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(0, 100%, 0);
        transform: translate3d(0, 100%, 0)
    }

    to {
        opacity: 1;
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
}

@keyframes fadeInUp {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(0, 100%, 0);
        transform: translate3d(0, 100%, 0)
    }

    to {
        opacity: 1;
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
}

.animate__fadeInUp {
    -webkit-animation-name: fadeInUp;
    animation-name: fadeInUp
}

.main-hero__image {
    flex-grow: 0;
    flex-shrink: 0;
    flex-basis: auto;
    max-width: 50%;
    padding-bottom: 40px;
}

.main-hero__image img {
    width: auto;
    height: auto;
    max-height: 350px;
    max-width: 100%;
    display: block;
    border-radius: 8px;
}

.main-hero__nav {
    position: absolute;
    top: calc(50% - 32px);
    transform: translateY(-50%);
    background: #fff;
    border: none;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    font-size: 32px;
    cursor: pointer;
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 3px 16px #61d0ff85, inset 0 0 0 1px #0000001a;
    color: #0096D6;
    opacity: 0;
    transition: opacity 0.3s ease, transform 0.3s ease;
    padding: 0;
}

.main-hero__nav--prev {
    left: 20px;
    transform: translateY(-50%) translateX(10px);
}

.main-hero__nav--next {
    right: 20px;
    transform: translateY(-50%) translateX(-10px);
}

.main-hero:hover .main-hero__nav {
    opacity: 1;
}

.main-hero:hover .main-hero__nav--prev {
    transform: translateY(-50%) translateX(0);
}

.main-hero:hover .main-hero__nav--next {
    transform: translateY(-50%) translateX(0);
}

.main-hero__nav:hover,
.main-hero__nav:focus-visible {
    background-color: #0096D6;
    color: #ffffff;
    box-shadow: 0 6px 16px rgba(0, 150, 214, 0.35);
    outline: none;
}

.main-hero__nav:disabled {
    opacity: 0.35 !important;
    cursor: default;
    box-shadow: none;
}

.main-hero__indicators {
    position: absolute;
    bottom: 5px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    z-index: 10;
}

.main-hero__indicator-wrapper {
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    transition: opacity 0.2s ease;
}

.main-hero__indicator-wrapper:hover {
    opacity: 0.9;
}

.main-hero__indicator-dot {
    display: block;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background-color: rgba(148, 163, 184, 0.7);
    transition: background-color 0.3s ease, transform 0.3s ease;
}

.main-hero__indicator-wrapper:hover .main-hero__indicator-dot,
.main-hero__indicator-dot.active {
    transform: scale(1.2);
}

.main-hero__indicator-dot.active {
    background-color: #0096d6;
}

.first-screen {
    position: relative;
    width: 100%;
    min-height: 565px;
    background: radial-gradient(ellipse at center, rgba(255, 255, 255, 0.8) 0%, rgba(255, 255, 255, 0) 70%),
        linear-gradient(0deg, #ffffff 0%, #c9e8fe 80%, #c9e8fe 100%);
    background-size: 500px 180px, 100% 100%;
    background-position: 15% 8%, 0 0;
    background-repeat: no-repeat, no-repeat;
    padding-bottom: 10px;
    overflow: hidden;
}

.first-screen__block {
    width: 100%;
    height: 110px;
    background: #C9E8FE;
}

.first-screen__wrapper {
    position: relative;
    display: flex;
    flex-direction: row;
    width: 100%;
    overflow: visible;
}

.first-screen__text-wr {
    position: relative;
    display: flex;
    flex-direction: column;
    width: 55%;
    align-items: flex-start;
}

.first-screen__pic-wr {
    position: relative;
    width: 45%;
    overflow: visible;
}

.first-screen__pic-wr img {
    position: absolute;
    top: 3px;
    left: 0;
    height: 100%;
    width: auto;
    min-width: 100%;
    object-fit: cover;
}

.first-screen__price-label {
    position: absolute;
    top: 180px;
    right: 150px;
    width: 200px;
    height: 66px;
    background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxMjAgMzguNCc+CiAgPGRlZnM+CiAgICA8bGluZWFyR3JhZGllbnQgaWQ9J0dyYWRpZW50RmlsbF8xJyB4MT0nNjAnIHkxPSczOC40JyB4Mj0nNjAnIHkyPScwJyBncmFkaWVudFVuaXRzPSd1c2VyU3BhY2VPblVzZSc+CiAgICAgIDxzdG9wIG9mZnNldD0nMCcgc3RvcC1jb2xvcj0nI2Q0MjkxMScvPgogICAgICA8c3RvcCBvZmZzZXQ9JzAuMzMnIHN0b3AtY29sb3I9JyNkYjI4MTInLz4KICAgICAgPHN0b3Agb2Zmc2V0PScxJyBzdG9wLWNvbG9yPScjZTUyNzE1Jy8+CiAgICA8L2xpbmVhckdyYWRpZW50PgogIDwvZGVmcz4KICA8cGF0aCBmaWxsPSd1cmwoI0dyYWRpZW50RmlsbF8xKScgZmlsbC1ydWxlPSdldmVub2RkJyBkPSdNMTguOTEsMGw5NS4zOC4wMmMzLjE1LDAsNS43MSwyLjYxLDUuNzEsNS44MXYyNi43NmMwLDMuMi0yLjU3LDUuODEtNS43MSw1LjgxSDE4LjkxYy0xLjU3LDAtMi45Mi0uNTctNC4wMy0xLjdMMS42OCwyMy4zMmMtMi4yNC0yLjI3LTIuMjQtNS45NSwwLTguMjJMMTQuODcsMS43QzE1Ljk4LjU3LDE3LjM0LDAsMTguOTEsMGgwWk0xNi4yNCwxNC4yYy0yLjcyLDAtNC45MywyLjI0LTQuOTMsNS4wMXMyLjIxLDUuMDEsNC45Myw1LjAxLDQuOTMtMi4yNCw0LjkzLTUuMDEtMi4yMS01LjAxLTQuOTMtNS4wMVonLz4KPC9zdmc+");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    transform: translate3d(0, 0, 0);
    transition: transform 0.25s ease-out;
    will-change: transform;
    filter: drop-shadow(0 3px 20px rgba(255, 255, 255, 0.6));
    z-index: 99;
}

.first-screen__price-label-text {
    position: absolute;
    display: inline-block;
    min-width: 164px;
    top: 20px;
    left: 36px;
    text-align: center;
    font-family: firasans-regular, sans-serif;
    font-size: 28px;
    line-height: 15px;
    color: #ffffff;
    padding: 0;
    text-shadow: 0 1px 5px rgba(0, 0, 0, 0.3);
}

.first-screen__price-label-text span {
    font-size: 15px;
    text-shadow: 0 1px 5px rgba(0, 0, 0, 0.3);
    color: #FFFF2E;
}

.first-screen__title {
    margin-top: 55px;
}

.first-screen__title h1 {
    display: flex;
    flex-direction: column;
    font-size: 3.125rem;
    line-height: 1;
    font-family: firasans-medium, sans-serif;
    color: var(--button-new-color);
    text-transform: uppercase;
    padding: 0;
    margin: 0;
    text-shadow: 0 0 20px rgba(255, 255, 255, 0.9);
}

.first-screen__title__descr {
    font-size: 42.8px;
    line-height: 44px;
    color: var(--button-new-color);
    text-transform: none;
}

.first-screen__title__region {
    font-size: 1.75rem;
    line-height: 1;
    margin-top: 0.44rem;
    text-transform: none;
    color: var(--black);
}

.first-screen__list {
    padding: 25px 0 40px 0;
    list-style: none;
}

.first-screen__list li {
    display: flex;
    align-items: flex-end;
    font-family: firasans-regular, sans-serif;
    font-size: 20px;
    padding: 8px 0;
}

.first-screen__list b,
.first-screen__list span,
.first-screen__list strong {
    display: inline;
    font-family: firasans-regular, sans-serif;
    font-weight: normal;
    font-size: 20px;
}

.list-icon {
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    margin-right: 10px;
    color: #1885bb;
    fill: #1885bb;
    transform: translateY(-3px);
}

.first-screen__btn-wr {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.first-screen__btn__descr {
    display: flex;
    justify-content: center;
    margin: 0 0 2px 0;
    font-size: 16px;
    color: #666666;
}

.first-screen__btn__descr-red {
    color: red;
}

.first-screen__btn {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 360px;
    height: 80px;
    background: var(--button-new-color);
    font-family: firasans-regular, sans-serif;
    border-radius: 16px;
    color: #fff;
    font-size: 24px;
    transition: .3s;
    text-decoration: none;
    margin: 0 0 12px 0;
    padding-top: 2px;
    cursor: pointer;
}

.first-screen__btn:hover,
.first-screen__btn:focus,
.first-screen__btn:focus-visible {
    box-shadow: 0 8px 20px var(--button-shadow-color);
    background: var(--button-hover-color);
}

.icon-calc {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    margin-right: 6px;
}

.first-screen__note {
    font-size: 12px;
    margin-top: 20px;
    text-align: center;
}

.footer {
    position: relative;
    min-height: 200px;
    background-color: #006b99;
}

.footer__top-wr {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    color: #fff;
    margin-top: 35px;
    margin-bottom: 7px;
    width: 100%;
}

.footer__item {
    display: flex;
    flex-direction: column;
    color: #fff;
    width: fit-content;
}

.footer__title {
    font-size: 22px;
    font-family: firasans-semibold, sans-serif;
    color: #fff;
    transition: .2s;
    padding: 15px 0;
    opacity: .8;
}

.img-logo-footer {
    width: 220px;
}

.footer__list a {
    display: block;
    color: var(--main-bg-color);
    padding: 8px 0;
    opacity: .8;
    transition: .2s;
}

.footer__list a:hover,
.footer__list a:focus {
    opacity: 1;
}

.footer__bottom-wr {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    color: #fff;
    font-size: 15px;
    margin-top: 15px;
    margin-bottom: 15px;
    width: 100%;
}

.footer__bottom-copyright {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    cursor: pointer;
    opacity: .8;
    transition: .2s;
}

.footer__bottom-copyright:hover {
    opacity: 1;
}

.footer__bottom-link {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    font-family: firasans-light, sans-serif;
    font-size: 18px;
    text-align: center;
    opacity: .8;
    transition: .3s;
}

.footer__bottom-link:hover {
    opacity: 1;
}

.footer__bottom-link span {
    display: inline;
    font-family: firasans-light, sans-serif;
    font-size: 14px;
    line-height: 17px;
    text-align: center;
    padding-top: 5px;
    width: 450px;
}

.footer__region {
    display: inline;
}

.footer__logo__pic {
    display: flex;
    align-items: center;
    cursor: pointer;
}

.footer__bottom-socbar {
    justify-content: flex-end;
    align-items: center;
}

.footer-scl__border,
.footer__bottom-link ul,
.footer__bottom-socbar {
    display: flex;
    flex-direction: row;
}

.footer-scl__border a {
    cursor: pointer;
    transition: opacity 0.2s;
    padding: 0 8px;
    opacity: 0.7;
}

.footer-scl__border a:hover,
.footer-scl__border a:focus {
    opacity: 1;
}

.footer-scl__border svg {
    width: 34px;
    height: 34px;
    display: block;
    color: #fff;
}

#button-up {
    position: fixed;
    right: 50px;
    bottom: 50px;
    width: 60px;
    height: 60px;
    margin: 0;
    outline: 0;
    background: var(--button-new-color);
    border: 2px solid var(--main-bg-dark-color);
    border-radius: 12px;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.3s ease, visibility 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
    cursor: pointer;
    text-decoration: none;
}

#button-up.is-visible {
    opacity: 0.7;
    visibility: visible;
    pointer-events: auto;
}

#button-up:hover {
    opacity: 1;
}

#button-up .icon-arrow-up {
    width: 30px;
    height: 30px;
    color: var(--main-bg-dark-color);
}

.contacts__form {
    position: absolute;
    height: 440px;
    width: 300px;
    background-color: rgba(255, 255, 255, .9);
    line-height: 20px;
    z-index: 99;
    box-shadow: 0 0 10px 0 rgb(0 0 0 / 20%);
    margin-top: 52px;
    right: calc(50% + 250px);
    border-radius: 8px;
}

.contacts-wr {
    display: flex;
    flex-direction: column;
    padding: 0 25px;
    font-family: firasans-light, sans-serif;
    padding-top: 45px;
}

.img-logo-contacts {
    width: 220px;
    margin: 0 auto;
}

.contacts-inner {
    display: flex;
    flex-direction: column;
    padding-left: 40px;
}

.contacts__address {
    position: relative;
    margin: 20px 0 5px 0;
    padding: 0 0 0 24px;
}

.contacts__address p {
    font-size: 16px;
    color: var(--main-text-color);
    line-height: 18px;
}

.contacts__address p strong {
    font-family: firasans-regular, sans-serif;
    font-weight: normal;
}

.contacts__phone {
    position: relative;
    padding: 4px 0 4px 0;
    color: var(--main-text-color);
    font-size: 22px;
    font-family: firasans-regular, sans-serif;
    transition: 0.2s;
    display: inline-flex;
    align-items: center;
    gap: 2px;
    text-decoration: none;
}

.contacts__phone:hover {
    color: var(--main-text-hover-color);
}

.contacts__phone__primary {
    letter-spacing: .1px;
}

.contacts__phone__primary .icon-call {
    margin-right: 4px;
}

.contacts__phone .icon-call {
    flex-shrink: 0;
    width: 18px;
    height: 18px;
}

.contacts__address .icon-address {
    position: absolute;
    width: 18px;
    height: 18px;
    left: 0;
    top: -2px;
}

.contacts__email {
    position: relative;
    padding: 8px 0 8px 0;
    font-size: 16px;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    text-decoration: none;
    transition: 0.2s;
}

.contacts__email:hover {
    color: var(--main-text-hover-color);
}

.contacts__email .icon-email {
    width: 18px;
    height: 18px;
}

.contacts__open-hours {
    position: relative;
    padding: 3px 0 3px 0px;
    font-size: 16px;
    display: flex;
    align-items: flex-start;
    gap: 5px;
}

.contacts__open-hours .icon-clock {
    width: 18px;
    height: 18px;
}

.contacts__btn-wr {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 25px;
}

.btn__contacts {
    position: relative;
    width: 200px;
    height: 54px;
    color: var(--main-bg-color);
    background: var(--main-text-hover-color);
    font-size: 20px;
    font-family: firasans-light, sans-serif;
    text-align: center;
    line-height: 54px;
    cursor: pointer;
    transition: .2s;
    overflow: hidden;
    margin: 0;
    border-radius: 8px;
}

.btn__contacts:hover,
.btn__contacts:focus {
    box-shadow: 0 6px 15px var(--button-shadow-color);
    background: var(--button-hover-color);
}

.map {
    width: 100%;
    margin-top: 0;
    height: 550px;
    background-size: cover;
}

.modal__btn__wr {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 32px;
}

.modal__btn {
    height: 56px;
    position: relative;
    background: #1E2460;
    font-family: firasans-light, sans-serif;
    text-align: center;
    font-size: 16px;
    cursor: pointer;
    transition: .2s;
    width: 230px;
    color: #fff;
}

.modal__btn:hover,
.modal__btn:focus {
    box-shadow: 0 6px 15px rgb(0 63 135 / 40%);
}

section {
    position: relative;
}

.section-bg {
    position: absolute;
    width: 100%;
    height: 100%;
}

.section-bg video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    background-color: #fff;
    overflow: hidden;
}

.section-bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.title__h2,
.title__h2__light {
    font-family: firasans-semibold, sans-serif;
    font-size: 40px;
    text-align: center;
    color: var(--main-text-color);
    text-transform: uppercase;
    letter-spacing: 1.3px;
    margin: 40px 0 6px 0;
    font-weight: normal;
    line-height: 1.15;
}

.title__h2 span {
    color: var(--button-new-color);
}

.title__h2-accent {
    color: var(--main-text-color);
}

.title__h2-accent span {
    color: var(--main-text-hover-color);
}

.subtitle__h2,
.subtitle__h2__light {
    width: 920px;
    font-family: firasans-light, sans-serif;
    font-size: 18px;
    color: var(--main-text-color);
    text-align: center;
    line-height: 1.2;
    margin: 10px auto 0;
    padding: 0 30px;
}

.subtitle__h2__light {
    color: #fff;
}

.subtitle__h2 b {
    font-family: firasans-regular, sans-serif;
    font-weight: normal;
    color: var(--black);
}

.subtitle__h2__light b {
    font-weight: normal;
    color: #fff;
}

.subtitle__h2 a,
.subtitle__h2__light a {
    font-family: firasans-regular, sans-serif;
    text-decoration: underline;
    transition: .2s;
}

.subtitle__h2 a:hover {
    color: var(--main-text-hover-color);
}

.subtitle__h2 button {
    font-family: firasans-regular, sans-serif;
    text-decoration: underline;
    cursor: pointer;
    transition: .2s;
}

.subtitle__h2 button:hover {
    color: var(--main-text-hover-color);
}


.subtitle__h2-2 {
    margin-bottom: 40px;
    margin-top: 0;
}

.section__category .wrapper {
    padding-top: 10px;
    padding-bottom: 30px;
}

.section__category__blog .wrapper {
    padding-top: 40px;
    padding-bottom: 80px;
}

.section__category {
    min-height: 471px;
}

#section__category {
    scroll-margin-top: 40px;
}

.section__category__main .wrapper {
    padding-top: 0;
    padding-bottom: 60px;
}

.category__wr {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    width: 100%;
    margin-top: 10px;
}

.category__item__wr {
    display: flex;
    flex-direction: column;
    flex: 0 0 226px;
}

.pic__round-bg {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    aspect-ratio: 1 / 1;
    overflow: visible;
}

.pic__round-bg::before {
    content: '';
    position: absolute;
    width: 75%;
    height: 75%;
    background: linear-gradient(to bottom, #e0f1ff 0%, #e0f1ff 20%, #b8e0ff 100%);
    border-radius: 50%;
    z-index: 1;
}

.pic__round-bg img,
.pic__round-bg picture {
    position: relative;
    width: 100%;
    height: auto;
    max-height: 100%;
    object-fit: contain;
    z-index: 2;
    transition: transform 0.3s ease-in-out;
}

.pic__round-bg:hover img,
.pic__round-bg:focus img {
    transform: scale(1.04);
}

.pic__round-bg__hint {
    position: absolute;
    top: 18px;
    right: 6px;
    width: 22px;
    height: 22px;
    border: none;
    border-radius: 50%;
    background: #eeeeee;
    color: #b3b3b3;
    font-family: sans-serif;
    font-weight: bolder;
    font-size: 16px;
    line-height: 1;
    cursor: pointer;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
    box-shadow: 0 0 0 0 rgba(0, 150, 214, 0);
    animation: segments-hint-pulse 2s ease-in-out infinite;
    z-index: 10;
}

.pic__round-bg__hint:hover,
.pic__round-bg__hint:focus,
.pic__round-bg__hint:focus-visible {
    background: #0096D6;
    color: #ffffff;
    box-shadow: 0 0 0 2px rgba(0, 150, 214, 0.25);
    animation: none;
}

@keyframes segments-hint-pulse {
    0% {
        box-shadow: 0 0 0 0 rgba(0, 150, 214, 0);
    }

    50% {
        box-shadow: 0 0 0 2px rgba(0, 150, 214, 0.5);
    }

    100% {
        box-shadow: 0 0 0 0 rgba(0, 150, 214, 0);
    }
}

.pic__round-bg__tooltip {
    position: absolute;
    top: 48px;
    left: 0;
    right: -32px;
    width: 240px;
    padding: 20px 18px;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 10px 35px rgba(0, 0, 0, 0.25);
    font-family: firasans-light, sans-serif;
    font-size: 13px;
    line-height: 1.2;
    color: #444444;
    z-index: 30;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.2s ease, visibility 0.2s ease;
    white-space: normal;
}

.pic__round-bg__tooltip::before {
    content: '';
    position: absolute;
    top: -8px;
    right: 30px;
    transform: rotate(45deg);
    width: 14px;
    height: 14px;
    background: #fff;
    z-index: -1;
}

.pic__round-bg__hint:focus+.pic__round-bg__tooltip,
.pic__round-bg__hint:focus-visible+.pic__round-bg__tooltip {
    opacity: 1;
    visibility: visible;
}

.pic__round-bg__tooltip button {
    display: inline;
    background: none;
    border: none;
    padding: 0;
    margin: 0;
    font: inherit;
    font-family: firasans-regular, sans-serif;
    font-size: inherit;
    color: var(--main-text-hover-color);
    text-decoration: underline;
    text-decoration-style: dotted;
    text-decoration-thickness: 1px;
    text-underline-offset: 2px;
    cursor: pointer;
    transition: color 0.3s ease, text-decoration-thickness 0.3s ease;
}

.pic__round-bg__tooltip button:hover,
.pic__round-bg__tooltip button:focus-visible {
    color: var(--button-new-color);
    text-decoration-thickness: 1.5px;
}

.pic__round-bg__tooltip b {
    font-family: firasans-regular, sans-serif;
    font-weight: normal;
}

.category__item__title {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-end;
    width: 100%;
    transform: translateY(-10px);
}

.category__item__title h3 {
    display: flex;
    justify-content: center;
    flex-direction: column;
    width: 100%;
    font-family: firasans-regular, sans-serif;
    font-size: 22px;
    font-weight: normal;
    color: var(--main-text-color);
    text-align: center;
    padding: 0;
}

.category__item__title span {
    display: flex;
    justify-content: center;
    width: 100%;
    font-family: firasans-light, sans-serif;
    font-size: 16px;
    color: #555;
    padding: 0 30px;
    line-height: 17px;
    text-align: center;
    margin-top: 6px;
}

.category__item__wr:hover .category__item__title h3,
.category__item__wr:focus .category__item__title h3 {
    color: var(--main-text-hover-color);
}

.section-faq {
    min-height: 604px;
}

.section-faq .wrapper {
    padding-bottom: 50px;
    padding-top: 30px;
}

.section-faq__main .wrapper {
    padding-bottom: 10px;
    padding-top: 30px;
}

.section-faq__faq .wrapper {
    padding-top: 0;
    padding-bottom: 60px;
}

.section-faq__faq .title__h2 {
    margin: 20Px 0 6px 0;
}

.section-faq .btn__wr {
    margin-top: 50px;
    margin-bottom: 20px;
}

.section-faq__faq .btn__wr {
    margin-top: 60px;
    margin-bottom: 20px;
}

.section-faq-2 {
    min-height: 679px;
}

.section-faq-2 .pagination {
    margin-top: 30px;
}

.section-faq-2 .wrapper {
    padding-bottom: 50px;
}

.faq-accordion {
    margin-top: 30px;
    border-top: 1px solid #e0e0e0;
    max-width: 960px;
}

.faq-item {
    border-bottom: 1px solid #e0e0e0;
}

.faq-content ul,
.faq-content ol {
    padding: 5px 0 5px 0;
    list-style: none;
}

.faq-content li {
    position: relative;
    padding: 0 0 0 30px;
    margin-bottom: 3px;
}

.faq-content li::before {
    content: "";
    position: absolute;
    left: 14px;
    top: 5px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--button-new-color);
}

.faq-toggle {
    width: 100%;
    padding: 20px 45px 18px 15px;
    background: none;
    border: none;
    font-family: firasans-regular, sans-serif;
    font-size: 18px;
    font-weight: normal;
    color: var(--black);
    text-align: left;
    cursor: pointer;
    position: relative;
    transition: color 0.2s;
}

.faq-toggle:hover {
    color: var(--main-text-hover-color);
}

.faq-toggle::after {
    content: '+';
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    font-size: 34px;
    color: var(--main-text-hover-color);
    transition: transform 0.3s ease;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 42px;
    height: 42px;
    text-align: center;
    font-family: sans-serif;
}

.faq-toggle[aria-expanded="true"]::after {
    transform: translateY(-50%) rotate(45deg);
    color: red;
}

.faq-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease, padding 0.3s ease;
    padding: 0 0 0 0;
    transform: translateY(-10px);
}

.faq-content p {
    margin-top: 0;
    font-size: 16px;
    color: #333;
    padding: 2px 40px 2px 15px;
}

.faq-content b {
    font-weight: normal;
    font-family: firasans-regular, sans-serif;
}

.faq-content a,
.faq-content span,
.faq-content button {
    font-weight: normal;
    font-family: firasans-regular, sans-serif;
    text-decoration: underline;
    cursor: pointer;
    transition: .3s;
}

.faq-content button {
    display: inline;
    background: none;
    border: none;
    padding: 0;
    margin: 0;
}

.faq-content a:hover,
.faq-content span:hover,
.faq-content button:hover {
    color: var(--main-text-hover-color);
}

.faq-content.is-open {
    max-height: 1000px;
    padding-bottom: 10px;
}

.no-js .faq-content {
    max-height: none !important;
    padding: 20px 0 !important;
}

.quiz {
    display: flex;
    flex-direction: column;
    max-width: 960px;
    min-height: 465px;
    margin: 0 auto;
    margin-bottom: 20px;
    margin-top: 35px;
    padding: 18px 20px 24px 20px;
    background: #ffffff;
    border-radius: 12px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.1);
}

.quiz__title {
    margin: 0 0 8px;
    font-size: 24px;
    font-weight: 700;
}

.quiz__subtitle {
    margin: 0 0 24px;
    font-size: 14px;
    color: #666;
}

.quiz__form {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    margin: 0;
    height: 100%;
    flex-grow: 1;
}

.quiz__progressbar {
    width: 100%;
    height: 4px;
    border-radius: 999px;
    background-color: #e4efff;
    overflow: hidden;
    margin-bottom: 16px;
}

.quiz__progressbar-fill {
    width: 0%;
    height: 100%;
    border-radius: 999px;
    background: linear-gradient(90deg,
            #0d75c2 0%,
            #22a8ff 50%,
            #00c0ff 100%);
    transition: width 0.25s ease;
}

@media (max-width: 600px) {
    .quiz__progressbar {
        margin-bottom: 12px;
    }
}

.quiz__steps {
    position: relative;
    min-height: 220px;
}

.quiz__step {
    display: none;
    opacity: 0;
}

.quiz__step.is-active {
    display: block;
    opacity: 1;
    animation: quiz-step-fade 0.5s ease;
}

@keyframes quiz-step-fade {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

.quiz__step-title {
    font-size: 16px;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #8892a0;
    margin-bottom: 8px;
    text-align: center;
}

.quiz__question {
    font-size: 26px;
    font-weight: normal;
    text-align: center;
    line-height: 1.15;
    font-family: firasans-medium, sans-serif;
}

.quiz__options-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin-top: 20px;
}

.quiz__option-card {
    display: flex;
    max-width: 200px;
    height: auto;
    cursor: pointer;
    margin: 1%;
}

.quiz__option-inner {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 8px;
    border-radius: 16px;
    border: 1px solid #e0e5ef;
    background: #f7f9fc;
    text-align: center;
    font-size: 14px;
    transition: border-color 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease, transform 0.15s ease;
}

.quiz__option-card input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.quiz__icon {
    width: 80%;
    height: auto;
    border-radius: 50%;
    background: linear-gradient(to bottom, #e0f1ff 0%, #b8e0ff 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 6px;
}

.quiz__icon img {
    max-width: 100%;
    max-height: 100%;
    aspect-ratio: 1 / 1;
}

.quiz__text {
    line-height: 1.1;
}

.quiz__option-card:hover .quiz__option-inner {
    background: #f0f6ff;
    box-shadow: 0 6px 18px rgba(13, 117, 194, 0.15);
}

.quiz__option-card input:checked+.quiz__option-inner {
    border-color: #3dabff;
    background: linear-gradient(to bottom, #e0f1ff 0%, #b8e0ff 100%);
    box-shadow: 0 8px 22px rgba(13, 117, 194, 0.25);
}

.quiz__hint {
    display: flex;
    margin: 0 auto;
    margin-top: 6px;
    margin-bottom: 18px;
    font-family: firasans-light, sans-serif;
    font-size: 16px;
    line-height: 1.15;
    text-align: center;
    color: var(--main-text-color);
    max-width: 420px;
}

.quiz__field {
    margin-bottom: 12px;
}

.quiz__fields-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px 25px;
    margin: 0px 25px 15px 25px;
}

.quiz__fields-grid .quiz__field {
    margin-bottom: 0;
}

.quiz__field label {
    display: block;
    margin-bottom: 4px;
    font-size: 13px;
}

.quiz__field label span {
    display: block;
    margin-bottom: 4px;
    font-size: 14px;
}

.quiz__field input {
    width: 100%;
    padding: 10px 12px;
    border-radius: 6px;
    border: 1px solid #d6deea;
    font-size: 16px;
    font-family: firasans-light, sans-serif;
}

.quiz__field input::placeholder {
    color: #a3a3a3;
    font-family: firasans-light, sans-serif;
    opacity: 1;
    font-size: 16px;
}

.quiz__field input:focus {
    outline: none;
    border-color: #0d75c2;
    box-shadow: 0 0 0 1px rgba(13, 117, 194, 0.2);
}

.quiz__checkbox {
    display: flex;
    font-size: 13px;
    justify-content: center;
    padding: 8px 0;
}

.quiz__checkbox span {
    transform: translateY(1px);
}

.quiz__checkbox input {
    margin-right: 8px;
    margin-top: 0px;
}

.quiz__checkbox--policy {
    margin-top: 0;
}

.quiz__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 24px;
    gap: 8px;
}

.quiz__nav {
    min-width: 100px;
    padding: 10px 14px;
    font-size: 16px;
    border-radius: 8px;
    border: 1px solid #d6deea;
    background: #f7f9fc;
    cursor: pointer;
    font-family: firasans-regular, sans-serif;
    transition: background 0.2s ease, border-color 0.2s ease;
}

.quiz__nav:disabled {
    opacity: 0.5;
    cursor: default;
}

.quiz__nav--next {
    border-color: var(--button-new-color);
    background: var(--button-new-color);
    color: #fff;
    transition: .3s;
}

.quiz__nav--next:hover:not(:disabled),
.quiz__nav--next:focus:not(:disabled) {
    background: var(--button-hover-color);
    box-shadow: 0 6px 15px var(--button-shadow-color);
}

.quiz__progress {
    font-size: 16px;
    color: #666;
}

.quiz__submit {
    display: none;
    padding: 10px 16px;
    height: 38px;
    min-width: 100px;
    font-size: 14px;
    border-radius: 8px;
    border: none;
    border-color: var(--button-new-color);
    background: var(--button-new-color);
    color: #fff;
    cursor: pointer;
    transition: background 0.2s ease;
}

.quiz__submit:hover {
    background: var(--button-hover-color);
    box-shadow: 0 6px 15px var(--button-shadow-color);
}

.quiz-popup {
    position: fixed;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 999;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.25s ease, visibility 0.25s ease;
}

.quiz-popup.is-visible {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.quiz-popup__overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.35);
}

.quiz-popup__content {
    position: relative;
    z-index: 1;
    max-width: 320px;
    margin: 0 10px;
    padding: 40px 30px;
    background: #ffffff;
    border-radius: 14px;
    box-shadow: 0 18px 45px rgba(0, 0, 0, 0.25);
    transform: scale(0.9);
    opacity: 0;
}

.quiz-popup.is-visible .quiz-popup__content {
    animation: quizPopupIn 0.28s cubic-bezier(0.22, 0.61, 0.36, 1) forwards;
}

@keyframes quizPopupIn {
    0% {
        transform: scale(0.9);
        opacity: 0;
    }

    60% {
        transform: scale(1.03);
        opacity: 1;
    }

    100% {
        transform: scale(1);
        opacity: 1;
    }
}

.quiz-popup__content h3 {
    font-family: firasans-medium, sans-serif;
    font-weight: normal;
    font-size: 30px;
    color: var(--main-text-hover-color);
    text-align: center;
    margin-bottom: 15px;
    line-height: 1;
}

.quiz-popup__content p {
    margin: 0;
    font-size: 16px;
    line-height: 1.2;
    color: #555;
    text-align: center;
}

.quiz-popup__close {
    position: absolute;
    top: 6px;
    right: 10px;
    border: none;
    background: transparent;
    font-size: 40px;
    line-height: 1;
    cursor: pointer;
    color: var(--main-text-hover-color);
}

.quiz-popup__close:hover,
.quiz-popup__close:focus-visible,
.quiz-popup__close:focus {
    color: #0e64a5;
}

.quiz__loader-overlay {
    position: fixed;
    inset: 0;
    display: none;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, 0.55);
    z-index: 100000;
}

.quiz__loader-overlay.is-visible {
    display: flex;
}

.quiz__loader-inner {
    width: 200px;
    height: 200px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}

.quiz__loader-inner img {
    display: block;
    max-width: 100%;
    max-height: 100%;
}

.quiz-loader__text {
    font-family: firasans-regular, sans-serif;
    font-size: 20px;
    color: #fff;
    text-align: center;
}

.quiz-modal {
    position: fixed;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 9999;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.25s ease, visibility 0.25s ease;
    font-family: inherit;
}

.quiz-modal.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.quiz-modal__overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.45);
}

.quiz-modal__content {
    position: relative;
    display: flex;
    flex-direction: column;
    max-width: 1020px;
    width: 100%;
    margin: 0 5px;
    padding: 28px 30px 26px;
    background: #fff;
    z-index: 1;
    border-radius: 12px;
    box-shadow: 0 18px 45px rgba(0, 0, 0, 0.25);

    transform: translateY(10px) scale(0.98);
    opacity: 0;
    transition: transform 0.4s ease, opacity 0.4s ease;
}

.quiz-modal.is-open .quiz-modal__content {
    transform: translateY(0) scale(1);
    opacity: 1;
}

.quiz-modal__title {
    margin: 15px 0 15px 0;
    font-family: firasans-semibold, sans-serif;
    font-size: 40px;
    text-align: center;
    color: var(--main-text-color);
    text-transform: uppercase;
    letter-spacing: 1.2px;
}

.quiz-modal__title span {
    color: var(--button-new-color);
}

.quiz-modal__close {
    position: absolute;
    top: 0px;
    right: -2px;
    border: none;
    background: transparent;
    font-size: 50px;
    line-height: 1;
    cursor: pointer;
    color: var(--main-text-hover-color);
    padding: 0 10px;
    transition: .3s;
}

.quiz-modal__close:hover {
    color: #2fa5ff;
}

.quiz-modal .quiz {
    margin-top: 8px;
    margin-bottom: 8px;
}

.section-quiz {
    min-height: 703px;
    padding-bottom: 50px;
    background:
        url("../img/bg/voda.webp") center bottom / cover no-repeat,
        linear-gradient(180deg,
            rgba(255, 255, 255, 1) 0%,
            rgba(255, 255, 255, 1) 10%,
            rgba(201, 232, 254, 1) 100%);
}

#quiz-vodopodgotovka,
#quiz-licenzirovanie,
#quiz-burenie-skvazhin,
#quiz-vodozabornyj-uzel {
    scroll-margin-top: 60px;
}


.section-quiz .wrapper {
    padding-top: 0;
}

.section-segments {
    padding: 40px 0 60px;
}

.segments {
    display: flex;
    gap: 24px;
    align-items: flex-start;
    margin: 10px 0 10px 0;
    flex-wrap: wrap;
    justify-content: center;
}

.segments__item {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 35px 25px 45px 25px;
    background: #ffffff;
    border-radius: 12px;
    width: 340px;
}

.segments__item .pic__round-bg {
    max-height: 220px;
}

.visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: 0;
    padding: 0;
    border: 0;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    overflow: hidden;
    white-space: nowrap;
}

.who-needs-license {
    min-height: 730px;
}

#who-needs-license-section {
    scroll-margin-top: 60px;
}

.who-needs-license .wrapper {
    padding-bottom: 20px;
    padding-top: 30px;
}

.segments__title {
    width: 100%;
    font-family: firasans-regular, sans-serif;
    font-size: 26px;
    font-weight: normal;
    color: var(--main-text-color);
    line-height: 1.1;
    text-align: center;
}

.segments__title-gray {
    max-width: 250px;
    margin-bottom: 5px;
}

.segments__text {
    width: 100%;
    font-family: firasans-light, sans-serif;
    font-size: 16px;
    color: var(--main-text-color);
    padding: 0 15px;
    line-height: 18px;
    text-align: center;
    margin: 3px 0 6px 0;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
    line-clamp: 4;
    overflow: hidden;
}

.segments__item-gray {
    padding: 40px 30px 45px 30px;
    width: 364px;
}

.segments__sub {
    width: 100%;
    font-family: firasans-regular, sans-serif;
    font-size: 18px;
    color: var(--main-text-color);
    padding: 0 10px;
    line-height: 19px;
    text-align: center;
    margin-top: 3px;
    margin-bottom: 12px;
}

.segments__sub-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.segments__sub-item {
    font-family: firasans-light, sans-serif;
    position: relative;
    padding-left: 14px;
    margin-bottom: 6px;
    font-size: 15px;
    line-height: 16px;
}

.segments__sub-item::before {
    content: "";
    position: absolute;
    left: 0;
    top: 4px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--button-new-color);
}

.segments__toggle {
    margin: 10px auto 4px;
    background: #fff;
    font-family: firasans-regular, sans-serif;
    font-size: 14px;
    color: var(--main-text-color);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    text-decoration: underline;
    transition: .3s;
}

.segments__toggle-wr {
    display: flex;
    align-items: center;
}

.segments__toggle-wr span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    font-family: sans-serif;
    font-weight: bolder;
    padding: 0;
    border: none;
    border-radius: 50%;
    background: #eeeeee;
    color: #b3b3b3;
    padding-top: 2px;
    margin-right: 7px;
    margin-top: 3px;
    text-decoration: none;
    transition: 0.2s ease;
    box-shadow: 0 0 0 0 rgba(0, 150, 214, 0.25);
    animation: segments-hint-pulse 2s ease-in-out infinite;
}

.segments__toggle-wr span:hover,
.segments__toggle-wr span:focus,
.segments__toggle-wr span:focus-visible {
    animation: none;
    background: #0096D6;
    color: #ffffff;
    box-shadow: 0 0 0 2px rgba(0, 150, 214, 0.25);
}

.segments__toggle:hover {
    color: var(--button-new-color);
}

body.accordion-ready .segments__details {
    overflow: hidden;
    max-height: 0;
    opacity: 0;
    padding-bottom: 0;
    transform: translateY(-4px);
    transition:
        max-height 0.6s ease,
        opacity 0.6s ease,
        transform 0.6s ease,
        padding-bottom 0.6s ease;
}

body.accordion-ready .segments__details.is-open {
    max-height: 800px;
    opacity: 1;
    padding-bottom: 10px;
    transform: translateY(0);
}

.segments__details {
    width: 100%;
    margin-top: 8px;
    margin-bottom: 10px;
    padding: 0;
}

.segments__details-title {
    font-size: 16px;
    color: #1b2a3a;
    font-family: firasans-regular, sans-serif;
    line-height: 17px;
    text-align: center;
    margin: 8px 0 14px 0;
}

.segments__details-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.segments__details-item {
    font-family: firasans-light, sans-serif;
    position: relative;
    padding-left: 14px;
    margin-bottom: 6px;
    font-size: 14px;
    line-height: 1.2;
}

.segments__details-item::before {
    content: "";
    position: absolute;
    left: 0;
    top: 4px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--button-new-color);
}

.segments__details-item:last-child {
    margin-bottom: 0;
}

.segments__btn-wr {
    display: flex;
    width: 100%;
    justify-content: center;
    margin-top: auto;
    margin-bottom: 10px;
}

.segments__btn {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 50px;
    font-family: firasans-regular, sans-serif;
    font-size: 17px;
    line-height: 17px;
    background: var(--button-new-color);
    padding: 10px 20px;
    color: #fff;
    cursor: pointer;
    border-radius: 8px;
    min-width: 200px;
    text-decoration: none;
    transition: .3s;
}

.small__btn {
    height: 46px;
    font-size: 15px;
    line-height: 15px;
    padding: 10px 20px;
    min-width: 160px;
    border: 1px solid var(--button-hover-color);
}

.segments__btn:hover,
.segments__btn:active,
.segments__btn:focus,
.segments__btn:focus-visible {
    background: var(--button-hover-color);
    box-shadow: 0 6px 15px var(--button-shadow-color);
}

.section__water-types {
    background: #f5f5f5;
    min-height: 996px;
}

.section__water-types .wrapper {
    padding-top: 30px;
    padding-bottom: 30px;
}

.water-types {
    display: flex;
    gap: 24px;
    align-items: flex-start;
    justify-content: center;
    margin: 40px 0 20px 0;
    flex-wrap: wrap;
}








.promo-wrapper__gray {
    background: #f5f5f5;
    padding-top: 50px;
}

.promo-wrapper__white {
    background: #fff;
    padding-top: 50px;
}


.section__promo {
    position: relative;
    display: flex;
    flex-direction: column;
}


.section__promo__judge::before,
.section__promo__office::before,
.section__promo__drilling::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    box-shadow: inset 0 0 50px rgba(24, 186, 255, 0.8);
    pointer-events: none;
    z-index: 0;
}

.section__promo__judge::before {
    background-image: url(/img/bg/bg-judge.webp);
}

.section__promo__office::before {
    background-image: url(/img/bg/bg-office.webp);
}

.section__promo__drilling::before {
    background-image: url(/img/bg/bg-drilling.webp);
}

/* Градиентная маска поверх фона */
.section__promo::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to bottom,
            rgba(255, 255, 255, 0.4),
            rgba(255, 255, 255, 0.9) 35%,
            rgba(255, 255, 255, 0.9) 65%,
            rgba(255, 255, 255, 0.4));
    pointer-events: none;
    z-index: 0;
}


.section__promo .wrapper {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: row;
    align-items: stretch;
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    overflow: visible;
}

.promo__left {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-width: 0;
    padding-right: 0;
    z-index: 99;
}

.promo__right {
    width: 280px;
    position: relative;
    overflow: visible;
}

.section__promo img {
    position: absolute;
    width: auto;
    height: 500px;
    right: -20px;
    bottom: 0;
}







.section__promo__compare .section__promo__bg {
    position: absolute;
    width: 100vw;
    background-image: url(../img/bg/bg-04.webp);
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
    opacity: 0.14;
    pointer-events: none;
    margin-top: 70px;
    box-shadow: 0 0 40px rgba(0, 150, 214, 1) inset;
}



.promo__right__desc {
    position: absolute;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    width: max-content;
    height: auto;
    right: 0px;
    bottom: 30px;
    font-family: firasans-regular, sans-serif;
    font-size: 16px;
    line-height: 17px;

    padding: 14px 20px 12px 20px;
    background: #fafafa;
    border-radius: 8px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15);
    z-index: 999;
}

.promo__right__desc span {
    font-family: firasans-light, sans-serif;
    font-size: 14px;
    line-height: 15px;
    padding-top: 3px;
}

.promo__text-wr {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-start;
    flex: 1;
    margin: 0;
    min-height: 420px;
    padding: 60px 0 50px 0;
}

.promo__title {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    font-family: firasans-semibold, sans-serif;
    font-size: 40px;
    line-height: 44px;
    text-align: left;
    color: #027AAD;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    margin-bottom: 15px;
    text-shadow: 0 0 15px rgba(255, 255, 255, 0.9), 0 0 30px rgba(255, 255, 255, 0.9);
}

.promo__title span {
    font-size: 26px;
    line-height: 30px;
    color: var(--black);
}

.promo__descr {
    font-family: firasans-light, sans-serif;
    font-size: 18px;
    line-height: 1.2;
    color: var(--black);
    max-width: 700px;
    letter-spacing: .3px;
    text-shadow: 0 0 10px rgba(255, 255, 255, 1), 0 0 20px rgba(255, 255, 255, 1);
}

.promo__descr b {
    font-family: firasans-regular, sans-serif;
    font-weight: normal;
}


.promo__descr a {
    font-family: firasans-regular, sans-serif;
    font-weight: normal;
    text-decoration: underline;
    cursor: pointer;
    transition: .3s;
}

.promo__descr a:hover {
    color: var(--main-text-hover-color);
}


.promo__btn {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 70px;
    padding: 15px 40px;
    border: none;
    border-radius: 12px;
    cursor: pointer;
    font-family: firasans-regular, sans-serif;
    font-size: 20px;
    line-height: 20px;
    color: #fff;
    background: #0096D6;
    transition: 0.3s;
}

.promo__btn .icon-call-girl {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    margin-right: 4px;
    margin-bottom: 4px;
    color: #fff;
}

.promo__btn .icon-help {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    margin-right: 8px;
    margin-bottom: 4px;
    color: #fff;
}

.promo__btn .icon-upload {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    margin-right: 6px;
    margin-bottom: 4px;
    color: #fff;
}

.promo__btn:hover,
.promo__btn:focus,
.promo__btn:focus-visible {
    box-shadow: 0 6px 16px var(--button-shadow-color);
    background: var(--button-hover-color);
}

.section__promo .top-bar__btn__descr {
    font-size: 14px;
    line-height: 14px;
    margin-bottom: 6px;
}

.section-service {
    padding: 0;
    min-height: 583px;
}

.section-service .wrapper {
    padding-top: 30px;
    padding-bottom: 40px;
}

.service {
    display: flex;
    flex-wrap: wrap;
    gap: 25px 5px;
    justify-content: center;
    margin: 30px 0 10px 0;
}

.service-2 {
    padding: 0 50px;
}



.service__item {
    display: flex;
    min-width: 240px;
    max-width: 380px;
    flex-direction: column;
    align-items: center;
    padding: 10px 5px 20px 5px;
    min-width: 230px;
    max-width: 230px;
}

.service__item .pic__round-bg {
    margin-top: -10px;
}

.service__title {
    width: 100%;
    font-family: firasans-regular, sans-serif;
    font-size: 22px;
    font-weight: normal;
    color: var(--main-text-color);
    line-height: 23px;
    text-align: center;
    max-width: 220px;
}

.service__text {
    width: 100%;
    font-family: firasans-light, sans-serif;
    font-size: 14px;
    color: var(--main-text-color);
    padding: 0 10px;
    line-height: 16px;
    text-align: center;
    margin: 0px 0 20px 0;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    overflow: hidden;
    margin-top: -10px;
}

.section__formats {
    position: relative;
    padding: 0;
    overflow: hidden;
}

.section__formats .wrapper {
    padding-top: 30px;
}

.section__formats::before {
    content: "В РАЗРАБОТКЕ";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) rotate(-15deg);
    font-size: 100px;
    font-weight: bold;
    font-family: firasans-regular, sans-serif;
    color: #ff0000;
    opacity: 0.5;
    white-space: nowrap;
    pointer-events: none;
    z-index: 1;
    text-transform: uppercase;
    letter-spacing: 4px;
}


.formats {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
    margin-top: 24px;
}

.formats__item {
    background: #ffffff;
    border-radius: 12px;
    padding: 22px 20px 24px;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.07);
    border: 1px solid #e1e9f2;
    display: flex;
    flex-direction: column;
}

.formats__item--accent {
    border-color: #0096D6;
    box-shadow: 0 8px 22px rgba(0, 150, 214, 0.18);
}

.formats__tag {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 3px 10px;
    border-radius: 999px;
    font-family: firasans-regular, sans-serif;
    font-size: 11px;
    letter-spacing: .03em;
    text-transform: uppercase;
    color: #5b6b7d;
    background: #edf3fb;
    margin-bottom: 6px;
}

.formats__tag--accent {
    background: #0096D6;
    color: #ffffff;
}


.formats__title {
    font-family: firasans-regular, sans-serif;
    font-size: 20px;
    line-height: 1.2;
    margin: 0 0 8px;
    color: var(--main-text-color);
}

.formats__text {
    font-family: firasans-light, sans-serif;
    font-size: 14px;
    line-height: 1.4;
    margin: 0 0 10px;
    color: #2a3b4f;
}

.formats__list {
    margin: 0;
    padding-left: 18px;
    font-family: firasans-light, sans-serif;
    font-size: 14px;
    line-height: 1.3;
    color: #2a3b4f;
}

.formats__list li {
    margin-bottom: 4px;
}

.formats__list li:last-child {
    margin-bottom: 0;
}

.section__steps {
    background-color: #ffffff;
}


.section__steps .wrapper {
    padding-top: 30px;
    padding-bottom: 50px;
}


.steps {
    position: relative;
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    width: 100%;
    overflow: hidden;
    margin-top: 15px;
}

.steps__track {
    position: relative;
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    flex-wrap: nowrap;
    width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    cursor: grab;
    will-change: scroll-position;
    transform: translateZ(0);
    gap: 18px;
    padding: 10px 0 8px;
    -webkit-overflow-scrolling: touch;
}

.steps__track::-webkit-scrollbar {
    height: 0;
}

.steps__track {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

.steps__item {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 260px;
    max-width: 260px;
    min-width: 260px;
    border-radius: 16px;
    padding: 10px;
    user-select: none;
    margin: 10px 0;
    will-change: transform;
    transform: translateZ(0);
    scroll-snap-align: start;
    text-align: center;
}

.steps__item:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 58px;
    right: -100px;
    width: 160px;
    border-top: 4px dashed #CCE8FF;
    z-index: 0;
    pointer-events: none;
}

.steps__icon {
    position: relative;
    z-index: 1;
}

.steps__track.is-dragging {
    cursor: grabbing;
}

.steps__icon {
    position: relative;
    width: 100px;
    height: 100px;
    margin: 0 auto 20px;
    border-radius: 50%;
    display: flex;
    background: linear-gradient(to bottom, #e0f1ff 0%, #b8e0ff 100%);
    align-items: center;
    justify-content: center;
    box-shadow: 0 3px 16px #61d0ff85;
    border: 1px solid #BEE2FF;
}

.steps__icon__num {
    position: absolute;
    display: flex;
    justify-content: center;
    align-items: center;
    background: radial-gradient(circle, #1c940a 0%, #15c005 100%);
    color: #fff;
    border-radius: 50%;
    width: 46px;
    height: 46px;
    padding: 2px 0px 0 0;
    font-size: 30px;
    right: -30px;
    top: calc(50% - 23px);
    font-family: firasans-semibold, sans-serif;
    z-index: 2;
}

.steps__icon-check {
    width: 40px;
    height: 40px;
    display: block;
    fill: #fff;
}

.steps__icon img {
    width: 120%;
}

.steps__title {
    font-family: firasans-regular, sans-serif;
    font-size: 18px;
    font-weight: normal;
    margin: 4px 0 6px;
    width: 220px;
    color: var(--main-text-color);
}


.steps__text {
    font-family: firasans-light, sans-serif;
    font-size: 14px;
    line-height: 16px;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}



.steps__text button,
.steps__text span,
.steps__text a {
    display: inline;
    background: none;
    border: none;
    padding: 0;
    margin: 0;
    font: inherit;
    font-family: firasans-regular, sans-serif;
    font-size: inherit;
    color: var(--main-text-hover-color);
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 2px;
    text-decoration-color: currentColor;
    text-decoration-style: dotted;
    text-decoration-thickness: 1px;
    cursor: pointer;
    transition: 0.3s ease;
}

.steps__text button:hover,
.steps__text button:focus-visible,
.steps__text a:hover,
.steps__text a:focus-visible {
    color: var(--button-new-color);
    text-decoration-thickness: 1.5px;
    text-decoration: underline;
}

.steps__nav-btn {
    position: absolute;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 40px;
    height: 40px;
    background: #fff;
    border-radius: 50%;
    top: 50%;
    transform: translateY(-50%);
    font-size: 34px;
    cursor: pointer;
    border-width: 0;
    box-shadow: 0 3px 16px #61d0ff85, inset 0 0 0 1px #0000001a;
    z-index: 2;
    opacity: 0;
    transition: .3s ease;
    color: #0096D6;
}

.steps:hover .steps__nav-btn--prev {
    opacity: 1;
    transform: translateY(-50%) translateX(10px);
}

.steps:hover .steps__nav-btn--next {
    opacity: 1;
    transform: translateY(-50%) translateX(-10px);
}

.steps__nav-btn--prev {
    left: 5px;
    padding: 2px 2px 0 0;
}

.steps__nav-btn--next {
    right: 5px;
    padding: 2px 0 0 2px;
}

.steps__nav-btn:hover {
    background: #0096D6;
    color: #fff;
}

.section__news {
    min-height: 628px;
}

.section__news .wrapper {
    padding-bottom: 30px;
    padding-top: 30px;
}

.section__news .btn__wr {
    margin-top: 0;
    margin-bottom: 40px;
}

.news__wr {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 100%;
    margin: 35px 0 40px 0;
    min-height: 236px;
}

.news__item_outer {
    min-width: 277px;
    max-width: 460px;
    width: 277px;
}

.news__item_wr {
    width: 100%;
    aspect-ratio: 16 / 9;
}

.news__item {
    display: flex;
    overflow: hidden;
    position: relative;
    cursor: pointer;
    height: 100%;
    border-radius: 8px;
}

.news__item img {
    object-fit: cover;
    transition: all .3s linear;
}

.news__item_outer:hover img {
    transform: scale(1.07);
}

.news__item-text {
    font-family: firasans-light, sans-serif;
    font-size: 15px;
    text-align: left;
    color: #3b3b3b;
    line-height: 17px;
    margin-top: 12px;
    padding: 0 10px 0 10px;
    display: -webkit-box;
    line-clamp: 4;
    -webkit-line-clamp: 4;
    line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
    height: 68px;
    transition: all .3s;
}

.news__item_outer:hover .news__item-text {
    text-decoration: underline;
}

.news__item-title {
    position: absolute;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-end;
    width: 100%;
    height: 100%;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0) 25%, rgba(0, 0, 0, .43) 73%, rgba(0, 0, 0, 0.90) 100%);
    z-index: 99;
    padding-bottom: 15px;
}

.news__item-title h3 {
    font-family: firasans-regular, sans-serif;
    font-weight: normal;
    font-size: 22px;
    color: #fff;
    line-height: 22px;
    text-shadow: 0 0 20px #000;
    padding: 0 16px;
    text-align: left;
}

.section__video {
    display: flex;
    min-height: 700px;
}


.section__video .btn__wr {
    margin-top: 50px;
    margin-bottom: 80px;
}

.video__header-title {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    z-index: 10;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 15px;
}

.title__h2__light {
    color: #fff;
    margin-top: 70px;
    margin-bottom: 10px;
    text-shadow: 0 0 25px #2e2e2e;
    padding: 0 30px;
}

.title__h2__light span {
    color: var(--slider-text-color-1);
    text-shadow: 0 0 25px #2e2e2e;
}

.player-icon__wr {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    margin-top: 12px;
}

.player-icon {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 130px;
    height: 130px;
    border-radius: 50%;
    z-index: 1000;
    background: transparent;
    border: none;
    padding: 0;
    margin: 0;
    cursor: pointer;
    outline: none;
}

.player-icon::before {
    content: "";
    background-image: url(../img/player-icon.svg);
    background-repeat: no-repeat;
    position: absolute;
    width: 130px;
    height: 130px;
    cursor: pointer;
    opacity: 0.6;
    transition: .3s;
    z-index: 1000;
}

.player-icon:hover::before {
    opacity: 1;
    transform: scale(1.05);
}

.pulse-button__rings {
    border: 3px solid #fff;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    height: 130px;
    width: 130px;
    border-radius: 50%;
    animation-duration: 2.0s;
    animation-name: pulse_1;
    animation-iteration-count: infinite;
    z-index: -1;
    box-shadow: 0 0 10px rgba(255, 255, 255, 1) inset;
}

.pulse-button__rings:nth-child(2) {
    animation-name: pulse_2;
}

@keyframes pulse_1 {
    from {
        opacity: .3;
        transform: scale(1, 1);
    }

    to {
        opacity: 0;
        transform: scale(1.3, 1.3);
    }
}

@keyframes pulse_2 {
    from {
        opacity: .3;
        transform: scale(1, 1);
    }

    to {
        opacity: 0;
        transform: scale(1.6, 1.6);
    }
}

.player-icon:hover .pulse-button__rings {
    visibility: hidden;
}













.tender-modal#videoModal {
    display: flex;
    align-items: center;
    justify-content: center;
}


.video-modal__content {
    position: relative;
    width: 100%;
    max-width: 1400px;
    padding: 0;
    margin: 0;
    background: transparent;
    border: none;
    box-shadow: none;
    margin: 50px;
}

.video-modal__content .video-wrapper {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    border-radius: 18px;
    overflow: hidden;
}

.video-modal__content iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: none;
}

.video-modal__close {
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    top: 10px;
    right: 10px;
    width: 40px;
    height: 40px;
    font-size: 50px;
    line-height: 1;
    color: #fff;
    background: transparent;
    border: none;
    cursor: pointer;
    z-index: 10;
    transition: .3s;
}

.video-modal__close:hover,
.video-modal__close:focus {
    opacity: .7;
}

.btn__wr {
    display: flex;
    position: relative;
    justify-content: center;
    flex-wrap: wrap;
    gap: 100px;
}

.btn__mid {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 220px;
    height: 60px;
    border: none;
    font-family: firasans-regular, sans-serif;
    color: var(--main-bg-color);
    background: var(--button-new-color);
    font-size: 20px;
    text-align: center;
    cursor: pointer;
    transition: .3s;
    overflow: hidden;
    border-radius: 10px;
    padding: 0 35px 0 35px;
}

.btn__mid:hover,
.btn__mid:focus,
.btn__mid:focus-visible {
    background: var(--button-hover-color);
    box-shadow: 0 6px 15px var(--button-shadow-color);
    outline: none;
}

.btn__mid-white {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--main-bg-color);
    width: 210px;
    height: 54px;
    border: var(--main-bg-color) 1.5px solid;
    font-family: firasans-regular, sans-serif;
    font-size: 18px;
    text-align: center;
    cursor: pointer;
    transition: .2s;
    border-radius: 10px;
    padding-top: 3px;
}

.tender-modal {
    position: fixed;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 9999;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.6s ease, visibility 0.6s ease;
    font-family: inherit;
}

.tender-modal.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.tender-modal__overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.7);
}

body.modal-open {
    overflow: hidden;
}

.tender-modal__content {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    max-width: 360px;
    width: 100%;
    padding: 40px 30px 35px;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 18px 45px rgba(0, 0, 0, 0.25);
    transform: translateY(10px) scale(0.98);
    opacity: 0;
    transition: transform 0.4s ease, opacity 0.4s ease;
}

.tender-modal.is-open .tender-modal__content {
    transform: translateY(0) scale(1);
    opacity: 1;
}

.tender-modal__title {
    margin: 0 0 6px;
    font-family: firasans-medium, sans-serif;
    font-size: 30px;
    font-weight: normal;
    color: var(--main-text-hover-color);
    text-align: center;
}

.tender-modal__text {
    margin-bottom: 8px;
    font-size: 14px;
    color: #35516b;
    line-height: 1.2;
    text-align: center;
}

.tender-modal__form {
    margin: 0;
}

.tender-modal__field {
    margin-bottom: 10px;
}

.tender-modal__field label {
    display: block;
    margin-bottom: 2px;
    font-size: 13px;
    color: #23405a;
}

.tender-modal__field input,
.tender-modal__field textarea {
    width: 100%;
    padding: 10px 12px;
    border-radius: 8px;
    border: 1px solid #b4d3f0;
    font-size: 16px;
    font-family: inherit;
    resize: vertical;
}

.tender-modal__field input:focus,
.tender-modal__field textarea:focus {
    outline: none;
    border-color: #0D75C2;
    box-shadow: 0 0 0 1px rgba(13, 117, 194, 0.25);
}

.tender-modal__checkbox {
    display: flex;
    align-items: flex-start;
    margin: 15px 0 18px;
    font-size: 12px;
    color: #35516b;
}

.tender-modal__checkbox input {
    margin-right: 8px;
    margin-top: 2px;
}

.tender-modal__submit {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 10px 18px;
    border: none;
    border-radius: 8px;
    background: var(--button-new-color);
    color: #ffffff;
    font-size: 18px;
    cursor: pointer;
    width: 240px;
    height: 54px;
    font-family: firasans-regular, sans-serif;
    margin: 10px auto;
    transition: background 0.2s ease, box-shadow 0.2s ease;
}

.tender-modal__submit:hover {
    background: var(--button-hover-color);
    box-shadow: 0 8px 18px rgba(13, 117, 194, 0.35);
}

.tender-modal__note {
    margin: 15px 0 0;
    font-size: 12px;
    color: #35516b;
    text-align: center;
}

.tender-modal__close {
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    top: 6px;
    right: 6px;
    border: none;
    background: transparent;
    font-size: 40px;
    line-height: 1;
    cursor: pointer;
    color: var(--main-text-hover-color);
    z-index: 2;
    transition: color 0.3s ease;
}

.tender-modal__close span {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
}

.tender-modal__close:hover,
.tender-modal__close:focus-visible,
.tender-modal__close:focus {
    color: #0e64a5;
}

.quiz__field--work-email {
    position: absolute;
    left: -9999px;
    opacity: 0;
}

.btn__mid-white:hover {
    color: #000;
    background-color: var(--main-bg-color);
}

.appeal {
    background:
        linear-gradient(to bottom,
            rgba(232, 245, 254, 0.9) 0%,
            rgba(232, 245, 254, 0.0) 40%),
        url(../img/bg/voda.webp) center bottom / cover no-repeat,
        linear-gradient(180deg,
            rgba(255, 255, 255, 1) 0%,
            rgba(255, 255, 255, 1) 10%,
            rgba(201, 232, 254, 1) 100%);
}

.appeal .wrapper {
    padding-bottom: 70px;
}

.speech__wr {
    background-color: #fff;
    box-shadow: 0 1px 10px 0 rgb(0 0 0 / 5%);
    flex-direction: row;
    padding: 60px 30px;
    display: flex;
    margin: 90px 0 50px 0;
    width: 100%;
    border-radius: 12px;
}

.speech__text {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 0px 25px 0px 35px;
}

.speech__text p {
    position: relative;
    padding-bottom: 8px;
    font-size: 18px;
    line-height: 22px;
}

.speech__text .quotes {
    text-indent: 25px;
}

.speech__text .quotes:before {
    content: "\201d";
    font-size: 58px;
    top: 9px;
    left: -23px;
    color: #8e8e8e;
    font-family: Alegreya-SemiBold, sans-serif;
    position: absolute;
}

.speech__text b,
.speech__text p span {
    font-family: firasans-regular, sans-serif;
    font-weight: normal;
    color: #000;
}

.speech__text a {
    font-family: firasans-regular, sans-serif;
    font-weight: normal;
    color: #000;
    text-decoration: underline;
    transition: .3s;
}

.speech__text a:hover {
    color: var(--main-text-hover-color);
}

.speech__stuff {
    display: flex;
    padding: 0px;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    min-width: 220px;
    flex-wrap: wrap;
    margin-right: 20px;
}

.speech__pic {
    width: 180px;
    height: 180px;
    border-radius: 50%;
    overflow: hidden;
    box-shadow: -1px 2px 7px 0 #bdbdbd;
    transition: all .3s ease-out;
    cursor: pointer;
    display: flex;
    justify-content: center;
}

.speech__pic img {
    transition: .3s;
}

.speech__pic img:hover {
    transform: scale(1.07);
}

.speech__name {
    display: flex;
    flex-direction: column;
    font-family: firasans-regular, sans-serif;
    font-size: 26px;
    line-height: 24px;
    align-items: center;
    text-align: center;
    margin-top: 15px;
    min-width: 200px;
}

.speech__name p {
    display: inline-block;
    align-items: center;
    font-family: firasans-light, sans-serif;
    font-size: 15px;
    line-height: 18px;
    align-items: center;
    margin-top: 8px;
    padding: 0;
}

.speech__name b {
    font-family: firasans-regular, sans-serif;
    font-weight: normal;
}

.brightness-40 {
    filter: brightness(40%);
}

.brightness-50 {
    filter: brightness(50%);
}

.section__header {
    z-index: 1;
    background: #c9e8fe;
}

.section__header .wrapper {
    padding-bottom: 10px;
}

.category__header {
    display: flex;
    margin-top: 110px;
    background: linear-gradient(0deg, #ffffff 0%, #c9e8fe 80%, #c9e8fe 100%);
}

.category-wr {
    display: flex;
    gap: 40px;
    width: 100%;
    margin-top: 10px;
}

.category__text {
    flex: 1;
    min-width: 830px;
    margin: auto 0;
}

.category__pic {
    width: 300px;
    height: 300px;
    margin-top: 10px;
}

.category__title h1 {
    margin: 0;
    font-family: firasans-medium, sans-serif;
    color: var(--button-new-color);
    text-transform: uppercase;
    font-weight: normal;
    text-shadow: 0 0 20px rgba(255, 255, 255, 0.9);
}

.category__title__h1 {
    display: block;
    margin: 0;
}

.category__title__main,
.category__title__for,
.category__title__region {
    display: block;
}

.category__title__main {
    font-size: 3.125rem;
    line-height: 1;
}

.category__title__for {
    font-size: 2.63rem;
    color: var(--second-text-color);
    text-transform: none;
    line-height: 1;
}

.category__title__region {
    font-size: 1.75rem;
    color: var(--main-text-color);
    text-transform: none;
    margin-top: 0.44rem;
    line-height: 1;
}

.category__subtitle {
    font-size: 18px;
    line-height: 1.2;
    text-align: left;
    font-family: firasans-light, sans-serif;
    font-weight: normal;
    color: var(--black);
    margin-top: 20px;
}

.category__subtitle a {
    font-family: firasans-regular, sans-serif;
    font-weight: normal;
    text-decoration: underline;
    transition: .3s;
}

.category__subtitle a:hover {
    color: var(--button-new-color);
}

.category__subtitle b {
    font-family: firasans-regular, sans-serif;
    font-weight: normal;
}

.breadcrumb__outer {
    display: flex;
    justify-content: center;
    width: 100%;
    background-color: #fff;
}

.breadcrumb__outer__blog {
    margin-top: 20px;
}

.breadcrumb__wr {
    display: flex;
    width: 100%;
    max-width: 1200px;
    margin: 0 auto 10px;
    padding: 0 15px;
}

.breadcrumbs {
    display: flex;
    flex-wrap: wrap;
    gap: 0 6px;
    align-items: center;
}

.breadcrumbs a {
    display: flex;
    align-items: center;
    color: var(--link-color);
    padding: 4px 0;
    text-decoration: none;
}

.breadcrumbs a span[itemprop="name"] {
    transition: color 0.3s;
}

.breadcrumb__separ {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    line-height: 1;
    color: var(--link-color);
    margin-left: 8px;
    transition: color 0.3s;
    margin-bottom: 2px;
}

.breadcrumbs a:hover span[itemprop="name"],
.breadcrumbs a:hover .breadcrumb__separ {
    color: var(--link-hover-color, #000);
}

.section__typeof {
    min-height: 630px;
}

.section__typeof .wrapper {
    padding-top: 30px;
    padding-bottom: 70px;
}






























































.table__info__outer {
    display: flex;
    width: 100%;
}


.table__info__wr {
    position: relative;
    background-color: #fff;
    width: 100%;
    margin-top: 20px;
    margin-bottom: 10px;
}

.table__info__wr-gray {
    background: #f5f5f5;
}

.table__info {
    width: auto;
    border-collapse: separate;
    border-spacing: 0;
    font-size: 16px;
    line-height: 1.2;
    table-layout: fixed;
    margin: 0 auto;
}

/* Общие стили для ячеек */
.table__info__wr-gray .table__info th,
.table__info__wr-gray .table__info td {
    border: 1px solid #f5f5f5;
}

.table__info th,
.table__info td {
    position: relative;
    padding: 12px 20px;
    border: 1px solid #fff;
    vertical-align: middle;
    background: #E8F5FF;
}

.table__info__wr-gray .table__info td {
    background: #fff;
}



.table__info tr {
    vertical-align: middle;
}



/* Шапка */
.table__info th {
    font-family: firasans-regular, sans-serif;
    font-size: 18px;
    font-weight: normal;
    background: #0096D6;
    color: #fff;
    padding: 22px 25px 18px 25px;
}

/* Первая колонка */
.table__info .table__col--first {
    width: 270px;
    min-width: 270px;
}

.table__info tbody td.table__col--first {
    padding-left: 28px;
}

.table__info tbody td.table__col--small-first {
    padding-left: 28px;
}

/* Ценовая колонка */
.table__info .table__col--price {
    text-align: center;
    white-space: nowrap;
}

/* Узкая колонка */
.table__info .table__col--small {
    width: 180px;
    min-width: 180px;
}

/* Узкая+ колонка */
.table__info .table__col--small-middle {
    width: 250px;
    min-width: 250px;
}

/* Средняя колонка */
.table__info .table__col--middle {
    width: 300px;
    min-width: 300px;
}


/* Широкая колонка */
.table__info .table__col--big {
    width: 500px;
    min-width: 500px;
}




/* Строка с итогом (синяя) */
.table__info .table__row--highlight td {
    background: #0096D6;
    color: #fff;
    font-family: firasans-regular, sans-serif;
    font-size: 16px;
    padding: 12px 20px;
    border: 1px solid #fff;
    vertical-align: middle;
}

.table__info .table__row--highlight td:first-child {
    font-size: 18px;
    padding: 20px 27px;
}

.table__info .table__row--highlight .table__col--small,
.table__info .table__row--highlight .table__col--price {
    font-size: 18px;
}

/* Скругление углов для итоговой строки */
.table__info .table__row--highlight td:first-child {
    position: relative;
    overflow: hidden;
}

.table__info .table__row--highlight td:first-child::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 28px;
    height: 28px;
    background: #0096D6;
    border-bottom-left-radius: 14px;
    z-index: 2;
}

.table__info .table__row--highlight td:first-child::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 28px;
    height: 28px;
    background: #fff;
    z-index: 1;
}


.table__info .table__row--last td:first-child::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 28px;
    height: 28px;
    background: #E8F5FF;
    border-bottom-left-radius: 14px;
    z-index: 2;
}

.table__info__wr-gray .table__info .table__row--last td:first-child::before {
    background: #fff;
}


.table__info .table__row--last td:first-child::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 28px;
    height: 28px;
    background: #fff;
    z-index: 1;
}

.table__info__wr-gray .table__row--last td:first-child::after {
    background: #f5f5f5;
}

.table__info td a {
    text-decoration: underline;
    transition: .3s;
}

.table__info td a:hover {
    color: var(--main-text-hover-color);
}






.table__info th:first-child {
    position: relative;
    overflow: hidden;
}

.table__info th:first-child::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 28px;
    height: 28px;
    background: #0096D6;
    border-top-left-radius: 14px;
    z-index: 2;
}

.table__info th:first-child::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 28px;
    height: 28px;
    background: #fff;
    z-index: 1;
}

.table__info__wr-gray .table__info th:first-child::after {
    background: #f5f5f5;
}


.table__info th:last-child {
    position: relative;
    overflow: hidden;
}

.table__info th:last-child::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 28px;
    height: 28px;
    background: #0096D6;
    border-top-right-radius: 14px;
    z-index: 2;
}

.table__info th:last-child::after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 28px;
    height: 28px;
    background: #fff;
    z-index: 1;
}

.table__info__wr-gray .table__info th:last-child::after {
    background: #f5f5f5;
}

.table__info .table__row--highlight td:last-child {
    position: relative;
    overflow: hidden;
}

.table__info .table__row--highlight td:last-child::before {
    content: '';
    position: absolute;
    bottom: 0;
    right: 0;
    width: 28px;
    height: 28px;
    background: #0096D6;
    border-bottom-right-radius: 14px;
    z-index: 2;
}

.table__info .table__row--highlight td:last-child::after {
    content: '';
    position: absolute;
    bottom: 0;
    right: 0;
    width: 28px;
    height: 28px;
    background: #fff;
    z-index: 1;
}

.table__info .table__row--last td:last-child {
    position: relative;
    overflow: hidden;
}

.table__info .table__row--last td:last-child::before {
    content: '';
    position: absolute;
    bottom: 0;
    right: 0;
    width: 28px;
    height: 28px;
    background: #E8F5FF;
    border-bottom-right-radius: 14px;
    z-index: 2;
}


.table__info__wr-gray .table__info .table__row--last td:last-child::before {
    background: #fff;
}

.table__info .table__row--last td:last-child::after {
    content: '';
    position: absolute;
    bottom: 0;
    right: 0;
    width: 28px;
    height: 28px;
    background: #fff;
    z-index: 1;
}

.table__info__wr-gray .table__row--last td:last-child::after {
    background: #f5f5f5;
}

/* Центрирование для отдельных колонок */
.table__info .table__col--center {
    text-align: center;
}

.table__info .table__col--price {
    width: 180px;
    min-width: 180px;
}








/* Адаптив для мобильных */
@media (max-width: 1200px) {
    .table__info__wr {
        overflow-x: auto;
        overflow-y: hidden;
    }

    .table__info {
        font-size: 14px;
        line-height: 1.2;
        padding-bottom: 5px;
        min-width: 100%;
    }

    .table__info th {
        font-size: 17px;
        padding: 18px 15px 16px 15px;
    }

    .table__info .table__row--highlight td:first-child {
        font-size: 17px;
        padding: 18px 15px 15px 27px;
    }

    .table__info .table__row--highlight td {
        padding: 18px 20px 15px 20px;
    }

    .table__info .table__col--small,
    .table__info .table__col--price {
        width: auto;
        min-width: 180px;
    }

    .table__info .table__col--price {
        white-space: normal;
    }

    .table__info .table__row--highlight .table__col--small,
    .table__info .table__row--highlight .table__col--price {
        font-size: 17px;
    }
}




/* Адаптив (менее 500px) уменьшение ширины колонок */
@media (max-width: 500px) {

    .table__info .table__col--small,
    .table__info .table__col--price {
        width: 150px;
        min-width: 150px;
    }

    .table__info .table__col--first {
        width: 220px;
        min-width: 220px;
    }

    .table__info .table__col--big {
        width: 360px;
        min-width: 360px;
    }
}






































.table__cta {
    margin: 35px 0 20px 0;
    font-size: 18px;
    color: var(--second-text-color);
    font-family: firasans-regular, sans-serif;
    text-align: center;
    line-height: 1.2;
    max-width: 620px;
}

.table__cta button,
.table__cta a {
    display: inline;
    background: none;
    border: none;
    padding: 0;
    margin: 0;
    font: inherit;
    font-family: firasans-regular, sans-serif;
    font-size: inherit;
    color: var(--main-text-hover-color);
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 2px;
    text-decoration-color: currentColor;
    text-decoration-style: dotted;
    text-decoration-thickness: 1px;
    cursor: pointer;
    transition: 0.3s ease;
}

.table__cta button:hover,
.table__cta button:focus-visible,
.table__cta a:hover,
.table__cta a:focus-visible {
    color: var(--button-new-color);
    text-decoration-thickness: 1.5px;
    text-decoration: underline;
}













.steps__cta {
    margin: 20px 0 30px 0;
}

.section__standards .wrapper {
    padding-top: 40px;
    padding-bottom: 30px;
}

.section__standards .btn__mid {
    margin-top: 40px;
    margin-bottom: 50px;
}

.section__standards .btn__wr {
    padding-top: 40px;
    padding-bottom: 50px;
}

.section__standards .article__pic,
.section__need .article__pic,
.section__regulatory .article__pic,
.section__deadlines .article__pic {
    width: 185px;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 0;
    margin-right: 10px;
    height: 100%;
    transform: translateX(-10px);
}

.section__standards .article__pic img,
.section__need .article__pic img,
.section__regulatory .article__pic img,
.section__deadlines .article__pic img {
    display: block;
    width: 100%;
    height: auto;
    max-height: 100%;
    object-fit: cover;
    aspect-ratio: 1 / 1;
}

.section_need>.wrapper>.article_text.article__text__wide:first-of-type {
    min-height: 194.75px;
}

.section__need .title__h2 {
    margin-top: 20px;
}

.section__need .wrapper {
    padding-top: 0px;
    padding-bottom: 10px;
}

.section__need .btn__wr {
    margin: 0 0 20px 0;
}


.section__category .top-bar__btn__descr {
    font-size: 14px;
    line-height: 14px;
    margin-bottom: 6px;
}

.section__price .wrapper {
    padding-top: 30px;
    padding-bottom: 50px;
}

.section__price .btn__wr {
    margin: 20px 0;
}


.article {
    position: relative;
}

.article__text {
    display: flex;
    flex-direction: column;
    font-family: firasans-light, sans-serif;
    flex-grow: 1;
    flex-shrink: 1;
    flex-basis: 0%;
    min-width: 0;
    width: 100%;
}

.article__text p:last-child {
    margin-bottom: 2px;
}



.article__quotes__wr {
    position: relative;
    display: flex;
    flex-direction: row;
    width: 100%;
    background-color: #E8F5FF;
    border-radius: 14px;
    padding: 35px 45px 30px 45px;
    margin: 25px 0 20px 0;
}

.article__quotes__outer {
    display: flex;
    flex-direction: row;
    width: 100%;
    gap: 40px;
}

.article__quotes__author {
    display: flex;
    flex-direction: row;
    align-items: center;
}

.article__quotes__author-avatar {
    padding-right: 15px;
}

.article__quotes__author-avatar img {
    width: 100px;
    height: 100px;
    border-radius: 50%;
    object-fit: cover;
    border: 1px solid #d1d1d1;
}

.article__quotes__text-wr {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.article__quotes__text {
    position: relative;
    color: #000;
}

.article__quotes__text b {
    font-family: firasans-regular, sans-serif;
}

.article__quotes__text p {
    text-indent: 25px;
    font-size: 17px;
    font-style: italic;
}

.article__quotes__text .quotes:before {
    top: -14px;
    left: -27px;
}

.article .article__text__outer {
    display: flex;
    flex-direction: column;
    gap: 30px;
    margin: 15px 0 5px 0;
    width: 100%;
}

.article__text__outer {
    display: flex;
    flex-direction: column;
    gap: 25px;
    margin: 25px 0 20px 0;
    width: 100%;
}

.article__text-wr {
    display: flex;
    flex-direction: row;
}

.article__title {
    font-family: firasans-medium, sans-serif;
    font-size: 26px;
    padding: 0 0 12px 24px;
}




.article__title__mb25 {
    margin-bottom: 25px;
}

.section__price .article__title {
    padding: 40px 0 0 0;
    font-size: 34px;
    width: 100%;
    text-align: center;
}

.article__title span {
    color: var(--main-text-hover-color);
}

.article__title .article__title__red {
    color: #e80000;
}

.article-bar__btn__outer {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0;
    position: relative;
    width: 100%;
    height: auto;
    clip: auto;
    clip-path: none;
    overflow: visible;
    white-space: normal;
    gap: 100px;
    margin-top: 30px;
    margin-bottom: 80px;
}

.article-bar__btn__outer .top-bar__btn {
    height: 52px;
}

.article__text p {
    font-size: 18px;
    margin-bottom: 8px;
}

.article__text p b {
    font-family: firasans-regular, sans-serif;
    color: #000;
}

.article__text p:first-child {
    margin-top: 12px;
}

.article__text a {
    color: #000;
    font-family: firasans-regular, sans-serif;
    text-decoration: underline;
    transition: 0.2s;
}

.article__text a:hover {
    color: var(--main-text-hover-color);
}

.article__text p span {
    color: var(--main-text-hover-color);
    text-decoration: dotted underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 2px;
    cursor: pointer;
    transition: 0.3s ease;
}

.article__text ul,
.article__text ol {
    margin: 0;
    padding: 0;
    list-style: none;
}

.article__text ul li,
.article__text ol li {
    font-size: 18px;
    margin-bottom: 8px;
    position: relative;
    padding-left: 24px;
}

.article__text ul li:last-child,
.article__text ol li:last-child {
    margin-bottom: 0;
}

.article__text ul li span,
.article__text ul li b,
.article__text ol li span,
.article__text ol li b {
    font-family: firasans-regular, sans-serif;
    font-weight: 500;
    color: #000;
}

.article__text ul li a,
.article__text ol li a {
    font-weight: 500;
    color: #000;
    text-decoration: underline;
    transition: 0.3s;
}

.article__text ul li a:hover,
.article__text ol li a:hover {
    color: var(--main-text-hover-color);
}

.article__check-icon {
    width: 16px;
    height: 16px;
    background: var(--button-new-color);
    border-radius: 50%;
    position: absolute;
    left: 0;
    top: 1px;
    fill: #fff;
}

.article__text__small p {
    font-size: 16px;
    font-style: italic;
}

.section__promo .top-bar__btn__descr {
    font-size: 14px;
    line-height: 14px;
    margin-bottom: 6px;
    margin-top: 40px;
}

.section__deadlines {
    min-height: 500px;
}

.section__deadlines .btn__wr {
    padding-top: 40px;
}

.section__deadlines .wrapper {
    padding-bottom: 70px;
    padding-top: 30px;
}

.article__pic {
    width: 250px;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 20px;
}

.article__pic img {
    display: block;
    width: 100%;
    height: auto;
    max-height: 100%;
    object-fit: cover;
    aspect-ratio: 4 / 5;
}

[id^="block-"] {
    scroll-margin-top: 70px;
}

[id^="blocktotop-"] {
    scroll-margin-top: 140px;
}

.article-meta {
    width: 100%;
    background: #ffffff;
    border-bottom: 1px solid #e2e8f0;
    padding: 16px 0;
    margin: 0 0 32px 0;
}

.article-meta__wrapper {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 24px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.article-meta__author {
    display: flex;
    align-items: center;
    gap: 12px;
}

.article-meta__author-avatar {
    flex-shrink: 0;
}

.article-meta__author-avatar img {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    object-fit: cover;
    border: 1px solid #d1d1d1;
}

.article-meta__author-info {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.article-meta__author-name {
    font-family: firasans-medium, sans-serif;
    color: var(--main-text-color);
    font-size: 20px;
    white-space: nowrap;
    display: inline-block;
    /* или width: fit-content; */
}

.article-meta__author-title {
    font-size: 16px;
    color: #5a6e7c;
}

.article-meta__stats {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 40px;
}

.article-meta__stat {
    display: flex;
    flex-direction: column;
    gap: 5px;
    align-items: center;
}

.article-meta__stat-label {
    display: inline-block;
    font-size: 16px;
    color: #5a6e7c;
    text-align: right;
    width: 100%;
}






.article-meta__stat-row {
    display: flex;
    align-items: center;
    gap: 5px;
    text-align: right;
}

.article-meta__icon {
    width: 20px;
    height: 20px;
    fill: none;
    flex-shrink: 0;
}

.article-meta__stat-value {
    font-family: firasans-regular, sans-serif;
    font-size: 18px;
    color: var(--main-text-color);
    padding-top: 3px;
}

.table-of-contents {
    /*  background: #E8F5FF;
    border-radius: 14px;*/
    padding: 20px 0;
    width: 100%;
    text-align: left;
}

.table-of-contents__title {
    font-family: firasans-semibold, sans-serif;
    font-size: 30px;
    color: var(--main-text-hover-color);
    margin-bottom: 10px;
}

.table-of-contents__title span {
    color: var(--main-text-color);
}

.table-of-contents__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
}

.table-of-contents__meta {
    margin-left: 6px;
}

.table-of-contents__list li {
    margin: 0;
    padding: 0;
}

.table-of-contents__list a {
    font-family: firasans-regular, sans-serif;
    font-size: 18px;
    color: var(--main-text-color);
    text-decoration: underline;
    transition: color 0.3s ease;
    display: inline-block;
    padding: 6px 0;
}

.table-of-contents__list a:hover {
    color: var(--main-text-hover-color);
    text-decoration: underline;
}

.section__cases {
    background: #f5f5f5;
}

.section__parking .cases-slider__viewport {
    margin-top: 30px;
}

.section__cases .wrapper {
    padding-top: 30px;
    padding-bottom: 50px;
}


.section__parking .wrapper {
    padding-top: 30px;
    padding-bottom: 60px;
}

.section__cases .btn__wr {
    margin-top: 40px;
    margin-bottom: 20px;
}

.cases-slider {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    max-width: 1170px;
    margin: 0 auto;
    overflow: hidden;
    padding-bottom: 10px;
}

.cases-slider__viewport {
    width: 100%;
}

.cases-slider__track {
    display: flex;
    transition: transform 0.4s ease;
    will-change: transform;
}

.cases-slide {
    flex: 0 0 100%;
    display: flex;
    flex-direction: row;
    overflow: hidden;
    border-radius: 12px;
    box-shadow: 0 1px 10px 0 rgb(0 0 0 / 5%);
}

.cases-slide__content {
    display: flex;
    flex-direction: column;
    padding: 25px 35px;
    margin: 0;
    background: #fff;
    max-width: 585px;
}

.cases-slide__tag-wr {
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
    flex-wrap: wrap;
    width: 100%;
    gap: 8px;
    margin-bottom: 15px;
}

.cases-slide__tag {
    display: inline-flex;
    align-self: flex-end;
    padding: 6px 12px 5px 12px;
    border-radius: 6px;
    font-size: 12px;
    width: auto;
    line-height: 14px;
    font-family: firasans-regular, sans-serif;
    color: #027aad;
    background-color: #EDF8FE;
    border: 1px solid #dbf2ff;
    cursor: pointer;
    transition: .2s;
}

.cases-slide__tag:hover {
    background-color: #e7f6ff;
    border: 1px solid #c6eaff;
}

.cases-slide__tag-red {
    color: #842029;
    background-color: #ffeaeb;
    border-color: #ffdbde;
}

.cases-slide__tag-red:hover {
    background-color: #ffdfe0;
    border-color: #ffd2d6;
}

.cases-slide__title {
    font-family: firasans-medium, sans-serif;
    font-size: 22px;
    line-height: 1.1;
    margin: 0 0 10px 0;
    font-weight: normal;
    color: var(--main-text-color);
    display: -webkit-box;
    -webkit-line-clamp: 1;
    line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;

}

.cases-slide__meta p {
    font-family: firasans-regular, sans-serif;
    font-size: 16px;
    margin: 1px 0 1px 0;
    color: #4b5563;
    width: 100%;
    display: block;
    max-width: 100%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.cases-slide__meta p:first-child {
    /* Одна строка с многоточием */
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.cases-slide__meta p strong {
    font-weight: normal;
    font-family: firasans-medium, sans-serif;
}

.cases-slide__text {
    font-family: firasans-light, sans-serif;
    color: var(--main-text-color, #101828);
    font-size: 14px;
    line-height: 1.2;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin: 10px 0;
}

.cases-slide__text b {
    font-family: firasans-regular, sans-serif;
    font-weight: normal;
}

.cases-slide__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 44px;
    padding: 0 26px;
    border-radius: 999px;
    border: none;
    font-family: firasans-regular, sans-serif;
    font-size: 15px;
    text-decoration: none;
    color: #fff;
    background-color: #0096d6;
    box-shadow: 0 6px 14px rgba(0, 150, 214, 0.25);
    transition: background-color 0.25s ease, box-shadow 0.25s ease, transform 0.1s ease;
}

.cases-slide__btn:hover,
.cases-slide__btn:focus-visible {
    background-color: #027aad;
    box-shadow: 0 8px 20px rgba(0, 150, 214, 0.35);
    transform: translateY(-1px);
}

.cases-slide__image {
    flex: 0 0 50%;
    max-width: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.cases-slide__image img {
    display: flex;
    height: 100%;
    object-fit: cover;
}

.cases-slider__arrow {
    position: absolute;
    top: calc(50% - 20px);
    transform: translateY(-50%);
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border-width: 0;
    box-shadow: 0 3px 16px #61d0ff85, inset 0 0 0 1px #0000001a;
    background: #fff;
    color: #858585;
    font-size: 34px;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    padding-left: 2px;
    z-index: 5;
    opacity: 0;
    transition: .3s ease;
    color: #0096D6;
}

.cases-slider:hover .cases-slider__arrow--prev {
    opacity: 1;
    transform: translateY(-50%) translateX(10px);
}

.cases-slider:hover .cases-slider__arrow--next {
    opacity: 1;
    transform: translateY(-50%) translateX(-10px);
}

.steps__nav-btn:hover {
    background: #0096D6;
    color: #fff;
}

.cases-slider__arrow--prev {
    left: 5px;
    padding-left: 0;
    padding-right: 1px;
}

.cases-slider__arrow--next {
    right: 5px;
    padding-left: 3px;
    padding-right: 0px;
}

.cases-slider__arrow:hover,
.cases-slider__arrow:focus-visible {
    background-color: #0096d6;
    color: #ffffff;
    box-shadow: 0 6px 16px rgba(0, 150, 214, 0.35);
}

.cases-slider__arrow:disabled {
    opacity: 0.35;
    cursor: default;
    box-shadow: none;
}

.cases-slider__dots {
    display: flex;
    justify-content: center;
    margin-top: 10px;
    margin-bottom: 10px;
}

.cases-slider__dot {
    display: flex;
    justify-content: center;
    align-items: center;
    border: none;
    color: #fff;
    background: transparent;
    width: 26px;
    height: 20px;
    cursor: pointer;
}

.cases-slider__dot.is-active span {
    transform: scale(1.2);
    background-color: #0096d6;
}

.cases-slider__dot:hover span {
    transform: scale(1.2);
}

.cases-slider__dot span {
    display: flex;
    border-radius: 50%;
    border: none;
    padding: 5px;
    background-color: rgba(148, 163, 184, 0.7);
    transition: background-color 0.3s ease, transform 0.3s ease;
}

.license-promo__title {
    display: inline-block;
    font-family: firasans-semibold, sans-serif;
    font-size: 49px;
    line-height: 34px;
    color: #DE3324;
    text-transform: uppercase;
    letter-spacing: 1.2px;
    margin-bottom: 10px;
    text-shadow: 0 0 15px rgba(255, 255, 255, 0.9), 0 0 30px rgba(255, 255, 255, 0.9);
}

.license-promo__title-2 {
    font-family: firasans-semibold, sans-serif;
    font-size: 26px;
    color: var(--main-text-color);
    color: #027AAD;
}

.license-promo__title-price {
    font-size: 60px;
}

.license-promo__descr {
    font-size: 18px;
    line-height: 1.2;
    color: #000;
    max-width: 750px;
    text-shadow: 0 0 10px rgba(255, 255, 255, 1), 0 0 20px rgba(255, 255, 255, 1);
}

.license-promo__descr p {
    padding-bottom: 6px;
}

.license-promo__descr b {
    font-family: firasans-regular, sans-serif;
    font-weight: normal;
}

.license-promo__descr a {
    font-family: firasans-regular, sans-serif;
    font-weight: normal;
    text-decoration: underline;
    transition: .3s;
}

.license-promo__descr a:hover {
    color: #00679a;
}

.license-promo__btn__descr {
    font-family: firasans-regular, sans-serif;
    font-size: 18px;
    color: #333;
    color: #000;
    text-shadow: 0 0 10px rgba(255, 255, 255, 1), 0 0 20px rgba(255, 255, 255, 1);
}

.license-promo__btn__descr a {
    text-decoration: underline;
    transition: .3s;
}

.license-promo__btn__descr a:hover {
    color: #00679a;
}

.section__gray {
    background: #f5f5f5;
    /*box-shadow: 0 0 40px rgba(0, 179, 255, 0.07) inset;*/
}

.section__white {
    background: #fff;
}

.section__regulatory .wrapper {
    padding-top: 30px;
    padding-bottom: 10px;
}


.section__regulatory .btn__wr {
    margin-bottom: 20px;
    margin-top: 50px;
}

.section__gray .title__h2 {
    color: #000;
}

.section__gray .article__text {
    color: #000;
}

.cookie-link {
    color: #1a1a1a;
    text-decoration: underline;
    font-family: firasans-light, sans-serif;
    margin-left: 10px;
    transition: color 0.3s ease;
}

.cookie-link:hover {
    color: var(--main-text-hover-color);
}

.footer__bottom-policy {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    justify-content: space-between;
    width: 100%;
    color: #fff;
    margin-bottom: 10px;
    padding: 30px 0 0 0;
}

.footer__bottom-policy li {
    display: flex;
    margin: 0 auto;
    text-align: center;
}

.footer__bottom-policy a {
    color: #fff;
    font-size: 14px;
    opacity: .8;
    transition: .2s;
    padding: 10px;
}

.footer__bottom-policy a:hover {
    opacity: 1;
}

#cookie-banner {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: #fff;
    color: #333;
    padding: 15px;
    text-align: center;
    font-family: firasans-light, sans-serif;
    font-size: 14px;
    line-height: 2;
    box-shadow: 0 0 20px rgba(0, 0, 0, .2);
    z-index: 10000;
}

#accept-cookies {
    background: var(--button-new-color);
    font-size: 14px;
    font-family: firasans-light, sans-serif;
    color: #fff;
    padding: 4px 20px;
    cursor: pointer;
    margin-left: 10px;
    border-radius: 8px;
    transition: box-shadow 0.3s ease;
}

#accept-cookies:hover {
    box-shadow: 0 4px 10px var(--button-shadow-color);
    background: var(--button-hover-color);
}

.cookie-link {
    color: #1a1a1a;
    text-decoration: underline;
    font-family: firasans-light, sans-serif;
    margin-left: 10px;
    transition: color 0.3s ease;
}

.cookie-link:hover {
    color: var(--main-text-hover-color);
}

@keyframes slideUp {
    from {
        transform: translateY(100%);
        opacity: 0;
    }

    to {
        transform: translateY(0);
        opacity: 1;
    }
}

#cookie-banner {
    animation: slideUp 0.5s ease-out;
}

.logo-ribbon {
    width: 100%;
    overflow: hidden;
    background: transparent;
    position: relative;
}


.logo-ribbon::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100px;
    height: 100%;
    background: linear-gradient(to right, #f5f5f5, transparent);
    pointer-events: none;
    z-index: 2;
}

.logo-ribbon::after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 100px;
    height: 100%;
    background: linear-gradient(to left, #f5f5f5, transparent);
    pointer-events: none;
    z-index: 2;
}

.logo-ribbon__track {
    display: flex;
    width: max-content;
    animation: partnersLogoScroll 35s linear reverse infinite;
}

.logo-ribbon:hover .logo-ribbon__track {
    animation-play-state: paused;
}

.logo-ribbon__group {
    display: flex;
    align-items: center;
    padding: 35px 0 30px 0;
}

.logo-ribbon img {
    height: 40px;
    width: auto;
    padding: 0 30px;
    transition: filter 0.3s ease, opacity 0.3s ease, transform 0.3s ease;
    will-change: transform, filter;
}

.logo-ribbon img:hover {
    filter: grayscale(0%) brightness(1) opacity(1);
    transform: scale(1.1);
}

@keyframes partnersLogoScroll {
    0% {
        transform: translateX(-50%);
    }

    100% {
        transform: translateX(0);
    }
}

.section-bg {
    position: absolute;
    width: 100%;
    height: 100%;
}

.blog__header {
    display: flex;
}

.blog-wr {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 60px 0;
    min-height: 320px;
    gap: 20px;
}

.blog__title {
    margin: 0 auto;
    z-index: 100;
    text-shadow: 0 0 8px #000, 0 0 15px #383838;
}

.blog__title h1 {
    font-family: firasans-medium, sans-serif;
    font-size: 3.125rem;
    color: #fff;
    text-transform: uppercase;
    text-align: center;
}

.blog__title h1 span {
    font-family: firasans-medium, sans-serif;
    text-transform: uppercase;
    color: #62d0ff;
}

.blog__subtitle {
    width: 1000px;
    font-family: firasans-light;
    font-size: 20px;
    color: #fff;
    text-align: center;
    margin: 0 auto;
    text-shadow: 0 0 20px #000;
}

.blog-grid {
    position: relative;
    min-height: 770px;
}

.blog-grid .wrapper {
    padding-bottom: 40px;
}

.blog-grid .title__h2 {
    margin: 15px 0 6px 0;
}

.blog-grid__wr {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    width: 100%;
    margin: 20px 0 30px 0;
    min-height: 265px;
}

.blog-grid__item__wr {
    position: relative;
    width: 31%;
    margin: 10px;
    min-width: 370px;
    max-width: 480px;
    aspect-ratio: 16 / 9;
}

.blog-grid__item {
    display: flex;
    overflow: hidden;
    position: relative;
    cursor: pointer;
    height: 100%;
    border-radius: 12px;
    overflow: hidden;
}

.blog-grid__item__title {
    position: absolute;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-end;
    width: 100%;
    height: 100%;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0) 35%, rgba(0, 0, 0, 0.5) 60%, rgba(0, 0, 0, 0.90) 100%);
    z-index: 99;
    padding-bottom: 15px;
}

.blog-grid__item__title h3 {
    font-family: firasans-regular, sans-serif;
    font-size: 26px;
    color: #fff;
    text-shadow: 0 0 20px #000;
    padding: 0 22px;
    text-align: left;
}

.blog-grid__item__wr img {
    width: 100%;
    height: 100%;
    min-height: 163px;
    object-fit: cover;
    transition: all .3s linear;
    border-radius: 12px;
}

.blog-grid__item__wr:hover img {
    transform: scale(1.07);
}

.blog-grid__item__wr:hover .blog-grid__item__descr {
    color: var(--main-text-hover-color);
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 2px;
    text-decoration-color: currentColor;
}

.blog-grid__item__descr {
    height: 85px;
    max-height: 85px;
    padding: 10px 10px 0 10px;
    display: -webkit-box;
    text-align: left;
    line-clamp: 4;
    -webkit-line-clamp: 4;
    line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin-bottom: 10px;
    transition: .3s;
}

.title__h3 {
    font-family: firasans-semibold, sans-serif;
    font-size: 38px;
    text-align: center;
    color: var(--main-text-color);
    margin: 40px 0 6px 0;
}

.title__h3 span {
    color: var(--main-text-hover-color);
}

.foto__big__wr {
    margin-top: 20px;
}

.foto__big__item {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 720px;
    overflow: hidden;
    margin: 10px;
    border-radius: 12px;
}

.foto__big__item img {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
}

.foto__desc {
    width: 100%;
    text-align: center;
    padding-bottom: 15px;
}


.blog__cta {
    margin: 20px 0 15px 0;
    font-size: 18px;
    color: var(--second-text-color);
    font-family: firasans-regular, sans-serif;
    text-align: center;
    line-height: 1.2;
    max-width: 620px;
}

.blog__cta a {
    display: inline;
    background: none;
    border: none;
    padding: 0;
    margin: 0;
    font: inherit;
    font-family: firasans-regular, sans-serif;
    font-size: inherit;
    color: var(--main-text-hover-color);
    text-decoration: underline;
    text-underline-offset: 2px;
    text-decoration-color: currentColor;
    text-decoration-style: dotted;
    text-decoration-thickness: 1px;
    cursor: pointer;
    transition: 0.3s ease;
}

.blog__cta a:hover,
.blog__cta a:focus-visible {
    color: var(--button-new-color);
    text-decoration-thickness: 1.5px;
    text-decoration: underline;
}

.contacts-video {
    padding: 60px 0;
    background: #f5f5f5;

}

.contacts-video__wr {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 40px;
}

.contacts-video__content {
    width: 565px;
}

.contacts-video__title {
    font-family: firasans-medium, sans-serif;
    font-size: 32px;
    color: var(--main-text-color);
    margin: 0 0 20px 0;
}

.contacts-video__title span {
    color: var(--button-new-color);
}

.contacts-video__text {
    font-family: firasans-regular, sans-serif;
    font-size: 18px;
    line-height: 1.3;
    color: #333;
}

.contacts-video__text p {
    margin: 0;
}

.contacts-video__media {
    width: 534px;
}

.video__frame__wr {
    position: relative;
    width: 100%;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
    border-radius: 12px;
}

.video__frame {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: none;
    border: 0;
}

.contacts-offices {
    padding-bottom: 70px;
}

.contacts-offices .title__h2 {
    margin: 20px 0 30px 0;
}

.contacts-offices__title {
    font-family: firasans-medium, sans-serif;
    font-size: 36px;
    line-height: 1.3;
    color: var(--main-text-color);
    text-align: center;
    margin: 0 0 40px 0;
}

.contacts-offices__title span {
    color: var(--button-new-color);
}

.contacts-offices__wr {
    display: flex;
    flex-direction: column;
    gap: 40px;
    width: 100%;
}

.contacts-offices__item {
    background: #fff;
}

.contacts-offices__item-title {
    font-family: firasans-medium, sans-serif;
    font-size: 28px;
    margin: 0 0 15px 12px;
}

.contacts-offices__item-title span {
    color: var(--main-text-hover-color);
}

.contacts-offices__item-row {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
}

.contacts-offices__item-photo {
    width: 388px;
    height: 218px;
    overflow: hidden;
    border-radius: 12px;
    line-height: 0;
    font-size: 0;
}

.contacts-offices__item-photo-wr {
    width: 100%;
    height: 100%;
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center;
}

.contacts-offices__item-photo-wr img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.4s ease;
    will-change: transform;
    backface-visibility: hidden;
}

.contacts-offices__item-photo:hover .contacts-offices__item-photo-wr img {
    transform: scale(1.07);
}

.contacts-offices__item-contacts {
    display: flex;
    justify-content: center;
    flex-direction: column;
    width: 334px;
    height: 218px;
    justify-content: center;
    min-width: 220px;
    gap: 12px;
    padding-left: 15px;
}

.contacts-offices__item-address,
.contacts-offices__item-phone,
.contacts-offices__item-email,
.contacts-offices__item-hours {
    display: flex;
    align-items: flex-start;
    gap: 5px;
    font-family: firasans-regular, sans-serif;
    font-size: 16px;
    color: #333;
}

.contacts-offices__item-address p,
.contacts-offices__item-hours p {
    margin: 0;
}

.contacts-offices__item-phone a,
.contacts-offices__item-email a {
    color: #333;
    text-decoration: none;
    transition: 0.3s;
}

.contacts-offices__item-phone a {
    font-size: 22px;
}

.contacts-offices__item-phone-1 a {
    transform: translateX(-3px);
}

.contacts-offices__item-phone a:hover,
.contacts-offices__item-email a:hover {
    color: var(--main-text-hover-color);
}

.contacts-offices__item-note {
    font-size: 14px;
    color: #6c757d;
    transform: translateY(7px);
}

.contacts-offices__item-map {
    width: 388px;
    height: 218px;
    overflow: hidden;
    border-radius: 12px;
    line-height: 0;
    font-size: 0;
    border: 1px solid #e7e7e7;
}

.mini-map {
    width: 100%;
    height: 100%;
    border-radius: 12px;
    background: #eef2f5;
    overflow: hidden;
}

.contacts-offices [class*="icon-"] {
    width: 18px;
    height: 18px;
}

.contacts-offices .icon-call {
    transform: translateY(4px);
}

.contacts-quick {
    padding: 50px 0 60px 0;
    background: #f5f5f5;
}

.contacts-quick__outer {
    display: flex;
    width: 100%;
    flex-direction: column;
}


.contacts-quick__wr {
    display: flex;
    width: 100%;
    justify-content: center;
    gap: 30px;
}

.contacts-quick__group {
    width: 370px;
    min-width: 370px;
    padding: 15px 0;
}

.contacts-quick__group:last-child {
    width: 770px;
}

.contacts-quick__group-title {
    font-family: firasans-medium, sans-serif;
    font-size: 28px;
    text-align: center;
    margin: 0 0 20px 0;
}

.contacts-quick__group-title span {
    color: var(--main-text-hover-color);
}

.contacts-quick__group-cards {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px;
}

.contacts-quick__card {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    width: 175px;
    height: 175px;
    background: #fff;
    border-radius: 12px;
    padding: 20px 15px 30px 15px;
    text-align: center;
    transition: 0.3s;
    box-shadow: 0 3px 5px rgba(0, 0, 0, 0.03);
}

.contacts-quick__card:hover {
    box-shadow: 0 8px 15px rgba(0, 0, 0, 0.06);
}

.contacts-quick__card-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 60px;
}

.contacts-quick__card-icon svg {
    width: 50px;
    height: 50px;
    transition: 0.3s ease;
}

.contacts-quick__card-icon svg.icon-call {
    width: 34px;
    height: 34px;
}

.contacts-quick__card-icon svg.icon-email {
    width: 38px;
    height: 38px;
}

.contacts-quick__card:hover .contacts-quick__card-icon svg {
    color: var(--main-text-hover-color);
}

.contacts-quick__card-title {
    font-family: firasans-regular, sans-serif;
    font-size: 18px;
}

.contacts-quick__card-value {
    font-family: firasans-medium, sans-serif;
    font-size: 15px;
}

.contacts-quick__group-cards-soc .contacts-quick__card-value {
    font-size: 18px;
}

.contacts-quick__card-phone {
    font-size: 18px;
}

.contacts-quick__card-value a {
    display: flex;
    justify-content: center;
    color: var(--main-text-hover-color);
    text-decoration: none;
    transition: 0.3s;
    word-break: break-word;
    padding: 3px 0;
    height: 24px;
}

.contacts-quick__card-value a:hover {
    text-decoration: underline;
}

.contacts-quick__card-note {
    font-family: firasans-light, sans-serif;
    font-size: 11px;
    color: #555555;
}

.contacts-bar__btn__outer {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0;
    position: relative;
    width: 100%;
    height: auto;
    clip: auto;
    clip-path: none;
    overflow: visible;
    white-space: normal;
    gap: 100px;
    margin-top: 35px;
    padding-bottom: 20px;
}

.contacts-rekvizity {
    padding: 30px 0 60px 0;
    background: #fff;
}

.contacts-rekvizity__wr {
    display: flex;
    justify-content: center;
    gap: 30px;
    margin-bottom: 50px;
    margin-top: 30px;
    width: 100%;
}

.contacts-rekvizity__col {
    width: 50%;
    min-width: 520px;
}

.contacts-rekvizity__card {
    background: #f5f5f5;
    border-radius: 12px;
    padding: 25px 40px;
    border: 1px solid #e9e9e9;
}

.contacts-rekvizity__table {
    width: 100%;
    border-collapse: collapse;
    font-family: firasans-regular, sans-serif;
    font-size: 16px;
}

.contacts-rekvizity__name {
    font-size: 20px;
    font-family: firasans-medium, sans-serif;
}


.contacts-rekvizity__table tr {
    border-bottom: 1px solid #e0e5e8;
    height: 54px;
}

.contacts-rekvizity__table tr:last-child {
    border-bottom: none;
}

.contacts-rekvizity__table td {
    padding: 6px 10px 6px 0;
    vertical-align: middle;
}

.contacts-rekvizity__table td:first-child {
    width: 40%;
    font-family: firasans-light, sans-serif;
    color: #000;
}

.contacts-rekvizity__table td:last-child {
    width: 60%;
    color: #333;
}

.contacts-rekvizity__table td strong {
    font-family: firasans-medium, sans-serif;
    color: var(--main-text-color);
}

.contacts-rekvizity .btn__wr {
    padding: 0 20px 20px 20px;
}

.contacts-team {
    padding: 20px 0;
    background: #fff;
}

.contacts-team__subtitle {
    font-family: firasans-medium, sans-serif;
    font-size: 28px;
    color: var(--main-text-color);
    text-align: center;
    padding: 30px 0 35px 0;
}

.contacts-team__subtitle:first-of-type {
    margin-top: 0;
}

.contacts-team__grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 30px 0px;
    margin-bottom: 20px;
}

.contacts-team__grid--leaders {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 30px;
    margin-bottom: 20px;
}

.contacts-team__grid--leaders .contacts-team__card {
    display: flex;
    align-items: center;
    flex-direction: column;
    width: 280px;
}

.contacts-team__grid--managers {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 40px 10px;
    margin-bottom: 20px;
}

.contacts-team__grid--managers .contacts-team__card {
    display: flex;
    align-items: center;
    flex-direction: column;
    width: 280px;
}

.contacts-team__card {
    text-align: center;
    transition: 0.3s;
}

.contacts-team__pic {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    aspect-ratio: 1 / 1;
    overflow: visible;
    width: 180px;
    height: 180px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
    overflow: hidden;
    background: #f5f5f5;
}

.contacts-team__pic picture,
.contacts-team__pic img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.4s ease;
}

.contacts-team__card:hover .contacts-team__pic img {
    transform: scale(1.07);
}

.contacts-team__card__title {
    display: flex;
    flex-direction: column;
    width: 100%;
}

.contacts-team__card__title h3 {
    font-family: firasans-regular, sans-serif;
    font-size: 22px;
    color: var(--main-text-color);
    margin-top: 10px;
}

.contacts-team__card__title span {
    font-family: firasans-regular, sans-serif;
    font-size: 14px;
    color: var(--button-new-color);
    display: block;
    margin-top: 3px;
}

.document-list {
    padding: 0 0 60px 0;
    background-color: #fff;
}

.document-list .title__h2 {
    margin: 25px 0 6px 0;
}

.document-list__wr {
    display: flex;
    flex-direction: row;
    justify-content: center;
    flex-wrap: wrap;
    gap: 24px;
    margin: 40px 0 50px 0;
}

.document-card {
    display: flex;
    align-items: flex-start;
    width: 572px;
    gap: 24px;
    padding: 24px;
    background: #f5f5f5;
    border-radius: 12px;
}

.document-card__preview {
    flex-shrink: 0;
    width: 200px;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    transition: transform 0.25s ease;
}

.document-card__preview:hover {
    transform: scale(1.02);
}

.document-card__preview a {
    display: block;
    line-height: 0;
}

.document-card__preview img {
    width: 100%;
    height: auto;
    display: block;
    aspect-ratio: 1 / 1.42;
    object-fit: cover;
    background-color: #eef1f3;
}

.document-card__content {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
}

.document-card__title {
    font-family: firasans-medium, sans-serif;
    font-size: 24px;
    color: var(--main-text-color);
    text-align: left;
    padding: 5px 0 0 0;
    margin: 0 0 10px 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

.document-card__description {
    font-size: 16px;
    margin: 0;
    min-height: 96px;
    display: -webkit-box;
    -webkit-line-clamp: 5;
    line-clamp: 5;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

.document-card__btn-wr {
    display: flex;
    flex-direction: column;
    align-items: center;
    min-width: 180px;
    padding-bottom: 10px;
}

.document-card__meta-info {
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    justify-content: space-between;
    gap: 4px;
    font-size: 13px;
    color: #6b7a8a;
    width: 100%;
    padding-bottom: 10px;
}

.document-card__meta-info span {
    white-space: nowrap;
}

.document-card__status {
    color: #e68a2e;
    font-weight: 500;
}

.document-card__btn {
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: firasans-regular, sans-serif;
    background: var(--button-new-color);
    color: #fff;
    cursor: pointer;
    border-radius: 8px;
    text-decoration: none;
    transition: .3s;
    height: 46px;
    font-size: 15px;
    line-height: 15px;
    padding: 10px 20px;
    min-width: 160px;
}

.document-card__btn:hover,
.document-card__btn:active {
    background: var(--button-hover-color);
    box-shadow: 0 6px 15px var(--button-shadow-color);
}

.pagination {
    margin: 0;
    width: 100%;
}

.section-faq__faq .pagination {
    margin: 40px 0 0 0;
    width: 100%;
}

.pagination-wr {
    display: flex;
    justify-content: space-between;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 20px;
    width: 100%;
}

.pagination__item {
    display: flex;
    position: relative;
    flex-direction: row;
    min-width: 280px;
    height: 80px;
    transition: box-shadow 0.2s ease, border-color 0.2s ease;
}

.pagination__item-pic {
    position: relative;
    width: 120px;
    height: auto;
    display: flex;
    aspect-ratio: 16 / 9;
    border-radius: 12px;
    overflow: hidden;
}

.pagination__item-pic picture,
.pagination__item-pic img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.pagination__item-pic img {
    filter: brightness(65%);
    transition: filter 0.25s ease;
}

.pagination__item:hover .pagination__item-pic img {
    filter: brightness(90%);
}

.pagination__item-text {
    display: flex;
    justify-content: center;
    align-items: center;
    font-family: firasans-regular, sans-serif;
    padding: 0 16px;
    font-size: 18px;
    text-decoration: underline;
    width: 200px;
}

.pagination__item-text p {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.pagination__item .arrow-left,
.pagination__item .arrow-right {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-right: 5px;
    font-size: 60px;
    color: var(--main-text-hover-color);
}

.pagination__item .arrow-right {
    margin-left: 5px;
    margin-right: 0;
}

.pagination__item-text.align-right {
    justify-content: flex-end;
    text-align: right;
}

.pagination__item:hover .pagination__item-text {
    color: var(--main-text-hover-color);
}

.tags__wr {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    flex-wrap: wrap;
    width: 100%;
    gap: 12px;
    margin: 30px 0 0 20px;
}

.tags__descr {
    display: flex;
    align-items: center;
    margin-right: 8px;
    padding-top: 5px;
    font-size: 18px;
    font-family: firasans-regular, sans-serif;
}

.tag {
    display: inline-flex;
    align-self: flex-end;
    padding: 10px 20px 9px 20px;
    border-radius: 8px;
    font-size: 16px;
    width: auto;
    line-height: 18px;
    font-family: firasans-regular, sans-serif;
    color: var(--main-text-hover-color);
    background-color: #e6f6ff;
    border: 1px solid #dbf2ff;
    cursor: pointer;
    transition: .3s;
    text-decoration: none;
}

.tag:hover {
    background: var(--button-new-color);
    color: #fff;
    border-color: var(--button-new-color);
}

.cases-grid {
    display: flex;
    flex-direction: column;
    width: 100%;
    gap: 35px;
    margin: 25px 0 50px 0;
}

.case-card {
    display: flex;
    flex-direction: column;
    padding-bottom: 40px;
    border-bottom: 1px solid #e0e0e0;
}

.case-card:first-child {
    border-top: 1px solid #e0e0e0;
    padding-top: 30px;
}

.case-card .article__title {
    padding: 0 0 20px 0;
    width: 100%;
    text-align: center;
    font-size: 34px;
}

.case-card:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.case-card__title {
    font-size: 24px;
    font-weight: 600;
    line-height: 1.3;
    margin: 0 0 20px 0;
    color: #1e1e1e;
}

.case-card__image {
    display: flex;
    width: 600px;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

.case-card__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.case-card__row {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-bottom: 30px;
}

.case-card__outer {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    width: 540px;
    padding: 22px 30px 20px 35px;
    background: #f5f5f5;
    border-radius: 12px;
    border: 1px solid #e9e9e9;
    height: 100%;
}

.case-card__meta {
    margin: 0 auto;
    width: 100%;
}

.case-card__table {
    width: 100%;
    border-collapse: collapse;
    border: none;
}


.case-card__table a {
    font-family: firasans-regular, sans-serif;
    text-decoration: underline;
    cursor: pointer;
    transition: .3s;
}

.case-card__table a:hover {
    color: var(--main-text-hover-color);
}

.case-card__table tr {
    border: none;
}

.case-card__table td {
    padding: 2px 0;
    vertical-align: top;
    border: none;
    font-size: 15px;
}

.case-card__label {
    width: 150px;
    font-family: firasans-regular, sans-serif;
    white-space: nowrap;
    color: #000;
    letter-spacing: .1px;
}

.case-card__value {
    color: #000;
    letter-spacing: .1px;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.case-card__value--clamp-1 {
    -webkit-line-clamp: 1;
}

.case-card__table tr:first-child .case-card__label,
.case-card__table tr:nth-child(2) .case-card__label {
    font-size: 15px;
    font-family: firasans-medium, sans-serif;
    font-family: firasans-regular, sans-serif;
    color: #000;
}

.case-card__table tr:first-child .case-card__value,
.case-card__table tr:nth-child(2) .case-card__value {
    font-size: 15px;
    font-family: firasans-medium, sans-serif;
    font-family: firasans-regular, sans-serif;
    color: #000;
}

.case-card__text {
    font-size: 18px;
    color: var(--main-text-color);
    margin: 0;
    padding-bottom: 8px;
}

.case-card__text:last-child {
    padding-bottom: 0;
}

.case-card__text a {
    font-family: firasans-regular, sans-serif;
    text-decoration: underline;
    cursor: pointer;
    transition: .3s;
}

.case-card__text a:hover {
    color: var(--main-text-hover-color);
}

.case-card__text b {
    color: #1e1e1e;
}







.section__type-5 .category__wr {
    margin: 10px 0 20px 0;
}

.section__type-5 .wrapper {
    padding-top: 30px;
    padding-bottom: 60px;
}

.section__type-5 .btn__wr {
    margin: 50px 0 30px 0;
}

.section__type-5 .article__title {
    padding: 40px 0 0 0;
    font-size: 34px;
    width: 100%;
    text-align: center;
}









/* картинка/список + блок кнопок, дальше простой блок */
.section__type-6 .wrapper {
    padding-top: 30px;
    padding-bottom: 70px;
}

.section__type-6 .btn__wr {
    margin-bottom: 10px;
    margin-top: 40px;
}



/* таблица с заголовком, без блока кнопок перед промо */
.section__type-7 .category__wr {
    margin: 10px 0 20px 0;
}

.section__type-7 .wrapper {
    padding-top: 30px;
    padding-bottom: 60px;
}

.section__type-7 .btn__wr {
    margin: 50px 0 30px 0;
}

.section__type-7 .article__title {
    padding: 20px 0 0 0;
    font-size: 34px;
    width: 100%;
    text-align: center;
}

.section__type-7 .table__info__wr {
    margin-top: 15px;
    margin-bottom: 10px;
}






/* таблица + блок кнопок перед промо */
.section__type-8 .category__wr {
    margin: 10px 0 20px 0;
}

.section__type-8 .wrapper {
    padding-top: 30px;
    padding-bottom: 10px;
}

.section__type-8 .btn__wr {
    margin: 50px 0 30px 0;
}





/* таблица без заголовка + блок кнопок, дальше простой блок */
.section__type-8-1 .category__wr {
    margin: 10px 0 20px 0;
}

.section__type-8-1 .wrapper {
    padding-top: 30px;
    padding-bottom: 50px;
}

.section__type-8-1 .btn__wr {
    margin: 40px 0 30px 0;
}




/* картинка/список + блок кнопок, перед промо */
.section__type-9 .wrapper {
    padding-top: 30px;
    padding-bottom: 20px;
}

.section__type-9 .btn__wr {
    margin: 50px 0 20px 0;
}






.section__type-10 .wrapper {
    padding-bottom: 60px;
}

.section__type-10 .btn__wr {
    margin: 40px 0 20px 0;
}





.section__type-11 .wrapper {
    padding-bottom: 80px;
}

.section__type-11 .article__title {
    padding: 20px 0 0 0;
    font-size: 34px;
    width: 100%;
    text-align: center;
}


.section__type-12 .wrapper {
    padding-bottom: 60px;
}







.section__promo-next .wrapper {
    padding-bottom: 10px;
}

.section__promo-next .article__title {
    padding: 20px 0 0 0;
    font-size: 34px;
    width: 100%;
    text-align: center;
}

@media (max-width: 1200px) {
    .section__promo-next .article__title {
        font-size: 28px;
    }
}




.section__first-block .wrapper {
    padding-top: 0px;
}

.table__title {
    font-family: firasans-medium, sans-serif;
    padding: 20px 0 0 0;
    font-size: 34px;
    width: 100%;
    text-align: center;
}

.table__title span {
    color: var(--main-text-hover-color);
}

@media (max-width: 1200px) {
    .table__title {
        font-size: 32px;
    }
}

@media (max-width: 950px) {
    .table__title {
        font-size: 28px;
    }
}

@media (max-width: 580px) {
    .table__title {
        font-size: 26px;
    }
}







.section__standart-block .btn__wr {
    margin: 40px 0 10px 0;
}


.section__typeof .article__title {
    padding: 20px 0 0 0;
    font-size: 34px;
    width: 100%;
    text-align: center;
}

























@media (max-width:1200px) {

    .category__text {
        min-width: auto;
    }

    .top-bar__btn {
        height: 52px;
    }

    .first-screen__pic-wr img {
        top: 0;
    }

    .category__wr {
        width: 700px;
    }

    .first-screen__text-wr {
        width: 50%;
        min-width: 500px;
    }

    .first-screen__title h1 {
        font-size: 2.7rem;
        line-height: 1;
    }

    .first-screen__title__descr {
        font-size: 2.268rem;
        line-height: 1;
    }

    .first-screen__title__region {
        font-size: 1.75rem;
        line-height: 1.5;
    }

    .first-screen__list b,
    .first-screen__list span,
    .first-screen__list strong {
        font-size: 18px;
    }

    .first-screen__btn {
        width: 310px;
        height: 70px;
        border-radius: 16px;
        font-size: 20px;
    }

    .first-screen__btn .icon-calc {
        width: 30px;
        height: 30px;
    }

    .first-screen__pic-wr {
        width: 50%;
    }

    .first-screen__pic-wr img {
        left: -80px;
        width: 660px;
        transform: translateX(0);
    }

    .first-screen__price-label {
        position: absolute;
        top: 180px;
        left: 40%;
        width: 200px;
        height: 66px;
    }

    .wrapper {
        padding: 0 30px;
    }

    .breadcrumb__wr {
        padding: 0 50px;
    }

    #top-nav {
        height: 72px;
    }

    .first-screen__block {
        height: 72px;
    }

    .top-bar__btn__outer {
        position: absolute;
        width: 1px;
        height: 1px;
        margin: 0;
        padding: 0;
        border: 0;
        clip: rect(0 0 0 0);
        clip-path: inset(50%);
        overflow: hidden;
        white-space: nowrap;
    }

    .bottom-bar__btn__outer {
        display: flex;
        flex-direction: row;
        justify-content: center;
        align-items: center;
        max-width: 1200px;
        margin: 0 auto;
        padding: 0;
        position: relative;
        width: 100%;
        height: auto;
        clip: auto;
        clip-path: none;
        overflow: visible;
        white-space: normal;
        gap: 100px;
        margin-top: 10px;
        margin-bottom: 15px;
    }

    .bottom-bar__btn2__outer {
        display: flex;
        flex-direction: row;
        justify-content: center;
        align-items: center;
        margin: 40px 0 30px 0;
        width: 100%;
        gap: 100px;
    }

    .bottom-bar__btn2__outer .top-bar__btn {
        height: 52px;
        width: 220px;
    }

    .category-header {
        margin-top: 78px;
    }

    .nav-socbar {
        visibility: visible;
        transform: translateY(-130px);
    }

    .top-bar__logo__pic {
        width: 260px;
        height: 47px;
    }

    .img-logo {
        width: auto;
    }

    body.lock {
        height: 100vh;
        overflow-y: hidden;
    }

    .top-bar {
        padding-right: 70px;
        padding-top: 6px;
    }

    .top-nav-white .top-bar {
        padding-top: 10px;
    }

    .top-bar__logo__desc {
        padding-top: 0px;
        font-size: 8.4px;
        line-height: 8px;
        margin-left: 36px;
    }

    .top-bar__callback {
        display: none;
    }

    .top-bar__phone__num {
        font-size: 26px;
        line-height: 25px;
    }

    .top-nav-white .top-bar__phone__num {
        font-size: 26px;
        line-height: 25px;
    }

    .top-nav-white .top-bar__phone__text {
        font-size: 9.7px;
    }

    .top-nav-white .top-bar__phone__num .icon-call {
        top: 5px;
        left: 2px;
        width: 16px;
        height: 16px;
    }

    .top-bar__phone__num .icon-call {
        top: 5px;
        left: 2px;
        width: 16px;
        height: 16px;
    }

    .top-bar__phone__text {
        font-size: 9.7px;
    }

    .section__category .top-bar__btn__descr {
        font-size: 12px;
    }

    .top-bar__burger {
        position: absolute;
        display: block;
        width: 36px;
        height: 25px;
        right: 24px;
        top: 25px;
        cursor: pointer;
        z-index: 10001;
        background: transparent;
    }

    .top-bar__burger.active::before {
        transform: rotate(45deg);
        top: 11px;
    }

    .top-bar__burger.active::after {
        transform: rotate(-45deg);
        bottom: 11px;
    }

    .top-bar__burger.active span {
        transform: scale(0);
    }

    .top-bar__burger span,
    .top-bar__burger::after,
    .top-bar__burger::before {
        background-color: #1E2460;
        position: absolute;
        width: 100%;
        height: 3px;
        left: 0;
        transition: all 0.3s ease 0s;
    }

    .top-bar__burger span {
        top: 11px;
    }

    .top-bar__burger::after,
    .top-bar__burger::before {
        content: '';
    }

    .top-bar__burger::before {
        top: 0;
    }

    .top-bar__burger::after {
        bottom: 0;
    }

    .menu {
        position: fixed;
        top: 76px;
        left: -100%;
        width: 100%;
        max-height: calc(100vh - 76px);
        background-color: #fff;
        padding: 0;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        transition: left 0.3s ease;
        z-index: 99;
    }

    .menu.active {
        top: 76px;
        left: 0;
    }

    .menu__list {
        display: block;
        padding-bottom: 135px;
    }

    .menu__list li {
        display: flex;
        flex-direction: column;
        margin: 0;
        padding: 2px 0 2px 0;
        align-items: center;
    }

    .menu__list li p {
        cursor: pointer;
        display: flex;
        justify-content: space-between;
    }

    .menu__link>.icon-arrow-down-3:before {
        content: "";
    }

    .menu__list li a {
        cursor: pointer;
        display: flex;
        justify-content: space-between;
        font-weight: 500;
    }

    .menu__list>li>a.menu__link {
        padding-top: 25px;
        color: var(--button-new-color);
        font-size: 20px;
    }

    .menu__list .sub-menu__link {
        font-weight: normal;
        justify-content: center;
    }

    .menu__list>li .sub-menu__list {
        position: relative;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        box-shadow: none;
        margin: auto;
        margin-top: 0px;
        padding-bottom: 0;
        visibility: visible;
        opacity: 1;
        width: 100%;
    }

    .menu__list li:hover .sub-menu__list {
        box-shadow: none;
    }

    .sub-menu__list>li {
        background-color: #fff;
        position: relative;
        width: 100%;
        font-size: 13px;
        padding: 0;
        margin: 0;
    }

    .sub-menu__list>li {
        padding: 0;
    }

    .sub-menu__list>li a {
        padding: 7px 0;
        font-size: 16px;
    }

    .sub-menu__list li:first-child {
        padding: 0;
    }

    .sub-menu__list li:last-child {
        padding: 0;
    }

    .menu__link {
        font-size: 20px;
    }

    .category__header {
        margin-top: 72px;
    }


    .top-bar__logo {
        margin-top: 2px;
        margin-left: 10px;
    }

    .main-hero__slide {
        margin-top: 10px;
    }


    .category__title__main {
        font-size: 2.7rem;
    }

    .main-hero__text h1,
    .main-hero__text h2 {
        font-size: 2.7rem;
    }

    .main-hero__h1-span {
        font-size: 2.268rem;
    }

    .main-hero__wr {
        padding: 0 30px;
    }

    .category__title__for {
        font-size: 2.268rem;
    }

    .category__subtitle {
        font-size: 16px;
        margin-top: 15px;
    }

    .title__h2,
    .title__h2__light {
        font-size: 36px;
    }

    .article__text p {
        font-size: 16px;
    }

    .article__title {
        font-size: 24px;
    }

    .section__price .article__title {
        font-size: 28px;
    }

    .article__text ul li,
    .article__text ol li {
        font-size: 16px;
    }

    .btn__mid {
        height: 52px;
        font-size: 18px;
        padding: 3.5px 25px 0 25px;
        min-width: 200px;
    }

    .btn__mid-white {
        height: 52px;
        font-size: 18px;
        padding: 2px 0 0 0;
    }

    .table__info .table__info__outer {
        display: flex;
        flex-wrap: nowrap;
        width: 100%;
        scroll-snap-type: x mandatory;
        overflow-x: auto;
    }

    .table__info__wr {
        overflow-x: auto;
        overflow-y: hidden;
    }

    .table__info {
        font-size: 14px;
        line-height: 1.2;
        padding-bottom: 5px;
    }

    .license-promo__title {
        font-size: 40px;
        line-height: 28px;
    }

    .license-promo__title-price {
        font-size: 56px;
    }

    .license-promo__title-2 {
        font-family: firasans-semibold, sans-serif;
        font-size: 22px;
        color: var(--main-text-color);
        color: #027AAD;
    }

    .promo__btn {
        height: 60px;
        padding: 15px 30px;
        font-size: 18px;
        line-height: 20px;
    }




    .btn__wr {
        gap: 60px;
    }

    .first-screen {
        min-height: 540px;
    }

    .news__wr {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        width: 100%;
        gap: 30px 20px;
    }

    .news__item_outer {
        width: calc(50% - 30px);

    }

    .footer__bottom-wr {
        flex-direction: column;
    }

    .footer__bottom-copyright {
        margin-bottom: 25px;
        width: 100%;
    }

    .footer__bottom-socbar {
        justify-content: center;
        margin-top: 20px;

    }

    .footer__bottom-policy {
        padding: 10px 0 0 0;
    }

    .footer__bottom-link {
        width: 100%;
    }

    .img-logo-footer {
        width: 260px;
    }

    .service {
        gap: 25px 30px;
        padding: 0 70px;
    }

    .section__promo__judge .promo__left {
        padding-right: 0;
    }

    .article__pic {
        width: 220px;
    }

    .cases-slide {
        flex-direction: column;
        max-width: 800px;
        margin: 0 auto;
    }

    .cases-slide__image {
        flex: none;
        max-width: none;
        width: 100%;
        height: auto;
    }

    .cases-slide__image img {
        width: 100%;
        height: auto;
        object-fit: cover;
        display: block;
    }

    .cases-slide__content {
        justify-content: flex-start;
        min-height: auto;
        height: auto;
        padding: 15px 25px 35px 25px;
        max-width: 800px;
        width: 100%;
    }

    .cases-slide__content .segments__btn-wr {
        margin: 0;
        margin-top: auto;
    }

    .cases-slider__viewport {
        max-width: 800px;
    }

    .cases-slider__arrow {
        top: auto;
        bottom: 52px;
    }

    .blog-grid__item__wr {
        width: 47%;
        min-width: 370px;

    }

    .blog__title h1 {
        font-size: 2.7rem;
    }

    .contacts-offices__item-title {
        text-align: center;
        margin-left: 0;
    }

    .contacts-offices__item-row {
        justify-content: center;
    }

    .contacts-quick__wr {
        flex-wrap: wrap;
    }

    .contacts-video__wr {
        justify-content: center;
        gap: 30px;
    }

    .contacts-video {
        padding-bottom: 70px;

    }

    .contacts-team__grid--managers {
        gap: 30px;
    }

    .contacts-video__content {
        width: 100%;
        font-size: 18px;
        padding: 0 70px;
    }

    .contacts-video__title {
        font-family: firasans-medium, sans-serif;
        font-size: 28px;
        text-align: center;
    }

    .contacts-video__text p {
        text-align: center;
    }

    .case-card__row {
        justify-content: center;
    }

    .case-card-wr {
        margin-top: 25px;
    }

    .case-card__outer {
        width: 600px;
    }

}



















@media (max-width:1167px) {
    .segments {
        gap: 0;

    }

    .segments__item {
        padding: 25px 25px 30px 25px;
    }
}


@media (max-width:1130px) {
    .contacts-rekvizity__wr {
        flex-wrap: wrap;
    }

    .contacts-rekvizity__col {
        width: 100%;
        min-width: 520px;
        max-width: 620px;
    }

}







@media (max-width:1100px) {
    .category__pic__wr {
        width: 300px;
        min-width: 300px;
    }

    .promo__title {
        font-size: 36px;
        line-height: 1.05;

    }

    .promo__title span {
        font-size: 24px;
        line-height: 1.05;
        margin-top: 3px;
    }

}













@media (max-width:1000px) {

    .article__text {
        width: 100%;
    }


    .quiz-modal__title {
        font-size: 30px;
        line-height: 1.1;
    }

    .blog__subtitle {
        width: 90%;
        font-size: 18px;
    }
}








@media (max-width:980px) {

    .quiz__option-card {
        width: 23%;
        height: auto;
    }

}









@media (max-width:950px) {

    .title__h2 {
        font-size: 30px;
    }

    .category__title__main {
        font-size: 2.2rem;
    }

    .category__title__for {
        font-size: 1.848rem;
    }

    .category__title__region {
        font-size: 1.426rem;
        line-height: 0.8;
    }

    .main-hero__region {
        font-size: 1.426rem;
        line-height: 0.8;
    }

    .subtitle__h2,
    .subtitle__h2__light {
        width: 100%;
    }

    .main-hero__text h1,
    .main-hero__text h2 {
        font-size: 2.2rem;
    }

    .main-hero__h1-span {
        font-size: 1.848rem;
    }

    .quiz__question {
        font-size: 1.36rem;
    }

    .quiz {
        margin: 24px 8px;
    }

    .service {
        padding: 0;
    }

    .section__promo__judge .promo__left {
        padding-right: 20px;
    }

    .license-promo__btn__descr {
        padding-right: 30px;
    }

    .section__promo__office .promo__text-wr,
    .section__promo__drilling .promo__text-wr {
        max-width: 400px;
    }

    .title__h3 {
        font-size: 30px;
    }

    .contacts-offices__item-title,
    .contacts-video__title,
    .contacts-team__subtitle {
        font-size: 26px;
    }

    .contacts-offices .title__h2 {
        margin: 15px 0 20px 0;
    }

    .case-card .article__title {
        font-size: 28px;
    }


}








@media (max-width:900px) {

    .first-screen__note {
        max-width: 500px;
    }

    .cases-slider__viewport {
        max-width: calc(100vw - 100px);
    }

    #button-up {
        display: none;
    }

    .license-promo__title {
        font-size: 34px;
        line-height: 24px;
    }

    .license-promo__title-price {
        font-size: 50px;
    }

    .license-promo__title-2 {
        font-family: firasans-semibold, sans-serif;
        font-size: 18.3px;
        color: var(--main-text-color);
        color: #027AAD;
    }

    .license-promo__descr {
        font-size: 16px;
    }

    .license-promo__btn__descr {
        font-size: 16px;
    }


}










@media (max-width:851px) {
    .segments__item-gray {
        width: 100%;
        padding: 40px 30px 40px 30px;
    }

    .segments__title-gray {
        max-width: 100%;
    }

}









@media (max-width:850px) {


    .article__quotes__outer {
        flex-direction: column;
        gap: 20px;
    }

    .category__pic {
        width: 100%;
        height: 300px;
        margin-top: 0;
        display: flex;
        justify-content: center;
    }

    .category__pic img {
        width: 300px;
        height: 300px;
    }

    .first-screen__wrapper {
        flex-direction: column;
    }

    .first-screen__title {
        margin-top: 20px;
    }

    .first-screen__title h1 {
        text-align: center;
    }

    .first-screen__list {
        padding: 10px 0 25px 0;
    }

    .first-screen__pic-wr {
        display: flex;
        justify-content: center;
        width: 100%;
        background: radial-gradient(ellipse at center, rgba(0, 150, 214, 0.3) 0%, rgba(0, 150, 214, 0) 70%);
        background-size: 80% 60%;
        background-position: 30% 75%;
        background-repeat: no-repeat;
        margin-top: 10px;
    }

    .first-screen__pic-wr img {
        position: relative;
        background: none;
        height: 300px;
        object-fit: contain;
        margin: 0 auto;
        left: 0;
    }

    .first-screen__note {
        margin-top: 5px;
    }

    .first-screen__price-label {
        top: 80px;
        left: 40%;
        width: 170px;
        height: 56px;
    }

    .first-screen__price-label-text {
        top: 14px;
        left: 19px;
        font-size: 23.5px;
        line-height: 15px;
    }

    .first-screen__price-label-text span {
        font-size: 13px;
    }

    .first-screen__list li {
        padding: 5px 0;
    }

    .first-screen__pic {
        display: contents;
    }

    .first-screen__text-wr {
        width: 100%;
        align-items: center;
        min-width: auto;
    }

    .category-wr {
        display: flex;
        flex-direction: column;
        gap: 0;
        width: 100%;
        margin-top: 20px;
    }

    .main-hero__content {
        display: flex;
        flex-direction: column;
        gap: 0;
        width: 100%;
        margin-top: 20px;
    }

    .main-hero__text {
        width: 100%;
        text-align: center;
        padding: 8px 0 0 0;
    }

    .main-hero__slide {
        margin-top: 0;
    }

    .main-hero__btn-wr {
        margin: 20px 0 0 0;
        justify-content: center;
    }

    .main-hero__image img {
        max-height: 300px;
    }

    .main-hero__image {
        max-width: 100%;
    }

    .speech__text p {
        padding-bottom: 8px;
        font-size: 16px;
        line-height: 1.2;
    }

    .category__text {
        width: 100%;
        text-align: center;
        padding: 8px 0 8px 0;
    }

    .speech__wr {
        flex-direction: column;
        gap: 30px;
        padding: 50px 30px;
    }

    .speech__text {
        padding: 0 15px;
    }

    .speech__text .quotes:before {
        top: -16px;
    }


    .category__subtitle {
        text-align: center;
    }

    .category__pic__wr {
        padding-top: 0;
        align-items: center;
        width: 100%;
        margin-bottom: 10px;
    }

    .player-icon__wr {
        margin-top: 35px;
        margin-bottom: 25px;
    }

    .bottom-bar__btn__outer {
        flex-direction: row;
        justify-content: space-evenly;
        padding-right: 0;
        gap: 0;
    }

    .section__promo img {
        height: 95%;
    }

    .promo__right {
        width: 170px;
    }

    .section__promo img {
        right: -30px;
    }

    .section__promo__judge .promo__left {
        padding-right: 0;
    }

    .speech__stuff {
        order: -1;
    }

    .blog-grid__item__wr {
        width: 100%;
    }

    .section__category__btn-outer {
        flex-direction: row;
        justify-content: space-evenly;
        padding-right: 0;
        gap: 0;
    }

}









@media (max-width:800px) {
    .foto__big__item {
        width: 100%;
        margin: 10px 0;
    }

    .foto__desc {
        font-size: 15px;
    }

    .license-promo__title {
        font-size: 34px;
        line-height: 28px;
    }

    .license-promo__title-2 {
        font-size: 19px;
        line-height: 1;
    }

    .license-promo__descr {
        font-size: 17px;
        line-height: 1.1;
        max-width: none;
    }

    .license-promo__btn__descr {
        font-size: 17px;
        line-height: 1.1;
    }

    .section__promo__office .promo__title,
    .section__promo__drilling .promo__title {
        width: 380px;
    }

    .contacts-bar__btn__outer {
        flex-wrap: wrap;
        max-width: 400px;
        gap: 30px;
    }

    .contacts-video__content {
        padding: 0;
    }

    .contacts-offices__item-row {
        gap: 30px;
    }

    .contacts-offices__item-contacts {
        height: auto;
    }
}





@media (max-width: 768px) {
    .video-modal__content {
        margin: 20px 10px;
    }



}




@media (max-width:750px) {

    .blog__subtitle {
        width: 100%;
        font-size: 17px;
    }

    .article-meta__wrapper {
        justify-content: center;
    }

    .article-meta__stats {
        align-items: center;
        justify-content: center;
        gap: 20px 40px;
    }

    .news__wr {
        max-width: 500px;
    }

    .news__item_outer {
        width: 100%;
    }


    .license-promo__title {
        font-size: 30px;
        line-height: 22px;
    }

    .license-promo__title-price {
        font-size: 40px;
    }

    .license-promo__title-2 {
        display: inline-block;
        font-size: 22px;
        line-height: 1.1;
        margin-top: 5px;
    }

    .license-promo__descr {
        font-size: 16px;
        line-height: 1.1;
        max-width: none;
        padding-right: 35px;
    }

    .license-promo__btn__descr {
        padding-right: 45px;
    }

    .section__promo .wrapper {
        padding: 0 30px;
    }

    .section__promo img {
        right: -25px;
    }

    .section__promo__judge .promo__text-wr {
        padding-right: 0;
    }

    .article__text-wr {
        flex-direction: column;
    }

    .article__pic {
        width: 260px;
        margin: 0 auto;
        margin-top: 20px;
        padding-right: 20px;
    }

    .cases-slide__tag-wr {
        justify-content: flex-start;
        margin-bottom: 15px;
        overflow-x: auto;
        flex-wrap: nowrap;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }

    .cases-slide__tag-wr::-webkit-scrollbar {
        display: none;
    }

    .cases-slide__tag {
        white-space: nowrap;
        flex-shrink: 0;
    }

    .article__pic-wr {
        display: flex;
        justify-content: center;
        flex-direction: row;
    }

    .section__standards .article__pic,
    .section__need .article__pic,
    .section__regulatory .article__pic,
    .section__deadlines .article__pic {
        margin: 0 auto;
        padding: 0;
        padding-bottom: 15px;
        transform: translate(0);
    }

    .article__title {
        padding: 0 0 12px 0;
    }

    .tags__wr {
        gap: 8px;
    }

    .tag {
        padding: 8px 16px 7px 16px;
        font-size: 14px;
        line-height: 16px;
    }

    .tags__descr {
        font-size: 16px;
    }

}








@media (max-width:730px) {
    .category__wr {
        width: 480px;
    }
}







@media (max-width:700px) {

    .section__promo__drilling .promo__descr,
    .section__promo__office .promo__descr {
        font-size: 17px;
        line-height: 1.1;
        max-width: none;
    }

    .section__promo__office .promo__title,
    .section__promo__drilling .promo__title {
        font-size: 30px;
    }

    .contacts-video__media,
    .contacts-offices__item-photo,
    .contacts-offices__item-map {
        width: 100%;
        height: auto;
        aspect-ratio: 16 / 9;
    }

    .case-card__image {
        width: 100%;
        border-radius: 12px;
    }


    .case-card-wr {
        overflow-x: auto;
    }

    .case-card__outer {
        min-width: 540px;
        width: auto;
        justify-content: flex-start;
        padding: 25px 15px 25px 35px;
        margin-bottom: 10px;
        height: auto;
    }

    .case-card__meta {
        margin: 0;
    }

}









@media (max-width:650px) {

    .article-bar__btn__outer {
        flex-direction: column;
        gap: 30px;
    }

    .license-promo__descr {
        font-size: 17px;
        line-height: 1.1;
        max-width: none;
    }

    .license-promo__btn__descr {
        font-size: 17px;
        line-height: 1.1;
    }

    .promo__btn {
        height: 56px;
        padding: 15px 25px;
        font-size: 16px;
        line-height: 20px;
    }

    .section__promo img {
        height: 75%;
    }

    .speech__wr {
        padding: 60px 30px;

    }

    .blog-grid__item__wr {
        min-width: auto;
        margin: 10px 0;
    }
}









@media (max-width:600px) {

    .article__quotes__wr {
        padding: 35px 35px 30px 35px;
    }

    .first-screen__title h1 {
        font-size: 2.2rem;
    }

    .first-screen__title__descr {
        font-size: 1.848rem;
    }

    .first-screen__title__region {
        font-size: 1.426rem;
    }

    .wrapper {
        padding: 0 15px;
    }


    .breadcrumb__wr {
        padding: 0 15px;
    }

    .cases-slider__viewport {
        max-width: calc(100vw - 30px);
    }

    .quiz-modal__content {
        padding: 10px;
    }

    .quiz-modal__title {
        font-size: 24px;
        margin: 30px 15px 0px 15px;
    }

    .quiz {
        padding: 20px 16px;
        margin: 24px auto;
    }

    .quiz__option-inner {
        padding: 12px 8px;
        min-height: 120px;
    }

    .quiz__fields-grid {
        grid-template-columns: 1fr;
    }

    .section__promo .wrapper {
        flex-direction: column;
    }

    .promo__right {
        width: 100%;
        height: 100px;
    }

    .section__promo__judge .promo__text-wr {
        padding: 60px 0 0 0;
        padding-right: 150px;
    }

    .section__promo img {
        height: 370px;
    }

    .main-hero__wr {
        padding: 0 15px;
    }

    .blog__title h1 {
        font-size: 2.2rem;
    }

    .case-card__text {
        font-size: 16px;
    }

    .case-card .article__title {
        font-size: 24px;
    }

    .document-card {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: center;
        width: 100%;
    }

    .document-card__title {
        text-align: center;
    }

    .document-card__content {
        height: auto;
    }

    .document-card__btn-wr {
        min-width: 180px;
        padding: 25px 0 10px 0;
    }

    .document-card__description {
        min-height: auto;
    }
}










@media (max-width:580px) {

    .title__h3 {
        font-size: 28px;
    }

    .table-of-contents__title {
        font-size: 26px;
    }

    .table-of-contents__list a {
        font-size: 16px;
    }

    .logo-ribbon img {
        height: 30px;
        padding: 0 20px;
    }

    .logo-ribbon__group {
        padding: 20px 0;
    }

    .top-bar__phone__text,
    .top-bar__logo__desc {
        position: absolute;
        width: 0;
        height: 0;
        margin: 0;
        padding: 0;
        border: 0;
        clip: rect(0 0 0 0);
        clip-path: inset(50%);
        overflow: hidden;
        white-space: nowrap;
    }

    .img-logo {
        width: 32px;
        transform: translateY(-2px);
        width: 32px;
    }

    .top-bar__logo__pic {
        width: auto;
        height: 45px;
    }

    .top-bar__logo__desc-2 {
        position: relative;
        display: block;
        width: 100%;
        height: auto;
        font-size: 12.8px;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        margin: 0 auto;
        padding: 0;
        padding-right: 70px;
        margin-bottom: 4px;
        clip: auto;
        clip-path: none;
    }

    #top-nav {
        height: 76px;
    }

    .speech__text {
        padding: 0;
    }

    .category__title__main {
        font-size: 2rem;
    }

    .main-hero__content {
        margin-top: 10px;
    }

    .main-hero__text h1,
    .main-hero__text h2 {
        font-size: 2rem;
    }

    .main-hero__h1-span {
        font-size: 1.66rem;
    }

    .main-hero__region {
        font-size: 1.28rem;
        line-height: 1;
        margin-top: 0.2rem;
    }

    .category-wr {
        margin-top: 10px;
    }


    .category__title__for {
        font-size: 1.66rem;
    }

    .category__title__region {
        font-size: 1.28rem;
        line-height: 1;
        margin-top: 0.2rem;
    }

    .btn__wr {
        flex-direction: column;
        gap: 40px;
    }

    .article__pic-wr {
        padding-top: 5px;
    }

    .article__text__small p {
        font-size: 15px;
    }

    .subtitle__h2,
    .subtitle__h2__light {
        font-size: 16px;
    }

    .title__h2,
    .title__h2__light {
        font-size: 28px;
    }

    .faq-toggle {
        font-size: 16px;
        line-height: 1.2;
        padding-right: 40px;
    }

    .faq-content p {
        font-size: 15px;
        padding: 0 10px 0 15px;
    }

    .quiz__option-card {
        width: 47%;
        height: auto;
    }

    .quiz {
        padding: 20px 5px 20px 5px;
        margin: 30px 8px 30px 8px;
    }

    .quiz__footer {
        padding: 0 5px;
        margin-top: 20px;
    }

    .quiz__fields-grid {
        margin: 0px 15px 10px 15px;
    }

    .quiz__hint {
        padding: 0 10px;
        font-size: 14px;
        margin-bottom: 12px;
    }

    .quiz__checkbox {
        padding: 3px 20px 3px 25px;
    }

    .section-quiz {
        min-height: 760px;
    }

    .quiz__field label {
        display: block;
        margin-bottom: 0px;
        font-size: 13px;
    }

    .quiz__field label span {
        margin-bottom: 1px;
        font-size: 13px;
    }

    .quiz__checkbox {
        font-size: 12px;
    }

    .quiz__step-title {
        margin-bottom: 2px;
    }

    .service {
        gap: 25px 10px;
    }

    .section__promo__judge .promo__text-wr {
        padding: 60px 0 0 0;
    }

    .license-promo__title {
        text-align: center;
        line-height: 1.05;
    }

    .license-promo__title-2 {
        margin-top: 0;
    }

    .license-promo__descr {
        text-align: center;
        padding: 0;
    }

    .promo__text-wr {
        min-height: auto;
    }

    .license-promo__btn__descr {
        padding: 0;
        margin-top: 10px;
        text-align: center;
    }

    .promo__text-wr {
        align-items: center;
    }

    .section__promo .top-bar__btn__descr {
        margin-top: 20px;
    }

    .promo__right {
        display: flex;
        justify-content: center;
        height: 350px;
        margin-top: 15px;
    }

    .section__promo img {
        position: relative;
        height: 100%;
        transform: translateX(-15px);
    }

    .section__promo__office .promo__text-wr,
    .section__promo__drilling .promo__text-wr {
        width: 100%;
        max-width: none;
        padding: 60px 0 0 0;
    }

    .section__promo__office .promo__title,
    .section__promo__drilling .promo__title {
        display: flex;
        flex-direction: column;
        align-items: center;
        width: 100%;
        text-align: center;
        font-size: 26px;
    }

    .section__promo__office .promo__title span,
    .section__promo__drilling .promo__title span {
        font-size: 22px;
        line-height: 1.05;
        margin-top: 3px;
    }

    .section__promo__drilling .promo__descr,
    .section__promo__office .promo__descr {
        text-align: center;
    }

    .cases-slide__title {
        margin: 0 0 8px 0;
        font-size: 20px;
    }

    .cases-slide__text {
        margin-top: 8px;
        margin-bottom: 15px;
    }

    .promo__right__desc {
        left: 10%;
        bottom: 15px;
    }

    .logo-ribbon::before {
        width: 45px;
    }

    .contacts-offices__item-title,
    .contacts-quick__group-title,
    .contacts-team__subtitle {
        font-size: 24px;
    }

    .contacts-video__text p {
        font-size: 16px;
    }

    .contacts-team__card__title h3 {
        font-size: 20px;
        font-family: firasans-medium, sans-serif;
    }

    .contacts-rekvizity__wr {
        margin-top: 15px;
        gap: 20px;
    }

    .contacts-rekvizity__card {
        overflow-x: auto;
        overflow-y: hidden;

    }

    .contacts-rekvizity__card {
        padding: 15px 30px;
        width: 100%;
        overflow-x: auto;
        overflow-y: hidden;
    }

    .contacts-rekvizity__col {
        min-width: auto;
    }

    .contacts-rekvizity__table {
        min-width: 520px;
        padding-bottom: 5px;
    }

    .contacts-rekvizity__table td:first-child {
        width: 180px;
        max-width: 180px;
    }

    .contacts-rekvizity__table td:last-child {
        width: 300px;
        max-width: 300px;
    }

    .section__category__btn-outer {
        flex-direction: column;
        padding-right: 0;
        gap: 25px;
        padding: 10px 0 0 0;
    }




}










@media (max-width:550px) {

    .footer__bottom-link span {
        padding: 5px 10px 0 10px;
        width: 100%;
    }

    .footer__top-wr {
        justify-content: center;
        width: 100%;
        align-items: center;
    }

    .footer__list {
        min-width: 300px;
    }

    .footer__list li {
        display: flex;
        min-width: 300px;
        justify-content: center;
    }

    .footer__list li:first-child {
        font-size: 20px;
        margin-top: 10px;
        font-family: firasans-regular, sans-serif;
    }

    .list-icon {
        width: 20px;
        height: 20px;
    }

    .first-screen__list b,
    .first-screen__list span,
    .first-screen__list strong {
        font-size: 16px;
    }

    .bottom-bar__btn__outer {
        flex-direction: column;
        padding-right: 0;
        gap: 25px;
        padding: 10px 0 0 0;
    }

    .category__wr {
        width: 320px;
    }

    .first-screen__title h1 {
        font-size: 2rem;
    }

    .first-screen__title__descr {
        font-size: 1.66rem;
    }

    .first-screen__title__region {
        font-size: 1.28rem;
        line-height: 1.1;
        margin-top: 2px;
    }

    .blog__title h1 {
        font-size: 2rem;
    }

    .blog-wr {
        padding: 40px 0;
    }

    .case-card__text {
        font-size: 16px;
    }


}









@media (max-width:518px) {
    #cookie-banner {
        padding-top: 10px;
        font-size: 12px;
    }
}









@media (max-width:480px) {
    .article__quotes__text p {
        font-size: 16px;
    }

    .article__quotes__wr {
        padding: 35px 25px 30px 25px;
    }

    .article__quotes__author {
        flex-direction: column;
        gap: 15px;
    }

    .article__quotes__author-avatar {
        padding-right: 0;
    }

    .article-meta__author-info {
        text-align: center;
    }

    .article-meta .article-meta__author-info {
        text-align: left;
    }

    .article-meta .article-meta__author-name {
        display: flex;
    }

    .article-meta .article-meta__author-title {
        display: flex;
        flex-direction: column;
    }

    .segments {
        margin-top: 30px;
    }

    .segments__item {
        padding: 5px 25px 15px 25px;
    }

    .segments__item-gray {
        padding: 40px 15px 10px 15px;
        margin: 0 8px;
    }

    .water-types {
        margin-left: -10px;
        margin-right: -10px;
    }

    .segments__title {
        font-size: 24px;
    }


    .first-screen__pic-wr {
        min-width: 370px;
    }

    .first-screen__btn__descr {
        font-size: 14px;
    }

    .first-screen__btn {
        width: 280px;
        height: 64px;
        border-radius: 12px;
        font-size: 18px;
    }

    .list-icon {
        width: 24px;
        height: 24px;
    }

    .first-screen__list li {
        align-items: center;
    }

    .first-screen__list {
        max-width: 280px;
        padding-left: 27px;
        padding-right: 22px;
    }

    .top-bar {
        padding-right: 50px;
        padding-top: 10px;
    }

    .top-bar__burger {
        right: 14px;
        top: 25px;
    }

    .top-bar__logo__desc-2 {
        padding-right: 50px;
    }

    .top-bar__loc__text {
        font-size: 14px;
        min-width: 66px;
    }

    .top-bar__loc__region {
        font-size: 14px;
        padding-bottom: 2px;
    }

    .cases-slide__content {
        padding: 15px 20px 30px 20px;
        min-height: 300px;
    }

    .cases-slide__text {
        margin-bottom: 20px;
    }

    .cases-slide__meta p:last-child {
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .segments__btn-wr {
        margin-bottom: 35px;
    }

    .subtitle__h2,
    .subtitle__h2__light {
        padding: 0 15px;
    }

    .cases-slide__tag {
        display: inline-flex;
        align-self: flex-end;
        padding: 6px 10px;
        border-radius: 6px;
        font-size: 10px;
        line-height: 12px;
    }

    .article__title {
        text-align: center;
    }

    .quiz__nav {
        min-width: 80px;
        padding: 10px 10px;
    }

    .service__item {
        padding: 0;
    }

    .service__item .segments__btn-wr {
        margin-bottom: 20px;
    }

    .service__item .pic__round-bg {
        margin-top: -15px;
    }

    .quiz-modal__content {
        padding: 0;
    }

    .quiz-modal__title {
        margin: 30px 20px 0 20px;
    }

    .quiz-modal__close {
        font-size: 44px;
    }

    .article__pic {
        width: 220px;
        margin-top: 10px;
    }

    .section__promo .wrapper {
        padding: 0 15px;
    }

    .main-hero__image img {
        max-height: 260px;
    }

    .speech__wr {
        padding: 50px 20px 40px 20px;
    }

    .contacts-offices__item-photo,
    .contacts-offices__item-map {
        width: 100%;
        height: auto;
        aspect-ratio: 16 / 9;
    }

    .contacts-quick__group {
        width: auto;
        min-width: auto;
        padding: 15px 0;
    }

    .contacts-quick__wr {
        gap: 15px;
    }

    .case-card__table td {
        font-size: 15px;
    }

    /* Увеличенный шрифт для лейблов */
    .case-card__table tr:first-child .case-card__label,
    .case-card__table tr:nth-child(2) .case-card__label {
        font-size: 16px;
    }

    /* Увеличенный шрифт для значений */
    .case-card__table tr:first-child .case-card__value,
    .case-card__table tr:nth-child(2) .case-card__value {
        font-size: 16px;
    }

    .case-card__label {
        width: 135px;
    }

    .case-card__outer {
        padding: 20px 15px 20px 25px;
    }

    .case-card__row {
        margin-bottom: 20px;
    }

}









@media (max-width:360px) {

    .subtitle__h2,
    .subtitle__h2__light {
        padding: 0 5px;
    }

    .blog-grid__item__title h3 {
        font-size: 24px;
        padding: 0 16px;
    }

    .blog-grid__item__descr {
        font-size: 15px;
        height: 83px;
        max-height: 83px;
    }

    .contacts-offices__item-contacts {
        width: 100%;
        padding-left: 10px;
    }

}