/* http://meyerweb.com/eric/tools/css/reset/
   v2.0 | 20110126
   License: none (public domain)
*/

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1.3;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}

*,
*::after,
*::before {
    box-sizing: border-box;
}

/* *::-webkit-scrollbar {
    background: var(--c-bg);
    width: .25rem;
}
*::-webkit-scrollbar-thumb {
    background-color: var(--c-primary);
    cursor: pointer;
} */

:root {
    --c-primary: #E42313;
    --c-primary-light: #e63b2b;
    --c-primary-light-2: #e2261c;
    --c-primary-dark: #CF1E21;
    --c-bg: #fff;
    --c-text: #3E3A39;
    --c-secondary: #cfcfcf;
    --c-secondary-light: #F3F4F5;
    --c-tertiary: #050607;
    --c-accent: #c30d23;
    --c-accent-2: #57a9cc;
}

html {
    -webkit-font-smoothing: antialiased;
    font-family: 'Montserrat', sans-serif;
    background: var(--c-bg);
    color: var(--c-text);
    font-size: clamp(13px, 3.8vw, 16px);
    scroll-behavior: smooth;
    overflow: auto;
}

img {
    display: block;
    width: 100%;
    height: auto;
}

input,
select,
textarea {
    display: block;
    height: 3rem;
    width: 100%;
    padding: .75rem 1rem;
    font-size: 1rem;
    background: transparent;
    border: none;
    border-bottom: 2px solid transparent;
    border-color: var(--c-secondary);
    color: inherit;
    border-radius: 0;
    transition: .15s ease-in-out;
}
input:focus,
select:focus,
textarea:focus {
    border-color: var(--c-primary);
    outline: none;
}
input::placeholder,
select::placeholder,
textarea::placeholder {
    color: currentColor;
    opacity: .8;
}
textarea::placeholder,
textarea::--webkit-input-placeholder {
    position: relative;
    top: 1rem;
    display: block;
    margin-top: 1rem;
}

select {
    appearance: none;
    background-image: url('data:image/svg+xml;utf-8, <svg version="1.1" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"><path d="m16 4.7-.78-.79-7 7.1-7-7.1-.78.79 7.8 7.9z" color="black"/></svg>');
    background-position: center right 10px;
    background-repeat: no-repeat;
    background-size: 20px;
    cursor: pointer;
}

textarea {
    resize: none;
    font-family: inherit;
    font-size: inherit;
    font-style: inherit;
}

.form {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}
.form__title {
    font-size: clamp(1.2rem, 6.1vw, 1.625rem);
    margin-bottom: 1rem;
}
.form__row {
    display: flex;
    gap: 1rem;
    align-items: center;
    flex-direction: column;
}
@media (min-width: 1280px) {
    .form__title {
        font-size: clamp(1.2rem, 6.1vw, 1.725rem);
    }
}

.selection__form-submit {
    margin-top: 2rem;
}
.form__consent {
    opacity: .75;
    font-size: .875em;
}
@media (min-width: 640px) {
    .form__row {
        flex-direction: row;
        gap: 2rem;
    }
}

.scroll-lock {
    overflow: hidden;
}

.backdrop {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, .33);
    z-index: 100;
    backdrop-filter: blur(5px);
    transition: .15s ease-in-out;
    visibility: hidden;
    opacity: 0;;
}
.backdrop.active {
    visibility: visible;
    opacity: 1;
}

.btn {
    position: relative;
    height: 3rem;
    display: inline-flex;
    place-items: center;
    padding: 0 20px;
    text-transform: uppercase;
    font-family: inherit;
    font-weight: 500;
    font-size: 16px;
    border: 2px solid;
    border-radius: 5px;
    overflow: hidden;
    justify-content: center;
    cursor: pointer;
    transition: .3s;
    text-decoration: none;
}
.btn > span {
    position: relative;
}
.btn--primary {
    background: var(--c-primary);
    border-color: var(--c-primary);
    color: #ffffff;
}
.btn--primary:hover,
.btn--primary.active {
    background: var(--c-primary-light-2);
    border-color: var(--c-primary-light-2);
    box-shadow: var(--c-secondary) 0px 4px 14px;
}
@media (pointer: coarse) {
    .btn--primary:hover:not(.active) {
        background: var(--c-primary);
    }
}
.btn--secondary {
    background: transparent;
    border: 2px solid var(--c-text);
    color: var(--c-text);
}
.btn--secondary:hover {
    color: white;
    border-color: var(--c-primary);
    background: var(--c-primary);
}
.btn--lg {
    height: 55px;
}
@media (min-width: 768px) {
    .btn--lg {
        height: 65px;
        font-size: 20px;
    }
}
.btn--primary-light {
    background-color: var(--c-primary-light);
    border: 1px solid var(--c-primary-light-2);
    color: var(--c-bg);
}
.btn--primary-light:hover:not(.active) {
    background: var(--c-primary-light-2);
    box-shadow: var(--c-primary-light) 0px 4px 14px;
}

.btn--secondary-filled {
    background: var(--c-secondary);
    border-color: var(--c-secondary);
    color: var(--c-text);
}
.btn--secondary-filled:hover {
    background: var(--c-secondary-light);
    border-color: var(--c-secondary-light);
}
.btn--outline {
    border-color: var(--c-primary);
    background-color: transparent;
    color: currentColor;
}
.btn--outline:hover,
.btn--outline:focus,
.btn--outline:active,
.btn--outline.active {
    background-color: var(--c-primary);
    color: var(--c-bg);
}

