/* HEADER */

.header {
    width: 100%;
    background-color: transparent;
    padding-top: 0;
    z-index: 100;
}

.header:has(.header__search-panel.__active) {
    background-color: white;
}

.header:not(.header--home)::before {
    content: unset;
    background-color: transparent;
}

body.header-white .header {
    background-color: white;
    transition: all 0.3s ease;
}

.header__wrapper {
    background-color: transparent;
    max-width: 1920px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 20px 60px;
}

.header__logo-container {
    background: white;
    width: fit-content;
}

.header .logo {
    position: relative;
    left: auto;
    top: auto;
    max-width: unset;
}

.header .btn {
    color: white;
}

.header .btn:hover {
    color: var(--Red);
}

.header .btn.btn--head_red:hover {
    color: #fff;
}

.header__search-btn__big {
    color: white;
    transition: all 0.3s ease;
}

.header__search-btn__big:hover {
    color: var(--Red);
}

.header__search-btn {
    color: var(--Red);
}

.header__search-btn:hover {
    color: var(--dark-red);
}

.hamburger__text {
    color: white;
    font-family: var(--sec-font);
    text-transform: none;
}

.hamburger__box .line {
    background: white;
}

.hamburger:hover .hamburger__box .line {
    background: var(--Red);
}

.hamburger:hover .hamburger__text {
    color: var(--Red);
}

.header__col--menu {
    margin: 0;
    display: flex;
    align-items: center;
    gap: 20px;
    flex-grow: 1;
}

.header:has(.hamburger--active),
body.header-white .header,
.page:not(.page--home) {
    .hamburger__box .line {
        background: var(--Red);
    }

    .hamburger__text {
        color: var(--Red);
    }

    .btn {
        color: var(--Red);
    }

    .btn:hover {
        color: var(--Black);
    }

    .header__search-btn__big {
        color: var(--Red);
    }

    .header__search-btn__big:hover {
        color: var(--Black);
    }

    .border-white {
        border-color: var(--Red) !important;
    }

    .btn--head_red {
        background-color: unset;
        border: 1px solid var(--Red);
    }

    .border-white:hover {
        border-color: var(--Black) !important;
    }

    .hamburger:hover .hamburger__box .line {
        background: var(--Black);
    }

    .hamburger:hover .hamburger__text {
        color: var(--Black);
    }
}

.page:not(.page--home) .header {
    background-color: white;
}

.header .header__col--rightbar {
    margin: 0;
}

.nav {
    z-index: 11;
}

.subnav__item:nth-child(n + 2) {
    margin-top: 20px;
}

.header__rightbar .header__materials,
.header .header__feedback {
    margin-right: 0;
}

.header__rightbar .btn--arrow_none {
    padding-left: 0;
    padding-right: 0;
}

.header__col--search,
.header__search {
    width: auto;
}

.header__search-form {
    padding-left: 350px;
}

@media screen and (max-width: 1599px) {
    .header .header__rightbar {
        gap: 20px;
    }
}

@media screen and (max-width: 1279px) {
    .header__rightbar .header__materials:nth-child(1),
    .header__rightbar .header__materials:nth-child(2) {
        display: none;
    }

    .header__col--rightbar {
        order: 2;
    }

    .header__wrapper {
        padding: 16px 40px;
    }

    .header .header__col--rightbar {
        display: flex;
    }

    .header .header__col--rightbar .btn {
        font-size: 14px;
        line-height: 1.2;
    }

    .hamburger__box-w {
        width: 30px;
    }

    .header__search-form {
        padding-left: 250px;
    }
}

@media screen and (max-width: 1023px) {
    .hamburger__text {
        display: none;
    }

    .header .logo {
        width: 68px;
        height: 76px;
    }

    .header__col--menu {
        flex-grow: unset;
        order: 3;
    }

    .header__wrapper {
        gap: 20px;
    }

    .header__search-btn__big svg {
        width: 24px;
        height: 24px;
    }

    .header__search-form {
        padding-left: 160px;
    }
}

@media screen and (max-width: 767px) {
    .header__feedback {
        display: none;
    }

    .header__wrapper {
        padding: 16px;
    }

    .header__materials .btn {
        padding: 8px 0;
    }
}

/* MAIN */

.main {
    margin-top: var(--header_height);
}

.page:has(.top-slider) .main {
    margin-top: 0;
}

.main > section:nth-child(1) {
    margin-top: 0;
    padding-top: 0;
}

.main > .page-head {
    margin-top: 0;
    padding-top: 0;
}

/* TOP SLIDER */

.top-slider {
    background: var(--dark-gray);
    padding: 0;
}

.top-slider picture::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.2);
    z-index: 2;
    pointer-events: none;
}

.top-slider picture,
.top-slider picture img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    aspect-ratio: 1920/868;
    max-height: unset;
}

.top-slider__text {
    position: absolute;
    top: 33.18%;
    left: 144px;
    max-width: 1000px;
    color: white;
    font-family: var(--sec-font);
    font-weight: 700;
    font-size: 48px;
    line-height: 60px;
    letter-spacing: 0.03em;
    z-index: 10;
}

.top-slider__title {
    font-family: var(--sec-font);
    font-weight: 700;
    font-size: clamp(40px, 4.6875vw, 90px);
    line-height: 0.8;
    letter-spacing: 0.03em;
    text-transform: none;
    width: 64.896vw;
}

.top-slider__desc {
    margin-top: 25px;
    font-family: var(--sec-font);
    font-weight: 700;
    font-size: clamp(24px, 1.875vw, 36px);
    line-height: 1.2;
    letter-spacing: 0.03em;
    text-transform: none;
}

.top-slider__btn {
    margin-top: 130px;
}

.top-slider__btn-mobile {
    display: none;
}

.top-slider__btn:hover {
    background: var(--Red);
    color: white;
    border-color: var(--Red) !important;
}

.top-slider__video {
    display: flex;
    gap: 20px;
    padding: 60px;
    background: white;
    position: absolute;
    right: 0;
    bottom: 0;
    max-width: 600px;
    max-width: 778px;
    font-weight: 700;
    font-size: 18px;
    line-height: 28px;
    letter-spacing: 0.03em;
    z-index: 10;
}

.top-slider__video p + p {
    margin-top: 10px;
}

.top-slider__video-title {
    color: var(--gray);
}

.top-slider__video-desc {
    font-size: 18px;
    font-weight: 700;
    line-height: 28px;
    letter-spacing: 0.03em;
}

.top-slider__video .video-preview {
    flex-shrink: 0;
}

.top-slider__slider-counter {
    position: absolute;
    top: 36.87%;
    right: clamp(20px, 15.21vw, 292px);
    color: white;
    z-index: 10;
    display: flex;
    align-items: flex-start;
    gap: 23px;
    font-family: var(--sec-font);
}

.top-slider__total-slides {
    color: white;
    font-weight: 700;
    font-size: 36px;
    line-height: 1.2;
    letter-spacing: 0.03em;
}

.top-slider__time-bar {
    width: 5px;
    height: 99px;
    position: relative;
    background: white;
}

.top-slider__time-bar-bg {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 0;
    background-color: var(--Red);
    transform-origin: bottom;
    animation-timing-function: linear;
    animation-fill-mode: forwards;
    animation-duration: 5s;
}

.top-slider__time-bar.animate .top-slider__time-bar-bg {
    animation-name: timeBarAnimation;
}

@keyframes timeBarAnimation {
    from {
        height: 0;
    }
    to {
        height: 100%;
    }
}

.top-slider__pagination {
    position: absolute;
    top: 33.18%;
    left: 108px;
    flex-direction: column;
    z-index: 10;
    margin-top: 10px;
}

