@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap');

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    overflow-x: hidden;
}

body {
    overflow-x: hidden;
    font-family: 'Montserrat', sans-serif;
    font-weight: 300;
}

ul,
li {
    list-style: none;
}

.row {
    display: flex;
}

.orange__text {
    color: #E3644B;
}

.gray {
    color: #676767;
}

/* Визуально скрытый, но доступный для скринридеров текст */
.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.container {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

.main2025__body img {
    width: 100%;
    height: auto;
}

.section {
    margin: 80px 0;
    padding: 0 20px;
    position: relative;
}

/* Header */
.header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
    transition: transform 0.35s ease;
}

.header__inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 40px;
    background: rgba(0, 0, 0, 0.35);
}

.header.header--hidden {
    transform: translateY(-100%);
}

.header__logo {
    width: 120px;
    margin-right: 16px;
    cursor: pointer;
}

.header__logo img {
    width: 100%;
    height: auto;
}

.header__nav {
    display: flex;
    align-items: center;
}

.header__links {
    display: flex;
    flex-wrap: wrap;
    list-style: none;
}


.header__link {
    position: relative;
    padding: 10px 0;
    margin-right: 30px;
}

.header__link-a {
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 5px;
    color: #FFF;
    font-size: 16px;
}

.header__link-a:hover {
    color: #E3644B;
}

.header__link-a:active {
    opacity: .6;
}

.header__link-a-mobile {
    text-decoration: none;
    display: block;
    font-size: 14px;
    text-align: center;
}

.header__link-triangle {
    width: 6px;
    height: 4px;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 5px solid #fff;
    transition: transform 0.5s;
}

.header__link.is-open .header__link-dropdown {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.header__link.is-open .header__link-triangle {
    transform: rotate(180deg);
}


.header__link-dropdown {
    /* базовые позиция / внешний вид */
    position: absolute;
    top: 30px;
    left: 50%;
    margin-left: -64px;
    width: 128px;
    background-color: rgba(0, 0, 0, 0.35);
    padding: 10px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
    z-index: 10;
    text-align: center;
    /* анимированное скрытие */
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: opacity 0.2s ease, visibility 0.2s ease, transform 0.2s ease;
}

.header__link-dropdown::before {
    content: '';
    position: absolute;
    top: -10px;
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-bottom: 10px solid rgba(0, 0, 0, 0.35);
    top: -10px;
}

.header__link-dropdown ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.header__link-dropdown li {
    margin-bottom: 8px;
}

.header__link-dropdown li:last-child {
    margin-bottom: 0;
}

.header__nav-mobile {
    display: none;
    color: #FFF;
    font-size: 16px;
    background: none;
    border: none;
    cursor: pointer;
}

.header__contact {
    display: flex;
    align-items: center;
    gap: 15px;
}

.header__contact-link {
    color: #FFF;
    text-decoration: none;
    font-size: 15px;
    display: flex;
    align-items: center;
    gap: 5px;
}

.mobile-menu {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background: #111;
    z-index: 999;
    transform: translateX(100%);
    transition: transform 0.35s ease;
}

.mobile-menu.active {
    transform: translateX(0);
}

.mobile-menu__content {
    padding: 100px 20px 40px;
}

.mobile-menu__list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.mobile-menu__item {
    margin-bottom: 20px;
}

.mobile-menu__link {
    width: 100%;
    background: none;
    border: none;
    color: #fff;
    font-size: 18px;
    text-align: left;
    padding: 10px 0;
    cursor: pointer;
}

.mobile-submenu {
    display: none;
    padding-left: 15px;
}

.mobile-submenu li {
    margin-bottom: 10px;
}

.mobile-submenu a {
    color: #ccc;
    text-decoration: none;
    font-size: 14px;
}

.mobile-menu__item.active .mobile-submenu {
    display: block;
}

.mobile-menu__contacts {
    color: #fff;
    font-size: 14px;
    line-height: 1.5;
}

.mobile-menu__contacts .mobile-menu__links {
    margin-top: 16px;
    display: flex;
    flex-direction: column;
}

.mobile-menu__contacts .mobile-menu__links a {
    color: #fff;
    text-decoration: none;
}

.slider__contact-mobile .phone {
    width: 200px;
}

.header__close-btn {
    color: #ffffff;
    cursor: pointer;
}

.header__nav-mobile.active {
    display: none;
}

.header__close-btn.active {
    display: block;
}

.header__phone-icon,
.header__whatsapp-btn {
    width: 30px;
    height: auto;
    display: flex;
    align-items: center;
    justify-content: center;
}

.header__phone-icon img,
.header__whatsapp-btn img {
    width: 100%;
    height: auto;
    margin-right: 8px;
}

.header__email-description {
    color: #fff;
    font-size: 12px;
    font-weight: 200;
}

.dropdown-list__item a {
    text-transform: uppercase;
    font-size: 12px;
    line-height: 1.3;

    color: #fff;
    text-decoration: none;
    font-weight: 600;
}

/* десктоп */
.header__nav--desktop {
    display: flex;
}

/* услуги v2 */

.services-drop__wrap {
    height: 0;
    position: relative;
    top: -178px;
    z-index: 10;
}

.services {
    background: rgba(0, 0, 0, 0.6);
    color: #fff;

    padding-top: 25px;
    padding-bottom: 25px;
}

.services__headline {
    font-size: 16px;
    font-weight: 400;
    margin-right: 32px;


    flex: 0 0 auto;
    /* занимает только ширину текста */
    white-space: nowrap;
}

.services__wrap {
    display: flex;
    align-items: stretch;
}

.services__img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.services__img-wrap {
    width: 25px;
    height: 25px;
    margin-bottom: 8px;
}

.services__list {
    display: flex;
    justify-content: space-between;

    flex-grow: 1;
    flex-shrink: 1;
    flex-basis: 300px;
    min-width: 0;
}

.service_name {
    font-size: 12px;
    font-weight: 400;
}

.services-list__item {
    padding-top: 40px;
    padding-bottom: 40px;
}

.services__divider {
    width: 2px;
    align-self: stretch;
    background-color: #fff;
    opacity: 0.15;
}

.ask-question__checkbox-label {
    display: flex;
    align-items: center;
    gap: 10px;

    cursor: pointer;
}

.ask-question__checkbox {
    appearance: none;
    -webkit-appearance: none;

    position: relative;

    width: 20px;
    height: 20px;

    min-width: 20px;

    margin: 0;

    border: 1.5px solid rgba(255, 255, 255, .7);
    border-radius: 4px;

    background: transparent;

    cursor: pointer;

    transition:
        border-color .2s ease,
        background-color .2s ease,
        transform .15s ease;
}

.ask-question__checkbox:hover {
    border-color: #fff;
}

.ask-question__checkbox:active {
    transform: scale(.96);
}

.ask-question__checkbox::before,
.ask-question__checkbox::after {
    content: '';

    position: absolute;

    top: 50%;
    left: 50%;

    width: 11px;
    height: 1.5px;

    background: #fff;

    border-radius: 2px;

    opacity: 0;

    transition: opacity .18s ease;
}

.ask-question__checkbox::before {
    transform: translate(-50%, -50%) rotate(45deg);
}

.ask-question__checkbox::after {
    transform: translate(-50%, -50%) rotate(-45deg);
}

.ask-question__checkbox:checked {
    background: rgba(255, 255, 255, .08);
    border-color: #fff;
}

.ask-question__checkbox:checked::before,
.ask-question__checkbox:checked::after {
    opacity: 1;
}

/* Проекты и продукция */

.projects {
    position: relative;
    overflow: hidden;
    padding: 90px 0;
}

/* Секция продукции/проектов занимает всю ширину экрана */
#products,
.projects.section {
    padding-left: 0;
    padding-right: 0;
}

#products .container--relative,
.projects .container--relative {
    max-width: 100%;
    padding: 0;
}

#products .projects__top,
.projects .projects__top {
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
    padding: 0 20px;
}

.projects__top {
    display: flex;
    align-items: center;
    justify-content: space-between;

    margin-bottom: 36px;
}

.projects__header {
    display: flex;
    align-items: center;
    gap: 20px;
}

.projects__rectangle {
    width: 182px;
    height: 10px;

    border-radius: 50px;
    background: #E3644B;

    flex-shrink: 0;
}

.projects__title {
    margin: 0;

    font-size: 58px;
    font-weight: 700;
    line-height: 1.1;

    color: #1C1E40;
}

.projects__nav {
    display: flex;
    align-items: center;
    gap: 12px;
}

.projects__arrow {
    position: relative;

    width: 54px;
    height: 54px;

    border: 1px solid #111;
    border-radius: 50%;

    background: transparent;

    cursor: pointer;

    transition:
        background .25s ease,
        border-color .25s ease,
        transform .25s ease;
}

.projects__arrow:hover {
    background: #f3f3f3;
    transform: translateY(-2px);
}

.projects__arrow:active {
    transform: scale(.96);
}

.projects__arrow::before {
    content: "";

    position: absolute;
    top: 50%;
    left: 50%;

    width: 12px;
    height: 12px;

    border-top: 2px solid #111;
    border-right: 2px solid #111;
}

.projects__arrow--prev::before {
    transform: translate(-25%, -50%) rotate(-135deg);
}

.projects__arrow--next::before {
    transform: translate(-75%, -50%) rotate(45deg);
}

.projects-slider {
    width: calc(100% - 40px);
    margin: 0 20px;
    overflow: hidden;
}

.projects-slider .swiper-wrapper {
    display: flex;
    align-items: stretch;
}

/* Ширину и промежуток между слайдами задаёт сам Swiper (slidesPerView/spaceBetween
   в script.js) через инлайн-стили — здесь только защита от переполнения флекс-item. */
.projects-slider .swiper-slide {
    min-width: 0;
    height: auto;
    flex-shrink: 0;
}

.swiper.js-products-slider .swiper-slide {
    min-width: 0;
    height: auto;
    flex-shrink: 0;
}

.projects-card {
    display: block;

    width: 100%;

    text-decoration: none;
    color: inherit;
}

.projects-card__image {
    position: relative;

    width: 100%;
    height: 440px;

    overflow: hidden;

    border-radius: 0;
}

.projects-card__image img {
    width: 100%;
    height: 100%;

    display: block;
    object-fit: cover;

    transition: transform .6s ease;
}

/* В блоке "ПРОЕКТЫ" все фото сняты в одном соотношении сторон (3:2).
   Раньше высота карточки была фиксированной (440px/320px/260px/220px),
   а ширина — плавающей от вьюпорта, из-за чего пропорции контейнера
   переставали совпадать с пропорциями фото и по бокам/сверху-снизу
   вылезали белые поля от object-fit: contain. Фиксируем aspect-ratio
   под реальное соотношение фото — контейнер всегда той же формы,
   что и картинка, поля больше не нужны. */
#projects .projects-card__image {
    height: auto;
    aspect-ratio: 3 / 2;
}