.container {
    max-width: 1480px;
    width: 100%;
    margin: 0 auto;
    padding-left: 1rem;
    padding-right: 1rem;
}

.sec {
    margin-top: 2rem;
    margin-bottom: 2rem;
    padding-top: 1rem;
    padding-bottom: 1rem;
    scroll-margin-top: 5rem;
}
.sec__title {
    margin-bottom: 1.5rem;
    font-size: 2rem;
    font-weight: 600;
}
@media (min-width: 1024px) {
    .sec {
        margin-top: 3.75rem;
        margin-bottom: 1.75rem;
        padding-bottom: 1.75rem;
        padding-top: 1.75rem;
    }
    .sec__title {
        font-size: 3rem;
        margin-bottom: 2.5rem;
        text-align: center;
    }
}

/* Swiper */
.swiper {
    --swiper-theme-color: var(--c-primary);
}
.swiper-button-prev,
.swiper-button-next {
    width: 2rem;
    height: 2rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: .25rem;
    background: var(--c-primary);
}
.swiper-button-prev:hover,
.swiper-button-next:hover {
    background-color: var(--c-primary-light);
}
.swiper-button-prev svg,
.swiper-button-next svg {
    width: 1.25rem;
    height: 1.25rem;
    fill: var(--c-bg);
    stroke: var(--c-bg);
    color: var(--c-bg);
}

.header {
    position: sticky;
    top: 0;
    background: var(--c-bg);
    z-index: 200;
    box-shadow: 0 1px 3px #0004;
}
.header__container {
    max-width: 1500px;
    margin: 0 auto;
    padding: 1rem;
    display: flex;
    gap: 1rem;
    align-items: center;
    justify-content: space-between;
}
@media (min-width: 768px) {
    .header {
        position: relative;
    }
    .header__container {
        padding: 0.5rem 2rem;
    }
}

.header__logo {
    margin-right: auto;
}

.header__contacts-toggle {
    stroke: var(--c-primary);
    fill: var(--c-primary);
    background: var(--c-bg);
    border-radius: 50%;
    width: 2rem;
    height: 2rem;
    display: flex;
    align-items: center;;
    border: none;
    box-shadow: 0px 2px 8px rgba(0, 27, 67, 0.1), 0px 3px 16px rgba(0, 27, 67, 0.1);
}
.header__contacts-toggle-icon {
    width: 1.25rem;
    height: 1.25rem;
}
.header__contacts-toggle:not(.active) .header__contacts-toggle-icon--close {
    display: none;
}
.header__contacts-toggle.active .header__contacts-toggle-icon--open {
    display: none;
}
.header__contacts-toggle-icon--close {
    width: .875rem;
    height: .875rem;
    margin: 0 auto;
}

.header__contacts {
    position: absolute;
    top: 100%;
    right: 0;
    left: 0;
    z-index: 100;
}
.header__contacts:not(.active) {
    visibility: hidden;
    opacity: 0;
}

.header-contacts {
    display: flex;
    flex-direction: column;
    align-items: start;
    gap: 2rem;
    padding: 2rem 1rem;
    transition: .15s ease-in-out;
    box-shadow: 0 3px 3px #0002;
    z-index: 1;
    margin-top: -4px;
    background: var(--c-bg);
    transform: translateY(-.5rem);
}
.header-contacts.active {
    transform: none;
}

.header-contact {
    display: flex;
    flex-direction: column;
    gap: .375rem;
}
.header-contact svg {
    width: 1rem;
    height: 1rem;
    flex: 0 0 1rem;
    fill: var(--c-primary);
}
.header-contact__address,
.header-contact__tel {
    display: flex;
    gap: .25rem;
    align-items: center;
    color: inherit;
    text-decoration: none;
}
.header-contact__tel {
    font-weight: 500;
}

.header__tel {
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: .5rem;
    color: inherit;
    font-weight: 500;
    text-decoration: none;
    font-size: 0;
}
.header__tel-icon {
    width: 1.5rem;
    height: 1.5rem;
    fill: var(--c-primary);
}
@media (min-width: 525px) {
    .header__tel {
        font-size: 1rem;
    }
}
@media (min-width: 1280px) {
    .header {
        padding-top: 1rem;
        padding-bottom: 1rem;
    }
    .header__logo {
        width: 210px;
        transform: translateY(-13%);
    }
    .header__tel {
        display: none;
    }
    .header__contacts-toggle {
        display: none;
    }
    .header__contacts-wrap {
        flex: 1 0 auto;
    }
    .header__contacts {
        padding: 0;
        display: flex!important;
        flex-direction: row;
        opacity: 1!important;
        visibility: visible!important;
        position: static!important;
        box-shadow: none;
        justify-content: space-evenly;
        font-size: clamp(.75rem, .9vw, .9rem);
        transform: none;
    }
    .header-contact {
        gap: .25rem;
    }
}

.header__mobile-menu-toggle {
    flex: 0 0 2rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background: none;
    gap: 4px;
    width: 2.5rem;
    height: 2rem;
    border: none;
    border-radius: 50%;
    box-shadow: 0px 2px 8px rgba(0, 27, 67, 0.1), 0px 3px 16px rgba(0, 27, 67, 0.1);
}
.header__mobile-menu-toggle span {
    height: 2px;
    width: 80%;
    background: var(--c-primary);
    transition: .15s ease-in-out;
    transform-origin: center;
}
.header__mobile-menu-toggle.active span:nth-child(1) {
    transform: translateY(.43rem) rotateZ(45deg);
}
.header__mobile-menu-toggle.active span:nth-child(2) {
    opacity: 0;
}
.header__mobile-menu-toggle.active span:nth-child(3) {
    transform: translateY(-.43rem) rotateZ(-45deg);
}
.header__callback {
    display: none;
}
@media (min-width: 768px) {
    .header__mobile-menu-toggle {
        display: none;
    }
    .header__callback {
        display: block;
    }
}