@media screen and (max-width: 1599px) {
    .top-slider__video {
        padding: 40px;
    }

    .top-slider__slider-counter {
        right: 60px;
    }
}

@media screen and (max-width: 1279px) {
    .top-slider__slider-counter {
        top: auto;
        right: 40px;
        bottom: 265px;
    }

    .top-slider picture,
    .top-slider picture img {
        height: 824px;
        aspect-ratio: unset;
    }

    .top-slider__pagination {
        left: 40px;
    }

    .top-slider__text {
        left: 76px;
    }

    .top-slider__btn {
        display: none;
    }

    .top-slider__btn-mobile {
        display: block;
        position: absolute;
        left: 76px;
        bottom: 265px;
    }

    .top-slider__desc {
        margin-top: 16px;
    }

    .top-slider__video {
        height: 225px;
    }

    .top-slider__video-title {
        overflow: hidden;
        text-overflow: ellipsis;
        display: -webkit-box;
        -webkit-line-clamp: 1;
        -webkit-box-orient: vertical;
    }

    .top-slider__video-desc {
        overflow: hidden;
        text-overflow: ellipsis;
        display: -webkit-box;
        -webkit-line-clamp: 4;
        -webkit-box-orient: vertical;
    }

    .top-slider__total-slides {
        font-size: 32px;
    }
}

@media screen and (max-width: 1023px) {
    .top-slider__video {
        left: 0;
        max-width: unset;
        width: 100%;
    }
}

@media screen and (max-width: 767px) {
    .top-slider__pagination {
        left: 16px;
        top: 138px;
    }

    .top-slider__text {
        top: 138px;
        left: 54px;
    }

    .top-slider__video {
        padding: 16px;
        flex-direction: column;
        gap: 20px;
        height: auto;
    }

    .top-slider__video-title {
        font-size: 16px;
        font-weight: 700;
        line-height: 1.2;
        letter-spacing: 0.03em;
    }

    .top-slider__video-desc {
        -webkit-line-clamp: 3;
        font-size: 12px;
        font-weight: 400;
        line-height: 1.2;
        letter-spacing: 0.03em;
        margin-top: 8px;
    }

    .top-slider__slider-counter {
        right: 16px;
        bottom: 304px;
    }

    .top-slider picture,
    .top-slider picture img {
        height: 668px;
        aspect-ratio: unset;
    }

    .top-slider__btn-mobile {
        display: block;
        position: absolute;
        left: 54px;
        bottom: 304px;
    }

    .top-slider__time-bar {
        height: 46px;
    }

    .top-slider__total-slides {
        font-size: 18px;
    }

    .top-slider__slider-counter {
        gap: 16px;
    }

    .top-slider__video .video-preview {
        width: 100%;
        height: 145px;
    }

    .top-slider__title {
        font-size: 32px;
    }

    .top-slider__desc {
        font-size: 24px;
    }
}

/* COUNTER */

.counter {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    font-family: var(--sec-font);
    font-weight: 700;
    font-size: 80px;
    line-height: 96px;
    height: 96px;
    overflow: hidden;
    position: relative;
}

.counter__number {
    transition: unset;
}

.counter.animate .counter__number {
    transform: translateY(-100%);
    transition: transform 0.5s ease;
}

@media screen and (max-width: 1279px) {
    .counter {
        font-size: 48px;
        line-height: 58px;
        height: 58px;
        align-self: center;
    }
}

@media screen and (max-width: 1279px) {
    .counter {
        font-size: 32px;
        line-height: 1.2;
        height: 38px;
        align-self: center;
    }
}

/* VIDEO PREVIEW */

.video-preview {
    position: relative;
    width: 228px;
    height: 145px;
}

.video-preview img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.video-preview__btn {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background-color: white;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    pointer-events: none;
    transition: all 0.3s ease;
}

.video-preview:hover .video-preview__btn {
    transform: translate(-50%, -50%) scale(1.2);
}

.video-preview__btn::before {
    content: "";
    width: 16px;
    height: 16px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    pointer-events: none;
    transition: all 0.3s ease;
    background-image: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4 16V1L16 8.28571L4 16Z' fill='%23EF4836'/%3E%3C/svg%3E%0A");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

/* ACCORDION */

.accordion {
    display: flex;
    flex-direction: column;
    gap: 60px;
    max-width: 1026px;
}

.accordion__item,
.accordion__item:first-child {
    border: none;
}

.accordion__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    cursor: pointer;
    padding: 0;
}

.accordion__title {
    font-family: var(--sec-font);
    font-weight: 700;
    font-size: 36px;
    line-height: 48px;
    letter-spacing: 0.03em;
    display: flex;
    align-items: center;
    gap: 40px;
}

.accordion__item-point {
    width: 12px;
    height: 12px;
    background-color: var(--Red);
    border-radius: 50%;
    margin: 0 8px;
    flex-shrink: 0;
}

.accordion__head * {
    pointer-events: none;
}

.accordion__icon {
    width: 27px;
    height: 27px;
    background-image: url("data:image/svg+xml,%3Csvg width='27' height='27' viewBox='0 0 57 57' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M40.2613 44.5911C36.6297 48.2227 32.9988 51.8549 29.3666 55.485C28.5121 56.3382 28.488 56.3373 27.6368 55.4904C27.2887 55.1435 26.957 54.7809 26.5935 54.4526C26.2172 54.113 26.0838 53.7103 26.0946 53.2034C26.1404 50.9706 26.1585 48.7379 26.1907 46.5054C26.2792 40.2997 26.306 34.0936 26.3574 27.8879C26.3856 24.4089 26.3799 20.9297 26.453 17.4508C26.5596 12.3965 26.5653 7.34338 26.6185 2.28989C26.6201 2.1248 26.626 1.96115 26.6377 1.79641C26.6545 1.5701 26.7902 1.44696 27.0084 1.44862C27.8774 1.457 28.746 1.47211 29.6143 1.49373C29.8708 1.5008 29.9829 1.67037 29.9962 1.9116C30.0045 2.07599 30.0072 2.23979 30.0052 2.40488C29.93 11.69 29.8983 20.976 29.7619 30.2605C29.6696 36.5601 29.6541 42.8592 29.5652 49.1588C29.5625 49.2995 29.5517 49.4414 29.5659 49.5811C29.5855 49.7789 29.4829 50.048 29.744 50.1327C29.9783 50.2092 30.1216 49.9842 30.2746 49.845C30.4834 49.6528 30.6803 49.4476 30.881 49.2469C36.8054 43.3225 42.7292 37.3987 48.6544 31.4747C48.8714 31.2578 49.0911 31.041 49.3239 30.8399C49.5729 30.6263 49.8492 30.6204 50.0924 30.8336C50.654 31.3271 51.1843 31.8545 51.6742 32.4176C51.8899 32.665 51.8631 32.9376 51.6449 33.1829C51.4707 33.3771 51.2886 33.5634 51.1051 33.7469C47.4902 37.3626 43.8758 40.9771 40.2609 44.5919L40.2613 44.5911Z' fill='%23231F20'/%3E%3Cpath d='M23.3346 51.4713C23.0299 51.3705 22.8787 51.1525 22.7001 50.9739C17.4167 45.6947 12.1354 40.4135 6.85521 35.1311C6.05166 34.3276 6.05465 34.2891 6.88697 33.4535C7.2378 33.1005 7.58173 32.7408 7.94943 32.4081C8.31037 32.0805 8.50693 32.0838 8.87349 32.3823C9.03599 32.5139 9.18091 32.6686 9.32944 32.8171C13.7859 37.2723 18.2337 41.737 22.7079 46.1753C23.2839 46.7458 23.5708 47.335 23.5123 48.1566C23.4501 49.0232 23.4931 49.8951 23.478 50.7647C23.4743 50.9903 23.5422 51.2353 23.3346 51.4713Z' fill='%23231F20'/%3E%3C/svg%3E ");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    transform: rotate(180deg);
    flex-shrink: 0;
}

