@charset "UTF-8";

.about__label span,
.about__text,
.actions__socials,
.actions__socials-link,
.actions__socials-list,
.btn,
.contacts__item,
.contacts__item-heder,
.cookies,
.cookies__btn,
.custom-checkbox__content,
.faq__item-header,
.faq__label span,
.faq__list,
.footer__container,
.form__group,
.form__type-content,
.modal__thx,
.partnership__btn,
.partnership__item,
.production__label span,
.production__slide,
.production__slide-icon,
.project-slide,
.project-slide__content,
.reviews__info,
.reviews__info-content,
.reviews__info-rating,
.reviews__item,
.reviews__item-author,
.reviews__item-author-info {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.about__label span,
.actions__socials-link,
.actions__socials-list,
.btn,
.cookies,
.cookies__btn,
.faq__label span,
.footer__container,
.form__type-content,
.modal__thx,
.partnership__btn,
.production__label span,
.production__slide-icon,
.reviews__info-rating,
.reviews__item-author {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.faq__item-header,
.partnership__item {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start
}

.actions__socials,
.contacts__item,
.production__slide {
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch
}

.contacts__item-heder {
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end
}

.actions__socials,
.contacts__item,
.contacts__item-heder,
.faq__item-header,
.footer__container,
.partnership__item,
.production__slide {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

.actions__socials-link,
.btn,
.cookies,
.cookies__btn,
.modal__thx,
.partnership__btn,
.production__slide-icon {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

.about__label span,
.actions__socials-list,
.faq__label span,
.form__type-content,
.production__label span,
.reviews__info-rating,
.reviews__item-author {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start
}

.about__text,
.actions__socials,
.contacts__item,
.faq__list,
.form__group,
.modal__thx,
.partnership__item,
.production__slide,
.project-slide,
.project-slide__content,
.reviews__info-content,
.reviews__item,
.reviews__item-author-info {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column
}

.btn,
.cookies__btn,
.form__upload-item-remove,
.modal__close,
.partnership__btn,
.reviews__item-more {
    border: none;
    padding: 0;
    background: 0 0;
    cursor: pointer
}

.form__input {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: none;
    border-radius: 0;
    background-color: #fff
}

.form__input::-webkit-search-cancel-button,
.form__input::-webkit-search-decoration,
.form__input::-webkit-search-results-button,
.form__input::-webkit-search-results-decoration {
    display: none
}

.custom-checkbox__field,
.form__type-input,
.form__upload-input {
    position: absolute;
    overflow: hidden;
    margin: -1px;
    border: 0;
    padding: 0;
    width: 1px;
    height: 1px;
    clip: rect(0 0 0 0)
}

.actions__socials-link {
    text-decoration: none
}

.about__title,
.faq__title,
.production__title {
    font-weight: 400;
    font-size: 49px;
    line-height: .88;
    letter-spacing: -.03em;
    color: var(--white)
}

.about__label span,
.faq__label span,
.production__label span {
    font-weight: 400;
    font-size: 13px;
    line-height: 1.35;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--pink);
    gap: 7px;
    margin-bottom: 18px
}

.about__label span::before,
.faq__label span::before,
.production__label span::before {
    content: "";
    width: 25px;
    height: 1px;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    background-color: var(--pink)
}

@font-face {
    font-family: "Inter Tight";
    src: url(../fonts/InterTight-Regular.woff2) format("woff2");
    font-weight: 400;
    font-display: swap;
    font-style: normal
}

@font-face {
    font-family: "Inter Tight";
    src: url(../fonts/InterTight-Medium.woff2) format("woff2");
    font-weight: 500;
    font-display: swap;
    font-style: normal
}

@font-face {
    font-family: "Inter Tight";
    src: url(../fonts/InterTight-SemiBold.woff2) format("woff2");
    font-weight: 600;
    font-display: swap;
    font-style: normal
}

:root {
    --font-family: "Inter Tight", sans-serif;
    --content-width: 1405px;
    --container-offset: 22px;
    --container-width: calc(var(--content-width) + (var(--container-offset) * 2));
    --color-bg: #050503;
    --black: #050503;
    --pink: #dd6893;
    --white: #ffffff;
    --burger-width: 18px;
    --burger-height: 12px;
    --burger-line-height: 2px;
    --header-height: 58px
}

.btn {
    text-align: center;
    text-decoration: none;
    font-weight: 500;
    font-size: 15px;
    line-height: 1.35;
    padding: 16px 28px;
    border-radius: 7px;
    height: 52px;
    -webkit-transition: color .2s ease, background-color .25s ease;
    transition: color .2s ease, background-color .25s ease
}

.btn--primary {
    background-color: var(--pink);
    color: var(--white)
}

.btn--secondary {
    font-weight: 400;
    background-color: var(--white);
    color: var(--black)
}

.hero__img {
    -webkit-transform: translateY(-100%);
    -ms-transform: translateY(-100%);
    transform: translateY(-100%);
    -webkit-transition: -webkit-transform .6s cubic-bezier(.4, 0, .2, 1);
    transition: -webkit-transform .6s cubic-bezier(.4, 0, .2, 1);
    transition: transform .6s cubic-bezier(.4, 0, .2, 1);
    transition: transform .6s cubic-bezier(.4, 0, .2, 1), -webkit-transform .6s cubic-bezier(.4, 0, .2, 1)
}

.hero__img._active {
    z-index: 2;
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0)
}

.hero__img._enter-top {
    z-index: 3;
    opacity: 1;
    -webkit-transform: translateY(-100%);
    -ms-transform: translateY(-100%);
    transform: translateY(-100%)
}

.hero__img._enter-top._active {
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0)
}

.hero__img._enter-bottom {
    z-index: 3;
    opacity: 1;
    -webkit-transform: translateY(100%);
    -ms-transform: translateY(100%);
    transform: translateY(100%)
}

.hero__img._enter-bottom._active {
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0)
}

.hero__slider-swiper.swiper-vertical>.swiper-wrapper {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    height: auto;
    overflow: hidden
}

.hero__slider-swiper .swiper-slide {
    width: 100%;
    height: 188px;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    overflow: hidden
}

.hero__text-roller-track {
    -webkit-transition: -webkit-transform .6s cubic-bezier(.4, 0, .2, 1);
    transition: -webkit-transform .6s cubic-bezier(.4, 0, .2, 1);
    transition: transform .6s cubic-bezier(.4, 0, .2, 1);
    transition: transform .6s cubic-bezier(.4, 0, .2, 1), -webkit-transform .6s cubic-bezier(.4, 0, .2, 1)
}

@-webkit-keyframes hero-zoom-in {
    from {
        -webkit-transform: scale(1);
        transform: scale(1)
    }

    to {
        -webkit-transform: scale(1.08);
        transform: scale(1.08)
    }
}

@keyframes hero-zoom-in {
    from {
        -webkit-transform: scale(1);
        transform: scale(1)
    }

    to {
        -webkit-transform: scale(1.08);
        transform: scale(1.08)
    }
}

@-webkit-keyframes hero-zoom-out {
    from {
        -webkit-transform: scale(1.08);
        transform: scale(1.08)
    }

    to {
        -webkit-transform: scale(1);
        transform: scale(1)
    }
}

@keyframes hero-zoom-out {
    from {
        -webkit-transform: scale(1.08);
        transform: scale(1.08)
    }

    to {
        -webkit-transform: scale(1);
        transform: scale(1)
    }
}

@-webkit-keyframes hero-bullet-fill {
    to {
        -webkit-transform: scaleX(1);
        transform: scaleX(1)
    }
}

@keyframes hero-bullet-fill {
    to {
        -webkit-transform: scaleX(1);
        transform: scaleX(1)
    }
}

.mobile-menu {
    display: none;
    max-width: 570px;
    width: 100%;
    position: fixed;
    z-index: 101;
    right: 0;
    top: 0;
    height: calc(var(--vh, 1vh) * 100);
    -webkit-backdrop-filter: blur(51px);
    backdrop-filter: blur(51px);
    background-color: rgba(53, 53, 53, .28);
    padding: 20px 30px 40px;
    -webkit-transform: translateX(100%);
    -ms-transform: translateX(100%);
    transform: translateX(100%);
    -webkit-transition: -webkit-transform .3s ease-in-out;
    transition: -webkit-transform .3s ease-in-out;
    transition: transform .3s ease-in-out;
    transition: transform .3s ease-in-out, -webkit-transform .3s ease-in-out;
    overflow-y: auto
}

.mobile-menu._show {
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0)
}