#projects .projects-card__image img {
    object-fit: cover;
}

.projects-card:hover .projects-card__image img {
    transform: scale(1.05);
}

/* Карточка-ссылка "Все проекты" — завершающий слайд слайдера "ПРОЕКТЫ".
   Повторяет пропорции фото-карточек (3:2), но оформлена как панель
   с иконкой-стрелкой в стилистике .projects__arrow, а не фотографией. */
.projects-card__cta {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 24px;

    width: 100%;
    aspect-ratio: 3 / 2;

    border: 1px solid rgba(28, 30, 64, .15);
    background: #F6F6F8;

    transition:
        background .3s ease,
        border-color .3s ease;
}

.projects-card--all:hover .projects-card__cta {
    background: #EFEFF4;
    border-color: #1C1E40;
}

.projects-card__cta-icon {
    position: relative;

    width: 64px;
    height: 64px;

    border: 2px solid #1C1E40;
    border-radius: 50%;

    transition:
        background .25s ease,
        transform .25s ease;
}

.projects-card--all:hover .projects-card__cta-icon {
    background: #1C1E40;
    transform: translateY(-2px);
}

.projects-card__cta-icon::before {
    content: "";

    position: absolute;
    top: 50%;
    left: 50%;

    width: 14px;
    height: 14px;

    border-top: 2px solid #1C1E40;
    border-right: 2px solid #1C1E40;
    transform: translate(-70%, -50%) rotate(45deg);

    transition: border-color .25s ease;
}

.projects-card--all:hover .projects-card__cta-icon::before {
    border-color: #fff;
}

.projects-card__cta-label {
    font-size: 20px;
    font-weight: 700;
    line-height: 1.2;
    text-transform: uppercase;
    letter-spacing: .02em;
    color: #1C1E40;
}

/* Маленький подзаголовок под картинкой (например, "ПРОТИВОПОЖАРНЫЕ СВЕТОПРОЗРАЧНЫЕ").
   min-height резервирует место под 2 строки, чтобы у карточек с короткой подписью
   (в одну строку) заголовок ниже не уезжал вверх относительно карточек с переносом. */
.projects-card__bottom {
    /* content-box, чтобы min-height ниже резервировал место строго под текст,
       не деля бюджет высоты с padding-top */
    box-sizing: content-box;
    padding-top: 16px;

    color: #1C1E40;

    font-size: 18px;
    font-weight: 600;
    line-height: 1.2;
    min-height: 2.4em;
}

/* Крупное название продукта под подзаголовком ("ДВЕРИ", "ФАСАДЫ", "ПЕРЕГОРОДКИ") */
.projects-card__title {
    margin: 5px 0 0;
    max-width: 100%;

    color: #1C1E40;

    font-size: 36px;
    font-weight: 700;
    line-height: 1.05;
}

/* В блоке "ПРОЕКТЫ" .projects-card__title не используется (текст вшит в фото) */
#projects .projects-card__title {
    display: none;
}

/* В блоке "ПРОЕКТЫ" подпись под фото ("Перегородки", "Двери", "Окна", "Витражи")
   крупная — того же размера, что и большие названия в блоке "НАША ПРОДУКЦИЯ" */
@media (max-width: 980px) {
    .services__divider {
        display: none;
    }

    .services__wrap {
        flex-direction: column;
    }

    .services__list {
        flex-basis: content;
        flex-wrap: wrap;
    }

    .services-list__item {
        padding-right: 40px;
    }

    .services-drop__wrap {
        top: -184px;
    }
}

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

    .services__list {
        flex-basis: content;
        flex-wrap: wrap;
    }

    .services-list__item {
        display: flex;
        align-items: center;
        gap: 16px;
        padding-top: 16px;
        padding-bottom: 16px;
    }

    .services__img-wrap {
        margin-bottom: 0;
    }

}

@media screen and (max-width: 460px) {
    .services__list {
        flex-direction: column;
    }

    .services-list__item {
        padding: 0;
        margin-bottom: 8px;
    }

    .services__headline {
        margin-bottom: 24px;
    }

    .services {
        padding-top: 8px;
        padding-bottom: 8px;
        min-height: 225px;
    }

    .services-drop__wrap {
        top: -225px;
    }
}


/* мобильное скрываем */
@media (max-width: 992px) {
    .header__nav--desktop {
        display: none;
    }

    .projects {
        padding: 70px 0;
    }

    #products .projects__top,
    .projects .projects__top {
        padding: 0 24px;
    }

    .projects__top {
        gap: 20px;
    }

    .projects__rectangle {
        width: 130px;
        height: 8px;
    }

    .projects__title {
        font-size: 40px;
    }


    .projects-card__image {
        height: 320px;
    }

    .projects-card__title {
        font-size: 28px;
    }

    .projects-card__bottom {
        font-size: 17px;
    }
}

/* Slider */
.slider {
    position: relative;
    min-height: 1174px;
    overflow: hidden;
}

.slider__slides {
    position: absolute;
    height: 100%;
    width: 100%;
}

.slider__overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(0.372turn, rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 0) 100%);
    z-index: 3;
}

.slider__slide {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    opacity: 0;
    transition: opacity 1s ease-in-out;
}

.slider__slide--active {
    opacity: 1;
    z-index: 2;
}