.mobile-menu {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    padding: 2rem 1rem;
    transform: translateY(-.5rem);
    background: var(--c-bg);
    transition: .15s ease-in-out;
    box-shadow: 0 3px 3px #0002;
}
.mobile-menu:not(.active) {
    visibility: hidden;
    opacity: 0;
    transform: translateY(-1rem);
}

.mobile-nav {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.25rem;
}
.mobile-nav__link {
    font-size: 1.125rem;
    font-weight: 500;
    text-decoration: none;
    color: var(--c-text);
}
@media (min-width: 768px) {
    .mobile-menu {
        display: none !important;
    }
}

.main-menu {
    display: none;
    position: sticky;
    top: 0;
    padding: 1rem 1rem 1rem;
    list-style: none;
    margin: 0;
    gap: 1.5rem;
    flex-wrap: wrap;
    transition: .15s ease-in-out;
    z-index: 100;
    background-color: var(--c-secondary-light);
}
.main-menu__link {
    position: relative;
    color: inherit;
    text-decoration: none;
    transition: .15s ease-in-out;
    font-weight: 700;
}
/*
.main-menu__link::after {
    content: '';
    display: block;
    width: 0;
    border-bottom: 2px solid var(--c-primary-light-2);
    margin-top: .2rem;
    transition: .15s ease-in-out;
}
.main-menu__link:hover::after,
.main-menu__link:focus::after,
.main-menu__link.current::after {
    width: 100%;
}
*/
.main-menu__link:hover {
    color: var(--c-primary-light-2);
}
.main-menu.stick {
    box-shadow: 0 1px 3px #0004;
}
@media (min-width: 768px) {
    .main-menu {
        display: flex;
        justify-content: center;
        padding-left: 2rem;
        padding-right: 2rem;
    }
}

.modal {
    display: none;
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: rgba(0, 0, 0, 0.5);
    backdrop-filter: blur(5px);
    z-index: 1000;
    transform: translate3d(0,0,0);
}
.modal.show {
    display: block;
}
.modal__container {
    display: flex;
    align-items: start;
    height: 100vh;
}
.modal__dialog {
    position: relative;
    margin: 0 auto;
    min-width: 280px;
    max-height: 100%;
    padding: 3rem 1rem 2rem;
    display: flex;
    flex-direction: column;
    background: var(--c-bg);
    color: var(--c-text);
}
.modal__dialog {
    animation: zoomIn .5s ease-in-out;
}
.modal__header {
    font-size: 1.4rem;
    margin-bottom: 1.5rem;
    font-weight: bold;
    text-align: center;
}
.modal__title {
    line-height: 1.25;
    text-transform: uppercase;
}
.modal__title .nowrap {
    white-space: normal;
    display: block;
}
.modal__body {
    overflow-y: auto;
    text-align: center;
}
.modal__body-text:not(:empty) {
    margin-bottom: 1.25rem;
}
.modal__submit {
    text-transform: uppercase;
    min-width: 280px;
    padding-top: 1.75em;
    padding-bottom: 1.75em;
    margin-top: 2rem;
    width: 100%;
}
.modal__close {
    position: absolute;
    top: 0;
    right: 0;
    height: 3rem;
    width: 3rem;
    line-height: 1;
    border: none;
    background: none;
    font-size: 3rem;
    cursor: pointer;
    transition: 0.15s ease;
    color: var(--c-secondary);
}
.modal__close:hover {
    color: var(--c-text);
}
.modal .consent {
    margin-top: 1rem;
}
.modal input[type^=tel] {
    text-align: center;
    font-size: 1.375rem;
}

@media screen and (min-width: 768px) {
    .modal__dialog {
        width: 500px;
        padding: 3rem 3.125rem 2.25rem;
    }
    .modal__header {
        font-size: 1.5rem;
    }
    .modal__title .nowrap {
        white-space: nowrap;
        display: unset;
    }
}
@media screen and (min-width: 1200px) {
    .modal__container {
        align-items: center;
    }
}