.mobile-menu__close {
    width: 30px;
    height: 30px;
    position: absolute;
    top: 14px;
    right: 20px;
    background-color: var(--pink);
    -webkit-mask-image: url(../img/icons/mdi_close.svg);
    mask-image: url(../img/icons/mdi_close.svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-composite: center center;
    mask-composite: center center;
    -webkit-mask-size: contain;
    mask-size: contain
}

.mobile-menu .header__location {
    border: initial;
    padding: 0;
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important
}

.mobile-menu__menu .header__nav {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 70px 0 70px;
    border: initial
}

.mobile-menu__menu .header__nav-list {
    width: 100%;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    gap: 20px
}

.mobile-menu__menu .header__nav-list li {
    width: 100%
}

.mobile-menu__menu .header__nav-link {
    display: inline-block;
    width: 100%;
    font-weight: 400;
    font-size: 25px;
    line-height: 1.35;
    color: var(--white);
    width: 100%;
    border-bottom: 1px solid rgba(255, 255, 255, .09)
}

.mobile-menu__btns {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 11px;
    margin-top: auto;
    margin-bottom: auto
}

.mobile-menu__social-title {
    font-weight: 400;
    font-size: 15px;
    line-height: 1.35;
    color: rgba(255, 255, 255, .35);
    margin-top: 20px
}

.mobile-menu__social-content .header__social {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start
}

.mobile-menu__social-content .header__social-link {
    width: 46px;
    height: 46px
}

.projects {
    padding-top: 60px;
    padding-bottom: 120px;
    overflow: hidden
}

.projects__slider {
    overflow: hidden
}

.projects__slider .swiper-wrapper {
    overflow: initial !important
}

.projects__slider .projects__swiper {
    width: 100%;
    overflow: hidden
}

.projects__container .swiper-slide {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    width: 650px;
    height: auto
}

.projects__slider-pagination {
    display: none;
    position: relative;
    width: 100%;
    height: 2px;
    margin-top: 40px;
    border-radius: 2px;
    background-color: rgba(255, 255, 255, .12);
    overflow: hidden
}

.projects__slider-pagination.swiper-pagination-progressbar {
    left: 0;
    -webkit-transform: none;
    -ms-transform: none;
    transform: none
}

.projects__slider-pagination .swiper-pagination-progressbar-fill {
    left: 0;
    -webkit-transform-origin: left center;
    -ms-transform-origin: left center;
    transform-origin: left center;
    background-color: var(--pink);
    border-radius: 2px
}

.project-slide {
    gap: 12px;
    width: 100%;
    height: 100%;
    text-decoration: none
}

.project-slide__img {
    width: 100%;
    height: 408px;
    border-radius: 6px;
    overflow: hidden;
    position: relative
}

.project-slide__img::after {
    content: "";
    position: absolute;
    z-index: 2;
    inset: 0;
    opacity: 0;
    background-color: rgba(0, 0, 0, .44);
    -webkit-transition: opacity 1s ease-in-out;
    transition: opacity 1s ease-in-out
}

.project-slide__img::before {
    content: "Смотреть";
    border-radius: 42px;
    padding: 20px 34px;
    font-weight: 500;
    font-size: 15px;
    line-height: 1.35;
    color: var(--white);
    background-color: #9c948d;
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 3;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    opacity: 0;
    -webkit-transition: opacity 1s ease;
    transition: opacity 1s ease;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none
}

.project-slide__img img {
    position: relative;
    z-index: 1;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -webkit-transition: -webkit-transform 1s ease;
    transition: -webkit-transform 1s ease;
    transition: transform 1s ease;
    transition: transform 1s ease, -webkit-transform 1s ease
}

.project-slide__content {
    gap: 12px;
    max-width: 540px
}

.project-slide__title {
    font-weight: 500;
    font-size: 20px;
    line-height: 1.35;
    color: var(--white);
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}

.project-slide__description {
    font-size: 15px;
    line-height: 1.35;
    color: rgba(255, 255, 255, .54)
}

:root {
    --about-border: 1px solid rgba(255, 255, 255, 0.14)
}

.about {
    border-top: var(--about-border);
    border-bottom: var(--about-border);
    background: #0f0f0f;
    overflow: hidden
}

.about__container {
    display: grid;
    grid-template-columns: 268px minmax(0, 1fr);
    overflow: visible
}

.about__content {
    min-width: 0;
    overflow: visible
}

.about .about__text,
.about .about__text p,
.about__text .about p {
    font-weight: 400;
    font-size: 15px;
    line-height: 1.35;
    color: rgba(255, 255, 255, .57)
}

.about .about__text strong,
.about__text .about p strong {
    font-weight: 400;
    color: var(--white)
}

.about__text {
    gap: 20px;
    padding: 40px 45px;
    max-width: 740px;
    width: 100%
}

.about__slider {
    --about-slider-bleed: calc((100vw - 100%) / 2);
    width: calc(100% + var(--about-slider-bleed));
    max-width: none;
    margin-right: calc(-1 * var(--about-slider-bleed));
    overflow: hidden
}

.about__slider .about__swiper {
    overflow: hidden;
    width: 100%
}

.about__slider .swiper {
    overflow: initial !important
}

.about__slider .swiper-wrapper {
    overflow: initial !important;
    -webkit-transition-timing-function: linear;
    transition-timing-function: linear
}

.about__slider .swiper-slide {
    width: auto;
    height: auto
}

.about__slide {
    width: 100%;
    height: 100%;
    overflow: hidden;
    border-radius: 6px;
    width: 314px;
    -ms-flex-negative: 0;
    flex-shrink: 0
}

.about__slide img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.production {
    position: relative;
    padding: 100px 0;
    background-color: var(--color-bg);
    overflow: hidden;
    max-width: 100%
}

.production__container {
    display: grid;
    grid-template-columns: 313px minmax(0, 1fr);
    margin-bottom: 110px;
    position: relative;
    z-index: 3
}

.production__title {
    width: 100%
}

.production__text {
    font-weight: 400;
    font-size: 15px;
    line-height: 1.35;
    color: rgba(255, 255, 255, .57);
    width: 100%;
    max-width: 740px
}

.production__text strong {
    font-weight: 400;
    color: var(--white)
}

.production__slider {
    position: relative;
    z-index: 3;
    counter-reset: production;
    width: 100%
}

.production__bg {
    position: absolute;
    z-index: 1;
    inset: 0
}

.production__bg img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.production__slide {
    border-radius: 6px;
    -webkit-backdrop-filter: blur(110.3000030518px);
    backdrop-filter: blur(110.3000030518px);
    background-color: rgba(171, 171, 171, .17);
    width: 100%;
    height: 347px;
    overflow: hidden;
    counter-increment: production;
    position: relative;
    -webkit-transition: background-color 1s ease;
    transition: background-color 1s ease
}

.production__slide::before {
    content: counter(production, decimal-leading-zero);
    font-weight: 400;
    font-size: 15px;
    line-height: .88;
    color: rgba(255, 255, 255, .25);
    position: absolute;
    top: 15px;
    right: 20px;
    z-index: 3
}

.production__slide-icon {
    width: 58px;
    height: 58px;
    background: rgba(255, 255, 255, .09)
}

.production__slide-title {
    font-weight: 400;
    font-size: 24px;
    line-height: .88;
    color: var(--white);
    padding-left: 25px
}

.production__slide-text {
    padding-left: 25px;
    padding-right: 25px;
    padding-bottom: 40px;
    font-weight: 400;
    font-size: 15px;
    line-height: 1.35;
    color: rgba(255, 255, 255, .55)
}

.production__progress-bar {
    display: none;
    position: relative;
    width: 100%;
    height: 2px;
    margin-top: 40px;
    border-radius: 2px;
    background-color: rgba(255, 255, 255, .12);
    overflow: hidden
}

.production__progress-bar.swiper-pagination-progressbar {
    left: 0;
    -webkit-transform: none;
    -ms-transform: none;
    transform: none
}

.production__progress-bar .swiper-pagination-progressbar-fill {
    left: 0;
    -webkit-transform-origin: left center;
    -ms-transform-origin: left center;
    transform-origin: left center;
    background-color: var(--pink);
    border-radius: 2px
}

.faq {
    background-color: #0f0f0f;
    padding: 110px 0 144px
}

.faq__container {
    display: grid;
    grid-template-columns: 313px minmax(0, 1fr)
}

.faq__title {
    width: 100%;
    margin-bottom: 90px
}

.faq__manager-block {
    border-radius: 6px;
    background-color: #321822
}

.faq__manager-photo {
    border-radius: 6px;
    overflow: hidden
}

.faq__manager-photo img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.faq__manager-logo {
    position: absolute;
    top: 14px;
    right: 14px
}

.faq__manager-name {
    font-weight: 500;
    font-size: 15px;
    line-height: 1.35;
    text-transform: uppercase;
    color: var(--white);
    margin-bottom: 2px
}

.faq__manager-position {
    font-weight: 400;
    font-size: 13px;
    line-height: 1.35;
    color: rgba(255, 255, 255, .5)
}

.faq__manager-phone {
    display: inline-block;
    margin-top: 40px;
    font-weight: 500;
    font-size: 18px;
    line-height: 1.35;
    position: relative;
    text-decoration: none;
    color: var(--white);
    -webkit-transition: color .2s ease;
    transition: color .2s ease
}

.faq__manager-phone:before {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    position: absolute;
    bottom: 2px;
    left: 0;
    background-color: rgba(255, 255, 255, .5);
    z-index: 2;
    -webkit-transition: opacity .25s ease;
    transition: opacity .25s ease
}

.faq__list {
    gap: 12px;
    counter-reset: faqList
}

.faq__item {
    width: 100%;
    border-radius: 6px;
    background-color: rgba(255, 255, 255, .08);
    counter-increment: faqList;
    -webkit-transition: background-color 1s ease;
    transition: background-color 1s ease
}

.faq__item._active .faq__item-header::after {
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    background-color: rgba(255, 255, 255, .5)
}

.faq__item-header {
    gap: 84px;
    cursor: pointer;
    padding: 20px
}

.faq__item-header::before {
    content: counter(faqList) ".";
    font-weight: 500;
    font-size: 15px;
    line-height: 1.35;
    color: rgba(255, 255, 255, .4);
    width: 20px;
    -ms-flex-negative: 0;
    flex-shrink: 0
}

.faq__item-header:after {
    content: "";
    width: 24px;
    height: 24px;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    background-color: var(--pink);
    -webkit-mask-image: url(../img/icons/ic_baseline-plus.svg);
    mask-image: url(../img/icons/ic_baseline-plus.svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center center;
    mask-position: center center;
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-transition: background-color 1s ease-in-out, -webkit-transform 1s ease;
    transition: background-color 1s ease-in-out, -webkit-transform 1s ease;
    transition: background-color 1s ease-in-out, transform 1s ease;
    transition: background-color 1s ease-in-out, transform 1s ease, -webkit-transform 1s ease
}

.faq__item-title {
    margin-right: auto;
    font-weight: 400;
    font-size: 20px;
    line-height: .88;
    color: var(--white);
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    pointer-events: none
}

.faq__item-content {
    max-height: 0;
    overflow: hidden;
    -webkit-transition: max-height .7s ease-in-out;
    transition: max-height .7s ease-in-out
}

.faq__item-text {
    padding: 20px 20px 30px 123px;
    width: 100%;
    max-width: 830px
}

.faq__item-text p {
    font-weight: 400;
    font-size: 15px;
    line-height: 1.35;
    color: rgba(255, 255, 255, .55)
}

.partnership {
    padding: 120px 0 120px;
    overflow: hidden
}

.partnership__content {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px
}

.partnership__content::-webkit-scrollbar {
    width: 0;
    height: 0
}

.partnership__btns {
    display: none
}

.partnership__btn {
    font-family: var(--font-family);
    font-weight: 400;
    font-size: 15px;
    line-height: 1.35;
    color: var(--white);
    border-radius: 3px;
    -webkit-transition: background-color .35s ease, color .35s ease;
    transition: background-color .35s ease, color .35s ease
}

.partnership__btn._active {
    background-color: var(--white);
    color: var(--black)
}

.partnership__item {
    position: relative;
    overflow: hidden;
    border-radius: 6px;
    background-color: #1e1e1e;
    padding: 17px 25px 32px;
    -webkit-transition: background-color 1s ease, -webkit-transform 1s ease;
    transition: background-color 1s ease, -webkit-transform 1s ease;
    transition: background-color 1s ease, transform 1s ease;
    transition: background-color 1s ease, transform 1s ease, -webkit-transform 1s ease;
    justify-content: flex-start;
}

.partnership__item:nth-child(1) .partnership__item-text {
    max-width: 383px
}

.partnership__item:nth-child(2) .partnership__item-text {
    max-width: 527px
}

.partnership__item::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 0;
    height: 55%;
    pointer-events: none;
    opacity: 0;
    background: -webkit-gradient(linear, left bottom, left top, from(rgba(255, 255, 255, .38)), color-stop(40%, rgba(255, 255, 255, .14)), to(rgba(255, 255, 255, 0)));
    background: linear-gradient(to top, rgba(255, 255, 255, .38) 0, rgba(255, 255, 255, .14) 40%, rgba(255, 255, 255, 0) 100%);
    -webkit-transition: opacity 1s ease;
    transition: opacity 1s ease
}

.partnership__item-label {
    border-radius: 3px;
    padding: 16px 28px;
    background: rgba(255, 255, 255, .05);
    font-weight: 400;
    font-size: 15px;
    line-height: 1.35;
    color: var(--white);
    margin-bottom: 105px
}

.partnership__item-title {
    font-weight: 400;
    font-size: 30px;
    line-height: .88;
    color: var(--white);
    margin-bottom: 53px
}

.partnership__item-text {
    font-weight: 400;
    font-size: 15px;
    line-height: 1.35;
    color: rgba(255, 255, 255, .52);
    width: 100%
}

.partnership__item-btn-space{
    display: inline-block;
    width: 100%;
    padding-top: 100px;
    margin-top: auto;
}

.partnership__item-btn {
    max-width: 301px;
    width: 100%;
}

.reviews {
    padding: 100px 0;
    overflow: hidden
}

.reviews .section-header__title {
    max-width: 100%
}

.reviews__info {
    gap: 4px;
    padding: 7px 5px;
    border-radius: 6px;
    background-color: #f4f3f3;
    max-width: 297px;
    margin-top: 27px;
    text-decoration: none
}

.reviews__info-logo {
    -ms-flex-negative: 0;
    flex-shrink: 0
}

.reviews__info-rating {
    gap: 5px;
    font-weight: 600;
    font-size: 22px;
    line-height: .88;
    letter-spacing: -.06em;
    color: var(--black);
    margin-bottom: 4px
}

.reviews__info-title {
    font-weight: 600;
    font-size: 15px;
    line-height: 1.35;
    color: var(--black)
}

.reviews__info-description {
    font-weight: 400;
    font-size: 13px;
    line-height: 1.35;
    color: var(--black);
    opacity: .4
}

.reviews__item-imgs {
    display: grid;
    width: 100%;
    gap: 8px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-bottom: 25px;
    height: 373px
}

.reviews__item-imgs--once {
    grid-template-columns: minmax(0, 1fr)
}

.reviews__item-img {
    width: 100%;
    height: 100%;
    border-radius: 6px;
    overflow: hidden;
    cursor: pointer
}

.reviews__item-img img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.reviews__slider {
    overflow: hidden
}

.reviews__slider .swiper-wrapper {
    overflow: initial !important
}

.reviews__slider .reviews__swiper {
    width: 100%;
    overflow: hidden
}

.reviews__progress-bar {
    display: none;
    position: relative;
    width: 100%;
    height: 2px;
    margin-top: 40px;
    border-radius: 2px;
    background-color: rgba(255, 255, 255, .12);
    overflow: hidden
}

.reviews__progress-bar.swiper-pagination-progressbar {
    left: 0;
    -webkit-transform: none;
    -ms-transform: none;
    transform: none
}

.reviews__progress-bar .swiper-pagination-progressbar-fill {
    left: 0;
    -webkit-transform-origin: left center;
    -ms-transform-origin: left center;
    transform-origin: left center;
    background-color: var(--pink);
    border-radius: 2px
}

.reviews .swiper-slide {
    width: 552px;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    height: auto
}

.reviews__item-author {
    gap: 10px;
    margin-bottom: 17px
}

.reviews__item-author-photo {
    width: 42px;
    height: 42px;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    border-radius: 50%;
    overflow: hidden
}

.reviews__item-author-photo img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.reviews__item-author-info {
    gap: 9px
}

.reviews__item-author-name {
    font-weight: 400;
    font-size: 20px;
    line-height: .88;
    color: var(--white)
}

.reviews__item-review {
    font-weight: 400;
    font-size: 15px;
    line-height: 1.35;
    color: rgba(255, 255, 255, .76)
}

.reviews__item-review-text {
    display: block
}

.reviews__item-review--collapsed .reviews__item-review-text {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: var(--reviews-collapsed-lines, 5);
    overflow: hidden
}

.reviews__item-review--expanded {
    min-height: 0 !important
}

.reviews__item-more {
    font-family: var(--font-family);
    font-weight: 400;
    font-size: 15px;
    line-height: 1.1;
    color: var(--pink);
    border-bottom: 1px dotted var(--pink);
    margin-top: 0;
    margin-left: 6px;
    display: inline-block;
    vertical-align: baseline;
    -webkit-transition: border .25s ease;
    transition: border .25s ease
}

.custom-checkbox {
    cursor: pointer
}

.custom-checkbox__field:checked+.custom-checkbox__content::after {
    opacity: 1
}

.custom-checkbox__content {
    gap: 8px;
    font-weight: 400;
    font-size: 15px;
    line-height: 1.35;
    color: rgba(255, 255, 255, .35);
    position: relative
}

.custom-checkbox__content::after {
    content: "";
    width: 3px;
    height: 3px;
    border-radius: 50%;
    background-color: var(--white);
    position: absolute;
    z-index: 2;
    top: 9px;
    left: 4px;
    opacity: 0;
    -webkit-transition: opacity .25s ease;
    transition: opacity .25s ease
}

.custom-checkbox__content:before {
    content: "";
    width: 11px;
    height: 11px;
    border-radius: 50%;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    background-color: var(--pink);
    -webkit-transform: translateY(5px);
    -ms-transform: translateY(5px);
    transform: translateY(5px)
}

.form {
    width: 100%
}

.form__title {
    font-weight: 400;
    font-size: 30px;
    line-height: .88;
    color: var(--white);
    margin-bottom: 15px
}

.form__title strong {
    font-weight: 400;
    color: var(--pink)
}

.form__description {
    font-weight: 400;
    font-size: 15px;
    line-height: 1.35;
    color: rgba(255, 255, 255, .52);
    margin-bottom: 34px
}

.form__row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px
}