/* .slider__slide--bg-1 {
    background-image: url("../../img/new_index/header/header_bg.jpg");
}

.slider__slide--bg-2 {
    background-image: url("../../img/new_index/header/header_bg2.jpg");
} */

.slider__content {
    position: relative;
    z-index: 3;
    padding-top: 300px;

    display: flex;
    flex-direction: column;
    align-items: start;
    gap: 84px;
}

.slider__text {
    color: #FFF;
    font-size: 60px;
    line-height: 1.1;
    font-weight: 700;
}

.slider-btn__wrap {
    display: flex;
    align-items: center;
    gap: 20px;
}

.slider__btn {
    position: relative;
    width: 60px;
    height: 60px;
    background: transparent;
    border: 2px solid #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 4;
    transition:
        background .25s ease,
        transform .25s ease;
}

.slider__btn:hover {
    background: rgba(255, 255, 255, .15);
    transform: translateY(-2px);
}

.slider__btn:active {
    transform: scale(.96);
}

.slider__btn::before {
    content: "";

    position: absolute;
    top: 50%;
    left: 50%;

    width: 12px;
    height: 12px;

    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
}

.slider__btn--prev::before {
    transform: translate(-25%, -50%) rotate(-135deg);
}

.slider__btn--next::before {
    transform: translate(-75%, -50%) rotate(45deg);
}

.slider__cta-btn {
    font-family: 'Montserrat', 'Arial', sans-serif;
    background-color: transparent;
    color: white;
    border: 3px solid white;
    font-size: 18px;
    border-radius: 20px;
    height: 66px;
    padding: 25px 80px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    cursor: pointer;
    transition: all 0.3s;
    z-index: 3;
}

.slider__cta-btn:hover {
    background-color: white;
    color: black;
}

.slider__contact-mobile {
    display: none;
}

.header__close-btn {
    display: none;
}

/* Black Strip */
.black-strip {
    background-color: #000;
    height: 131px;
    /* фиксированная черная полоска */
    width: 100%;
    display: flex;
    justify-content: center;
    /* по центру экрана по горизонтали */
    align-items: center;
    /* выравнивание текста по центру внутри полоски */
}

.black-strip__container {
    display: flex;
    align-items: center;
    max-width: 1440px;
    width: 100%;
    justify-content: center;
    position: relative;
}

.black-strip__text {
    position: relative;
    color: #FFF;
    font-size: 20px;
    font-weight: 500;
    display: flex;
    align-items: center;
    white-space: nowrap;
    padding: 0 42px;
    /* расстояние между словом и стрелкой увеличено */
}

.black-strip__text:not(.first)::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateX(-50%) translateY(-50%);
    width: 40px;
    height: 16px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='16' viewBox='0 0 40 16' fill='none'%3E%3Cpath d='M32 1L39 8L32 15' stroke='%23FC500B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M0 8H39' stroke='%23FC500B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    pointer-events: none;
}

.products__header,
.projects__header,
.certificates__header {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 40px;
}

.products__rectangle,
.projects__rectangle,
.certificates__rectangle {
    width: 182px;
    height: 10px;
    border-radius: 10px;
    background: #E3644B;
    flex-shrink: 0;
}

.products__title,
.projects__title,
.certificates__title {
    font-size: 60px;
    font-weight: 700;
    color: #1C1E40;
    margin: 0;
    line-height: 1.2;
}


.container--relative {
    position: relative;
}

.btn {
    text-decoration: none;
    display: flex;
    align-items: center;
    justify-content: center;

    width: 294px;
    height: 54px;
    border-radius: 50px;
    border: 1px solid #E3644B;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
}

.btn--filled {
    background: #E3644B;
    color: #FFF;
}

.btn:hover {
    opacity: .7;
}

.btn:active {
    opacity: .4;
}


/* Наши заказчики */

.clients {
    padding: 0 0 20px;
}

.clients__top {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 24px;
}

.clients__rectangle {
    width: 182px;
    height: 10px;
    background: #E3644B;
    border-radius: 10px;
    flex-shrink: 0;
}

.clients__title {
    margin: 0;
    font-size: 58px;
    font-weight: 700;
    line-height: 1.1;
    color: #E3644B;
}

.clients__description {
    max-width: 620px;
    margin-left: 202px;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.5;
    color: #1C1E40;
}

.clients__marquee {
    width: 100%;
    max-width: 100%;
    margin-top: 56px;
    overflow: clip;
    -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 80px, #000 calc(100% - 80px), transparent 100%);
    mask-image: linear-gradient(90deg, transparent 0, #000 80px, #000 calc(100% - 80px), transparent 100%);
}

.clients__track {
    display: flex;
    align-items: center;
    width: max-content;
    gap: 100px;
    animation: clientsMarquee 32s linear infinite;
}

.clients__marquee:hover .clients__track {
    animation-play-state: paused;
}

.clients__logo {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 56px;
    flex-shrink: 0;
}

.clients__logo img {
    display: block;
    height: 100%;
    width: auto;
    max-width: 160px;
    object-fit: contain;
}

@keyframes clientsMarquee {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(-50%);
    }
}

#video-container {
    padding-top: 100px;
    margin-bottom: 100px;
    width: 100%;
    max-width: 1160px;
    height: 600px;
    margin-left: auto;
    margin-right: auto;
    position: relative;
}

.video-wrapper {
    position: relative;
    width: 100%;
    height: 100%;
    border-radius: 25px;
    overflow: hidden;
}

.video-wrapper video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
    border-radius: 25px;
    object-fit: cover;
    background: #000;
}

/* Project Form */
.project-form {
    display: flex;
    justify-content: start;
    width: 1156px;

    border-radius: 25px;
    overflow: hidden;
    margin: 0 auto;
    background: #5a5a5a;

}

.project-form__left {
    width: 840px;
    background: linear-gradient(to right, #1e1e1e, #46656e);
    padding: 48px;
    padding-left: 80px;
    box-sizing: border-box;
    border-radius: 25px 50px 50px 25px;
}

.project-form__title {
    color: #FFF;
    font-size: 24px;
    line-height: 31px;
    width: 430px;
    font-weight: 500;
    margin-bottom: 20px;
    text-align: center;
    width: 476px;
    max-width: 600px;
    margin-bottom: 40px;
}

.project-form__wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 476px;
}

.form-container {
    width: 100%;
}

.form-column {
    display: flex;
    flex-direction: column;
    width: 100%;
}

.form-label {
    color: #FFF;
    font-family: 'Montserrat', sans-serif;
    font-size: 16px;
    font-weight: 300;
    margin-bottom: 8px;
}

.form-input {
    width: 100%;
    height: 50px;
    border-radius: 20px;
    background: #FFF;
    border: none;
    padding: 0 15px;
    color: #000;

    font-size: 16px;
    box-sizing: border-box;
}

.form-input::placeholder {
    color: #D9D9D9;
}

.file-input-container {
    position: relative;
    width: 100%;
    height: 50px;
}

.file-input {
    position: absolute;
    width: 100%;
    height: 100%;
    opacity: 0;
    z-index: 2;
    cursor: pointer;
}

.file-input-label {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 50px;
    background: #FFF;
    border-radius: 20px;
    display: flex;
    align-items: center;
    padding: 0 15px;
    color: #D9D9D9;
    font-size: 16px;
    box-sizing: border-box;
    cursor: pointer;
}

.file-input:valid+.file-input-label {
    color: #000;
}