.main-block__container {
    position: relative;
}
.main-block__bg {
    display: none;
}
.main-block__bg img {
    object-fit: cover;
    object-position: left;
}
.main-block__info {
    margin-bottom: 2.25rem;
}
.main-block__title1 {
    font-size: clamp(1.7rem, 5vw, 2rem);
    margin-bottom: 1.5rem;
    font-weight: 700;
}
.main-block__title2 {
    font-size: clamp(1.4rem, 4vw, 1.8rem);
    margin-bottom: .75rem;
    font-weight: 500;
    line-height: 1.5;
}
.main-block__title3 {
    margin-top: 1.5rem;
    font-size: clamp(1.2rem, 3vw, 1.6rem);
    margin-bottom: .5rem;
    font-weight: 500;
    display: inline-flex;
    gap: 1rem;
    padding: 1.25rem .75rem;
    padding-right: 1.5rem;
    background: var(--c-bg);
    border-radius: .75rem;
    box-shadow: 0 0 8px #3336;
}
.main-block__title3 svg {
    display: inline-flex;
    flex: 0 0 2.5em;
    width: 2.5em;
    height: 2.5em;
    min-width: 0;
    fill: var(--c-primary);
    animation: zoomPulse 4s ease-in-out infinite;
}
.main-block__img {
    display: none;
    max-width: 900px;
    margin-top: 1.75rem;
    margin-bottom: 2rem;
}
.main-block__form-wrap {
    display: flex;
    justify-content: end;
    align-items: center;
    padding: 2rem 1rem;
    margin-left: -1rem;
    margin-right: -1rem;
    background: 30%/cover url("../img/main-block/main-block-2.webp") no-repeat;
}
.main-block__form {
    max-width: 400px;
    padding: 2rem 2rem 3rem;
    color: var(--c-bg);
    background: #050607dd;
    border-radius: 2rem;
    backdrop-filter: blur(4px);
}
.main-block__form select {
    background-image: url('data:image/svg+xml;utf-8, <svg version="1.1" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"><path d="m16 4.7-.78-.79-7 7.1-7-7.1-.78.79 7.8 7.9z" fill="white"/></svg>');
}
.main-block__form-submit {
    margin-top: 2rem;
    align-items: center;
}
.main-block__dots {
    display: none;
    position: absolute;
    top: 1rem;
    left: 38%;
    width: 118px;
    height: 54px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle cx='2' cy='2' r='2' fill='%23cfcfcf'/%3E%3C/svg%3E");
    background-size: 16px;

}
@media (min-width: 768px) {
    .main-block__form-wrap {
        padding: 3rem;
    }
}
@media (min-width: 1024px) {
    .main-block__dots {
        display: block;
    }
    .main-block__form-wrap {
        background: none;
    }
    .main-block__form-wrap::after {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        content: '';
        direction: block;
        width: 15%;
        height: 100%;
        z-index: -1;
    }
    .main-block__bg {
        position: absolute;
        top: 0;
        right: 1rem;
        bottom: 0;
        left: 30%;
        overflow: hidden;
        border-top-right-radius: 2rem;
        border-bottom-right-radius: 2rem;
        display: flex;
        justify-content: end;
        z-index: -1;
    }
    .main-block__container {
        display: grid;
        grid-template-columns: 6fr 5fr;
        gap: 2rem;
    }
    .main-block__info {
        margin-top: 5rem;
        position: relative;
    }
    .main-block__title1 {
        font-size: clamp(1.7rem, 3.25vw, 2.5rem);
        margin-bottom: 2.5rem;
        max-width: 80%;
    }
    .main-block__title2 {
        font-size: clamp(1.4rem, 1.5vw, 1.675rem);
        margin-bottom: 2.5rem;
    }
    .main-block__title3 {
        font-size: clamp(1.7rem, 2.8vw, 1.8rem);
        margin-bottom: 1.5rem;
    }
    .main-block__img {
        display: block;
        position: absolute;
        bottom: -9rem;
        width: 120%;
    }
}
@media (min-width: 1480px) {
    .main-block__title1 {
        font-size: clamp(1.7rem, 2.7vw, 3rem)
    }
    .main-block__title2 {
        font-size: clamp(1.4rem, 1.5vw, 1.7625rem);
    }
    .main-block__title3 {
        font-size: clamp(1.2rem, 1.125vw, 1.4333rem);
    }
}

/* Numbers */
.numbers {
    display: flex;
    flex-wrap: wrap;
    gap: 2rem 1rem;
    justify-content: space-between;
    color: #555763;
}
.numbers-item {
    position: relative;
    flex: 0 0 44%;
    display: flex;
    flex-direction: column;
    gap: .25rem;
    padding-left: .5rem;
}
.numbers-item:nth-child(even) {
    flex: 0 0 51%;
}
.numbers-item__value {
    font-size: 1.375em;
    font-weight: 700;
    margin-bottom: .125rem;
}
.numbers-item::before {
    content: '';
    position: absolute;
    width: 1px;
    left: -1rem;
    top: 0rem;
    bottom: .0;
    margin-right: 1rem;
    background-color: #e8eeec;
}
.numbers-item:nth-child(odd) {
    padding-left: 0;
}
.numbers-item:nth-child(odd)::before {
    content: none;
}

@media (min-width: 768px) {
    .numbers-item {
        padding-top: .5rem;
        padding-bottom: 0.5rem;
        flex: 0 0 auto!important;
        font-size: clamp(1rem, 2vw, 1.25rem);
    }
    .numbers-item::before {
        top: 1rem;
        bottom: .5rem;
    }
    .numbers-item:not(:first-child) {
        padding-left: 1rem;
    }
    .numbers-item:not(:first-child)::before {
        content: '';
    }
}
@media (min-width: 1280px) {
    .numbers-item {
        font-size: clamp(1rem, 2vw, 1.55rem);
    }
}

/* Brands */
.brands {
    overflow: hidden;
    cursor: pointer;
}
.brands__row {
    display: flex;
    gap: 1rem;
}
.brands__row-inner {
    display: flex;
    gap: 1.5rem;
    animation: brands 90s linear infinite reverse;
}
.brands__row:nth-child(even) .brands__row-inner {
    animation: brands 90s linear infinite forwards;
}
.brands__row .brands__row-inner:nth-child(2) {
    transform: translateX(100%);
}
.brands__row:hover .brands__row-inner {
    animation-play-state: paused;
}
.brands__row + .brands__row {
    margin-top: 1.5rem;
}
.brands__item {
    width: 80px;
    height: 80px;
    padding: 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--c-secondary);
    transition: .15s ease-in-out;
}
.brands__item:hover {
    border-color: var(--c-primary);
}
@keyframes brands {
    0% {
        transform: translateX(-100%);
    }
    100% {
        transform: translateX(0);
    }
}
@keyframes brands2 {
    0% {
        transform: translateX(100%);
    }
    100% {
        transform: translateX(0);
    }
}
@media (min-width: 768px) {
    .brands__item {
        width: 120px;
        height: 120px;
    }
    .brands__row {
        gap: 1.5rem;
    }
    .brands__row + .brands__row {
        margin-top: 2.5rem;
    }
}