.form__field {
    position: relative
}

.form__group {
    position: relative
}

.form__field .form__label {
    margin-top: 30px
}

.form__error {
    display: none;
    left: 0;
    bottom: -15px;
    margin: 0;
    font-size: 12px;
    line-height: 1.3;
    color: #ff8a8a;
    pointer-events: none
}

.form__label {
    font-family: var(--font-family);
    font-weight: 400;
    font-size: 12px;
    line-height: 1.35;
    text-transform: uppercase;
    color: var(--pink);
    text-transform: uppercase;
    margin-top: 30px;
    margin-bottom: 10px
}

.form__group {
    gap: 2px;
    margin-bottom: 11px
}

.form__group--phone .form__input {
    padding-left: 70px
}

.form__group--phone::after {
    content: "+7";
    font-family: var(--font-family);
    font-weight: 400;
    font-size: 16px;
    line-height: 1.35;
    color: var(--white);
    position: absolute;
    z-index: 2;
    top: 23px;
    left: 45px;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%)
}

.form__group--phone::before {
    content: "";
    width: 16px;
    height: 16px;
    background-image: url(../img/icons/flag-for-russia.svg);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain;
    top: 23px;
    left: 18px;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    position: absolute;
    z-index: 2
}

.form__group--checkbox {
    margin-bottom: 60px
}