.form-submit {
    width: 400px;
    height: 50px;
    border-radius: 50px;
    background: #e3644b;
    border: none;
    color: #FFF;
    font-size: 18px;
    font-weight: 700;
    margin-top: 40px;
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.file-input-label {
    color: #D9D9D9;
}

/* Контакты */
.ask-question {
    background: linear-gradient(90deg, #FF9F40 0%, #FFBF6F 100%);
    padding: 120px 20px 100px;
    color: #ffffff;
}

.ask-question__content {
    max-width: 1100px;
    margin: 0 auto;
}

.ask-question__title,
.ask-question__subtitle {
    text-align: left;
}

.ask-question__title {
    font-size: 40px;
    font-weight: 700;
    line-height: 1.2;
    margin-bottom: 12px;
}

.ask-question__subtitle {
    font-size: 18px;
    font-weight: 400;
    line-height: 1.55;
    margin-bottom: 60px;
}

.ask-question .form-label {
    font-size: 16px;
    font-weight: 500;
    margin-bottom: 8px;
    display: block;
    color: #fff;
}

.ask-question__input,
.ask-question .form-input {
    width: 100%;
    height: 52px;
    background: rgba(255, 255, 255, 0.22);
    border: 1px solid rgba(255, 255, 255, 0.75);
    border-radius: 25px;
    padding: 0 20px;
    color: #fff;
    font-size: 16px;
    font-family: 'Montserrat', sans-serif;
}

.ask-question__textarea {
    height: 52px;
    min-height: 52px;
    padding: 0 20px;
    border-radius: 25px;
    resize: none;
    display: flex;
    align-items: center;
    line-height: 52px;
    overflow: hidden;
}

.ask-question__submit-btn {
    align-self: flex-start;
    width: 400px;
    max-width: 100%;
    height: 52px;
    background: #FFDBA3;
    color: #1C1E40;
    font-size: 18px;
    font-weight: 600;
    border: none;
    border-radius: 25px;
    cursor: pointer;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15);
    margin-top: 20px;

}

#contacts .contacts__wrap {
    display: flex;
    width: 100%;
    margin-top: 0;
    background: transparent;
    border-radius: 0;
    box-shadow: none;
}

.contacts__column {
    flex: 1;
    padding: 60px 50px;
    box-sizing: border-box;
}

.contacts__list {
    background: #ffffff;
}

.contacts__phone {
    font-size: 28px;
    font-weight: 700;
    text-decoration: none;
    color: #1C1E40;
    margin-bottom: 14px;
    display: block;
}

.contacts__address {
    font-size: 16px;
    line-height: 1.45;
    color: #676767;
    margin-bottom: 28px;
}

.contacts__email-wrap h3 {
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    margin-bottom: 10px;
    color: #1C1E40;
}

.contacts__email {
    font-weight: 700;
    color: #1C1E40;
    text-decoration: none;
    display: block;
    margin-bottom: 5px;
}

.contacts__divider {
    height: 1px;
    background: #E5E5E5;
    margin: 32px 0 26px;
}

.contacts__messangers {
    display: flex;
    align-items: center;
    gap: 12px;
}

.contacts__messangers h3 {
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    color: #1C1E40;
    margin: 0;
    white-space: nowrap;
}

.contacts__messangers .header__whatsapp-btn{
    width: 48px;
    height: 48px;
}

.contacts__form-title {
    font-size: 40px;
    font-weight: 700;
    margin-bottom: 40px;
    color: #ffffff;
}

.contacts__column--form .ask-question__checkbox-text {
    color: #ffffff;
}

.ask-question__input[type="tel"],
.contacts__column--form .ask-question__input[type="tel"] {
    background: rgba(255, 255, 255, 0.22);
    border: 1px solid rgba(255, 255, 255, 0.7);
    border-radius: 25px;
    height: 52px;
    padding: 0 20px;
    color: #fff;
    font-size: 16px;
}

#contacts .container {
    max-width: 100%;
    padding-left: 20px;
    padding-right: 20px;
}

.aboutus {
    padding: 80px 0;
    background: #ebebeb;
}

.aboutus__top {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 48px;
}

.aboutus__rectangle {
    width: 182px;
    height: 10px;
    background: #E3644B;
    border-radius: 10px;
    flex-shrink: 0;
}

.aboutus__title {
    margin: 0;
    font-size: 60px;
    font-weight: 700;
    line-height: 1.1;
    color: #1C1E40;
}

.aboutus__main {
    display: grid;
    grid-template-columns: 1fr 1fr 440px;
    grid-template-rows: auto auto auto;
    column-gap: 48px;
    row-gap: 0;
    align-items: start;
    margin-bottom: 0;
}

/* Строка 1: текст занимает col1+col2 */
.aboutus__text {
    grid-column: 1 / 3;
    grid-row: 1;
    display: flex;
    flex-direction: column;
    gap: 0;
}

.aboutus__description {
    font-size: 18px;
    font-weight: 700;
    line-height: 1.6;
    color: #1C1E40;
    margin-bottom: 0;
    padding-bottom: 0;
}

/* Строка 2: цифры 26 и 58 — в одной строке */
.aboutus__stats-row--top {
    grid-column: 1 / 3;
    grid-row: 2;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
    padding-top: 48px;
}

.aboutus__stats-row--top .aboutus__stat {
    padding-top: 0;
}

.aboutus__stats-row--top .aboutus__stat:first-child {
    grid-column: auto;
}

.aboutus__stats-row--top .aboutus__stat:last-child {
    grid-column: auto;
}

/* Галерея: col3, строки 1–2 */
.aboutus__photo-wrapper {
    position: relative;
    grid-column: 3;
    grid-row: 1 / 3;
    align-self: stretch;
    min-width: 0;
    min-height: 0;
}

.aboutus__photo {
    position: relative;
    width: 100%;
    height: 100%;
    min-height: 460px;
    overflow: hidden;
}

.aboutus__photo .swiper-slide {
    position: relative;
}

.aboutus__photo .swiper-slide picture {
    position: absolute;
    inset: 0;
}

.aboutus__photo .swiper-slide img {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Строка 3: 220, 5000+, 6000 — все 3 колонки, явно задаём grid-row */
.aboutus__stats {
    grid-column: 1 / 4;
    grid-row: 3;
    display: grid;
    grid-template-columns: 1fr 1fr 440px;
    column-gap: 48px;
    margin-top: 48px;
}

.aboutus__stats-row--bottom {
    display: contents;
}

.aboutus__arrow-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 44px;
    height: 44px;
    background: rgba(255, 255, 255, 0.9);
    border: none;
    border-radius: 50%;
    padding: 0;
    cursor: pointer;
    z-index: 10;
    box-shadow: 0 3px 12px rgba(0, 0, 0, 0.18);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.2s ease, transform 0.2s ease;
}

.aboutus__arrow-btn:hover {
    background: #fff;
    transform: translateY(-50%) translateY(-2px);
}

.aboutus__arrow-btn:active {
    transform: translateY(-50%) scale(.94);
}

.aboutus__arrow-btn::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 10px;
    height: 10px;
    border-top: 2px solid #1C1E40;
    border-right: 2px solid #1C1E40;
}

.aboutus__arrow-btn--left {
    left: 20px;
}

.aboutus__arrow-btn--left::before {
    transform: translate(-30%, -50%) rotate(-135deg);
}

.aboutus__arrow-btn--right {
    right: 20px;
}

.aboutus__arrow-btn--right::before {
    transform: translate(-70%, -50%) rotate(45deg);
}

.aboutus__stat {
    text-align: left;
}

.aboutus__stat-number {
    font-size: 80px;
    font-weight: 700;
    line-height: 1;
    color: #E3644B;
    margin-bottom: 14px;
}

.aboutus__stat-text {
    font-size: 16px;
    line-height: 1.5;
    color: #1C1E40;
    font-weight: 400;
}

/* Адаптивность */
@media (max-width: 1100px) {
    .aboutus__main {
        grid-template-columns: 1fr 1fr 360px;
        column-gap: 32px;
    }

    .aboutus__stats {
        grid-template-columns: 1fr 1fr 360px;
        column-gap: 32px;
    }

    .aboutus__stat-number {
        font-size: 64px;
    }
}

@media screen and (max-width: 768px) {
    .project-form {
        flex-direction: column;
        width: 100%;
        height: auto;
    }

    .project-form__left,
    .project-form__right {
        width: 100%;
        border-radius: 0;
        padding: 10px;
    }

    .project-form__right {
        display: none;
    }



    .form-submit {
        width: 100%;
    }

    /* Контакты */

    .ask-question {
        padding: 80px 20px 80px;
    }

    .ask-question__title {
        font-size: 36px;
    }

    .ask-question__subtitle {
        font-size: 17px;
    }

    #contacts .contacts__wrap {
        flex-direction: column;
    }

    .contacts__column {
        padding: 40px 30px;
    }

    .contacts__form-title {
        font-size: 32px;
    }

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