/* Services */
.services {
    margin-top: 2rem;
    display: flex;
    flex-wrap: wrap;
    gap: 1rem
}
.services-item {
    width: 100%;
    position: relative;
    flex: 1 0 auto;
    padding: 1.5rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
    border: 1px solid var(--c-primary);
    border-radius: .25rem;
    text-align: center;
    transition: .15s ease-in-out;
}
.services-item:hover {
    box-shadow: 0 0 1rem rgba(0, 0, 0, .1);
}
.services-item__title {
    font-size: 1.5rem;
    font-weight: 500;
}
.services-item__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 3rem;
    height: 3rem;
}
.services-item__text {
    margin-bottom: .5rem;
    opacity: .75;
}
.services-item__btn {
    position: static;
    margin-top: auto;
}
.services-item__btn::before {
    content: '';
    display: block;
    position: absolute;
    inset: 0;
}
@media (min-width: 768px) {
    .services-item {
        flex: 0 0 calc(50% - .5rem);
    }
}
@media (min-width: 1024px) {
    .services__text {
        text-align: center;
        max-width: 600px;
        margin: 0 auto;
        font-size: 1.25rem;
    }
    .services {
        margin-top: 3rem;
    }
    .services-item {
        padding: 2rem;
    }
    .services-item__text {
        margin-bottom: 1.25rem;
        font-size: 1.125rem;
    }
}
@media (min-width: 1280px) {
    .services-item {
        flex: 0 0 calc(33.3333% - 1rem);
    }
}

/* Selection */
.selection__container {
    background: var(--c-secondary-light);
    background-image: url(../img/selection-bg.webp);
    background-position: bottom center;
    padding: 1.5rem 1.5rem 4.5rem;
}
.selection__text {
    margin-bottom: 2rem;
    max-width: 500px;
}
.selection__info {
    padding: 2rem 1rem 1rem;
    margin-left: -1rem;
    margin-right: -1rem;
}
.selection__form {
    background-color: var(--c-text);
    padding: 2.5rem 1rem 3.5rem;
    margin-left: -1rem;
    margin-right: -1rem;
    color: var(--c-bg);
    border-radius: 1.5rem;
}
.selection__form-submit .btn {
    width: 100%;
}
@media (min-width: 1024px) {
    .selection__text {
        font-size: 1.25rem;
    }
    .selection__form {
        margin-left: 0;
        margin-right: 0;
    }
}
@media (min-width: 1280px) {
    .selection__container {
        display: flex;
        flex-direction: row;
        padding: 2rem;
        background-position: bottom right;
    }
    .selection__info {
        padding-top: 4rem;
        padding-bottom: 4rem;
        margin: 0;
        flex: 0 0 50%;
    }
    .selection__form {
        padding-top: 3rem;
        padding-right: 3rem;
        padding-left: 3rem;
        margin: 0;
        flex: 0 0 50%;
    }
}
@media (min-width: 1480px) {
    .selection__container {
        border-radius: 1.5rem;
    }
}

/* Promo */
.promo__text {
    max-width: 500px;
}
.promo__info {
    margin-bottom: 2rem;
}
.promo__list {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}
.promo-item__title {
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 1rem;
    font-size: 1.25rem;
    cursor: pointer;
}
.promo-item__title {
    padding-bottom: .5rem;
    border-bottom: 2px solid var(--c-primary);
    font-weight: 500;
}
.promo-item__btn {
    position: relative;
    width: 2rem;
    height: 2rem;
    flex: 0 0 2rem;
    border: none;
    background-color: var(--c-primary);
    border-radius: 0.25rem;
    cursor: pointer;
}
.promo-item__btn::after {
    content: '';
    display: block;
    width: 2px;
    height: 1.2rem;
    position: absolute;
    left: calc(50% -  1px);
    top: .4rem;
    background-color: var(--c-bg);
    transition: .15s ease-in-out;
}
.promo-item.active .promo-item__btn::after {
    transform: rotateZ(90deg);
}
.promo-item__btn::before {
    content: '';
    display: block;
    width: 1.2rem;
    height: 2px;
    position: absolute;
    top: calc(50% -  1px);
    left: .4rem;
    background-color: var(--c-bg);
}
.promo-item__details {
    height: 0;
    padding: 0 1.5rem;
    transition: .15s ease-in-out;
    overflow: hidden;
}
.promo-item__details-content {
    font-size: 1.125rem;
}
.promo-item.active .promo-item__details {
    height: auto;
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
}
.promo-item__details-img {
    margin: 1rem 0;
    display: flex;
    max-width: 420px;
    aspect-ratio: 420/260;
    align-items: center;
    justify-content: center;
    border-radius: 1rem;
    overflow: hidden;
}
.promo-item__details-img img {
    object-fit: cover;
}
.promo-item__submit {
    margin-top: 1.25rem;
    width: 100%;
    max-width: 320px;
}
.promo__form {
    margin-top: 2rem;
    padding: 1rem 1rem 2rem;
    background-color: var(--c-secondary-light);
    background: center/cover url(../img/bg.webp);
    margin-left: -1rem;
    margin-right: -1rem;
    border-radius: 1.5rem;
}
.promo__form .form__title {
    margin-bottom: 0;
    font-weight: 600;
}