.form__group--checkbox .form__error {
    top: calc(100% + 4px);
    bottom: auto
}

.form__error.just-validate-error-label {
    display: block
}

.form__input.is-invalid {
    box-shadow: inset 0 0 0 1px #ff8a8a
}

.custom-checkbox__field.is-invalid + .custom-checkbox__content::before {
    background-color: #ff4d4d;
    -webkit-animation: checkbox-invalid-pulse 1.4s ease-out infinite;
    animation: checkbox-invalid-pulse 1.4s ease-out infinite
}

.custom-checkbox__field.is-invalid + .custom-checkbox__content {
    color: #ff8a8a
}

@-webkit-keyframes checkbox-invalid-pulse {
    0% {
        -webkit-box-shadow: 0 0 0 0 rgba(255, 77, 77, .55);
        box-shadow: 0 0 0 0 rgba(255, 77, 77, .55)
    }
    70% {
        -webkit-box-shadow: 0 0 0 7px rgba(255, 77, 77, 0);
        box-shadow: 0 0 0 7px rgba(255, 77, 77, 0)
    }
    100% {
        -webkit-box-shadow: 0 0 0 0 rgba(255, 77, 77, 0);
        box-shadow: 0 0 0 0 rgba(255, 77, 77, 0)
    }
}

@keyframes checkbox-invalid-pulse {
    0% {
        -webkit-box-shadow: 0 0 0 0 rgba(255, 77, 77, .55);
        box-shadow: 0 0 0 0 rgba(255, 77, 77, .55)
    }
    70% {
        -webkit-box-shadow: 0 0 0 7px rgba(255, 77, 77, 0);
        box-shadow: 0 0 0 7px rgba(255, 77, 77, 0)
    }
    100% {
        -webkit-box-shadow: 0 0 0 0 rgba(255, 77, 77, 0);
        box-shadow: 0 0 0 0 rgba(255, 77, 77, 0)
    }
}

.form__group--row {
    margin-bottom: 0
}

.form__types {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 4px
}

.form__type {
    cursor: pointer
}

.form__type-input:checked+.form__type-content {
    background-color: var(--pink)
}

.form__type-input:checked+.form__type-content::before {
    background-color: var(--white)
}

.form__type-content {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    min-height: 46px;
    border-radius: 6px;
    background: #262626;
    padding: 11px 12px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 10px;
    font-weight: 400;
    font-size: 15px;
    line-height: 1.35;
    color: var(--white);
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
    -webkit-transition: background-color .25s ease;
    transition: background-color .25s ease
}

.form__type-content:before {
    content: "";
    width: 12px;
    height: 12px;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    border-radius: 50%;
    background-color: #5a5a5a;
    flex-shrink: 0;
    -webkit-transition: background-color .25s ease;
    transition: background-color .25s ease
}

.form__upload {
    border: 1px dashed rgba(255, 255, 255, .22);
    border-radius: 6px;
    min-height: 89px;
    padding: 25px 40px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    text-align: center;
    margin-bottom: 10px;
    cursor: pointer;
    -webkit-transition: border-color .25s ease, background-color .25s ease;
    transition: border-color .25s ease, background-color .25s ease;
    width: 100%
}

.form__upload:hover {
    border-color: rgba(255, 255, 255, .4)
}

.form__upload--drag {
    border-color: var(--pink);
    background-color: rgba(255, 255, 255, .04)
}

.form__upload--has-files {
    border-color: var(--pink);
    background-color: rgba(255, 255, 255, .04);
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    padding-top: 20px;
    padding-bottom: 16px
}

.form__upload--invalid {
    border-color: rgba(255, 90, 90, .8)
}

.form__upload-list {
    list-style: none;
    margin: 12px 0 0;
    padding: 0;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 6px
}

.form__upload-list[hidden] {
    display: none !important
}

.form__upload-item {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 10px;
    min-height: 40px;
    padding: 8px 12px;
    border-radius: 6px;
    background: rgba(255, 255, 255, .08)
}

.form__upload-item-name {
    font-size: 14px;
    line-height: 1.3;
    color: var(--white);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis
}

.form__upload-item-size {
    font-size: 12px;
    line-height: 1.3;
    color: rgba(255, 255, 255, .45);
    white-space: nowrap
}

.form__upload-item-remove {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background-color: rgba(255, 255, 255, .12);
    position: relative;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    -webkit-transition: background-color .2s ease;
    transition: background-color .2s ease
}

.form__upload-item-remove::after,
.form__upload-item-remove::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 10px;
    height: 1px;
    background-color: var(--white)
}

.form__upload-item-remove::before {
    -webkit-transform: translate(-50%, -50%) rotate(45deg);
    -ms-transform: translate(-50%, -50%) rotate(45deg);
    transform: translate(-50%, -50%) rotate(45deg)
}

.form__upload-item-remove::after {
    -webkit-transform: translate(-50%, -50%) rotate(-45deg);
    -ms-transform: translate(-50%, -50%) rotate(-45deg);
    transform: translate(-50%, -50%) rotate(-45deg)
}

.form__upload-error {
    position: static;
    margin: 0 0 12px;
    font-size: 12px;
    line-height: 1.3;
    color: #ff8a8a
}

.form__field--upload {
    padding-bottom: 0;
    margin-bottom: 11px
}

.form__upload-title {
    font-family: var(--font-family);
    font-weight: 400;
    font-size: 15px;
    line-height: 1.35;
    color: var(--white);
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 10px;
    margin-bottom: 8px
}