/* Certificates */
.certificates__slider {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto;
}

.certificate__btn-wrap {
    display: flex;
    justify-content: center;
    margin-top: 32px;
}

.cerifacte__img-wrap {
    min-height: 348px;
}

.cerifacte__img-wrap img {
    width: 100%;
    height: auto;
}

.certificates__slider-track-container {
    overflow: hidden;
    position: relative;
}

.certificates__slider-track {
    display: flex;
    transition: transform 0.5s ease;
    width: fit-content;
}

.certificates__slide {
    width: 300px;
    display: flex;
    flex-direction: column;
    align-items: center;

    margin-right: 32px;
}

.certificats-slide__button {
    justify-content: center;
}

.certificats-slide__button .btn {
    width: 180px;
}

.certificates__slide-img {
    cursor: zoom-in;
    width: 260px;
    height: 348px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}

.certificates__slide-text {
    font-size: 14px;
    font-weight: 400;
    text-align: left;
}

.certificates__btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 40px;
    height: 40px;
    cursor: pointer;
    z-index: 1;
}

.certificates__btn--prev {
    left: -60px;
}

.certificates__btn--next {
    right: -60px;
}

/* Стили для попапа сертификатов */
.certificate-popup-img {
    max-width: 100%;
    max-height: 80vh;
    display: block;
    margin: 0 auto;
    border-radius: 8px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);
}

#certificatePopup .popup-content {
    max-width: 90%;
    width: auto;
    padding: 30px;
    text-align: center;
    background: white;
}

.certificate-popup-img {
    max-width: 100%;
    max-height: 80vh;
    display: block;
    margin: 0 auto;
    border-radius: 8px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);
}

/* Contact */
.contact {
    margin: 40px auto;
    max-width: 1200px;
    position: relative;
}

.contact__container {
    width: 100%;
    /* background-image: url('../../img/new_index/contact_bg.jpg'); */
    background-size: cover;
    background-position: center;
    border-radius: 20px;
    overflow: hidden;
    position: relative;
}

.contact__overlay {
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.6);
}

.contact__row {
    display: flex;
    justify-content: space-between;
    box-sizing: border-box;
    padding: 56px 56px 50px 56px;
}

.contact__left {
    display: flex;
    flex-direction: column;
    color: #fff;
}

.contact__logo {
    width: 320px;
    margin-bottom: 60px;
}

.contact__logo-img {
    width: 100%;
    height: auto;
}

.contact__phone {
    font-size: 22px;
    font-weight: 500;
    margin-bottom: 32px;
    text-decoration: none;
    color: #fff;
}

.contact__address {
    font-size: 22px;
    line-height: 1.4;
    margin: 0;
}

.contact__right {
    display: flex;
    flex-direction: column;
    align-items: end;
}

.contact__nav {
    display: flex;
    gap: 25px;
    margin-bottom: 62px;
}

.contact__nav-link {
    color: white;
    text-decoration: none;
    font-size: 20px;
    transition: color 0.3s;
}

.contact__nav-link:hover {
    color: #FF4500;
}

.contact__call-btn {
    background-color: #E3644B;
    color: #fff;
    text-decoration: none;
    text-align: center;
    display: block;
    padding: 18px 30px;
    border: none;
    border-radius: 50px;
    cursor: pointer;
    margin-bottom: 25px;
    transition: background-color 0.3s;
    width: 276px;
    height: 55px;
    font-size: 17px;
    font-weight: 500;
    font-family: 'Montserrat', 'Arial', sans-serif;
}

.header-contact__row {
    display: flex;
    justify-content: space-between;
}

.contact__call-btn:hover {
    background-color: #e03e00;
}

.contact__hours {
    color: #fff;
    margin-bottom: 40px;
    font-size: 18px;
}

.contact__icons {
    display: flex;
    gap: 15px;
}

.contact__icon-wrap {
    width: 66px;
    height: 66px;
    display: flex;
    align-items: center;
    justify-content: center;

    background-color: #fff;
    border-radius: 50%;
}


.contact__icon-img {
    width: 54px;
    height: 54px;
    border-radius: 50%;
    transition: transform 0.2s;
}

.contact__icon-img:hover {
    transform: scale(1.1);
}

/* News */
.news {
    padding: 80px 20px;
    background: #fff;
    font-family: 'Montserrat', sans-serif;
    margin-bottom: 0;
}

.news__container {
    max-width: 1200px;
    margin: 0 auto;
}

.news-slider {
    width: 100%;
    overflow: hidden;
}

.news-slider .swiper-wrapper {
    display: flex;
    align-items: stretch;
}

/* Ширину и промежуток между слайдами задаёт сам Swiper (slidesPerView/spaceBetween
   в script.js) через инлайн-стили — здесь только защита от переполнения флекс-item. */
.news-slider .swiper-slide {
    min-width: 0;
    height: auto;
    flex-shrink: 0;
}

.news__card {
    display: flex;
    flex-direction: column;
    height: 100%;
    background: transparent;
    text-align: left;
    text-decoration: none;
}

.news__image {
    width: 100%;
    height: 180px;
    object-fit: cover;
    border-radius: 4px;
    margin-bottom: 20px;
}

.news__date {
    display: block;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 2px;
    color: #ff5e14;
    padding-bottom: 14px;
    margin-bottom: 14px;
    border-bottom: 1px solid #E5E5E5;
}

.news__heading {
    font-size: 16px;
    font-weight: 400;
    text-transform: uppercase;
    margin: 0 0 10px;
    line-height: 1.3;
    color: #1C1E40;
}

.news__description {
    font-size: 12px;
    color: #676767;
    margin-bottom: 0;
}

/* News Modal */
.news-modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(20, 20, 20, 0.8);
    display: none;
    align-items: center;
    justify-content: center;
    z-index: 9999;
    padding: 40px 20px;
}

.news-modal__content {
    background: #fff;
    max-width: 800px;
    width: 100%;
    padding: 30px;
    border-radius: 12px;
    position: relative;
    overflow-y: auto;
    max-height: 90vh;
}

.news-modal__title {
    font-size: 36px;
}

.news-modal__img {
    width: 760px;
    height: 570px;
}

.news-modal__text {
    font-size: 20px;
}

.news-modal__date {
    font-size: 40px;
    color: #00000080;
}

.news-modal__close {
    position: absolute;
    top: 12px;
    right: 16px;
    font-size: 30px;
    background: none;
    border: none;
    cursor: pointer;
    color: #333;
}

/* Slider Buttons */
.projects__nav-btn,
.certificates__btn {
    width: 40px;
    height: 40px;
    cursor: pointer;
    z-index: 3;
}

.projects__nav-btn--left,
.certificates__btn--prev {
    left: 10px;
}

.projects__nav-btn--right,
.certificates__btn--next {
    right: 10px;
}

.slider__contact-row {
    flex-direction: row-reverse;
    justify-content: space-between;
    width: 100%;
}

/* Contact */




.contact__address {
    font-size: 22px;
    line-height: 1.4;
    margin: 0;
}


.contact__nav-link {
    color: white;
    text-decoration: none;
    font-size: 20px;
    transition: color 0.3s;
}

.contact__nav-link:hover {
    color: #FF4500;
}

.contact__icons {
    display: flex;
    gap: 15px;
}

.contact__icon-img {
    width: 66px;
    height: 66px;
    border-radius: 50%;
    background-color: white;
    transition: transform 0.2s;
}

.contact__icon-img:hover {
    transform: scale(1.1);
}

.contact__header {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 40px;
}

.contact__rectangle {
    width: 182px;
    height: 10px;
    border-radius: 10px;
    background: #E3644B;
    flex-shrink: 0;
}

.news.section {
    margin-bottom: 0;
}


/* Стили для попапа */
.popup-overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 1000;
    justify-content: center;
    align-items: center;
}

.popup-content {
    background-color: white;
    padding: 30px;
    border-radius: 10px;
    width: 100%;
    max-width: 600px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
    position: relative;
}