.accordion__item.active .accordion__icon {
    transform: rotate(0);
}

.accordion__title {
    font-family: var(--sec-font);
    font-weight: 700;
    font-size: 36px;
    line-height: 1.2;
    letter-spacing: 0.03em;
}

.accordion__content {
    padding: 0 38px 0 0;
    height: 0;
    overflow: hidden;
    transition: all 0.3s ease;
    font-weight: 400;
    font-size: 18px;
    line-height: 1.2;
    letter-spacing: 0.03em;
}

.accordion__item:has(.accordion__item-point) .accordion__content {
    padding-left: 68px;
}

.accordion__item.active .accordion__content {
    padding: 20px 38px 0 0;
    height: auto;
}

.accordion__item:has(.accordion__item-point).active .accordion__content {
    padding: 20px 38px 0 68px;
}

.accordion__button {
    padding: 15px;
    border: 1px solid var(--Red);
}

.accordion__button:hover {
    color: var(--black);
    border-color: var(--Black);
}

.accordion__item.active .accordion__button {
    margin-top: 60px;
}

@media screen and (max-width: 1279px) {
    .accordion__title {
        font-size: 24px;
        gap: 16px;
    }

    .accordion__content {
        font-size: 16px;
    }

    .accordion__item.active .accordion__button {
        margin-top: 40px;
    }

    .accordion__item:has(.accordion__item-point) .accordion__content {
        padding-left: 44px;
    }
}

@media screen and (max-width: 767px) {
    .accordion__title {
        font-size: 18px;
    }

    .accordion__item.active .accordion__button {
        margin-top: 20px;
    }
}

/* SECTION */

section {
    margin-top: 140px;
}

.section__wrapper {
    max-width: 1920px;
    margin: 0 auto;
    padding: 0 104px;
    display: flex;
    flex-direction: column;
    gap: 60px;
}

.section__grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 120px;
    align-items: flex-start;
    position: relative;
}

.section__grid .accordion,
.section__form {
    margin-top: 60px;
}

.reveal {
    transition: all 0.3s ease;
}

.section__grid .reveal {
    position: sticky;
    top: 0;
}

.section__title {
    font-family: var(--sec-font);
    font-weight: 700;
    font-size: 60px;
    line-height: 76px;
    letter-spacing: 0.03em;
    text-transform: none;
    max-width: 916px;
    margin-bottom: 60px;
}

@media screen and (max-width: 1279px) {
    section {
        margin-top: 80px;
    }

    .section__wrapper {
        padding: 0 40px;
        gap: 40px;
    }

    .section__title {
        font-size: 40px;
        line-height: 1.2;
    }

    .section__grid {
        gap: 60px;
    }

    .section__grid .accordion,
    .section__form {
        margin-top: 40px;
    }

    .section .slider__col {
        margin: 0;
    }
}

@media screen and (max-width: 1023px) {
    section {
        margin-top: 64px;
    }

    .section__grid {
        gap: 30px;
        grid-template-columns: 1fr;
    }

    .section__grid .accordion,
    .section__form {
        margin-top: 0;
    }

    .section__grid .reveal {
        position: relative;
        top: auto;
    }
}

@media screen and (max-width: 767px) {
    .section__wrapper {
        padding: 0 16px;
        gap: 16px;
    }

    .section__title {
        font-size: 24px;
    }
}

/* SWIPER */

.swiper-basement__arrows {
    gap: 60px;
}

.swiper-basement__arrows:has(.swiper-basement__pagination) {
    gap: 30px;
}

.swiper-basement__pagination {
    white-space: nowrap;
}

.swiper-basement__arrow--next {
    margin: 0 !important;
}

.swiper-basement__title {
    font-family: var(--sec-font);
    font-weight: 700;
    font-size: 36px;
    line-height: 1.2;
    letter-spacing: 0.03em;
    text-transform: none;
}

@media screen and (max-width: 1023px) {
    .swiper-basement__arrows {
        gap: 40px;
    }

    .swiper-basement__title {
        font-size: 24px;
    }

    .swiper-basement__arrows {
        position: relative;
        top: auto;
        left: auto;
    }
}

@media screen and (max-width: 767px) {
    .main-projects-slider .swiper-basement,
    .new-swiper .swiper-basement {
        flex-direction: column-reverse;
        gap: 32px;
        margin-top: 40px;
    }
}

/* NEWS */

.card-news__text {
    font-family: var(--sec-font);
    font-weight: 700;
    font-size: 36px;
    line-height: 48px;
    letter-spacing: 0.03em;
    text-transform: none;
}

@media screen and (max-width: 1279px) {
    .card-news__text {
        font-size: 24px;
        line-height: 1.2;
    }
}

@media screen and (max-width: 767px) {
    .card-news__text {
        font-size: 18px;
        line-height: 1.2;
    }
}

/* ADVANTAGES */

.advantages {
    display: flex;
    flex-direction: column;
    gap: 40px;
}

.advantages__block {
    display: flex;
    gap: 40px;
}

.advantages__block_wide {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
}

.advantages__picture {
    height: 368px;
    width: 100%;
    flex-grow: 1;
    object-fit: cover;
    object-position: center;
}

.advantages__picture_bottom {
    background-position: left bottom;
    background-repeat: no-repeat;
    background-size: 150%;
}

.advantages__picture_top {
    background-position: 15% -20px;
    background-repeat: no-repeat;
    background-size: 210%;
    min-width: 620px;
}

.advantages__picture_top-wide {
    background-position: 75% 90%;
    background-repeat: no-repeat;
    background-size: 105%;
}

.advantages__picture_mid {
    background-position: 85% 25%;
    background-repeat: no-repeat;
    background-size: 140%;
    min-width: 620px;
}

.advantages__picture_mid-wide {
    background-position: 0 70%;
    background-repeat: no-repeat;
    background-size: 100%;
}

.advantages__content {
    font-weight: 700;
    font-size: 18px;
    line-height: 28px;
    letter-spacing: 0.54px;
    border: 2px solid var(--gray);
    background: white;
    padding: 60px;
    display: flex;
    align-items: center;
    max-width: 470px;
}

.advantages__content_title {
    font-family: var(--sec-font);
    font-weight: 700;
    font-size: 36px;
    line-height: 48px;
    letter-spacing: 1.08px;
    padding: 40px;
    color: white;
    border: none;
    background: var(--Red);
    min-width: 377px;
}

.advantages__picture_mobile {
    display: none;
}

.advantages__block_wide .advantages__picture {
    object-position: left center;
}

.advantages__block_wide .advantages__content_title {
    max-width: unset;
    min-width: unset;
}

@media screen and (max-width: 1599px) {
    .advantages__content {
        padding: 40px;
        font-size: 16px;
        line-height: 1.2;
    }

    .advantages__content_title {
        font-size: 28px;
        line-height: 1.2;
    }

    .advantages__picture_mid {
        background-position: 35% 25%;
        height: 300px;
    }
}