.form__upload-title:before {
    content: "";
    width: 20px;
    height: 20px;
    background-color: var(--pink);
    -webkit-mask-image: url(../img/icons/upload.svg);
    mask-image: url(../img/icons/upload.svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: contain;
    mask-size: contain;
    -ms-flex-negative: 0;
    flex-shrink: 0
}

.form__upload-description {
    font-weight: 400;
    font-size: 13px;
    line-height: 1.35;
    color: rgba(255, 255, 255, .33)
}

.form__input {
    border-radius: 6px;
    font-family: var(--font-family);
    background: rgba(255, 255, 255, .1);
    padding: 13px 18px;
    font-family: var(--font-family);
    font-weight: 400;
    font-size: 16px;
    line-height: 1.35;
    color: var(--white);
    outline: 0
}

.form__input::-webkit-input-placeholder {
    font-family: var(--font-family);
    font-weight: 400;
    font-size: 15px;
    line-height: 1.35;
    color: rgba(255, 255, 255, .33)
}

.form__input::-moz-placeholder {
    font-family: var(--font-family);
    font-weight: 400;
    font-size: 15px;
    line-height: 1.35;
    color: rgba(255, 255, 255, .33)
}

.form__input:-ms-input-placeholder {
    font-family: var(--font-family);
    font-weight: 400;
    font-size: 15px;
    line-height: 1.35;
    color: rgba(255, 255, 255, .33)
}

.form__input::-ms-input-placeholder {
    font-family: var(--font-family);
    font-weight: 400;
    font-size: 15px;
    line-height: 1.35;
    color: rgba(255, 255, 255, .33)
}

.form__input::placeholder {
    font-family: var(--font-family);
    font-weight: 400;
    font-size: 15px;
    line-height: 1.35;
    color: rgba(255, 255, 255, .33)
}

.form__input--company,
.form__input--subject {
    position: absolute;
    left: -9999px;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none
}

.form__textarea {
    min-height: 96px;
    resize: vertical
}

.form__btn {
    width: 100%
}

.form--calculator {
    margin-top: 0 !important
}

.form--calculator .form__title {
    margin-bottom: 14px
}

.form--calculator .form__description {
    margin-bottom: 24px;
    max-width: 420px
}

.form--extended .form__group--checkbox {
    margin-bottom: 34px
}

.actions {
    padding: 110px 0;
    background-color: var(--color-bg);
    overflow: hidden
}

.actions__container {
    display: grid;
    width: 100%;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: 484px;
    gap: 7px
}

.actions__socials {
    padding: 45px;
    border-radius: 6px;
    background-color: #161616;
    background-image: url(../img/actions/socials-bg.png);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover
}

.actions__socials-logo {
    margin-bottom: 54px
}

.actions__socials-title {
    max-width: 347px;
    font-weight: 400;
    font-size: 30px;
    line-height: .88;
    color: var(--white);
    margin-bottom: 19px
}

.actions__socials-description {
    max-width: 370px;
    font-weight: 400;
    font-size: 15px;
    line-height: 1.35;
    color: rgba(255, 255, 255, .52)
}

.actions__socials-list {
    gap: 6px;
    margin-top: auto
}

.actions__socials-link {
    width: 57px;
    height: 57px;
    border-radius: 6px;
    background-color: var(--pink);
    color: var(--white);
    -webkit-transition: background-color .25s ease;
    transition: background-color .25s ease
}

.actions__socials-link:after {
    content: "";
    background-color: currentColor;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center center;
    mask-position: center center;
    -webkit-mask-size: cover;
    mask-size: cover;
    -webkit-transition: background-color .25s ease;
    transition: background-color .25s ease
}

.actions__socials-link--max::after {
    width: 25px;
    height: 25px;
    -webkit-mask-image: url(../img/icons/header/max.svg);
    mask-image: url(../img/icons/header/max.svg)
}

.actions__socials-link--tg::after {
    width: 27px;
    height: 27px;
    -webkit-mask-image: url(../img/icons/header/tg.svg);
    mask-image: url(../img/icons/header/tg.svg)
}

.actions__socials-link--vk::after {
    width: 31px;
    height: 31px;
    -webkit-mask-image: url(../img/icons/header/vk.svg);
    mask-image: url(../img/icons/header/vk.svg)
}

.actions__form {
    background: #161616;
    padding: 45px;
    border-radius: 6px
}

.actions__form .form__group--checkbox {
    margin-bottom: 0;
    margin-top: 16px
}

.actions__form .form__btn {
    margin-top: 60px
}

.actions__form .form {
    max-width: 454px
}

.contacts {
    padding: 70px 0 80px;
    background-color: #0f0f0f
}

.contacts__grid {
    display: grid;
    width: 100%;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 5px;
    margin-top: 70px
}

.contacts__item {
    width: 100%;
    border-radius: 6px;
    background-color: #1b1b1b;
    height: 197px;
    padding: 13px 9px 17px 16px;
    position: relative;
    -webkit-transition: background-color .25s ease;
    transition: background-color .25s ease
}

.contacts__item--email .contacts__item-header-icon {
    -webkit-transform: translateY(2px);
    -ms-transform: translateY(2px);
    transform: translateY(2px)
}

.contacts__item--location .contacts__item-header-title {
    -webkit-transform: translateY(-3px);
    -ms-transform: translateY(-3px);
    transform: translateY(-3px)
}

.contacts__item--production .contacts__item-header-title {
    -webkit-transform: translateY(-3px);
    -ms-transform: translateY(-3px);
    transform: translateY(-3px)
}

.contacts__item-heder {
    gap: 10px;
    margin-bottom: auto
}

.contacts__item-header-title {
    font-size: 15px;
    line-height: 1;
    color: var(--white);
    opacity: .4;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis
}

.contacts__item-header-icon {
    -ms-flex-negative: 0;
    flex-shrink: 0
}

.contacts .contacts__item-link,
.contacts .contacts__item-text {
    font-size: 17px;
    line-height: 1.35;
    color: var(--white)
}

.contacts__item-link {
    text-decoration: none;
    z-index: 2
}

.contacts__item-link:before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 2
}

.map {
    position: relative;
    width: 100%;
    height: 530px;
    overflow: hidden
}

.map__iframe {
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
    -webkit-filter: saturate(0) invert(90%);
    filter: saturate(0) invert(90%)
}

.footer {
    background-color: var(--color-bg);
    padding: 16px 0
}

.footer__container {
    gap: 7px
}

.footer .footer__link,
.footer .footer__text {
    font-weight: 400;
    font-size: 15px;
    line-height: 1.35;
    color: rgba(255, 255, 255, .38)
}

.footer__link {
    text-decoration: underline;
    -webkit-transition: color .25s ease;
    transition: color .25s ease
}

.overlay {
    display: block !important;
    background-color: #181818;
    opacity: 0;
    pointer-events: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    visibility: hidden;
    position: fixed;
    inset: 0;
    z-index: 100;
    -webkit-transition: opacity .28s ease, visibility 0s linear .28s;
    transition: opacity .28s ease, visibility 0s linear .28s
}

.overlay._active {
    pointer-events: auto;
    visibility: visible;
    opacity: .59;
    -webkit-transition-delay: 0s;
    transition-delay: 0s
}

.overlay._modal-active {
    pointer-events: auto;
    visibility: visible;
    opacity: .59;
    -webkit-transition-delay: 0s;
    transition-delay: 0s
}

.modal {
    max-width: 702px;
    width: 100%;
    top: 50%;
    left: 50%;
    --modal-translate-hidden: translate(-50%, calc(-50% + 24px));
    --modal-translate-active: translate(-50%, -50%);
    -webkit-transform: var(--modal-translate-hidden);
    -ms-transform: var(--modal-translate-hidden);
    transform: var(--modal-translate-hidden);
    position: fixed;
    padding: 26px 120px 80px;
    border-radius: 6px;
    background-color: var(--black);
    border-radius: 6px;
    -webkit-backdrop-filter: blur(70.5px);
    backdrop-filter: blur(70.5px);
    background: radial-gradient(circle at top left, rgba(255, 80, 162, .28) 0, rgba(255, 80, 162, 0) 45%), #161616;
    max-height: calc(var(--vh, 1vh) * 100);
    overflow-y: auto;
    opacity: 0;
    pointer-events: none;
    visibility: hidden;
    z-index: -1;
    -webkit-transition: opacity .28s ease, visibility 0s linear .28s, -webkit-transform .28s ease;
    transition: opacity .28s ease, visibility 0s linear .28s, -webkit-transform .28s ease;
    transition: opacity .28s ease, transform .28s ease, visibility 0s linear .28s;
    transition: opacity .28s ease, transform .28s ease, visibility 0s linear .28s, -webkit-transform .28s ease
}

.modal._active {
    z-index: 102;
    opacity: 1;
    pointer-events: auto;
    visibility: visible;
    -webkit-transform: var(--modal-translate-active);
    -ms-transform: var(--modal-translate-active);
    transform: var(--modal-translate-active);
    -webkit-transition-delay: 0s;
    transition-delay: 0s
}

.modal__close {
    position: absolute;
    z-index: 3;
    width: 22px;
    height: 22px;
    background-color: var(--pink);
    -webkit-mask-image: url(../img/icons/mdi_close.svg);
    mask-image: url(../img/icons/mdi_close.svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center center;
    mask-position: center center;
    -webkit-mask-size: contain;
    mask-size: contain;
    top: 15px;
    right: 10px
}

.modal__container {
    position: relative;
    max-width: 462px;
    width: 100%;
    margin: 0 auto
}

.modal__container:before {
    content: "";
    width: 94px;
    height: 11px;
    display: block;
    background-image: url(../img/logo.svg);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    margin-bottom: 63px
}

.modal__thx {
    gap: 45px
}

.modal__thx-title {
    font-weight: 400;
    font-size: 30px;
    line-height: 1.02;
    text-align: center;
    color: var(--white);
    text-align: center;
    margin-bottom: 12px
}

.modal__thx-title strong {
    font-weight: 400;
    color: var(--pink)
}

.modal__thx-text {
    font-weight: 400;
    font-size: 15px;
    line-height: 1.35;
    text-align: center;
    color: rgba(255, 255, 255, .52);
    margin-bottom: 34px
}

.modal__thx-btn {
    width: 100%
}

.modal--calculator {
    max-width: 862px;
    padding: 26px 30px 36px
}

.modal--calculator .modal__container {
    max-width: 576px
}

.cookies {
    gap: 30px;
    border-radius: 4px;
    padding: 20px 33px;
    -webkit-backdrop-filter: blur(79px);
    backdrop-filter: blur(79px);
    background: rgba(70, 70, 70, .3);
    max-width: 535px;
    width: 100%;
    position: fixed;
    bottom: 20px;
    right: calc((100vw - var(--content-width) - 15px)/ 2);
    z-index: 111;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    -webkit-transform: translateY(16px);
    -ms-transform: translateY(16px);
    transform: translateY(16px);
    -webkit-transition: opacity .35s ease, visibility .35s ease, -webkit-transform .35s ease;
    transition: opacity .35s ease, visibility .35s ease, -webkit-transform .35s ease;
    transition: opacity .35s ease, transform .35s ease, visibility .35s ease;
    transition: opacity .35s ease, transform .35s ease, visibility .35s ease, -webkit-transform .35s ease
}

.cookies._show {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0)
}

.cookies__text {
    font-weight: 400;
    font-size: 13px;
    line-height: 1.35;
    color: rgba(255, 255, 255, .66)
}

.cookies__btn {
    font-family: var(--font-family);
    font-weight: 400;
    font-size: 13px;
    line-height: 1.35;
    color: rgba(255, 255, 255, .66);
    border-radius: 4px;
    padding: 10px;
    width: 135px;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    background: rgba(255, 255, 255, .18)
}

.swiper-pagination-progressbar {
    position: relative;
    left: 0;
    top: 0;
    -webkit-transform: none;
    -ms-transform: none;
    transform: none
}