.popup-close {
    position: absolute;
    top: 15px;
    right: 15px;
    width: 24px;
    height: 24px;
    cursor: pointer;
    background: none;
    border: none;
    font-size: 20px;
    color: #666;
}

.popup-title {
    font-size: 22px;
    font-weight: bold;
    margin-bottom: 15px;
    text-align: center;
    color: #333;
}

.popup-subtitle {
    font-size: 16px;
    margin-bottom: 25px;
    text-align: center;
    color: #666;
}

.popup-description {
    margin-bottom: 25px;
    color: #444;
    line-height: 1.5;
}

.form-row {
    display: flex;
    gap: 15px;
    margin-bottom: 20px;
}

.input-group {
    flex: 1;
}

.input-group label {
    display: block;
    margin-bottom: 8px;
    font-weight: 500;
    color: #444;
}

.input-group input {
    width: 100%;
    padding: 12px 15px;
    border: 1px solid #ddd;
    border-radius: 6px;
    font-size: 16px;
    box-sizing: border-box;
}

.submit-btn {
    width: 100%;
    padding: 14px;
    background-color: #E3644B;
    color: white;
    border: none;
    border-radius: 20px;
    font-size: 16px;
    font-weight: bold;
    cursor: pointer;
    transition: background-color 0.3s;
}

.submit-btn:hover {
    background-color: #d05a43;
}


/* Благодарности */
.success-popup {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.6);
    display: none;
    align-items: center;
    justify-content: center;
    z-index: 9999;
}

.success-popup__content {
    background: white;
    padding: 40px 30px;
    border-radius: 15px;
    text-align: center;
    max-width: 400px;
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.2);
}

.success-popup__close-btn {
    margin-top: 20px;
    background: #E3644B;
    color: white;
    padding: 10px 20px;
    border: none;
    border-radius: 50px;
    cursor: pointer;
    font-weight: bold;
}

#projectPopup .popup-content {
    max-height: 80vh;
    overflow-y: auto;
    padding: 30px;
}

/* Чтобы остальные не затронуть */
#requestPopup .popup-content,
#successPopup .success-popup__content {
    overflow-y: visible;
    scrollbar-width: 2px;
}

/* Увеличеный сертификат */
.certificate-popup-img.zoomed {
    transform: scale(1.5);
    cursor: zoom-out;
    transition: transform 0.3s ease;
}

.certificate-popup-img {
    cursor: zoom-in;
    transition: transform 0.3s ease;
    max-width: 90%;
    max-height: 80vh;
}

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

.contacts__column {
    padding-top: 100px;
    padding-bottom: 85px;
}

.contacts__column--form {
    color: #fff;
    position: relative;
}

.contacts__column--form::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;

    width: 100vw;
    height: 100%;

    background-image: linear-gradient(0turn,
            rgba(54, 54, 54, 1) 0%,
            rgba(71, 57, 57, 0.91) 100%);

    z-index: -1;
}

/* Animation */

.animated-bg {
    position: relative;
    overflow: hidden;
    isolation: isolate;
}

.animated-bg>*:not(.bg-particle),
.animated-bg .container,
.animated-bg .contacts__wrap {
    position: relative;
    z-index: 2;
}

.bg-particle {
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
    z-index: 1;
    filter: blur(70px);
    opacity: 0.85;
    animation: floatParticle 35s linear infinite alternate;
}

.ask-question .bg-particle {
    background: radial-gradient(circle, rgba(255, 255, 255, 0.95) 0%, rgba(255, 255, 255, 0.55) 35%, transparent 80%);
}

.bg-contact .bg-particle {
    background: radial-gradient(circle, rgba(255, 170, 70, 0.95) 0%, rgba(255, 140, 0, 0.55) 40%, transparent 80%);
}

.particle-1 {
    width: 340px;
    height: 340px;
    top: -80px;
    left: -60px;
    animation-duration: 42s;
}

.particle-2 {
    width: 260px;
    height: 260px;
    top: 40%;
    right: -80px;
    animation-duration: 55s;
    animation-direction: reverse;
}

.particle-3 {
    width: 220px;
    height: 220px;
    bottom: -50px;
    left: 30%;
    animation-duration: 38s;
}

.particle-4 {
    width: 300px;
    height: 300px;
    bottom: -100px;
    right: 10%;
    animation-duration: 48s;
    animation-direction: reverse;
}

@keyframes floatParticle {
    from {
        transform: translate(0, 0) scale(1);
    }

    to {
        transform: translate(120px, -140px) scale(1.25);
    }
}