@media screen and (max-width: 1279px) {
    .advantages {
        gap: 20px;
    }

    .advantages__picture_mobile {
        display: block;
    }

    .advantages__picture_desktop {
        display: none;
    }

    .advantages__block {
        flex-direction: column;
        gap: 8px;
    }

    .advantages__block_wide {
        display: flex;
    }

    .advantages__picture {
        order: 1;
        width: 100%;
        height: auto;
        height: 457px;
    }

    .advantages__picture_top,
    .advantages__picture_mid,
    .advantages__picture_bottom {
        background-size: cover;
        background-position: center;
        min-width: unset;
    }

    .advantages__content {
        order: 3;
        max-width: unset;
        padding: 24px;
    }

    .advantages__content_title {
        order: 2;
        font-size: 18px;
        line-height: 1.2;
        padding-right: 252px;
    }

    .advantages__block:has(.advantages__content) .advantages__picture {
        max-width: unset;
    }

    .advantages__block:not(:has(.advantages__content)) {
        display: none;
    }
}

@media screen and (max-width: 1023px) {
    .advantages__content {
        padding: 20px;
    }

    .advantages__block:has(.advantages__content) .advantages__picture {
        max-width: unset;
    }

    .advantages__content_title {
        min-width: unset;
    }
}

/* СLIENTS */

.clients-swiper .swiper-wrapper {
    transition-timing-function: linear !important;
}

.clients-swiper__slide {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 60px;
    min-height: 160px;
    background: white;
    border: 1px solid var(--light-grey);
    width: auto;
}

.clients-swiper__slide img {
    max-height: 100px;
    width: auto;
    height: 100%;
    object-fit: contain;
    object-position: center;
    user-select: none;
}

@media screen and (max-width: 1023px) {
    .clients-swiper__slide {
        padding: 0 50px;
    }

    .clients-swiper__slide img {
        max-height: 60px;
    }
}

@media screen and (max-width: 767px) {
    .clients-swiper__slide {
        padding: 0 40px;
    }

    .clients-swiper__slide img {
        max-height: 50px;
    }
}

/* FOOTER */

.footer__wrapper {
    max-width: 1920px;
    margin: 0 auto;
    padding: 0 60px;
}

.footer-subscribe__title {
    font-family: var(--sec-font);
    font-size: 36px;
    font-weight: 700;
    line-height: 48px;
    letter-spacing: 0.03em;
    text-transform: none;
}

.footer-nav__item:first-child .footer-nav__link,
.footer-nav__col:last-child .footer-nav__link {
    font-family: var(--sec-font);
    font-size: 20px;
    font-weight: 700;
    line-height: 24px;
    letter-spacing: 0.03em;
    text-transform: none;
}

@media screen and (max-width: 1279px) {
    .footer__wrapper {
        padding: 0 40px;
    }

    .footer-subscribe__title {
        font-size: 24px;
        line-height: 1.2;
    }

    .footer-main__col--right {
        width: auto;
        flex: unset;
    }

    .footer-main__col--right .footer-nav {
        display: grid;
        grid-template-columns: repeat(2, auto);
        gap: 32px;
    }

    .footer-main__col--right .footer-nav__col:nth-child(3) {
        grid-column: span 2;
    }

    .footer-secondary {
        padding-left: 0;
        padding-top: 24px;
    }
}

@media screen and (max-width: 767px) {
    .footer__wrapper {
        padding: 0 16px;
    }
}

/* PANEL */

.panel {
    z-index: 110;
}

/* CERTIFICATES */

.certificate__image {
    width: 100%;
    height: auto;
    object-fit: contain;
    object-position: center;
    background: white;
    border: 1px solid var(--light-grey);
    aspect-ratio: 1/1;
}

.certificate__title {
    color: var(--Black);
    font-size: 18px;
    font-weight: 400;
    line-height: 28px;
    letter-spacing: 0.03em;
    margin-top: 20px;
}

.certificate__slide {
    height: auto;
    display: flex;
    flex-direction: column;
    gap: 4px;
    justify-content: space-between;
}

a.certificate__link {
    padding-left: 0;
}

.certificate .swiper-basement {
    margin-top: 0;
}

@media screen and (max-width: 1023px) {
    .certificate__title {
        font-size: 16px;
        line-height: 1.2;
    }
}

@media screen and (max-width: 767px) {
    .certificate__title {
        font-size: 12px;
    }

    a.certificate__link {
        padding: 6px 0 0 0;
        font-size: 12px;
    }

    a.certificate__link::after {
        font-size: 10px;
        margin-left: 2px;
    }
}

/* FORM */

.form__title {
    font-family: var(--sec-font);
    font-size: 36px;
    font-weight: 700;
    line-height: 48px;
    letter-spacing: 0.03em;
}

.form-section__reveal img {
    height: 820px;
    width: 100%;
    object-fit: cover;
    object-position: center;
}

.section__form .form__title {
    margin: 0;
}

.section__form .form__description {
    margin: 20px 0 0;
}

.form__privacy {
    position: relative;
}

.form__privacy:has(.input-validation-error) span,
.form__row:has(.input-validation-error) span {
    color: #f50000;
}

@media screen and (max-width: 1279px) {
    .form-section__reveal img {
        height: 600px;
    }

    .form__title {
        font-size: 24px;
        line-height: 1.2;
    }
}

@media screen and (max-width: 1023px) {
    .form-section__reveal img {
        height: 376px;
        order: 2;
    }

    .form-section .reveal {
        order: 2;
    }
}

@media screen and (max-width: 767px) {
    .form__title {
        font-size: 18px;
    }
}

/* OTHER */

.main-projects-slide,
.new-swiper {
    .swiper-slide {
        height: auto;
    }

    .swiper-slide img {
        height: 100%;
    }
}

.swiper-slide img.product-slider__overlow-bg {
    position: absolute;
    top: 0;
    object-fit: fill;
}

/* SOCIALS */

.social {
    display: flex;
    align-items: center;
    gap: 5px;
}