.swiper-pagination-progressbar-fill {
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    -webkit-transform-origin: left center;
    -ms-transform-origin: left center;
    transform-origin: left center;
    background-color: var(--pink)
}

@media (min-width:1180.1px) {
    .about__label {
        padding: 80px 0;
        border-right: var(--about-border)
    }

    .about__title {
        padding: 80px 45px 40px;
        border-bottom: var(--about-border)
    }

    .about__slider {
        padding-left: 45px;
        padding-top: 45px;
        margin-bottom: 135px
    }

    .production__label {
        padding: 80px 0
    }

    .production__title {
        max-width: 800px;
        padding: 80px 0 40px
    }

    .production__slider .swiper-wrapper {
        width: 100%;
        display: grid !important;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 7px
    }

    .faq__title {
        max-width: 430px
    }

    .faq__manager-block {
        padding: 14px;
        margin-right: 15px;
        position: sticky;
        top: calc(var(--header-height) + 10px)
    }

    .faq__manager-photo {
        width: 90px;
        height: 90px;
        -ms-flex-negative: 0;
        flex-shrink: 0
    }

    .faq__manager-name {
        margin-top: 58px
    }
}

@media (max-width:1180px) {

    .about__title,
    .faq__title,
    .production__title {
        font-size: 40px
    }

    .btn {
        border-radius: 5px;
        height: 44px;
        padding: 12px 28px
    }

    .mobile-menu {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-align: stretch;
        -ms-flex-align: stretch;
        align-items: stretch;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between
    }

    .projects__container .swiper-slide {
        width: 492px
    }

    .projects__slider-pagination {
        display: block
    }

    .projects .section-header__actions {
        display: none
    }

    .project-slide {
        position: relative;
        background-color: #161616;
        padding: 10px 10px 20px 10px;
        border-radius: 6px
    }

    .project-slide:before {
        content: "";
        position: absolute;
        width: 46px;
        height: 46px;
        border-radius: 50%;
        background-image: url(../img/projects/project-link.svg);
        background-repeat: no-repeat;
        background-position: center center;
        background-size: contain;
        right: 19px;
        top: 375px
    }

    .project-slide__img {
        height: 345px
    }

    .project-slide__content {
        max-width: 360px;
        padding: 7px
    }

    .about {
        padding: 64px 0 100px
    }

    .about__container {
        grid-template-columns: minmax(0, 1fr)
    }

    .about__text {
        padding: 20px 0 55px
    }

    .about__slide {
        width: 285px
    }

    .production {
        padding: 60px 0 80px
    }

    .production__container {
        grid-template-columns: minmax(0, 1fr);
        margin-bottom: 50px
    }

    .production__title {
        max-width: 580px;
        padding-bottom: 20px
    }

    .production__text {
        max-width: 650px
    }

    .production__slider .swiper-wrapper {
        display: -webkit-box !important;
        display: -ms-flexbox !important;
        display: flex !important;
        overflow: initial !important
    }

    .production__slider .swiper-wrapper .swiper-slide {
        -ms-flex-negative: 0;
        flex-shrink: 0;
        width: 280px;
        height: auto
    }

    .production__slider {
        overflow: hidden
    }

    .production__slider .production__swiper {
        width: 100%;
        overflow: hidden
    }

    .production__bg {
        display: none
    }

    .production__slide-text br {
        display: none
    }

    .production__progress-bar {
        display: block
    }

    .faq {
        padding: 70px 0 75px
    }

    .faq__container {
        grid-template-columns: minmax(0, 1fr)
    }

    .faq__title {
        margin-bottom: 50px
    }

    .faq__manager {
        margin-top: 12px;
        -webkit-box-ordinal-group: 100;
        -ms-flex-order: 99;
        order: 99
    }

    .faq__manager-block {
        padding: 6px;
        position: relative;
        display: grid;
        grid-template-columns: 144px minmax(0, 1fr);
        gap: 0 20px
    }

    .faq__manager-photo {
        width: 100%;
        height: 100%;
        grid-column: 1;
        grid-row: 1/4
    }

    .faq__manager-name {
        margin-top: 20px
    }

    .faq__manager-phone:before {
        max-width: 160px;
        bottom: 8px
    }

    .faq__manager-phone {
        font-size: 19px
    }

    .faq__item-header {
        gap: 50px
    }

    .faq__item-text {
        padding: 20px 20px 20px 90px;
        max-width: 630px
    }

    .partnership {
        padding: 50px 0 50px
    }

    .partnership__item {
        padding: 20px 20px 34px
    }

    .partnership__item-label {
        padding: 5px 16px;
        color: rgba(255, 255, 255, .65);
        margin-bottom: 49px
    }

    .partnership__item-title {
        font-size: 25px;
        max-width: 160px;
        margin-bottom: 29px
    }

    .partnership__item-text {
        margin-bottom: auto
    }

    .reviews {
        padding: 50px 0
    }

    .reviews .section-header__actions {
        display: none
    }

    .reviews .section-header__content {
        display: grid;
        grid-template-columns: minmax(0, 1fr) 297px;
        gap: 20px
    }

    .reviews .section-header__label {
        margin-bottom: 0;
        grid-column: 1;
        grid-row: 1
    }

    .reviews .section-header__title {
        margin-bottom: 0;
        grid-column: 1;
        grid-row: 2
    }

    .reviews .reviews__info {
        grid-column: 2;
        grid-row: 1/3;
        -ms-flex-line-pack: end;
        align-content: end
    }

    .reviews__item-imgs {
        height: 284px
    }

    .reviews__progress-bar {
        display: block
    }

    .reviews .swiper-slide {
        width: 495px
    }

    .actions {
        padding: 50px 0
    }

    .actions__container {
        grid-template-columns: minmax(0, 1fr);
        grid-template-rows: 356px auto
    }

    .actions__socials {
        padding: 30px
    }

    .actions__socials-logo {
        margin-bottom: 36px
    }

    .actions__form {
        padding: 30px
    }

    .actions__form .form {
        max-width: 100%
    }

    .actions__form .form .form__title {
        max-width: 380px
    }

    .actions__form .form .form__description {
        max-width: 380px
    }

    .contacts__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }

    .contacts__item {
        height: 149px;
        padding-bottom: 20px
    }

    .contacts__item--phone {
        grid-column: 1/3;
        grid-row: 1;
        background-color: #262626
    }

    .contacts__item--phone .contacts__item-link {
        font-size: 23px
    }

    .footer {
        padding: 20px 0
    }

    .modal {
        max-width: calc(100% - 40px)
    }

    .modal__form {
        margin-top: 80px
    }

    .cookies {
        max-width: 100%;
        bottom: 0;
        right: 0
    }
}