/* Адаптивные стили попапа */
@media screen and (max-width: 768px) {

    #certificatePopup .popup-content {
        width: 90%;
        height: 90%;
        max-width: none;
        padding: 60px 20px 30px;
        display: flex;
        flex-direction: column;
        justify-content: center;
    }

    .certificate-popup-img {
        max-height: 60vh;
        width: auto;
        margin: 0 auto;
    }

    .popup-close {
        top: 20px;
        right: 20px;
        font-size: 24px;
    }

    .popup-content {
        max-width: none;
        height: 100%;
        border-radius: 0;
        padding: 60px 20px 30px;
        overflow-y: auto;
    }

    .popup-close {
        top: 20px;
        right: 20px;
        font-size: 24px;
    }

    /* Общие стили */
    .section {
        padding-left: 5%;
        padding-right: 5%;
        margin: 20px 0;
    }

    /* Header */
    .header {
        flex-wrap: wrap;
    }

    .header__logo {
        width: 80px;
    }

    .header__links.active {
        display: flex;
    }

    .header__link {
        width: 100%;
    }

    .header__link-a {
        display: block;
        color: #FFF;
        font-size: 24px;
        padding: 10px;
    }

    .header__link-a-mobile {
        display: block;
        color: #FFF;
        font-size: 20px;
        padding: 10px;
    }

    .header__link-triangle {
        display: none;
    }

    .header__link.active .header__link-dropdown {
        display: block;
    }

    .header__link-dropdown::before {
        content: '';
        position: absolute;
        top: -10px;
        left: 50%;
        transform: translateX(-50%);
        border-left: 10px solid transparent;
        border-right: 10px solid transparent;
        border-bottom: 10px solid rgba(255, 255, 255, 0.9);
    }

    .header-nav__icon-wrap {
        width: 24px;
    }

    .header__close-btn {
        display: none;
        position: absolute;
        top: 20px;
        right: 20px;
        background: none;
        border: none;
        color: #FFF;
        font-size: 24px;
        cursor: pointer;
        z-index: 102;
    }

    .header__links.active~.header__close-btn {
        display: block;
    }

    .header__contact {
        display: none;
    }

    .slider {
        min-height: 1025px;
    }

    .slider__cta-btn {
        bottom: 20%;
        left: 5%;
        transform: none;
        width: 90%;
        padding: 10px;
        height: 50px;
        justify-content: center;
        font-size: 16px;
    }

    .slider__contact-mobile .header__contact-link {
        color: #FFF;
        font-size: 14px;
        align-items: center;
        gap: 8px;
    }

    .slider__contact-mobile .header__contact-link.phone::before {
        width: 24px;
        height: 24px;
    }

    .slider__contact-mobile .header__whatsapp-btn img {
        width: 24px;
        height: 24px;
    }


    .black-strip {
        display: none;
    }

    #video-container {
        padding: 60px 16px 0;
        margin-bottom: 60px;
        height: 260px;
    }

    /* Project Form */
    .project-form {
        width: 100%;
        height: auto;
        flex-direction: column;
        padding: 20px;
    }

    .project-form__wrapper {
        margin: 0 auto;
        margin-bottom: 20px;
    }

    .project-form__title {
        width: 100%;
        font-size: 18px;
    }

    .project-form__input-row {
        flex-direction: column;
        gap: 10px;
    }

    .project-form__input,
    .project-form__file {
        width: 100%;
        height: 40px;
        font-size: 14px;
    }

    .project-form__input--short {
        width: 100%;
    }

    .project-form__submit {
        width: 100%;
        height: 40px;
        font-size: 16px;
    }

    .project-form__man {
        display: none;
    }

    .project-form__signature {
        position: static;
        width: 100%;
        height: auto;
        padding: 10px;
        margin-top: 20px;
    }

    .project-form__signature-text {
        font-size: 14px;
    }

    .project-form__circle {
        top: 5px;
        right: 5px;
        width: 15px;
        height: 15px;
    }

    /* Certificates */
    .certificates__title {
        font-size: 36px;
    }

    .certificates__rectangle {
        width: 100px;
        height: 8px;
    }

    .certificates__slide {
        min-width: 200px;
    }

    .certificates__slide-img {
        width: 200px;
        height: auto;
    }

    .certificates__slide-text {
        font-size: 12px;
    }

    .certificates__btn {
        width: 30px;
        height: 30px;
    }

    .certificates__btn--prev {
        left: 0;
    }

    .certificates__btn--next {
        right: 0;
    }

    /* Contact */
    .contact {
        margin: 20px auto;
    }

    .contact__container {
        height: auto;
    }

    .contact__overlay {
        flex-direction: column;
        gap: 20px;
    }

    .contact__left {
        align-items: center;
        text-align: center;
    }

    .contact__phone,
    .contact__address {
        font-size: 16px;
    }

    .contact__right {
        align-items: center;
    }

    .contact__nav {
        flex-direction: column;
        gap: 10px;
    }

    .contact__nav-link {
        font-size: 16px;
    }

    .contact__call-btn {
        width: 100%;
        font-size: 14px;
    }

    .contact__hours {
        font-size: 14px;
    }

    /* News */
    .news {
        padding: 40px 10px;
    }

    .news__heading {
        font-size: 14px;
    }

    .news__description {
        font-size: 11px;
    }

    .news__date {
        font-size: 11px;
        letter-spacing: 1.5px;
    }

    .news-modal__content {
        padding: 20px;
    }

    .news-modal__title {
        font-size: 24px;
    }

    .news-modal__img {
        width: 100%;
        height: auto;
    }

    .news-modal__text {
        font-size: 16px;
    }

    .news-modal__date {
        font-size: 20px;
    }

    .news-modal__close {
        font-size: 24px;
    }

    .global-products,
    .global-projects {
        display: none;
    }

    .products__title,
    .projects__title,
    .certificates__title,
    .aboutus__title,
    .clients__title {
        font-size: 35px;
    }


    /* Header */
    .header__nav-mobile,
    .header__close-btn {
        display: none;
    }

    .header__links {
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        gap: 16px;
        justify-content: center;
        align-items: center;
        background: transparent;
        position: static;
        height: auto;
        padding: 0;
    }

    .header__link {
        position: relative;
    }

    .header__link-a {
        font-size: 14px;
        padding: 4px 8px;
        white-space: nowrap;
    }

    .dropdown-list__item a {
        font-size: 11px;
    }



    .header__contact {
        flex-direction: row;
        flex-wrap: nowrap;
        justify-content: center;
        align-items: center;
        gap: 10px;
    }

    .header__contact-link {
        font-size: 13px;
    }

    .header__phone-icon,
    .header__whatsapp-btn {
        width: 24px;
        height: 24px;
    }

    /* Слайдер */
    .slider__content {
        padding-top: 200px;
        align-items: flex-start;
    }

    .slider-btn__wrap {
        justify-content: flex-start;
        margin-top: 30px;
    }

    .slider__cta-btn {
        width: 50%;
        padding: 15px 20px;
        height: auto;
        font-size: 16px;
    }

    .slider__contact-mobile {
        display: flex;
        justify-content: flex-start;
        align-items: center;
        gap: 12px;
        flex-direction: row;
        margin-top: 20px;
        padding-bottom: 20px;
    }

    .slider__text {
        font-size: 40px;
        text-align: left;
    }

    /* Заголовки секций */
    .products__header::before {
        display: none;
    }

    .products__header,
    .projects__header,
    .certificates__header,
    .aboutus__top,
    .clients__top {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        margin-bottom: 30px;
        gap: 8px;
    }

    .products__title,
    .projects__title,
    .certificates__title,
    .aboutus__title,
    .clients__title {
        font-size: 30px;
        font-weight: 600;
        margin: 0;
        order: 2;
        line-height: 1.1;
    }

    .products__rectangle,
    .projects__rectangle,
    .certificates__rectangle,
    .aboutus__rectangle,
    .clients__rectangle {
        width: 100px;
        height: 6px;
        background-color: #E3644B;
        border-radius: 6px;
        order: 1;
        margin-bottom: 4px;
    }

    .clients__description {
        margin-left: 0;
    }

    .clients__marquee {
        margin-top: 32px;
    }

    /* Продукция */
    .products__title {
        padding: 0;
    }

    .products__content {
        padding: 0 15px;
    }

    .products__column {
        width: 100%;
        display: flex;
        flex-direction: column;
        gap: 20px;
    }

    .products__item {
        width: 100%;
        height: auto;
        margin: 0;
        border-radius: 15px;
    }

    .products__item-text {
        font-size: 24px;
    }


    /* Форма */
    .project-form {
        flex-direction: column;
        width: 100%;
        position: relative;

        padding: 0;
    }

    .project-form__left {
        width: 100%;
        height: 100%;
    }

    .project-form form,
    .project-form__right {
        position: relative;
        z-index: 1;
    }

    .form-row {
        flex-direction: row;
        flex-wrap: wrap;
        gap: 15px;
    }

    .form-submit {
        width: 100%;
    }

    /* Попап серттификата */
    #certificatePopup .popup-content {
        width: 100vw;
        height: 100vh;
        max-width: none;
        padding: 70px 20px 30px;
        display: flex;
        flex-direction: column;
        justify-content: center;
        box-sizing: border-box;
        margin: 0;
        border-radius: 0;
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
    }

    .certificate-popup-img {
        max-height: 60vh;
        max-width: 90vw;
        width: auto;
        margin: 0 auto;
    }

    .certificate-popup-img.zoomed {
        transform: scale(1.3);
        max-height: 55vh;
        max-width: 85vw;
    }

    .contacts__column {
        padding: 24px 0;
    }

    .contacts__column--form {
        margin-top: 24px;
    }

    .contacts__column--form::before {
        left: 50%;
        width: 100vw;

        transform: translateX(-50%);
    }

    .projects,
    .products {
        padding: 55px 0;
    }

    .projects__top,
    .products__top {
        flex-direction: column;
        align-items: flex-start;
        justify-content: flex-start;
        gap: 18px;
        margin-bottom: 26px;
        padding: 0 20px;
    }

    .projects__header,
    .products__header,
    .certificates__header,
    .aboutus__top,
    .clients__top {
        gap: 12px;
        justify-content: flex-start;
        margin-bottom: 26px;
    }

    .projects__rectangle,
    .products__rectangle,
    .certificates__rectangle,
    .aboutus__rectangle,
    .clients__rectangle {
        width: 90px;
        height: 6px;
        border-radius: 20px;
        margin-left: 0;
    }

    .projects__title,
    .products__title,
    .certificates__title,
    .aboutus__title,
    .clients__title {
        font-size: 32px;
        line-height: 1.05;
        text-align: left;
    }

    .projects__nav,
    .products__nav {
        margin-left: auto;
        gap: 8px;
    }

    .projects__arrow,
    .products__arrow {
        width: 42px;
        height: 42px;
    }

    .projects__arrow::before,
    .products__arrow::before {
        width: 10px;
        height: 10px;
    }

    /* Новости и проекты: заголовок и стрелки в одну строку */
    .news .projects__top,
    .projects .projects__top {
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        flex-wrap: nowrap;
        gap: 10px;
    }

    .news .projects__header,
    .projects .projects__header {
        flex-direction: row;
        align-items: center;
        gap: 10px;
        margin-bottom: 0;
        flex: 1 1 auto;
        min-width: 0;
    }

    .news .projects__rectangle,
    .projects .projects__rectangle {
        width: 32px;
        margin-bottom: 0;
    }

    .news .projects__title,
    .projects .projects__title {
        font-size: 22px;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .news .projects__nav,
    .projects .projects__nav {
        margin-left: 0;
        flex-shrink: 0;
    }

    .news .projects__arrow,
    .projects .projects__arrow {
        width: 36px;
        height: 36px;
    }


    .projects-card__image {
        height: 260px;
    }

    .projects-card__title {
        font-size: 26px;
    }

    .projects-card__bottom {
        padding-top: 12px;
        font-size: 16px;
    }

    .aboutus {
        padding: 60px 0;
    }

    /* Планшет: 2 колонки — текст+цифры слева, галерея справа */
    .aboutus__main {
        grid-template-columns: 1fr 320px;
        grid-template-rows: auto auto;
        column-gap: 32px;
    }

    .aboutus__text {
        grid-column: 1 / 2;
        grid-row: 1;
    }

    /* Верхние цифры — явно в строку 2, каждая в col1 (26 идёт первой) */
    .aboutus__stats-row--top .aboutus__stat {
        grid-column: 1;
        grid-row: auto;
        padding-top: 24px;
    }

    /* Вторая цифра 58 — тоже col1 (стекаются вертикально) */
    .aboutus__stats-row--top .aboutus__stat:last-child {
        padding-top: 24px;
    }

    .aboutus__photo-wrapper {
        grid-column: 2;
        grid-row: 1 / 3;
    }

    /* Нижний ряд: 3 цифры в 2 колонки */
    .aboutus__stats {
        grid-column: 1 / 3;
        grid-row: 3;
        grid-template-columns: 1fr 1fr;
        column-gap: 24px;
        margin-top: 32px;
    }

    .aboutus__stats-row--bottom {
        display: contents;
    }

    .aboutus__stats-row--bottom .aboutus__stat:nth-child(3) {
        grid-column: 1 / -1;
    }

    .aboutus__stat-number {
        font-size: 52px;
    }

    .aboutus__stat-text {
        font-size: 14px;
    }
}