@media (min-width: 1024px) {
    .promo__container {
        display: flex;
        flex-direction: row;
        gap: 3rem;
    }
    .promo__text {
        font-size: 1.25rem;
    }
    .promo__list {
        flex: 1 1 60%;
        margin-top: 3rem;
    }
    .promo__info {
        margin-bottom: 0;
    }
    .promo__form {
        margin-left: 0;
        margin-right: 0;
    }
}
@media (min-width: 1280px) {
    .promo__form {
        padding: 3rem;
    }
}

/* Timer */
.timer {
    margin-left: auto;
    margin-right: auto;
    display: flex;
    width: auto;
    max-width: 280px;
    gap: 1rem;
    font-size: .75em;
    justify-content: space-between;
    background: var(--c-bg-light-2);
    border-top-left-radius: 20px;
    border-top-right-radius: 20px;
    transform: scale(1.3);
}
.time-count__item {
    text-align: center;
}
.time-count__val-wrap {
    position: relative;
    width: 54px;
    height: 54px;
    margin-bottom: .25em;
}
.time-count__val {
    position: relative;
    top: .25em;
    font-size: 2em;
    font-weight: 300;
}
.time-count__circle {
    position: absolute;
    inset: 0;
    transform: rotateZ(-90deg);
}
.timer-points {
    display: none;
}
.time-count__text {
    font-size: .75em;
}

/* Price */
.price__text {
    margin-bottom: 2rem;
}
.price-list {
    margin: 0 auto;
    width: 100%;
}
.price-list tbody tr {
    cursor: pointer;
}
.price-list td {
    padding: .5rem;
    transition: .15s ease-in-out;
    vertical-align: top;
    font-size: 1.25rem;
}
.price-list th:not(:first-child) {
    padding: .375rem .75rem;
    font-size: 1.375rem;
    font-weight: 600;
    background: var(--c-primary);
    color: white;
}
.price-list th:last-child {
    text-align: right;
}
.price-list td:nth-child(2) {
    width: 70%;
}
.price-list td:last-child {
    white-space: nowrap;
    text-align: right;
    position: relative;
}
.price-list td:last-child::before {
    position: absolute;
    left: 0;
    top: .75rem;
    bottom: .75rem;
    content: '';
    display: block;
    width: 1px;
    background-color: var(--c-primary);
}
.price-list th {
    text-align: left;
    font-weight: 600;
}
.price-list tr:nth-child(even) td {
    background-color: var(--c-secondary-light);
}
.price-list tr:hover td:not([rowspan]) {
    background-color: var(--c-primary);
    color: var(--c-bg);
}
.price-list td[rowspan] {
    display: none;
    pointer-events: none;
}
.price-list thead th:first-child {
    display: none;
}
@media (min-width: 1024px) {
    .price__text {
        text-align: center;
        max-width: 600px;
        margin: 0 auto 3rem;
        font-size: 1.25rem;
    }
    .price-list thead th:first-child {
        display: table-cell;
    }
    .price-list td[rowspan] {
        position: relative;
        top: -3.5rem;
        display: table-cell;
        min-width: 220px;
        padding: 1rem 2rem 1rem 0;
    }
    .price-list td[rowspan] img {
        width: 100%;
        margin: 0 auto;
    }
}
@media (min-width: 1280px) {
    .price-list th:nth-child(2),
    .price-list td:first-child,
    .price-list td[rowspan] + td {
        padding-left: 3rem;
    }
    .price-list td[rowspan] {
        padding-left: 0;
    }
    .price-list th:last-child,
    .price-list td:last-child {
        padding-right: 3rem;
    }
}
@media (min-width: 1600px) {
    .price-list td[rowspan] {
        min-width: 280px
    }
}

/* Staff */
.staff__container {
    background: var(--c-secondary-light);
    padding: 3rem 1rem;
}
.staff__info {
    margin-bottom: 2rem;
}
.staff-list {
    padding-bottom: 0.25rem;
    margin-left: -1rem;
    margin-right: -1rem;
    padding-left: 1rem;
    padding-right: 1rem;
}
.staff-item {
    border: 1px solid var(--c-secondary);
    border-bottom-left-radius: 1rem;
    border-bottom-right-radius: 1rem;
}
.staff-item__img {
    margin-bottom: 0.5rem;
    aspect-ratio: 248/327;
    background: var(--c-secondary);
    border: none;
}
.staff-item__details {
    padding: 0 .75rem .75rem;
}
.staff-item__name {
    font-weight: 600;
    margin-bottom: 0.5rem;
}
.staff-item__post {
    margin-bottom: 0.5rem;
    opacity: 0.8;
}
.staff-item__exp {
    font-weight: 500;
    margin-bottom: 1rem;
}
.staff-item__submit {
    width: 100%;
}
.staff__slider-nav {
    display: flex;
    gap: 1rem;
    margin-top: 2rem;
}
.staff__slider-nav .swiper-button-prev,
.staff__slider-nav .swiper-button-next {
    position: static;
    transform: none;
    margin: 0;
}
@media (min-width: 1024px) {
    .staff__descr {
        font-size: 1.25rem;
    }
}
@media (min-width: 1280px) {
    .staff__container {
        display: grid;
        grid-template-columns: 3fr 9fr;
        gap: 3rem;
        padding: 2rem;
    }
    .staff-list {
        width: 100%;
        margin-left: 0;
        margin-right: 0;
        padding-left: 0;
        padding-right: 0;
    }
}
@media (min-width: 1366px) {
    .staff__container {
        grid-template-columns: 5fr 7fr;
    }
}
@media (min-width: 1480px) {
    .staff__container {
        border-radius: 1.5rem;
    }
}