@media (max-width:760px) {

    .about__title,
    .faq__title,
    .production__title {
        font-size: 30px
    }

    .about__label span,
    .faq__label span,
    .production__label span {
        font-size: 11px;
        margin-bottom: 16px
    }

    :root {
        --container-offset: 15px
    }

    .btn {
        border-radius: 3px;
        height: 43px
    }

    .mobile-menu__menu .header__nav-list {
        gap: 15px
    }

    .projects {
        padding-top: 35px
    }

    .projects__container .swiper-slide {
        width: 100%
    }

    .projects__slider-pagination {
        display: none
    }

    .projects {
        position: relative
    }

    .projects .section-header__actions {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        position: absolute;
        bottom: 40px;
        left: 50%;
        -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
        transform: translateX(-50%);
        gap: 7px
    }

    .project-slide {
        padding: 7px 7px 20px 7px
    }

    .project-slide::before {
        content: "Смотреть проект";
        width: calc(100% - 10px);
        height: 44px;
        text-align: center;
        text-decoration: none;
        font-weight: 500;
        font-size: 15px;
        line-height: 1.35;
        padding: 12px 28px;
        border-radius: 3px;
        background-image: initial;
        background-color: var(--pink);
        color: var(--white);
        margin-top: auto;
        margin-left: auto;
        margin-right: auto;
        top: initial;
        right: initial;
        position: relative;
        -webkit-box-ordinal-group: 100;
        -ms-flex-order: 99;
        order: 99
    }

    .project-slide__img {
        height: 267px
    }

    .project-slide__description {
        margin-bottom: 18px
    }

    .about {
        padding: 44px 0 30px;
        border-bottom: 0
    }

    .about__title {
        font-size: 28px !important;
        margin-bottom: 5px
    }

    .production {
        padding: 40px 0 60px
    }

    .production__title {
        margin-bottom: 5px
    }

    .production__slider .swiper-wrapper .swiper-slide {
        width: 269px
    }

    .production__slide {
        height: 282px
    }

    .production__slide-title {
        padding-left: 17px
    }

    .production__slide-text {
        min-height: 88px;
        padding-left: 17px;
        padding-right: 17px;
        padding-bottom: 25px
    }

    .faq {
        padding: 50px 0 50px
    }

    .faq__title {
        margin-bottom: 25px
    }

    .faq__manager-block {
        padding: 10px 10px 14px 15px;
        grid-template-columns: minmax(0, 1fr) 67px
    }

    .faq__manager-photo {
        grid-column: 2;
        grid-row: 1/3;
        width: 67px;
        height: 65px
    }

    .faq__manager-logo {
        top: 9px;
        right: initial;
        left: 15px;
        width: 26px
    }

    .faq__manager-name {
        margin-top: 54px;
        font-size: 19px
    }

    .faq__manager-phone:before {
        bottom: 4px;
        max-width: 200px
    }

    .faq__manager-phone {
        margin-top: 50px;
        font-size: 24px
    }

    .faq__item-header {
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        padding: 23px 17px
    }

    .faq__item-header::before {
        display: none
    }

    .faq__item-title {
        font-size: 17px;
        line-height: 1
    }

    .faq__item-text {
        padding: 15px 17px 35px
    }

    .partnership {
        padding: 44px 0 30px
    }

    .partnership__content {
        display: grid;
        grid-template-columns: 1fr;
        overflow: hidden
    }

    .partnership__btns {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
        border-radius: 6px;
        background: #1e1e1e;
        height: 40px;
        padding: 3px;
        margin-bottom: 15px
    }

    /* .partnership__item:nth-child(1) {
        height: 336px
    } */

    .partnership__item {
        grid-area: 1/1;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        width: 100%;
        height: auto;
        padding: 57px 18px 24px;
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        -webkit-transition: opacity .4s ease, visibility .4s ease;
        transition: opacity .4s ease, visibility .4s ease;
        max-height: 0
    }

    .partnership__item._active {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        max-height: initial
    }

    .partnership__item-label {
        display: none
    }

    .partnership__item-title {
        max-width: 100%
    }

    .partnership__item-btn-space{
        padding-top: 80px;
    }
    .partnership__item-btn {
        max-width: 100%;
        height: 46px
    }

    .reviews {
        padding-top: 30px;
        padding-bottom: 130px;
        position: relative
    }

    .reviews .section-header {
        margin-bottom: 16px
    }

    .reviews .section-header__actions {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        position: absolute;
        bottom: 40px;
        left: 50%;
        -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
        transform: translateX(-50%);
        gap: 7px
    }

    .reviews .section-header__content {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        gap: 16px;
        width: 100%
    }

    .reviews .section-header__title {
        max-width: 330px
    }

    .reviews__info {
        max-width: 100%;
        margin-top: 0;
        height: 59px;
        padding: 5px 7px 4px 5px
    }

    .reviews__info-logo {
        width: 49px;
        height: 42px
    }

    .reviews__info-rating {
        font-size: 15px;
        margin-bottom: 2px
    }

    .reviews__info-rating img {
        width: 55px
    }

    .reviews__info-title {
        font-size: 13px
    }

    .reviews__item-imgs {
        height: 197px;
        gap: 11px
    }

    .reviews__progress-bar {
        display: none
    }

    .reviews .swiper-slide {
        width: 100%
    }

    .custom-checkbox__content {
        font-size: 13px
    }

    .custom-checkbox__content::after {
        top: 8px
    }

    .custom-checkbox__content:before {
        -webkit-transform: translateY(4px);
        -ms-transform: translateY(4px);
        transform: translateY(4px)
    }

    .form__row {
        grid-template-columns: 1fr
    }

    .form__field .form__label {
        margin-top: 24px
    }

    .form__label {
        font-size: 12px;
        margin-top: 24px;
        margin-bottom: 9px
    }

    .form__group--checkbox {
        margin-bottom: 20px
    }

    .form__types {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }

    .form__type-content {
        font-size: 13px;
        padding: 10px 8px;
        gap: 8px
    }

    .form__upload-title {
        font-size: 15px;
        margin-bottom: 5px
    }

    .form__upload-description {
        font-size: 13px
    }

    .form--extended .form__group--checkbox {
        margin-bottom: 20px
    }

    .actions {
        padding-bottom: 0;
        padding-top: 10px
    }

    .actions__container {
        max-width: 100%;
        gap: 0;
        padding: 0;
        grid-template-rows: auto auto
    }

    .actions__socials {
        -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
        order: 2;
        background-image: initial;
        -webkit-backdrop-filter: blur(70.5px);
        backdrop-filter: blur(70.5px);
        background-color: #161616;
        padding: 40px var(--container-offset)
    }

    .actions__socials-logo {
        display: none
    }

    .actions__socials-title {
        font-size: 25px;
        max-width: 289px;
        margin-bottom: 0
    }

    .actions__socials-description {
        display: none
    }

    .actions__socials-list {
        margin-top: 55px
    }

    .actions__form .form__btn {
        margin-top: 22px
    }

    .actions__form {
        padding: 50px var(--container-offset);
        background-color: #161616;
        background-image: url(../img/actions/socials-bg.png);
        background-repeat: no-repeat;
        background-position: center center;
        background-size: cover
    }

    .actions__form .form__title {
        font-size: 25px
    }

    .actions__form .form__description {
        margin-bottom: 20px
    }

    .actions__form .form__input {
        -webkit-backdrop-filter: blur(88.1999969482px);
        backdrop-filter: blur(88.1999969482px);
        background: rgba(255, 255, 255, .1);
        color: var(--white);
        height: 46px
    }

    .actions__form .form__input::-webkit-input-placeholder {
        color: rgba(255, 255, 255, .52)
    }

    .actions__form .form__input::-moz-placeholder {
        color: rgba(255, 255, 255, .52)
    }

    .actions__form .form__input:-ms-input-placeholder {
        color: rgba(255, 255, 255, .52)
    }

    .actions__form .form__input::-ms-input-placeholder {
        color: rgba(255, 255, 255, .52)
    }

    .actions__form .form__input::placeholder {
        color: rgba(255, 255, 255, .52)
    }

    .actions__form .form__group--checkbox {
        margin-bottom: 22px
    }

    .actions__form .btn {
        height: 46px
    }

    .contacts {
        padding: 50px 0 66px
    }

    .contacts .section-header {
        margin-bottom: 0
    }

    .contacts__grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 8px;
        margin-top: 36px
    }

    .contacts__item--phone {
        grid-column: initial;
        background-color: #1b1b1b
    }

    .contacts__item--phone .contacts__item-link {
        font-size: 19px
    }

    .contacts__item--email {
        grid-row: 2
    }

    .contacts__item--location {
        grid-row: 3
    }

    .contacts__item--production {
        grid-row: 5
    }

    .contacts__item--opening-hours {
        grid-row: 4
    }

    .contacts .contacts__item-link,
    .contacts .contacts__item-text {
        font-size: 19px
    }

    .contacts__item-text {
        max-width: 80%
    }

    .map {
        height: 460px
    }

    .footer {
        padding: 20px 0 20px
    }

    .footer__container {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center
    }

    .footer .footer__link,
    .footer .footer__text {
        font-size: 13px
    }

    .modal {
        max-width: 100%;
        height: calc(var(--vh, 1vh) * 100);
        top: 0;
        left: 0;
        --modal-translate-hidden: translateY(28px);
        --modal-translate-active: translateY(0);
        -webkit-transform: var(--modal-translate-hidden);
        -ms-transform: var(--modal-translate-hidden);
        transform: var(--modal-translate-hidden);
        border-radius: 0;
        padding: 15px 20px
    }

    .modal__close {
        right: initial;
        top: 10px;
        left: 20px;
        background-color: var(--white);
        -webkit-mask-image: url(../img/icons/arrow.svg);
        mask-image: url(../img/icons/arrow.svg)
    }

    .modal__form {
        margin-top: 100px
    }

    .modal__container:before {
        margin-left: auto
    }

    .modal__container {
        max-width: 100%
    }

    .modal__container::after {
        content: "";
        width: 100vw;
        height: 1px;
        background-color: rgba(255, 255, 255, .19);
        position: absolute;
        z-index: 3;
        top: 30px;
        left: -20px
    }

    .modal__thx {
        gap: 20px;
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start
    }

    .modal__thx-title {
        margin-bottom: 12px;
        text-align: left;
        font-size: 25px
    }

    .modal__thx-text {
        margin-bottom: 230px;
        text-align: left
    }

    .modal__thx-img {
        width: 40px;
        height: 40px
    }

    .modal__thx-img img {
        width: 100%
    }

    .modal.modal--calculator {
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        top: 0;
        left: 0;
        width: 100%;
        height: 100dvh;
        max-height: 100dvh;
        padding: max(12px, env(safe-area-inset-top)) 20px max(12px, env(safe-area-inset-bottom));
        overflow: hidden;
        overflow-y: hidden;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column
    }

    .modal--calculator .modal__container {
        -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
        flex: 1 1 0;
        height: 0;
        max-width: 100%;
        max-height: 100%;
        position: relative;
        min-height: 0;
        overflow: hidden;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        padding-top: 56px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column
    }

    .modal--calculator .modal__container:before {
        position: absolute;
        top: 0;
        right: 0;
        left: auto;
        width: 120px;
        height: 15px;
        margin: 0;
        background-size: 100% auto
    }

    .modal--calculator .modal__form {
        margin-top: 0;
        -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
        flex: 1 1 0;
        height: 0;
        min-height: 0;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start;
        gap: 0;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        padding-bottom: 0;
        overflow-x: hidden;
        overflow-y: hidden
    }

    .modal--calculator .form--calculator .form__title {
        font-size: clamp(24px, 4vh, 30px);
        line-height: 1.05;
        margin-top: 0;
        margin-bottom: 16px
    }

    .modal--calculator .form--calculator .form__description {
        font-size: clamp(13px, 1.85vh, 15px);
        line-height: 1.35;
        margin-bottom: 24px
    }

    .modal--calculator .form__row {
        gap: clamp(8px, 1.15vh, 12px)
    }

    .modal--calculator .form__group {
        margin-bottom: 0
    }

    .modal--calculator .form__field--upload,
    .modal--calculator .form__field--types {
        margin-bottom: 0
    }

    .modal--calculator .form__field--upload {
        margin-bottom: 0;
        padding-bottom: 0
    }

    .modal--calculator .form__upload {
        min-height: clamp(56px, 7.2vh, 72px);
        padding: clamp(12px, 1.75vh, 17px) 18px;
        margin-bottom: 0
    }

    .modal--calculator .form__group--row:not(.form__group--phone) .form__input {
        padding: clamp(13px, 1.9vh, 18px) 18px;
        font-size: 15px
    }

    .modal--calculator .form__field .form__label {
        margin-top: 24px;
        margin-bottom: 9px
    }

    .modal--calculator .form__types {
        gap: clamp(4px, .85vh, 8px)
    }

    .modal--calculator .form__type-content {
        min-height: clamp(38px, 5.4vh, 46px);
        padding: clamp(10px, 1.35vh, 12px) 10px;
        font-size: clamp(13px, 1.85vh, 15px)
    }

    .modal--calculator .form__upload-title {
        font-size: clamp(14px, 1.9vh, 16px)
    }

    .modal--calculator .form__upload-description {
        display: block;
        font-size: 12px;
        line-height: 1.25;
        margin-top: 4px
    }

    .modal--calculator .form__group--checkbox {
        -webkit-flex-shrink: 0;
        -ms-flex-negative: 0;
        flex-shrink: 0;
        margin-top: 24px;
        margin-bottom: 0
    }

    .modal--calculator .custom-checkbox__content {
        font-size: clamp(12px, 1.75vh, 14px);
        line-height: 1.4
    }

    .modal--calculator .form__btn {
        -webkit-flex-shrink: 0;
        -ms-flex-negative: 0;
        flex-shrink: 0;
        min-height: clamp(46px, 6.2vh, 54px);
        margin-top: 20px !important
    }

    .modal--calculator .form__row .form__group .form__error.just-validate-error-label,
    .modal--calculator .form__group--checkbox .form__error.just-validate-error-label,
    .modal--calculator .form__field--types .form__error.just-validate-error-label {
        position: static;
        left: auto;
        bottom: auto;
        top: auto;
        display: block;
        margin-top: 4px;
        margin-bottom: 0;
        width: auto
    }

    .modal.modal--calculator:has(.just-validate-error-label) {
        overflow-y: auto;
        -webkit-overflow-scrolling: touch
    }

    .modal.modal--calculator:has(.just-validate-error-label) .modal__container {
        -webkit-box-flex: 0;
        -ms-flex: none;
        flex: none;
        height: auto;
        max-height: none;
        min-height: 100%;
        overflow: visible
    }

    .modal.modal--calculator:has(.just-validate-error-label) .modal__form {
        -webkit-box-flex: 0;
        -ms-flex: none;
        flex: none;
        height: auto;
        max-height: none;
        overflow: visible;
        padding-bottom: 8px
    }

    .modal--calculator._fit-compact .modal__container {
        padding-top: 58px
    }

    .modal--calculator._fit-compact .form--calculator .form__title {
        margin-bottom: 10px
    }

    .modal--calculator._fit-compact .form--calculator .form__description {
        margin-bottom: 14px
    }

    .modal--calculator._fit-compact .form__field .form__label {
        margin-top: 12px;
        margin-bottom: 7px
    }

    .modal--calculator._fit-compact .form__group--checkbox {
        margin-top: 12px
    }

    .modal--calculator._fit-compact .form__btn {
        margin-top: 12px !important
    }

    .modal--calculator._fit-compact .form__upload-description {
        display: none
    }

    .modal--calculator._fit-compact .form__upload {
        min-height: 52px;
        padding: 12px 18px
    }

    .modal--calculator._fit-compact-more {
        padding-bottom: max(8px, env(safe-area-inset-bottom))
    }

    .modal--calculator._fit-compact-more .modal__container {
        padding-top: 48px
    }

    .modal--calculator._fit-compact-more .form--calculator .form__title {
        margin-bottom: 8px
    }

    .modal--calculator._fit-compact-more .form--calculator .form__description {
        margin-bottom: 10px
    }

    .modal--calculator._fit-compact-more .form__field .form__label {
        margin-top: 10px;
        margin-bottom: 6px
    }

    .modal--calculator._fit-compact-more .form__group--checkbox {
        margin-top: 10px
    }

    .modal--calculator._fit-compact-more .form__btn {
        margin-top: 10px !important;
        min-height: 46px
    }

    .modal--calculator._fit-compact-more .form__type-content {
        min-height: 38px;
        padding: 8px 10px
    }

    .modal--calculator._fit-compact-more .form__upload {
        min-height: 46px;
        padding: 10px 16px
    }

    .modal--calculator._fit-compact-more .form__group--row:not(.form__group--phone) .form__input {
        padding: 12px 16px
    }

    .modal--calculator._fit-compact-more .form__row {
        gap: 8px
    }

    .cookies {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start;
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start;
        padding: 12px var(--container-offset);
        gap: 11px
    }

    .cookies__btn {
        width: 100%
    }
}