.social__link-icon {
    width: 50px;
    height: 50px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* BREADCRUMBS */

.breadcrumbs {
    margin: 0 0 0 64px;
}

@media screen and (max-width: 1279px) {
    .breadcrumbs {
        margin: 0;
    }
}

/* TEXT */

.text {
    font-weight: 400;
    font-size: 18px;
    line-height: 28px;
    letter-spacing: 0.03em;
    display: flex;
    flex-direction: column;
    gap: 15px;
    margin-top: 40px;

    h1 {
        display: none;
    }

    h2,
    h3,
    h4 {
        font-weight: 600;
        font-size: 18px;
        line-height: 28px;
        letter-spacing: 0.03em;
    }

    p {
        margin: 0;
    }

    ul,
    ol {
        padding: 0;
        margin: 0;
        list-style-type: none;
        display: flex;
        flex-direction: column;
        gap: 15px;
    }

    ul li,
    ol li {
        position: relative;
        padding-left: 40px;
        display: flex;
        flex-direction: column;
        gap: 5px;
    }

    ul li::before,
    ol li::before {
        content: "";
        position: absolute;
        left: 8px;
        top: 8px;
        width: 8px;
        height: 8px;
        background: var(--Red);
        border-radius: 50%;
    }
}

@media screen and (max-width: 1279px) {
    .text {
        font-size: 16px;
        line-height: 1.2;
    }
}

@media screen and (max-width: 767px) {
    .text {
        font-size: 12px;
    }
}

/* TAB */

.tab {
    display: flex;
    flex-direction: column;
    gap: 60px;
}

.tab .text {
    margin-top: 0;
}

.tab__content-wrapper {
    display: flex;
    flex-direction: column;
    gap: 60px;
}

.tab__content-wrapper:has(.tab__item_img) {
    margin-left: 0;
}

.tab__head {
    display: flex;
    align-items: center;
    gap: 16px 60px;
    flex-wrap: wrap;
    width: 100%;
    background-color: #fff;
    top: 119px;
    z-index: 10;
    left: 0;
    right: 0;
    position: sticky;
    padding: 0 0 30px 0;
    margin-bottom: 60px;
}

.tab__button {
    font-family: var(--sec-font);
    font-weight: 700;
    font-size: 36px;
    line-height: 48px;
    letter-spacing: 0.03em;
    background: transparent;
    color: var(--gray);
    padding: 0;
    border: none;
    cursor: pointer;
}

.tab__button.active,
.tab__button:hover {
    color: var(--Black);
}

.tab__content {
    display: none;
    margin-top: 60px;
}

.tab__content.active {
    display: block;
}

.tab__item {
    display: grid;
    grid-template-columns: minmax(250px, 544px) 1fr;
    gap: 180px;
}

.tab__content-wrapper:has(.tab__item_img) .tab__item {
    grid-template-columns: 1fr 1fr;
}

.tab__title {
    font-family: var(--sec-font);
    font-weight: 700;
    font-size: 36px;
    line-height: 48px;
    letter-spacing: 0.03em;
}

.tab__title_text {
    position: relative;
    padding-left: 104px;
    font-size: 36px;
    line-height: 48px;
}

.tab__title_text::before {
    content: " ";
    width: 56px;
    height: 56px;
    background-image: url("data:image/svg+xml,%3Csvg width='56' height='56' viewBox='0 0 56 56' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M32.284 0.00305315C39.4695 0.00305315 46.6538 0.00181459 53.8394 0.0038802C55.5336 0.0038802 55.5851 0.0555172 55.5913 1.69685C55.5947 2.41609 55.5788 3.13451 55.5892 3.85541C55.5968 4.4784 55.3796 4.98117 54.9249 5.42775C49.7582 10.5005 44.6032 15.5823 39.4444 20.662C39.3039 20.8008 39.1579 20.9334 39.0173 21.0718C30.5136 29.4128 22.0087 37.7529 13.5079 46.0971C10.3839 49.1625 7.26905 52.2373 4.15045 55.3068C3.98688 55.4684 3.81996 55.6257 3.6543 55.7869C3.36649 56.0628 3.07451 56.0773 2.78503 55.7922C1.94085 54.9619 1.08329 54.1439 0.262117 53.2895C-0.126088 52.8863 -0.0938752 52.7517 0.431121 52.2258C1.63966 51.0149 2.86325 49.8197 4.08308 48.6192C4.59888 48.1115 5.12346 47.6128 5.64093 47.1059C15.3615 37.562 25.0817 28.0164 34.8015 18.4717C36.3982 16.9051 37.9924 15.3348 39.5946 13.7724C42.302 11.1292 45.0186 8.49477 47.7197 5.845C47.9812 5.58887 48.4986 5.35546 48.2916 4.92622C48.1017 4.53128 47.5766 4.68785 47.1968 4.68785C35.1763 4.68041 23.1578 4.68124 11.1373 4.67918C10.7081 4.67918 10.2755 4.69281 9.84717 4.65439C9.22052 4.60027 9.00341 4.41478 8.97915 3.80418C8.9415 2.8255 8.94151 1.84186 8.97706 0.863173C8.99924 0.234815 9.19626 0.0699795 9.83587 0.0191655C10.1969 -0.00975302 10.5629 0.00263962 10.9277 0.00263962C18.0467 0.00140026 25.1654 0.00263962 32.2844 0.00263962L32.284 0.00305315Z' fill='%23F15642'/%3E%3Cpath d='M55.9912 26.9771C55.9912 32.1105 55.992 37.2456 55.9899 42.3803C55.9891 44.0191 55.9259 44.0753 54.238 44.0795C53.5758 44.0803 52.9119 44.096 52.2505 44.0646C51.4946 44.0315 51.3206 43.8514 51.265 43.1285C51.2449 42.8682 51.2524 42.6046 51.2524 42.3435C51.2524 33.5143 51.2671 24.6834 51.2344 15.8542C51.2298 14.7929 51.5009 13.9769 52.3166 13.2627C53.28 12.4178 54.1493 11.4672 55.0721 10.5757C55.2717 10.3828 55.4574 10.018 55.7871 10.1766C56.0903 10.3229 55.9782 10.7021 55.9845 10.9843C55.9992 11.737 55.9908 12.4885 55.9908 13.2412V26.9771H55.9912Z' fill='%23F15642'/%3E%3C/svg%3E ");
    background-repeat: no-repeat;
    position: absolute;
    left: 0;
    top: 0;
}

.tab__title:not(.tab__title_text) + .tab__text {
    margin-top: 60px;
}

.tab__content-wrapper:has(.tab__item_img) .tab__title {
    margin-top: 60px;
}

.tab__note {
    width: 100%;
    border-left: 4px solid var(--Red);
    display: flex;
    align-items: center;
    justify-content: center;
    /* Segoe UI/H4/desktop */
    -webkit-text-stroke-width: 1px;
    -webkit-text-stroke-color: #000;
    font-family: var(--sec-font);
    font-size: 28px;
    font-style: normal;
    font-weight: 700;
    line-height: 36px; /* 128.571% */
    letter-spacing: 0.84px;
    padding-left: 20px;
}

.tab__desc-title {
    font-family: var(--sec-font);
    font-weight: 700;
    font-size: 36px;
    line-height: 48px;
    letter-spacing: 0.03em;
    padding-bottom: 40px;
}

.project-container {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    grid-template-rows: 1fr;
}

.project-container__image {
    grid-column-start: 1;
    grid-column-end: 8;
    width: 100%;
    grid-row-start: 1;
}

.project-container__desc {
    padding: 80px;
    width: 50%;
    color: var(--black, #231F20);
    font-family: solomon, sans-serif;
    font-size: 18px;
    font-style: normal;
    font-weight: 400;
    line-height: 28px; /* 155.556% */
    letter-spacing: 0.54px;
    background: var(--light-grey, #F1F1F1);
    grid-column-start: 6;
    grid-column-end: 13;
    width: 100%;
    grid-row-start: 1;
    margin-top: 120px;
    z-index: 1;
}

.project-container__title {
    margin-bottom: 40px;
}

.project-container__content {
    margin-bottom: 60px;
}

h2.project-container__title,
h3.project-container__title,
h4.project-container__title,
h5.project-container__title,
h6.project-container__title {
    color: var(--black);
    font-family: var(--sec-font);
    font-size: 36px;
    font-style: normal;
    font-weight: 700;
    line-height: 48px; /* 133.333% */
    letter-spacing: 1.08px;
}

.tab-button .btn {
    width: fit-content;
}

.section:has(.tab__content.active[data-tab-id="tab-1"]) .tab-button span {
    display: none;
}

@media screen and (max-width: 1599px) {
    .tab__item {
        gap: 60px;
    }

    .tab-button {
        gap: 60px;
    }
}

@media screen and (max-width: 1439px) {
    .tab__content-wrapper {
        margin-left: 0;
    }

    .tab__item {
        gap: 30px;
        grid-template-columns: 1fr 1fr;
    }

    .tab-button {
        grid-template-columns: 1fr 1fr;
        gap: 30px;
        margin-left: 0;
    }

    .tab__button {
        font-size: 24px;
    }
}

@media screen and (max-width: 1279px) {
    .tab__head {
        top: 112px;
    }
}

@media screen and (max-width: 1259px) {
    .tab {
        gap: 32px;
    }

    .tab__content {
        margin-top: 40px;
    }

    .tab__content-wrapper {
        margin-left: 0;
        gap: 32px;
    }

    .tab__title,
    .tab__title_text {
        font-size: 24px;
        line-height: 1.2;
    }

    .tab__image {
        order: 2;
    }

    .tab__content-wrapper:has(.tab__item_img) .tab__item,
    .tab__item {
        grid-template-columns: 1fr;
    }

    .tab-button {
        grid-template-columns: 1fr;
    }

    .tab-button span {
        display: none;
    }

    .tab__content-wrapper:has(.tab__item_img) .tab__title {
        margin-top: 0;
    }

    .tab__title:not(.tab__title_text) + .tab__text {
        margin-top: 32px;
    }

    .tab__button {
        font-size: 24px;
        line-height: 1.2;
    }

    .tab__head {
        gap: 16px 24px;
    }

    .tab__title_text {
        padding-left: 104px;
    }

    .project-container {
        display: flex;
        flex-direction: column;
    }

    .project-container__desc {
        margin-top: 0;
    }
}

@media screen and (max-width: 1023px) {
    .tab__head {
        top: 108px;
    }
}

@media screen and (max-width: 767px) {
    .project-container__desc {
        padding: 40px 20px;
        font-size: 12px;
    }

    h2.project-container__title, h3.project-container__title, h4.project-container__title, h5.project-container__title, h6.project-container__title {
        font-size: 18px;
        line-height: 120%; /* 21.6px */
    }

    .tab__content {
        margin-top: 20px;
    }

    .tab__item {
        gap: 24px;
    }

    .tab__button {
        font-size: 18px;
    }

    .tab__head {
        gap: 16px 40px;
    }

    .tab__title,
    .tab__title_text {
        font-size: 18px;
    }

    .tab__title_text {
        padding-left: 77px;
    }

    .tab__title_text::before {
        content: " ";
        width: 40px;
        height: 40px;
        background-image: url("data:image/svg+xml,%3Csvg width='41' height='41' viewBox='0 0 41 41' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M23.2868 0.00220227C28.4698 0.00220227 33.6519 0.00130888 38.835 0.00279883C40.057 0.00279883 40.0941 0.0400452 40.0987 1.22396C40.1011 1.74276 40.0896 2.26096 40.0971 2.78095C40.1026 3.23032 39.946 3.59297 39.618 3.9151C35.8912 7.57411 32.1728 11.2397 28.4517 14.9038C28.3503 15.0039 28.245 15.0995 28.1436 15.1994C22.0098 21.2158 15.8751 27.2316 9.74343 33.2504C7.49002 35.4614 5.24325 37.6794 2.99376 39.8934C2.87578 40.01 2.75538 40.1235 2.63589 40.2397C2.42829 40.4388 2.21768 40.4492 2.00888 40.2436C1.39996 39.6446 0.781387 39.0546 0.189068 38.4384C-0.0909485 38.1475 -0.0677132 38.0504 0.310973 37.671C1.18271 36.7976 2.06529 35.9355 2.94517 35.0696C3.31722 34.7034 3.69561 34.3437 4.06887 33.9781C11.0804 27.0939 18.0917 20.2086 25.1027 13.3238C26.2544 12.1938 27.4044 11.0612 28.56 9.93419C30.5129 8.02765 32.4724 6.12737 34.4208 4.21607C34.6094 4.03132 34.9826 3.86295 34.8333 3.55334C34.6963 3.26846 34.3176 3.3814 34.0436 3.3814C25.373 3.37604 16.704 3.37663 8.03344 3.37514C7.72386 3.37514 7.41186 3.38498 7.10288 3.35727C6.65087 3.31823 6.49426 3.18443 6.47676 2.744C6.4496 2.03806 6.44961 1.32855 6.47526 0.622616C6.49125 0.169375 6.63337 0.050477 7.09473 0.0138243C7.35513 -0.00703496 7.61916 0.00190399 7.88228 0.00190399C13.0173 0.00101002 18.1521 0.00190399 23.2871 0.00190399L23.2868 0.00220227Z' fill='%23F15642'/%3E%3Cpath d='M40.3843 19.4589C40.3843 23.1617 40.3849 26.8657 40.3834 30.5695C40.3828 31.7516 40.3372 31.7921 39.1197 31.7951C38.642 31.7957 38.1632 31.807 37.6861 31.7844C37.1409 31.7605 37.0153 31.6306 36.9752 31.1091C36.9607 30.9214 36.9661 30.7313 36.9661 30.5429C36.9661 24.1743 36.9767 17.8045 36.9532 11.4359C36.9498 10.6703 37.1454 10.0818 37.7338 9.56657C38.4287 8.95718 39.0557 8.27151 39.7214 7.62845C39.8653 7.48929 39.9993 7.22616 40.237 7%0A.34059C40.4558 7.44608 40.3749 7.71963 40.3795 7.92316C40.39 8.4661 40.384 9.00814 40.384 9.55108V19.4589H40.3843Z' fill='%23F15642'/%3E%3C/svg%3E%0A");
        background-repeat: no-repeat;
        position: absolute;
        left: 0;
        top: 0;
    }

    .tab__title:not(.tab__title_text) + .tab__text {
        margin-top: 24px;
    }

    .tab-button {
        display: flex;
        justify-content: center;
    }
}

/* FEEDBACK */

.section.feedback {
    position: relative;
    width: 100%;
    padding: 0;
    margin-top: 140px;
}

.panel.feedback {
    padding: 0;
    margin: 0;
    max-height: 100vh;
    max-height: 100svh;
}

.feedback__bg {
    position: absolute;
    height: 100%;
    width: 100%;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-image: url(./assets/img/feedback_bg.jpg);
    z-index: 1;
}

.panel .feedback__bg::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(35, 31, 32, 0.7);
}

.feedback__left-side {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 120px;
    color: white;
}

.feedback__form {
    background: rgba(255, 255, 255, 0.8);
    padding: 140px 128px;
    position: relative;
    z-index: 2;
    margin-top: 0;
}

.panel .feedback__form {
    background: transparent;
    padding: 120px;
    max-height: 100vh;
    max-height: 100svh;
    height: 100%;
}

main:has(.section.feedback) + footer {
    margin-top: 0;
}

.feedback__grid {
    display: grid;
    grid-template-columns: 0.95fr 1.05fr;
    gap: 0;
}

.popup {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    background: rgba(0, 0, 0, 0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
    padding: 0;
}

.popup.active {
    opacity: 1;
    visibility: visible;
}

.popup__wrapper {
    max-width: 580px;
    width: 100%;
    background: white;
    position: relative;
    padding: 60px 40px 40px;
    height: 100%;
    max-height: 95vh;
    max-height: 95svh;
}

.popup-wrapper-video-iframe {
    background-color: white;
    border-radius: 24px;
    padding: 24px;
    max-width: 800px;
    width: 100%;
    max-height: 90vh;
    overflow-y: auto;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3);
    transition: transform 0.3s;
    transform: scale(0.9);
}

.popup.active .popup-wrapper-video-iframe {
    transform: scale(1);
}

.popup-wrapper-video-iframe__preview-text {
    margin-bottom: 20px;
    font-size: 24px;
    color: #666;
    line-height: 1.5;
    padding-right: 47px;
    font-family: var(--sec-font);
}

.popup-wrapper-video-iframe__container-iframe {
    position: relative;
    width: 100%;
    padding-bottom: 56.25%;
    background: #f0f0f0;
    border-radius: 12px;
    overflow: hidden;
    margin-bottom: 8px;
}

.popup__wrapper.popup__wrapper_video-frame .panel__close {
    top: -40px;
    right: 0;
}

.popup-wrapper-video-iframe__iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: none;
}

.play-button-module__startScreen___mHIFK {
    background-color: #EF4836 !important;
}

.popup .panel__close {
    top: 20px;
    right: 20px;
    color: white;
    background-color: var(--Red);
    padding: 5px;
}

.popup .panel__close i {
    font-size: 22px;
}

.feedback-popup .form__title {
    margin-bottom: 20px;
}

.feedback-popup .feedback__form {
    padding: 0;
    overflow-y: auto;
    height: 100%;
}

@media screen and (max-width: 1900px) {
    .feedback__form,
    .panel .feedback__form,
    .feedback__left-side {
        padding: 80px;
    }
}

@media screen and (max-width: 1279px) {
    .feedback__form,
    .panel .feedback__form,
    .feedback__left-side {
        padding: 60px;
    }
}

@media screen and (max-width: 1023px) {
    .feedback__grid {
        grid-template-columns: 1fr;
    }

    .feedback__left-side {
        display: none;
    }

    .panel .feedback__left-side {
        display: block;
        padding: 40px;
    }

    .feedback__form,
    .panel .feedback__form {
        padding: 40px;
    }

    .feedback-popup .feedback__form {
        padding: 0;
    }

    body:has(.popup.active) {
        overflow: hidden;
    }

    .popup__wrapper {
        padding: 30px 20px 20px;
        height: 100vh;
        height: 100svh;
        max-height: 100vh;
        max-height: 100svh;
    }
}

.stage-list {
    display: flex;
    overflow-x: auto;
    padding-right: 37px;
}

.stage-item {
    padding: 0 20px;
    position: relative;
    min-width: 243px;
    width: 100%;
    transition: background-color .3s ease;
}

.stage-item:after {
    content: " ";
    position: absolute;
    width: 0;
    height: 0;
    border-left: 60px solid #F1F1F1;
    border-top: 87px solid transparent;
    border-bottom: 87px solid transparent;
    bottom: 0;
    top: -30px;
    margin: auto;
    right: -37px;
    z-index: 1;
    transition: border .3s ease;
}

.stage-item__icon {
    display: flex;
    justify-content: center;
    padding: 60px 0;
}

.stage-item:nth-child(1n) {
    background-color: #F1F1F1;
}

.stage-item:nth-child(1n):after {
    border-left: 60px solid #F1F1F1;
    border-top: 87px solid transparent;
    border-bottom: 87px solid transparent;
}

.stage-item:nth-child(2n) {
    background-color: #BBBDC0;
}

.stage-item:nth-child(2n):after {
    border-left: 60px solid #BBBDC0;
    border-top: 87px solid transparent;
    border-bottom: 87px solid transparent;
}

.stage-item:last-child, .stage-item:hover {
    background-color: #EF4836;
}

.stage-item.stage-item_last:after, .stage-item:hover::after {
    border-left: 60px solid #EF4836;
    border-top: 87px solid transparent;
    border-bottom: 87px solid transparent;
}

.stage-item:first-child:before {
    content: " ";
    position: absolute;
    width: 0;
    height: 0;
    border-left: 60px solid #FFF;
    border-top: 87px solid transparent;
    border-bottom: 87px solid transparent;
    bottom: 0;
    top: -30px;
    margin: auto;
    left: -23px;
    z-index: 1;
}

.stage-item__number {
    font-family: var(--sec-font);
    text-align: center;
    font-weight: 700;
    font-size: 28px;
    line-height: 36px;
    padding: 40px 0 40px;
}

.stage-item__title {
    font-family: var(--sec-font);
    text-align: center;
    font-weight: 700;
    font-size: 28px;
    line-height: 36px;
    padding: 20px 0 0 0;
    height: 148px;
}

.stage-item__action-list {
    padding: 40px 0;
}

.stage-item__action-item {
    position: relative;
    padding: 20px 0 20px 40px;
    color: #231F20;
}

.stage-item__action-item:before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 16px;
    height: 16px;
    background-image: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8.96777 0.000848096C10.9638 0.000848096 12.9594 0.000504052 14.9554 0.00107783C15.426 0.00107783 15.4403 0.0154214 15.442 0.471347C15.443 0.671137 15.4385 0.870698 15.4415 1.07095C15.4435 1.244 15.3832 1.38366 15.2569 1.50771C13.8217 2.9168 12.3898 4.32841 10.9568 5.73945C10.9177 5.77801 10.8772 5.81485 10.8381 5.85329C8.47601 8.17021 6.11353 10.4869 3.7522 12.8047C2.88441 13.6562 2.01918 14.5104 1.1529 15.363C1.10747 15.4079 1.0611 15.4516 1.01508 15.4964C0.935137 15.573 0.854031 15.577 0.77362 15.4978C0.539126 15.2672 0.300913 15.04 0.0728103 14.8027C-0.0350244 14.6906 -0.0260764 14.6532 0.119756 14.5072C0.455461 14.1708 0.795347 13.8388 1.13419 13.5053C1.27747 13.3643 1.42318 13.2258 1.56693 13.085C4.26709 10.4339 6.96714 7.78234 9.66707 5.13102C10.1106 4.69586 10.5534 4.25967 10.9985 3.82567C11.7506 3.09146 12.5052 2.35966 13.2555 1.62361C13.3281 1.55246 13.4718 1.48763 13.4143 1.3684C13.3616 1.25869 13.2157 1.30218 13.1102 1.30218C9.77118 1.30012 6.43273 1.30035 3.09369 1.29977C2.97446 1.29977 2.85431 1.30356 2.73532 1.29289C2.56126 1.27785 2.50095 1.22633 2.49421 1.05672C2.48375 0.784861 2.48375 0.511627 2.49363 0.23977C2.49979 0.0652263 2.55452 0.0194387 2.73219 0.00532375C2.83247 -0.00270917 2.93415 0.000733228 3.03547 0.000733228C5.01298 0.00038896 6.99038 0.000733228 8.96789 0.000733228L8.96777 0.000848096Z' fill='%23F15642'/%3E%3Cpath d='M15.5518 7.49401C15.5518 8.91996 15.552 10.3464 15.5515 11.7727C15.5512 12.2279 15.5337 12.2435 15.0648 12.2447C14.8809 12.2449 14.6965 12.2493 14.5127 12.2405C14.3028 12.2314 14.2544 12.1813 14.239 11.9805C14.2334 11.9082 14.2355 11.835 14.2355 11.7625C14.2355 9.30991 14.2395 6.85688 14.2305 4.40432C14.2292 4.10951 14.3045 3.88286 14.5311 3.68445C14.7987 3.44978 15.0402 3.18572 15.2965 2.93808C15.3519 2.88449 15.4035 2.78316 15.4951 2.82722C15.5793 2.86785 15.5482 2.97319 15.55 3.05157C15.554 3.26066 15.5517 3.4694 15.5517 3.67848V7.49401H15.5518Z' fill='%23F15642'/%3E%3C/svg%3E%0A");
    background-size: contain;
    background-repeat: no-repeat;
}