/* Offices */
.offices {
    margin-bottom: 0;
    padding-bottom: 0;
    overflow: hidden;
}
.offices__nav-btn {
    border-radius: 9999px;
    min-width: 275px;
}
.offices__map-wrap {
    position: relative;
}
.offices__map {
    margin-left: -1rem;
    margin-right: -1rem;
    aspect-ratio: 1;
}
.offices__cards {
    margin-left: -1rem;
    margin-right: -1rem;
    margin-bottom: 1rem;
}
.offices__nav {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    margin-bottom: 2.5rem;
}
.offices__cards {
    --swiper-navigation-sides-offset: .75rem;
}
.offices__cards .swiper-button-next,
.offices__cards .swiper-button-prev {
    position: absolute;
    top: .875rem;
    transform: none;
    margin: 0;
}

.office-card {
    text-align: center;
    background: var(--c-bg);
}
.office-card__header {
    padding: 1rem;
    font-size: 1.25rem;
    font-weight: 600;
    background-color: var(--c-secondary-light);
}
.office-card__body {
    margin: 1.25rem 1rem 1rem;
    padding: 2rem 1rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.25rem;
    background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTA3MCIgaGVpZ2h0PSIxMDI0IiB2aWV3Qm94PSIwIDAgMTA3MCAxMDI0IiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8ZyBvcGFjaXR5PSIwLjAzIj4KPHBhdGggZD0iTTc2Ny45OTUgNzE0LjAxOEw4OTAuNTkyIDBIMTA2OS4zM0w5NDYuNzM1IDcxNC4wMThINzY3Ljk5NVoiIGZpbGw9ImJsYWNrIi8+CjxwYXRoIGQ9Ik0xMjIuNTk4IDMwOS40NDVIMzAxLjMzOEwxNzguNzQgMTAyMy40NkgwTDEyMi41OTggMzA5LjQ0NVoiIGZpbGw9ImJsYWNrIi8+CjxwYXRoIGQ9Ik02MzkuODMzIDQxOS45NjhMNjg1LjMzNiAxNTQuNzc1SDUwNi41OTZMNDYxLjA5MiA0MTkuOTY4SDYzOS44MzNaIiBmaWxsPSJibGFjayIvPgo8cGF0aCBkPSJNMzg0LjAwMyA4NjguNjY5TDQyOS41MDcgNjAzLjQ3N0g2MDguMjQ3TDU2Mi43NDQgODY4LjY2OUgzODQuMDAzWiIgZmlsbD0iYmxhY2siLz4KPC9nPgo8L3N2Zz4K);
    background-size: cover;
}
.office-card__tel {
    font-size: 1.5rem;
    font-weight: 600;
    color: inherit;
}
.office-card__address {
    font-size: 1.25rem;
}
.office-card__wh-title {
    font-size: 1.25rem;
}
.office-card__wh {
    color: var(--c-primary);
    font-size: 1.25rem;
}
.office-card .btn {
    margin-top: .5rem;
    min-width: 200px;
}