@media screen and (max-width: 460px) {
    .slider {
        min-height: 865px;
    }

    .header__nav-mobile {
        display: block;
        z-index: 101;
    }

    .products__item {
        width: 280px;
        height: 180px;
        border-radius: 12px;
        flex-shrink: 0;
        min-width: 280px;
    }

    .header__link-dropdown {
        transform: none;
        top: 38px;
    }

    .slider__text {
        font-size: 25px;
        top: 25%;
        left: 5%;
        text-align: left;
    }

    .slider__content {
        padding-top: 220px;
        gap: 28px;
    }

    .slider__text {
        line-height: 1.3;
    }

    .slider-btn__wrap {
        width: 100%;
        margin-top: 0;
        gap: 16px;
    }

    .products__column {
        display: flex;
        flex-direction: row;
        gap: 16px;
    }

    .form-column--medium {
        width: 100%;
    }

    .header__links {
        display: none;
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: black;
        flex-direction: column;
        gap: 20px;
        padding: 50px 20px;
        z-index: 100;
        justify-content: center;
        align-items: center;
        text-align: center;
    }


    .slider__contact-mobile {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
        width: 100%;
    }

    .slider__cta-btn {
        border-radius: 20px;
        width: 306px;
        height: 60px;
        font-size: 17px;
        font-weight: 600;
    }

    .products__title {
        padding-top: 0;
        order: 1;
    }

    .products__rectangle {
        order: 2;
        height: 10px;
        width: 170px;
        margin-left: -80px;
        border-radius: 50px;
        margin-bottom: 70px;
    }

    .products__header {
        gap: 20px;
        margin-bottom: 0px;
    }

    .products__header::before {
        position: absolute;
        display: block;
        top: 96px;
        left: 180px;
        width: 62px;
        height: 30px;
    }

    .project-form__left {
        padding-left: 40px;
    }

    .form-input {
        width: 100%;
    }

    .project-form__wrapper {
        width: 100%;
    }

    .project-form__left {
        padding: 24px;
    }

    .form-label {
        font-size: 13px;
    }

    .form-row {
        flex-direction: column;
        gap: 15px;
    }

    .order {
        margin-bottom: 80px;
    }

    .contact__row {
        flex-direction: column;
        padding: 16px;
    }

    .contact__logo {
        width: 170px;
    }

    .contact__logo {
        margin-bottom: 34px;
    }

    .contact__phone {
        margin-bottom: 16px;
    }

    .aboutus__orange-line {
        width: 100px;
        height: 8px;
    }


    .contact__call-btn {
        order: 1;
    }

    .contact__nav {
        order: 4;
        align-items: center;
        margin-bottom: 16px;
    }

    .contact__hours {
        order: 2;
        margin-bottom: 16px;
    }

    .contact__icons {
        order: 3;
        margin-bottom: 16px;
    }

    .contact__address {
        margin-bottom: 16px;
    }

    .contact__call-btn {
        width: 208px;
    }

    .contact__icon-wrap {
        width: 50px;
        height: 50px;
        padding: 5px;
    }

    .contact__icon-wrap a {
        display: flex;
        align-items: center;
        width: 40px;
    }

    .contact__icon-img {
        width: 100%;
        height: auto;
    }

    #certificatePopup .popup-content {
        width: 100vw;
        height: 100vh;
        padding: 60px 15px 30px;
        margin: 0;
    }

    .certificate-popup-img {
        max-height: 50vh;
        max-width: 95vw;
    }

    .certificate-popup-img.zoomed {
        transform: scale(1.2);
        max-height: 45vh;
        max-width: 90vw;
    }

    /* Контакты */
    .ask-question {
        padding: 60px 15px 60px;
    }

    .ask-question__title {
        font-size: 28px;
    }

    .ask-question__submit-btn {
        width: 100%;
    }

    .projects,
    .products {
        padding: 45px 0;
    }

    .projects__top,
    .products__top,
    #products .projects__top,
    .projects .projects__top {
        gap: 16px;
        margin-bottom: 22px;
        padding: 0 16px;
    }

    .projects__header,
    .products__header,
    .certificates__header,
    .aboutus__top,
    .clients__top {
        gap: 16px;
        margin-bottom: 22px;
    }

    .projects__rectangle,
    .products__rectangle,
    .certificates__rectangle,
    .aboutus__rectangle,
    .clients__rectangle {
        width: 72px;
        height: 5px;
    }

    .projects__title,
    .products__title,
    .certificates__title,
    .aboutus__title,
    .clients__title {
        font-size: 27px;
        text-align: left;
    }

    .projects__arrow,
    .products__arrow {
        width: 38px;
        height: 38px;
    }


    .projects-card__image {
        height: 220px;
    }

    .projects-card__title {
        font-size: 24px;
    }

    .projects-card__bottom {
        font-size: 15px;
    }

    .aboutus__description {
        font-size: 16px;
    }

    .clients__marquee {
        margin-top: 24px;
    }

    .clients__logo {
        height: 40px;
    }

    .clients__track {
        gap: 60px;
    }
    .aboutus__main {
        grid-template-columns: 1fr;
        grid-template-rows: auto;
        gap: 0;
    }

    .aboutus__text {
        grid-column: 1;
        grid-row: 1;
    }

    .aboutus__stats-row--top {
        display: grid;
        grid-template-columns: 1fr 1fr;
        grid-row: 2;
        grid-column: 1;
    }

    .aboutus__stats-row--top .aboutus__stat {
        grid-column: auto;
        grid-row: auto;
        padding: 24px 0;
    }

    .aboutus__stats-row--top .aboutus__stat:last-child {
        padding-left: 16px;
    }

    .aboutus__photo-wrapper {
        grid-column: 1;
        grid-row: 3;
    }

    .aboutus__photo {
        height: 260px;
        min-height: 0;
    }

    .aboutus__stats {
        grid-column: 1;
        grid-row: 4;
        grid-template-columns: 1fr;
        margin-top: 0;
    }

    .aboutus__stats-row--bottom .aboutus__stat {
        padding: 20px 0;
    }

    .aboutus__stats-row--bottom .aboutus__stat:nth-child(3) {
        grid-column: auto;
    }

    .aboutus__stat-number {
        font-size: 56px;
    }

}


@media (max-width: 768px) {
    .bg-particle {
        filter: blur(55px);
        opacity: 0.75;
    }
}