@media (max-width:760px) and (hover:hover) {
    .project-slide::before:hover {
        outline: 0;
        background-color: var(--white);
        color: var(--black)
    }
}

@media (max-width:760px) and (hover:none) {
    .project-slide::before:active {
        outline: 0;
        background-color: var(--white);
        color: var(--black)
    }
}

@media (max-width:576px) {
    .mobile-menu {
        max-width: 330px;
        padding: 20px
    }

    .about__slide {
        width: 269px;
        height: 239px
    }

    .contacts__item {
        height: 120px;
        padding-bottom: 12px
    }
}

@media (hover:hover) {
    .btn--primary:hover {
        outline: 0;
        background-color: var(--white);
        color: var(--black)
    }

    .btn--secondary:hover {
        outline: 0;
        background-color: var(--pink);
        color: var(--white)
    }

    .project-slide__img::before:hover {
        outline: 0;
        background-color: var(--pink)
    }

    .project-slide:hover {
        outline: 0
    }

    .project-slide:hover .project-slide__img img {
        -webkit-transform: scale(1.1);
        -ms-transform: scale(1.1);
        transform: scale(1.1)
    }

    .project-slide:hover .project-slide__img::after {
        opacity: .44
    }

    .project-slide:hover .project-slide__img::before {
        opacity: 1
    }

    .production__slide:hover {
        outline: 0;
        background-color: rgba(171, 171, 171, .09)
    }

    .faq__manager-phone:hover {
        outline: 0;
        color: var(--pink)
    }

    .faq__manager-phone:hover::before {
        opacity: 0
    }

    .faq__item:hover {
        outline: 0;
        background-color: #2f2f2f
    }

    .partnership__item:hover {
        outline: 0;
        background-color: #2f2f2f
    }

    .partnership__item:hover::before {
        opacity: 1
    }

    .reviews__item-more:hover {
        outline: 0;
        border-color: transparent
    }

    .form__upload-item-remove:hover {
        outline: 0;
        background-color: rgba(255, 90, 90, .35)
    }

    .actions__socials-link:hover {
        outline: 0;
        background-color: var(--white);
        color: var(--pink)
    }

    .contacts__item:hover {
        outline: 0;
        background-color: #2f2f2f
    }

    .footer__link:hover {
        outline: 0;
        color: var(--pink)
    }
}

@media (hover:none) {
    .btn--primary:active {
        outline: 0;
        background-color: var(--white);
        color: var(--black)
    }

    .btn--secondary:active {
        outline: 0;
        background-color: var(--pink);
        color: var(--white)
    }

    .project-slide__img::before:active {
        outline: 0;
        background-color: var(--pink)
    }

    .project-slide:active {
        outline: 0
    }

    .project-slide:active .project-slide__img img {
        -webkit-transform: scale(1.1);
        -ms-transform: scale(1.1);
        transform: scale(1.1)
    }

    .project-slide:active .project-slide__img::after {
        opacity: .44
    }

    .project-slide:active .project-slide__img::before {
        opacity: 1
    }

    .production__slide:active {
        outline: 0;
        background-color: rgba(171, 171, 171, .09)
    }

    .faq__manager-phone:active {
        outline: 0;
        color: var(--pink)
    }

    .faq__manager-phone:active::before {
        opacity: 0
    }

    .faq__item:active {
        outline: 0;
        background-color: #2f2f2f
    }

    .partnership__item:active {
        outline: 0;
        background-color: #2f2f2f
    }

    .partnership__item:active::before {
        opacity: 1
    }

    .reviews__item-more:active {
        outline: 0;
        border-color: transparent
    }

    .form__upload-item-remove:active {
        outline: 0;
        background-color: rgba(255, 90, 90, .35)
    }

    .actions__socials-link:active {
        outline: 0;
        background-color: var(--white);
        color: var(--pink)
    }

    .contacts__item:active {
        outline: 0;
        background-color: #2f2f2f
    }

    .footer__link:active {
        outline: 0;
        color: var(--pink)
    }
}