.stage-item.stage-item_last .stage-item__number, .stage-item:hover .stage-item__number {
    color: #fff;
}

.stage-item.stage-item_last .stage-item__title, .stage-item:hover .stage-item__title {
    color: #fff;
}

.stage-item:hover .stage-item__icon path {
    fill: #fff;
}

.stage-item.stage-item_last .stage-item__action-item, .stage-item:hover .stage-item__action-item {
    color: #fff;
}

.stage-item.stage-item_last .stage-item__action-item:before, .stage-item:hover .stage-item__action-item:before {
    background-image: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8.96777 0.000848096C10.9638 0.000848096 12.9594 0.000504052 14.9554 0.00107783C15.426 0.00107783 15.4403 0.0154214 15.442 0.471347C15.443 0.671137 15.4385 0.870698 15.4415 1.07095C15.4435 1.244 15.3832 1.38366 15.2569 1.50771C13.8217 2.9168 12.3898 4.32841 10.9568 5.73945C10.9177 5.77801 10.8772 5.81485 10.8381 5.85329C8.47601 8.17021 6.11353 10.4869 3.7522 12.8047C2.88441 13.6562 2.01918 14.5104 1.1529 15.363C1.10747 15.4079 1.0611 15.4516 1.01508 15.4964C0.935137 15.573 0.854031 15.577 0.77362 15.4978C0.539126 15.2672 0.300913 15.04 0.0728103 14.8027C-0.0350244 14.6906 -0.0260764 14.6532 0.119756 14.5072C0.455461 14.1708 0.795347 13.8388 1.13419 13.5053C1.27747 13.3643 1.42318 13.2258 1.56693 13.085C4.26709 10.4339 6.96714 7.78234 9.66707 5.13102C10.1106 4.69586 10.5534 4.25967 10.9985 3.82567C11.7506 3.09146 12.5052 2.35966 13.2555 1.62361C13.3281 1.55246 13.4718 1.48763 13.4143 1.3684C13.3616 1.25869 13.2157 1.30218 13.1102 1.30218C9.77118 1.30012 6.43273 1.30035 3.09369 1.29977C2.97446 1.29977 2.85431 1.30356 2.73532 1.29289C2.56126 1.27785 2.50095 1.22633 2.49421 1.05672C2.48375 0.784861 2.48375 0.511627 2.49363 0.23977C2.49979 0.0652263 2.55452 0.0194387 2.73219 0.00532375C2.83247 -0.00270917 2.93415 0.000733228 3.03547 0.000733228C5.01298 0.00038896 6.99038 0.000733228 8.96789 0.000733228L8.96777 0.000848096Z' fill='%23FFF'/%3E%3Cpath d='M15.5518 7.49401C15.5518 8.91996 15.552 10.3464 15.5515 11.7727C15.5512 12.2279 15.5337 12.2435 15.0648 12.2447C14.8809 12.2449 14.6965 12.2493 14.5127 12.2405C14.3028 12.2314 14.2544 12.1813 14.239 11.9805C14.2334 11.9082 14.2355 11.835 14.2355 11.7625C14.2355 9.30991 14.2395 6.85688 14.2305 4.40432C14.2292 4.10951 14.3045 3.88286 14.5311 3.68445C14.7987 3.44978 15.0402 3.18572 15.2965 2.93808C15.3519 2.88449 15.4035 2.78316 15.4951 2.82722C15.5793 2.86785 15.5482 2.97319 15.55 3.05157C15.554 3.26066 15.5517 3.4694 15.5517 3.67848V7.49401H15.5518Z' fill='%23FFF'/%3E%3C/svg%3E%0A");
}