.map-marker {
    width: 42px;
    height: 68px;
    opacity: .7;
    background: center/contain url(../img/map-marker.svg) no-repeat;
    cursor: pointer;
    transition: all .15s ease-in-out;
    transform: translate(-50%, -50%);
}
.map-marker.active {
    opacity: 1;
    filter: drop-shadow(1px 2px 4px #3339);
}

@media (min-width: 1024px) {
    .offices__nav {
        flex-direction: row;
        justify-content: center;
        flex-wrap: wrap;
    }
    .offices__map-wrap {
        display: grid;
        grid-template-columns: 4fr 8fr;
        gap: 1rem;
    }
    .offices__cards {
        margin-left: 0;
        margin-right: 0;
        border-radius: 1.5rem;
        border: 1px solid var(--c-secondary-light);
        box-shadow: 0 .25rem 1rem #3334;
    }
}
@media (min-width: 1280px) {
    .offices__map-wrap {
        display: block;
        position: relative;
        height: 600px;
    }
    .offices__map {
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
        width: 100vw;
        height: 100%;
        aspect-ratio: unset;
    }
    .offices__cards {
        position: absolute;
        left: 1rem;
        top: 2rem;
        z-index: 1;
        width: 380px;
    }
    .offices__cards .swiper-button-prev,
    .offices__cards .swiper-button-next {
        top: .75rem;
    }

    .office-card__header {
        font-size: 1.125rem;
    }
}

/* Footer */
.footer {
    background-color: var(--c-tertiary);
    color: var(--c-bg);
    padding: 2rem 0;
    margin-bottom: 0;
    margin-top: 0;
}
.footer__container {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 2rem;
}
.footer__logo {
    color: inherit;
    text-decoration: none;
}
.footer__logo img {
    width: 200px;
    height: auto;
}
.footer__spoilers {
    max-width: 800px;
    flex: 1 1 auto;
}
.footer__col {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}
.footer__copy {
    margin-top: auto;
    color: var(--c-secondary);
}
.footer__callback {
    margin-top: 1rem;
    margin-bottom: 1rem;
    max-width: 400px;
    color: var(--c-primary);
}
.footer__tel {
    color: inherit;
    text-decoration: none;
    font-size: 1.375rem;
    font-weight: 500;
}
@media (min-width: 769px) {
    .footer__container {
        flex-direction: row;
        justify-content: space-between;
        align-items: start;
    }
    .footer__col:first-child {
        height: 322px;
    }
    .footer__logo img {
        width: 250px;
    }
    .footer__callback {
        margin-top: 2rem;
        margin-bottom: 2rem;
    }
}

/* Spoilers */
.spoiler:not(:last-child) {
    margin-bottom: 1rem;
}
.spoiler.open .spoiler__header::after {
    transform: translateY(50%) rotateZ(-45deg);
}
.spoiler__header {
    padding: .5rem 1rem;
    display: flex;
    justify-content: space-between;
    border: 1px solid currentColor;
    cursor: pointer;
}
.spoiler__header::after {
    content: "";
    display: block;
    height: 0.75em;
    width: 0.75em;
    margin-left: 1.5rem;
    border-top: 1px solid currentColor;
    border-right: 1px solid currentColor;
    transform: rotateZ(135deg);
}
.spoiler__body {
    padding: 0 1rem;
    height: 0;
    transition: .15s ease-in-out;
    overflow: hidden;
    opacity: 0;
    font-size: .8rem;
}
.spoiler.active .spoiler__body {
    height: auto;
    padding-top: 1rem;
    padding-right: 1rem;
    opacity: 1;
}

/* Consent */
.consent {
    font-size: .75em;
    opacity: .75;
}
.consent a {
    color: inherit;
}
.consent {
    font-size: .75em;
    color: currentColor;
    opacity: .8;
    text-align: left;
}
.consent a:not(:hover) {
    text-decoration: underline;
}

.cookie-consent {
    position: fixed;
    z-index: 10000000000;
    bottom: 1rem;
    left: 1rem;
    right: 1rem;
    max-width: 370px;
    padding: 1rem;
    background: var(--c-text);
    color: var(--c-bg);
    border-radius: 1rem;
    box-shadow: 0 0 16px #0004;
    font-size: .875rem;
}
.cookie-consent__text a {
    color: var(--c-bg);
}
.cookie-consent__text a:not(:hover) {
    text-decoration: underline;
}

.cookie-consent__btn {
    margin-top: 1rem;
    border: none;
    width: 100%;
    padding: 1rem  2rem;
    background: var(--c-bg);
    color: var(--c-text);
    font-weight: normal;
    font-size: 1rem;
    width: 100%;
    cursor: pointer;
}

@media (min-width: 758px) {
    .cookie-consent {
        bottom: 2rem;
        left: 2rem;
        right: unset;
    }
}

.policy-consent {
    display: none;
    background: rgba(0, 0, 0, 0.6);
    position: fixed;
    inset: 0;
    height: 100%;
    z-index: 10000000000;
    color: inherit;
}
.policy-consent__wrap {
    background: var(--c-text);
    color: var(--c-bg);
    padding: 1rem;
    overflow: auto;
    height: 100%;
}
.policy-consent__close {
    display: block;
    margin-bottom: 1rem;
    margin-left: auto;
    background: none;
    border: none;
    font-weight: 100;
    color: var(--c-primary-light);
    stroke: currentColor;
    cursor: pointer;
}
.policy-consent__header {
    margin-bottom: 1rem;
    display: flex;
    align-items: center;
    gap: .75rem;
    font-size: 1.375em;
    font-weight: 600;
}
.policy-consent__back {
    background: none;
    border: none;
    stroke: currentColor;
    opacity: .5;
    cursor: pointer;
}
.policy-consent__btn {
    position: sticky;
    bottom: 0;
    margin-top: 2rem;
    border: none;
    width: 100%;
    padding: 1rem  2rem;
    background: var(--c-primary-light);
    border-radius: 12px;
    color: var(--c-bg);
    font-weight: 700;
    text-transform: uppercase;
    font-size: 1rem;
    text-align: center;
    cursor: pointer;
}
.policy-consent__btn:hover {
    background: var(--c-primary-light-2);
    box-shadow: var(--c-primary-light) 0px 4px 14px;
}
@media (min-width: 768px) {
    .policy-consent__wrap {
        margin-left: auto;
        max-width: 520px;
        padding: 2rem 4rem 2rem 5rem;
    }
    .policy-consent__back {
        display: none;
    }
    .policy-consent__close {
        position: relative;
        top: -1rem;
        right: -3rem;
    }
    .policy-consent__header {
        font-size: 1.75em;
    }
}

/* Utils */
.text-primary {
    color: var(--c-primary);
}
.text-left {
    text-align: left;
}

@media (max-width: 768px) {
    .mobile-hidden {
        display: none!important;
    }
}
@media (min-width: 769px) {
    .desktop-hidden {
        display: none!important;
    }
}

@keyframes zoomIn {
    0% {
        opacity:0;
        -webkit-transform: scale3d(.3,.3,.3) translate3d(0,0,0);
        transform: scale3d(.3,.3,.3) translate3d(0,0,0);
    }
    50% {
        opacity:1
    }
}
@keyframes zoomOut {
    0% {
        opacity:1
    }
    50% {
        opacity:0;
        -webkit-transform: scale3d(.3,.3,.3);
        transform: scale3d(.3,.3,.3)
    }
    to {
        opacity:0
    }
}
@keyframes zoomPulse {
    0% {
        transform: scale3d(1, 1, 1) translate3d(0, 0, 0);
    }
    50% {
        transform: scale3d(1.2, 1.2, 1.2) translate3d(0, 0, 0);
    }
}