.product-functions {
    display: flex;
    gap: 40px;
}

.product-function {
    border-left: 4px #EF4836 solid;
    padding: 40px;
    width: 33.3333%;
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.product-function__title {
    font-size: 28px;
    line-height: 36px;
    font-weight: 700;
    font-family: var(--sec-font), sans-serif;
}

.product-function__text {
    font-size: 18px;
    line-height: 28px;
    font-weight: 400;
    font-family: solomon, sans-serif;
}

@media screen and (max-width: 1599px) {
    .stage-item__title {
        font-size: 24px;
    }
}

@media screen and (max-width: 1023px) {
    .product-functions {
        flex-direction: column;
        gap: 16px;
    }

    .product-function {
        width: 100%;
    }
}

.section__wrapper_hello-text {
    overflow: hidden;
}

/*
.hello-text {
  position: relative;
  text-align: center;
  height: 150px;
}

.hello-text__title {
  font-family: var(--sec-font), sans-serif;
  font-weight: 700;
  font-size: 104px;
  text-transform: uppercase;
  background: linear-gradient(90deg, #EF4836 0%, #FFC0AE 100%);
  transform: translate(-150%, 0);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  position: absolute;
  left: 50%;
  width: 100%;
  line-height: 1;
}

.hello-text__slogan {
  font-family: var(--sec-font), sans-serif;
  font-weight: 400;
  font-size: 48px;
  transform: translate(50%, 0);
  text-transform: uppercase;
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 100%;
  line-height: 1;
}
*/

.hello-text {
    position: relative;
    text-align: center;
}

.hello-text__title {
    font-family: var(--sec-font), sans-serif;
    font-weight: 700;
    font-size: 150px;
    text-transform: uppercase;
    background: linear-gradient(90deg, #EF4836 0%, #FFC0AE 100%);
    transform: translate(-150%, 0);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    line-height: 1;
    display: inline-block;
}

.hello-text__slogan {
    font-family: var(--sec-font), sans-serif;
    font-weight: 700;
    font-size: 35px;
    transform: translate(50%, 0);
    text-transform: uppercase;
    position: absolute;
    left: 50%;
    bottom: 17px;
    width: 100%;
    line-height: 1;
}


@media screen and (max-width: 767px) {
    .hello-text__slogan {
      position: static;
    }
}

@media screen and (max-width: 1599px) {
  .hello-text__title {
    font-size: 126px;
  }

  .hello-text__slogan {
    font-size: 29px;
  }
}

@media screen and (max-width: 1279px) {
  .hello-text__title {
    font-size: 87px;
  }

  .hello-text__slogan {
    font-size: 24px;
    bottom: 7px;
  }
}

@media screen and (max-width: 1023px) {
  .hello-text__title {
    font-size: 70px;
  }

  .hello-text__slogan {
    font-size: 22px;
    bottom: 5px;
  }
}

@media screen and (max-width: 767px) {
  .hello-text__title {
    transform: translate(0%, 0);
    font-size: 80px;
  }

  .hello-text__slogan {
    transform: translate(0%, 0);
    font-size: 28px;
  }
}

@media screen and (min-width: 768px) {
    .hello-text__title.animate {
        animation: moveFromLeft 1.5s ease-out forwards;
    }

    .hello-text__slogan.animate {
        animation: moveFromRight 1.5s ease-out forwards;
    }

    @keyframes moveFromLeft {
        0% {
            transform: translate(-150%, 0);
            opacity: 0;
        }
        100% {
            transform: translate(-44%, 0); /* Центр по X, смещение по Y */
            opacity: 1;
        }
    }

    @keyframes moveFromRight {
        0% {
            transform: translate(50%, 0);
            opacity: 0;
        }
        100% {
            transform: translate(-47%, 0); /* Центр по X, смещение по Y */
            opacity: 1;
        }
    }
}

.video-container {
    position: relative;
    width: 100%;
    overflow: hidden;
    cursor: pointer;
    background-color: #000;
}

.video-player {
    width: 100%;
    max-height: 720px;
    height: auto;
    display: block;
    pointer-events: auto;
}

.custom-play-button {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 120px;
    height: 120px;
    background: transparent;
    border: none;
    padding: 0;
    cursor: pointer;
    filter: drop-shadow(0 8px 16px rgba(239, 72, 54, 0.4));
    transition: opacity 0.2s ease, transform 0.15s ease;
    z-index: 20;
}

.custom-play-button svg {
    width: 100%;
    height: 100%;
    display: block;
    pointer-events: none;
}

.video-container.video-playing .custom-play-button {
    opacity: 0;
    pointer-events: none;
}

.video-container.video-playing:hover .custom-play-button {
    opacity: 1;
    pointer-events: auto;
}

.custom-play-button:hover {
    transform: translate(-50%, -50%) scale(1.05);
    filter: drop-shadow(0 10px 20px rgba(239, 72, 54, 0.7));
}

.video-preview {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    pointer-events: none;
    transition: opacity 0.3s ease;
    z-index: 10;
    background-color: rgba(0, 0, 0, 0.2);
    background-blend-mode: overlay;
}

.video-container.preview-hidden .video-preview {
    opacity: 0;
    visibility: hidden;
}
