@font-face {
  font-family: "Gilroy";
  src: url("../fonts/Gilroy-Bold.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

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

/* Пример для Regular (400) */
@font-face {
    font-family: 'Roboto';
    src: url('../fonts/roboto-v20-latin_cyrillic-regular.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

/* Пример для Bold (700) */
@font-face {
    font-family: 'Roboto';
    src: url('../fonts/roboto-v20-latin_cyrillic-700.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

/* Отключаем горизонтальный скролл, который может возникнуть при вылете элементов сбоку */
body, html {
    overflow-x: hidden;
}

/* Фикс, чтобы элементы не мерцали до начала анимации */
[data-aos] {
    pointer-events: none;
}
.aos-animate {
    pointer-events: auto;
}

.consultation-form {
        margin-right: 190px;
    }

.section__materials {
    padding: 60px 0 0 110px;

}

.advantages__left p {
    margin-bottom: 10px; /* Регулируйте это число, чтобы уменьшить расстояние между блоками текста */
    line-height: 1.5;
}

body {
    font-family: 'Gilroy', sans-serif;
    font-size: 18px;
    font-weight: 400;
    color: #000;
}

/* Ð¡Ñ‚Ð¸Ð»Ð¸ Ð´Ð»Ñ Ñ„Ð¾Ñ€Ð¼Ñ‹ ÐºÐ¾Ð½ÑÑƒÐ»ÑŒÑ‚Ð°Ñ†Ð¸Ð¸ */
    .custom-input {
        height: 55px;
        border-radius: 10px;
        border: 1px solid #ddd;
        padding: 0 20px;
        font-size: 16px;
        width: 100%;
    }
    
    .custom-input:focus {
        border-color: #FF6B00;
        box-shadow: 0 0 0 0.2rem rgba(255, 107, 0, 0.25);
    }
    
    .submit-btn {
        height: 55px;
        width: 100%;
        border-radius: 10px;
        background: #FF6B00;
        color: white;
        border: none;
        font-weight: 700;
        font-size: 16px;
        cursor: pointer;
        transition: background 0.3s;
        /* Ð¢ÐµÐºÑÑ‚ Ð½Ð° ÐºÐ½Ð¾Ð¿ÐºÐµ Ð¼Ð¾Ð¶ÐµÑ‚ Ð±Ñ‹Ñ‚ÑŒ Ð´Ð»Ð¸Ð½Ð½Ñ‹Ð¼ Ð½Ð° Ð¼Ð¾Ð±, ÑƒÐ¼ÐµÐ½ÑŒÑˆÐ°ÐµÐ¼ ÑˆÑ€Ð¸Ñ„Ñ‚ ÐµÑÐ»Ð¸ Ð½Ð°Ð´Ð¾ */
        padding: 0 10px; 
    }
    
    .submit-btn:hover {
        background: #ff8c33;
    }

    

    /* ÐÐ´Ð°Ð¿Ñ‚Ð°Ñ†Ð¸Ñ Ð´Ð»Ñ Ð¼Ð¾Ð±Ð¸Ð»ÑŒÐ½Ñ‹Ñ… */
    @media (max-width: 768px) {
        .consultation-form .col-md-5, 
        .consultation-form .col-md-2 {
            margin-bottom: 15px; /* ÐžÑ‚ÑÑ‚ÑƒÐ¿Ñ‹ Ð¼ÐµÐ¶Ð´Ñƒ Ð¿Ð¾Ð»ÑÐ¼Ð¸ Ð½Ð° Ñ‚ÐµÐ»ÐµÑ„Ð¾Ð½Ðµ */
            margin-right: 0;
        }
    }

.credit {
    position: relative;
    font-size: 16px;
    font-weight: 500;
    padding: 6px 5px;
    color: #fff !important;
    background: linear-gradient(180deg, #FF9D33 0%, #FF8400 100%);
    box-shadow: 0 10px 10px -5px rgba(0, 0, 0, 0.4);
    border-radius: 12px;
    border: none;
    -webkit-transition: all 0.3s ease-in-out 0s;
    -o-transition: all 0.3s ease-in-out 0s;
    transition: all 0.3s ease-in-out 0s;
}

.credit:hover, credit:focus {
    color: #fff !important;
    background: linear-gradient(180deg, #ffad54 0%, #ffa84f 100%);
    box-shadow: 0 10px 10px -5px rgba(0, 0, 0, 0.4);
    border-radius: 12px;
    border: none;
    -webkit-transition: all 0.3s ease-in-out 0s;
    -o-transition: all 0.3s ease-in-out 0s;
    transition: all 0.3s ease-in-out 0s;
    z-index: 1;
}

/* Стили для нового раздела галереи */
.section__portfolio {
    padding: 60px 0;
}
.portfolio-card {
    position: relative;
    overflow: hidden;
    border-radius: 15px;
    display: block;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
    transition: transform 0.3s ease;
}

.portfolio-card::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    /* Изначально картинка затемнена (черный цвет с прозрачностью 50%) */
    background-color: rgba(0, 0, 0, 0.5); 
    /* Плавный переход для эффекта при наведении */
    transition: background-color 0.4s ease; 
    /* Гарантируем, что слой будет над картинкой, но под текстом/кнопкой */
    z-index: 1; 
}

/* --- НОВОЕ: Убираем затемнение при наведении на карточку --- */
.portfolio-card:hover::after {
    /* Делаем слой полностью прозрачным */
    background-color: rgba(0, 0, 0, 0); 
}

.portfolio-img {
    width: 100%;
    height: 280px; /* Настройте высоту под себя */
    object-fit: cover;
    display: block;
    /* Убеждаемся, что картинка находится под слоем затемнения */
    position: relative;
    z-index: 0;
}

/* Контейнер для текста и кнопки */
.portfolio-info {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    
    padding: 15px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease-in-out; /* Чуть увеличил время для плавности */
    
    /* Изначально смещаем весь блок текста чуть ниже, чтобы спрятать кнопку */
    transform: translateY(54px); 
    
    /* Текст должен быть поверх слоя затемнения */
    z-index: 2; 
}

/* При наведении поднимаем блок вверх */
.portfolio-card:hover .portfolio-info {
    transform: translateY(0);
}

.portfolio-text {
    color: #fff;
    margin: 0;
    padding-bottom: 50px;
    font-size: 20px;
    text-align: center;
    font-weight: 700;
    line-height: 1.2;
}

/* Стили кнопки "Рассчитать" */
.btn-calc {
    background-color: #FF8400; /* Ваш оранжевый цвет */
    color: white;
    border: none;
    padding: 8px 20px;
    border-radius: 5px;
    font-size: 14px;
    font-weight: bold;
    text-transform: uppercase;
    transition: background 0.3s;
    cursor: pointer;
    text-decoration: none;
}

.btn-calc:hover {
    background-color: #e67700;
    color: white;
}

/* Для мобильных устройств (где нет наведения мышкой) 
   можно сразу показать кнопку или оставить как есть */
@media (max-width: 768px) {
    .portfolio-info {
        transform: translateY(0);
        background: rgba(0, 0, 0, 0.6);
    }
    .consultation-form {
        margin-right: 0;
    }
    .section__materials {
    padding: 60px 0;
    }
}

/* Стили для раздела с 3 подразделами */
.section-features {
    padding: 0 80px 20px 0;
    background-color: #fff;
}

@media (max-width: 768px) {
    .section-features {
    padding: 0 0 20px 0;
    background-color: #fff;
}
}

.feature-item {
    text-align: center;
    padding-bottom: 30px;
    position: relative;
}

/* Создаем вертикальные полоски-разделители для десктопа */
@media (min-width: 992px) {
    .feature-item:not(:last-child)::after {
        content: "";
        position: absolute;
        right: -15px; /* Позиция между колонками */
        top: 20%;
        height: 60%;
        width: 1px;
        background: rgba(0, 0, 0, 0.1); /* Полупрозрачная полоска */
    }
    
}

/* Горизонтальные полоски для мобильных устройств */
@media (max-width: 991px) {
    .feature-item:not(:last-child) {
        border-bottom: 1px solid rgba(0, 0, 0, 0.1);
        margin-bottom: 20px;
        padding-bottom: 40px;
    }
}

.feature-img {
    width: 400px;  /* Размер иконки/картинки */
    height: 200px;
    object-fit: contain;
    margin-bottom: 25px;
    /* Можно добавить оранжевый фильтр, если это иконки, или оставить как есть */
}

.feature-title {
    font-size: 22px;
    font-weight: 700;
    margin-bottom: 15px;
    color: #333;
    text-transform: uppercase;
}

.feature-text {
    font-size: 20px;
    line-height: 1.6;
    color: #6c757d;
    max-width: 1000px;
    margin: 0 auto;
}

    .feature-item:not(:last-child)::after {
        content: "";
        position: absolute;
        right: -15px;
        top: 5%;
        height: 90%;
        width: 1px;
        background: rgba(0, 0, 0, 0.1);
    }


/* Стили для раздела "Отходы и стройматериалы" */

.materials-list {
    list-style: none;
    padding: 0;
    margin: 0;
}
.materials-list li {
    position: relative;
    padding-left: 35px;
    margin-bottom: 15px;
    font-size: 16px;
    line-height: 1.5;
    color: #333;
}
/* Оранжевая галочка для списка */
.materials-list li::before {
    position: absolute;
    left: 0;
    top: 0;
    color: #FF8400; /* Ваш фирменный цвет */
    font-size: 18px;
    font-weight: bold;
}
.materials-img {
    width: 80%;
    height: 80%; /* Фиксированная высота для аккуратности */
    object-fit: cover;
}
@media (max-width: 768px) {
    .materials-img {
        height: 100%;
        width: 100%;
        margin-bottom: 30px;
    }
}

/* Стили для карусели "Наши работы" */
.section__gallery-slider {
    padding: 60px 0;
}

/* Обертка для слайдера и кнопок */
.portfolio-slider-wrapper {
    position: relative;
    max-width: 900px; /* Ограничиваем ширину для аккуратности */
    margin: 0 auto;
    padding-bottom: 60px; /* Отступ снизу для точек */
    padding-left: 60px;   /* Отступ слева для стрелки */
    padding-right: 60px;  /* Отступ справа для стрелки */
}

/* Сам контейнер с картинками */
.portfolioSwiper {
    border-radius: 15px;
    box-shadow: 0 5px 20px rgba(0,0,0,0.1);
    background: #fff;
    overflow: hidden; /* Обрезает всё по краям скруглений */
}

/* Картинка строго 4:3 */
.portfolio-slide-img {
    width: 100%;
    aspect-ratio: 3 / 2; /* Автоматически держит формат 4:3 на всех экранах */
    object-fit: cover;
    display: block;
}

/* --- Элементы управления за пределами картинки --- */

/* Стрелки */
.portfolio-slider-wrapper .swiper-button-next,
.portfolio-slider-wrapper .swiper-button-prev {
    color: #FF8400;
    /* Центрируем по вертикали, компенсируя нижний padding обертки */
    top: calc(50% - 30px); 
}
.portfolio-slider-wrapper .swiper-button-prev { left: 0; }
.portfolio-slider-wrapper .swiper-button-next { right: 0; }

/* Точки */
.portfolio-slider-wrapper .swiper-pagination {
    bottom: 10px; /* Располагаем в нижнем отступе обертки */
}
.portfolio-slider-wrapper .swiper-pagination-bullet-active {
    background-color: #FF8400;
}

/* --- Адаптив для мобильных устройств --- */
@media (max-width: 768px) {
    .portfolio-slider-wrapper {
        padding-left: 0;
        padding-right: 0;
        padding-bottom: 60px; /* Оставляем место только внизу */
    }
    
    /* На телефонах спускаем стрелки вниз к точкам, чтобы не зажимать картинку по бокам */
    .portfolio-slider-wrapper .swiper-button-prev,
    .portfolio-slider-wrapper .swiper-button-next {
        top: auto;
        bottom: 0;
        height: 40px;
    }
    .portfolio-slider-wrapper .swiper-button-prev { left: 10px; }
    .portfolio-slider-wrapper .swiper-button-next { right: 10px; }
    
    .portfolio-slider-wrapper .swiper-pagination { bottom: 12px; }
}

.burger {
  width: 48px;
  height: 48px;
  background: none;
  border: none;
  cursor: pointer;
  position: relative;
  display: none;
}

.burger span {
  position: absolute;
  left: 8px;
  width: 32px;
  height: 3px;
  background: #000;
  border-radius: 2px;
  transition: transform .3s ease, opacity .2s ease;
  top: 50%;
}


.burger span:nth-child(1) {
  transform: translateY(-10px);
}

.burger span:nth-child(2) {
  transform: translateY(0);
}

.burger span:nth-child(3) {
  transform: translateY(10px);
}

.burger.active span:nth-child(1) {
  transform: translateY(0) rotate(45deg);
}

.burger.active span:nth-child(2) {
  opacity: 0;
}

.burger.active span:nth-child(3) {
  transform: translateY(0) rotate(-45deg);
}


.header-menu {
  max-height: 0;
  overflow: hidden;
  background: #fff;
  transition: max-height .2s ease;
}

.header-menu.open {
  max-height: 400px; /* Ð¼Ð¾Ð¶Ð½Ð¾ Ð±Ð¾Ð»ÑŒÑˆÐµ */
}

.header-menu__content {
  padding: 5px;
  color: #fff;
}

.header-menu__content a {
  color: #fff;
  font-size: 20px;
  display: block;
  margin-bottom: 10px;
}


.contacts__phone-btn {
    font-size: 18px;
    color: #FFF;
    font-weight: 500;
    background: linear-gradient(180deg, #FF9D33 0%, #FF8400 100%);
    box-shadow: 0px 10px 10px -5px rgba(255, 132, 0, 0.4);
    padding: 15px 40px;
    border-radius: 15px;
    display: inline-block;

    transition: all 0.3s ease;
}

.contacts__phone-btn:hover{
    transform: scale(1.09)
}

.color {
    background: #FAFAFD;
}

.section-faq {

}

/* ÐšÐ¾Ð½Ñ‚ÐµÐ¹Ð½ÐµÑ€ Ð°ÐºÐºÐ¾Ñ€Ð´ÐµÐ¾Ð½Ð° (Ð°Ð½Ð°Ð»Ð¾Ð³ bg-white, rounded-lg, shadow-inner) */
.faq-container {
    /* Ð”Ð¾Ð±Ð°Ð²Ð»ÑÐµÐ¼ Ð¾Ñ‚ÑÑ‚ÑƒÐ¿Ñ‹ Ð¸ ÑÑ‚Ð¸Ð»ÑŒ, ÐºÐ°Ðº Ð² Ð¿Ñ€Ð¸Ð¼ÐµÑ€Ðµ */
    padding: 2rem 1.5rem;
    border-radius: 1rem;
    /* Ð¢ÐµÐ½ÑŒ Ð¸ Ð³Ñ€Ð°Ð½Ð¸Ñ†Ð° Ð´Ð»Ñ Ð²Ð¸Ð·ÑƒÐ°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð¸Ñ Ð±Ð»Ð¾ÐºÐ° */
    box-shadow: inset 0 2px 4px 0 rgba(0, 0, 0, 0.06); 
    background-color: #fff; 
    border: 1px solid #e1e9f1;
}

/* Ð—Ð°Ð³Ð¾Ð»Ð¾Ð²Ð¾Ðº H2 */
.section-faq h2 {
 /* Ð¢ÐµÐ¼Ð½Ñ‹Ð¹ Ñ†Ð²ÐµÑ‚ Ñ‚ÐµÐºÑÑ‚Ð° */
    font-size: 2.25rem; /* ÐšÑ€ÑƒÐ¿Ð½Ñ‹Ð¹ Ñ€Ð°Ð·Ð¼ÐµÑ€ ÑˆÑ€Ð¸Ñ„Ñ‚Ð° */
}

/* Ð­Ð»ÐµÐ¼ÐµÐ½Ñ‚ Ð²Ð¾Ð¿Ñ€Ð¾ÑÐ° */
.faq-item {
    margin-bottom: 1rem;
    border-bottom: 1px solid #c5d5e5; /* Ð¡Ð²ÐµÑ‚Ð»Ð°Ñ Ð³Ñ€Ð°Ð½Ð¸Ñ†Ð° (border-blue-200) */
    padding-bottom: 1rem;
}

/* ÐšÐ½Ð¾Ð¿ÐºÐ° Ð²Ð¾Ð¿Ñ€Ð¾ÑÐ° */
.faq-question {
    /* Ð¡Ñ‚Ð¸Ð»Ð¸ Ð´Ð»Ñ ÐºÐ½Ð¾Ð¿ÐºÐ¸-Ð°ÐºÐºÐ¾Ñ€Ð´ÐµÐ¾Ð½Ð° */
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    text-align: left;
    
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    
    font-family: 'Gilroy', sans-serif;
    font-weight: 600; /* Medium */
    font-size: 1.125rem; /* text-lg */
    
    color: #051d47; /* Ð¢ÐµÐ¼Ð½Ñ‹Ð¹ Ñ‚ÐµÐºÑÑ‚ (text-900) */
    transition: color 0s ease;
}

/* Ð­Ñ„Ñ„ÐµÐºÑ‚ Ð¿Ñ€Ð¸ Ð½Ð°Ð²ÐµÐ´ÐµÐ½Ð¸Ð¸ Ð¸ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚Ð¸Ð¸ */
.faq-question:hover {
    color: #919191; /* ÐžÑÐ½Ð¾Ð²Ð½Ð¾Ð¹ ÑÐ¸Ð½Ð¸Ð¹ Ñ†Ð²ÐµÑ‚ ÑÐ°Ð¹Ñ‚Ð° */
}

/* Ð¡Ð±Ñ€Ð¾Ñ ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¾Ð³Ð¾ Ñ„Ð¾ÐºÑƒÑÐ° Bootstrap */
.faq-question:focus {
    outline: none;
    box-shadow: none;
}

/* Ð˜ÐºÐ¾Ð½ÐºÐ° SVG (ÑÑ‚Ñ€ÐµÐ»ÐºÐ°) */
.faq-icon {
    width: 2rem;
    height: 2rem;
    transition: transform 0s ease;
    flex-shrink: 0;
    margin-left: 1rem;
}

/* ÐŸÐ¾Ð²Ð¾Ñ€Ð¾Ñ‚ Ð¸ÐºÐ¾Ð½ÐºÐ¸, ÐºÐ¾Ð³Ð´Ð° Ð°ÐºÐºÐ¾Ñ€Ð´ÐµÐ¾Ð½ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ */
.faq-question[aria-expanded="true"] .faq-icon {
    transform: rotate(180deg);
}

/* Ð‘Ð»Ð¾Ðº Ð¾Ñ‚Ð²ÐµÑ‚Ð° */
.faq-answer {
    color: #3f506e; /* Ð¦Ð²ÐµÑ‚ Ñ‚ÐµÐºÑÑ‚Ð° Ð¾Ñ‚Ð²ÐµÑ‚Ð° (text-800) */
    font-weight: 500;
    margin-top: 0.5rem; 
}

/* Ð’Ð½ÑƒÑ‚Ñ€ÐµÐ½Ð½Ð¸Ð¹ ÐºÐ¾Ð½Ñ‚ÐµÐ½Ñ‚ Ð¾Ñ‚Ð²ÐµÑ‚Ð° */
.faq-answer-content {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem; 
}

/* Ð”Ð»Ñ ÑÐ¾Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ ÑÑ‚Ð¸Ð»ÐµÐ¹ Ð¿Ñ€Ð¸ Ð¸ÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ð¸ ÐºÐ°ÑÑ‚Ð¾Ð¼Ð½Ñ‹Ñ… Ð°ÐºÐºÐ¾Ñ€Ð´ÐµÐ¾Ð½Ð¾Ð² */
.accordion-custom {
    --bs-accordion-border-width: 0;
}


.pulse {
    position: relative;
    overflow: visible;
    --pulse-size: 140px;
    --pulse-speed: 1.6s;
}

.pulse::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;

    width: var(--pulse-size);
    height: var(--pulse-size);

    transform: translate(-50%, -50%) scale(0);
    border-radius: 50%;
    border: 4px solid rgba(255, 157, 51, 1);

    animation: pulse-circle var(--pulse-speed) infinite;
    pointer-events: none;
    z-index: 5;
}


@keyframes pulse-circle {
    0% {
        transform: translate(-50%, -50%) scale(0);
        opacity: 1;
        border-width: 4px;
    }

    15% {
        transform: translate(-50%, -50%) scale(0.35);
        opacity: 1;
        border-width: 4px;
    }

    100% {
        transform: translate(-50%, -50%) scale(1.4);
        opacity: 0;
        border-width: 2px;
    }
}


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

.header {
    position: sticky;
    top: 0;
    padding: 20px 10px;
    z-index: 100;
    box-shadow: 0 12px 30px -15px rgba(0, 0, 0, 0.2);
    background: #fff;
}



.header__phone-icon {
    animation: ring 2s 0.7s ease-in-out infinite;
    transform-origin: 50% 50%;
}

@keyframes ring {
    0%   { transform: rotate(0); }
    5%   { transform: rotate(15deg); }
    10%  { transform: rotate(-15deg); }
    15%  { transform: rotate(10deg); }
    20%  { transform: rotate(-10deg); }
    25%  { transform: rotate(5deg); }
    30%  { transform: rotate(-5deg); }
    35%  { transform: rotate(0); }
    100% { transform: rotate(0); }
}


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


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

.header__logo-img {
    width: 160px;
    height: 100px;
}

.header__logo-title {
    font-size: 20px;
    font-weight: 600;
    line-height: 28px;
    margin-left: 20px;
    font-family: 'Gilroy';
    text-transform: uppercase;
}

.header__info {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.header__top{
    display: flex;
    gap: 40px;
    margin-bottom: 15px;
}

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

.header__city-desc{
    font-size: 16px;
    font-weight: 700;
}

.header__top-link {
    font-size: 16px;
    font-weight: 700;
    color: #000;
    text-decoration: none;

    background-image: linear-gradient(#000, #000);
    background-repeat: no-repeat;
    background-position: left bottom;
    background-size: 0% 2px;

    transition: background-size 0.3s ease;

    padding-bottom: 4px;
}

.header__top-link:hover {
    background-size: 100% 2px;
}

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

.header__schedule-title {
    font-size: 14px;
    font-weight: 500;
}

.header__schedule-item {
    display: flex;
    align-items: center;
    gap: 10px;
}

.header__schedule-text {
    font-size: 14px;
    font-weight: 500;
}

.header__schedule-icon {
    width: 20px;
    height: 20px;
    margin-left: 15px;
}

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

.header__contacts-icon {
    width: 30px;
    height: 30px;
}

.section__about {
    position: relative;
    overflow: hidden;
    padding-bottom: 100px;
}


.section__about {
    position: relative;
    min-height: 600px;
}

.section__about {
  position: relative;
 
}

.hero-media {
    display: block;
    overflow: hidden;  
    width: 100%;
    height: 600px;
}

.hero-media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;

}





.hero-content {
  position: absolute;
  inset: 0;
  z-index: 1;

  display: flex;
  flex-direction: column;
}

.about__title{
    font-size: 50px;
    font-weight: 700;
    line-height: 55px;
    padding-top: 75px;
    margin-bottom: 50px;

}

.about__item-icon{
    height: 80px;
    width: 80px;
}

.about__item-desc{
    font-size: 16px;
    font-weight: 500;
}

.about__item{
    display: flex;
    align-items: center;
    line-height: 1.5;
    width: 295px;
    padding-bottom: 10px;
}

.about__item--last{
    padding-bottom: 50px;
}

.about__wrapper{
    display: flex;
    flex-wrap: wrap;
    max-width: 620px;
    justify-content: left;
    margin-left: -12px;

}

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

.about__contacts-phone{
    display: inline-block;
    font-size: 18px;
    font-weight: 500;
    color: #FFF;
    background: linear-gradient(180deg, #FF9D33 0%, #FF8400 100%);
    box-shadow: 0px 10px 10px -5px rgba(255, 132, 0, 0.4);
    border-radius: 15px;
    padding: 15px 50px;
    transition: all 0.3s ease;
}

.about__contacts-phone:hover{
    transform: scale(1.08);
}

.about__contacts-icon{
    width: 36px;
    height: 36px;
    transition: all 0.3s ease;
}

.about__contacts-icon:hover{
    transform: scale(1.5);
}

.about__contacts-telegram{
    border-radius: 16px;
    
}

.section__advantages{
    padding-bottom: 0px;
    padding-top: 0px;
}

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

.advantages__title{
    font-size: 32px;
    font-weight: 700;
    padding-bottom: 16px;
}

.advantages__desc{
    line-height: 28px;
    font-size: 16px;
    text-align: justify;

}

.advantages__list{
    line-height: 28px;
    font-size: 16px;
    
}

.advantages__list ol {
    text-align: justify;
}

.advantages__span{
    font-weight: 700;
}

.advantages__right-img{
    border-radius: 10%;

}

.advantages__left{
    max-width: 650px;
}

.section__examples-title{
    font-weight: 700;
}

.section__examples {
    padding-top: 100px;
    padding-bottom: 100px;
}

.section__examples-title {
    font-size: 32px;
    font-weight: 700;
    margin-bottom: 30px;
}

.examples__item {
    text-align: center;
}

.examples__item img {
    width: 100%;
    height: 260px;
    object-fit: cover;
    border-radius: 10px;
}

.examples__item-title {
    margin-top: 15px;
    font-size: 18px;
    font-weight: 600;
}

/* Исправление для мобильных устройств - стрелки поверх видео */
@media (max-width: 768px) {
   
    
    /* Увеличиваем область клика */
    .portfolio-slider-wrapper .swiper-button-prev::after,
    .portfolio-slider-wrapper .swiper-button-next::after {
        font-size: 20px !important;
        font-weight: bold;
    }
    
    /* Убедимся, что видео не блокирует клики по стрелкам */
    .portfolioSwiper .swiper-slide iframe {
        pointer-events: auto; /* Видео работает нормально */
        position: relative;
        z-index: 1;
    }
    
    /* Контейнер слайда не должен перекрывать стрелки */
    .portfolioSwiper .swiper-slide {
        position: relative;
        z-index: 1;
    }
}

/* Дополнительное исправление для очень маленьких экранов */
@media (max-width: 480px) {
    .portfolio-slider-wrapper .swiper-button-prev {
        left: 5px !important;
    }
    .portfolio-slider-wrapper .swiper-button-next {
        right: 5px !important;
    }
}

/* Фикс для видео в слайдере - чтобы были как фото */
.portfolioSwiper .swiper-slide {
    display: flex;
    justify-content: center;
    align-items: center;
    background: #f5f5f5; /* Фон на время загрузки */
    
    overflow: hidden;
}

.portfolioSwiper .swiper-slide iframe {
    width: 100%;
    height: 100%;
    aspect-ratio: 3 / 2; /* Принудительно 4:3 */
    object-fit: cover; /* Чтобы видео заполняло весь контейнер */
    border: none;
    display: block;
}

/* Для мобильных устройств */
@media (max-width: 768px) {
    .portfolioSwiper .swiper-slide iframe {
        aspect-ratio: 3 / 2;
        height: auto;
        width: 100%;
    }
}

/* Дополнительная защита для всех изображений в слайдере */
.portfolioSwiper .swiper-slide img {
    width: 100%;
    aspect-ratio: 3 / 2;
    object-fit: cover;
    display: block;
}

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

.swiper-slide {
    width: 283px;
    display: flex;
    justify-content: center;
}

.swiper__slide-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    color: #000;
    text-decoration: none;

    transition: color 0.2s ease;
}

.swiper__slide-item:hover {
    color: #0a58ca;
}

.swiper__img-wrap {
    position: relative;
    width: 100%;
}

.swiper__img {
    display: block;
    width: 100%;
    margin-bottom: 15px;
}

.swiper__img-title {
    font-size: 20px;
    font-weight: 700;
    text-align: center;
}


.swiper-btn-prev,
.swiper-btn-next {
    position: absolute;

    top: calc(50% - 50px);

    width: 44px;
    height: 44px;
    background: #fff;
    border-radius: 50%;
    cursor: pointer;
    box-shadow: 0 6px 18px rgba(0,0,0,.15);
    z-index: 20;
}

.swiper-btn-prev { left: 0; }
.swiper-btn-next { right: 0; }

.swiper-btn-prev::before,
.swiper-btn-next::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 10px;
    height: 10px;
    border-top: 3px solid #000;
    border-right: 3px solid #000;
}

.swiper-btn-prev::before {
    transform: translate(-40%, -50%) rotate(-135deg);
}

.swiper-btn-next::before {
    transform: translate(-60%, -50%) rotate(45deg);
}

.swiper-btn-prev:hover,
.swiper-btn-next:hover {
    background: #ff8400;
}

.swiper-btn-prev:hover::before,
.swiper-btn-next:hover::before {
    border-color: #fff;
}


.fancybox__container {
    z-index: 100000;
}

.section__cooperation {
    padding-top: 100px;
    padding-bottom: 100px;
}

.cooperation__wrapper {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 40px;
    
}

.cooperation__item {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.cooperation__item-icon {
    margin-bottom: 16px;
}

.cooperation__item-title {
    font-weight: 700;
    font-size: 24px;
    margin-bottom: 8px;
}

.cooperatoin__item-desc {
    font-size: 16px;
    text-align: center;
    line-height: 24px;
}

.cooperation__title{
    text-align: center;
    text-transform: uppercase;
    font-weight: 600;
    font-size: 32px;
    margin-bottom: 48px;
}

.section__faq{
    padding-top: 48px;
    padding-bottom: 48px;
}

.section__faq-title{
    font-size: 36px;
    text-transform: uppercase;
    font-weight: 700;
    margin-bottom: 48px;
    text-align: center;
}

.section__services {
    padding-top: 100px;
    padding-bottom: 100px;
}

.services__wrapper {
    display: flex;
    gap: 10px;
    justify-content: center;
}

.services__item {
    width: 283px;
    display: flex;
}

.services__item-link {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;

    font-weight: 700;
    font-size: 20px;
    color: #000;
    line-height: 1.2;

    transition: color 0.2s ease;
}

.services__item-link:hover{
    color: #0a58ca;
}

.services__item-img {
    padding-bottom: 16px;
}

.section__services-title{
    font-weight: 700;
    font-size: 32px;
    padding-bottom: 48px;
}


.contacts__left{
    max-width: 500px;
    width: 100%;
    height: 320px;
    box-shadow: 0 .5rem 1rem rgba(0,0,0,.15);
    padding: 24px;
    border-radius: 4px;
    background-color: #fff;
}



.contacts__right{
    max-width: 500px;
    width: 100%;
    box-shadow: 0 .5rem 1rem rgba(0,0,0,.15);
    padding: 24px;
    background-color: #fff;
    border-radius: 4px;
}

.contacts__right-title {
    text-transform: uppercase;
    font-weight: 700;
    font-size: 32px;
    margin-bottom: 30px;
}

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

.contacts__right-phone {
    font-size: 20px;
    font-weight: 700;
    
}

.contacts__right-link {
    color: #000;
    font-size: 16px;

}

.contacts__wrapper{
    display: flex;
    justify-content: space-around;
    gap: 40px;
}

.contacts__right-adress {
    font-size: 20px;
    margin-bottom: 48px;
    line-height: 1.5;
}
.contacts__right-span {
    font-size: 20px;
    font-weight: 700;
    padding-right: 5px;
    
}

.section__contacts {
    padding-top: 100px;
    padding-bottom: 100px;
}

.section__contacts-title{
    font-weight: 700;
    text-align: center;
    font-size: 32px;
    padding-bottom: 48px;
    text-transform: uppercase;
}

.footer {
    background: #051d47;
    padding: 15px 0;
}

.footer__wrapper {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
}

.footer__title {
    font-size: 20px;
    font-weight: 700;
    line-height: 28px;
    text-transform: uppercase;
    color: #fff;
}


.footer__desc {
    font-size: 16px;
    color: #fff;
    text-align: center;
    justify-self: center;
}

.mobile__city {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    margin-bottom: 10px;
}

.mobile__city-desc {
    font-size: 16px;
    font-weight: 700;
    color: #000;
}

.mobile__schedule {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 10px;
}
.mobile__schedule-title {
    font-size: 14px;
    color: #000;
}
.mobile__schedule-item {
    display: flex;
    align-items: center;
    gap: 5px;
}
.mobile__schedule-icon {
    width: 20px;
    height: 20px;
    margin-left: 5px;
}
.mobile__schedule-text {
    font-size: 14px;
    color: #000;
}

.mobile__top-phone{
    display: flex;
    align-items: center;
    justify-content: center;
}

.mobile__top-link{
    font-size: 14px !important;
    margin-bottom: 0 !important;
    padding-left: 5px;
    color: #000 !important;
}

.mobile__contacts-icon {
    width: 25px;
    height: 25px;
    margin-left: 10px;
}

.header-menu__content{
    padding-top: 30px;
    padding-bottom: 30px;
}

.header__info-mobile{
    display: none;
}



.contacts__tg-float{

    display: flex;
    gap: 5px;

    border-radius: 999px;

    box-shadow: 0 10px 25px rgba(0,0,0,0.2);
}

.contacts__tg-icon{
    width: 50px;
    height: 50px;
    margin-top: -1px;
    flex-shrink: 0;
    
}

.contacts__btn-wrapper{
    display: flex;
    align-items: center;
    justify-content: left;
    gap: 5px;
}

.contacts__tg-text{
    color: #fff;
    font-size: 16px;
    font-weight: 500;
}

.tg-hidden {
  display: none !important;
}

/* ÐºÐ½Ð¾Ð¿ÐºÐ° Ð² ÐºÐ¾Ð½Ñ‚Ð°ÐºÑ‚Ð°Ñ… */
.contacts__tg-float {
  display: none;
}

.contacts__tg-float.active {
  display: flex;
}






.tg-float {
    /* Ваши текущие стили оставляем почти без изменений */
    position: fixed;
    right: 20px;
    bottom: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    padding: 26px 62px;

    color: #fff;
    border-radius: 999px;
    font-size: 16px;
    font-weight: 500;
    text-decoration: none;
    box-shadow: 0 10px 25px rgba(0,0,0,0.2);
    opacity: 0;
    transform: translateY(20px);
    pointer-events: none;
    transition: opacity .4s ease, transform .4s ease;
    z-index: 1000;

    /* ДОБАВЛЯЕМ: */
    overflow: hidden; /* Чтобы картинка не вылезала за скругленные края */
}

.tg-icon {
    /* ДОБАВЛЯЕМ абсолютное позиционирование */
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover; /* Или object-fit: contain, если не хотите, чтобы пропорции ломались */
    z-index: 0; /* Помещаем на задний план */
}

.tg-text {
    display: block;
    line-height: 1;
    position: relative; /* Поднимаем текст над картинкой */
    z-index: 1;
}


@keyframes float {
    0%   { transform: translateY(0); }
    50%  { transform: translateY(-10px); }
    100% { transform: translateY(0); }
}

.tg-float.active {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;

    animation: float 3s ease-in-out infinite;
}
/* //////////////////////////////////////////////////////////// */
.section__item-wrapper{
    display: flex;
    flex-direction: column;
    align-items: center;
}

.section__item {
    padding-top: 100px;
    padding-bottom: 100px;
}

.section__item-title {
    text-transform: uppercase;
    font-weight: 700;
    font-size: 32px;
    padding-bottom: 48px;
    text-align: center;
}

.section__item-img {
    max-width: 500px;
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 3;
    object-fit: contain;
    display: block;
    border-radius: 10%;
    margin-bottom: 28px;
}

.section__item-desc {
    color: #004c99;
    font-size: 24px;
    font-weight: 500;
    padding-bottom: 32px;
    text-align: center;
}


.section__repair {
padding-bottom: 100px;
}


.repair__wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.repair__item {
    padding-bottom: 10px;
    max-width: 800px;
}

.repair__item-title{
    color: #004c99;
    font-weight: 700;
    border-bottom: 2px solid #eee;
    padding-bottom: 5px;
    font-size: 32px;
}

.small {
    font-size: 28px;
}

.repair__item-desc {
    line-height: 1.6;
    font-size: 16px;
}

.repair__item-list--span{
    font-weight: 700;
    font-size: 18px;
    padding-right: 5px;
    
}

.repair__item-list{
    font-size: 18px;
    line-height: 1.6;
}

.repair__subitem{
    max-width: 800px;
}

.repair__subitem-title{
    font-size: 28px;
    color: #004c99;
    font-weight: 700; 
    text-align: center;
    padding-top: 15px;
    padding-bottom: 5px;
}

.repair__subitem-desc{
    line-height: 1.6;
}

.repair__subtitle-list{
    line-height: 1.6;
}

@media (max-width: 1264px) {
  .hero-media img {
    object-position: right center;
  }

  .section-features {
    padding: 0 0 20px 0;
    background-color: #fff;
}

  .about__wrapper {
    display: block;
    flex-wrap: wrap;
    max-width: 620px;
    justify-content: left;
    margin-left: -12px;
}
  
}


@media (max-width: 1160px) {
    .advantages__wrapper {
        flex-direction: column-reverse;
    }

    .about__contacts{
        justify-content: center;
        margin-top: 40px;
        position: absolute;
    bottom: 110px; /* ÐŸÐ¾Ð´Ð±ÐµÑ€Ð¸Ñ‚Ðµ Ð½ÑƒÐ¶Ð½Ð¾Ðµ Ñ€Ð°ÑÑÑ‚Ð¾ÑÐ½Ð¸Ðµ Ð¾Ñ‚ Ð½Ð¸Ð·Ð° ÐºÐ°Ñ€Ñ‚Ð¸Ð½ÐºÐ¸ */
    display: flex;

    }

    .advantages__right {
    width: 100%;
    align-items: center;
    justify-content: center;
    display: flex;
}

.advantages__right-img {
    width: 100%;
    height: auto;       
    display: block;
    border-radius: 24px; 
    margin-bottom: 30px;
    

}



@media (max-width: 1080px) {

    
}


.about__bg img {
    height: 100%;
}
}
@media (max-width: 1050px) {
    
}

@media (max-width: 1025px) {
    .services__wrapper{
        display: grid;
        grid-template-columns: 1fr 1fr;
        
    }

    .services__item {
        width: auto;
    }

    

} 

@media (max-width: 980px) {
.about__title{
    margin-bottom: 40px;
}
}
@media (max-width: 920px) {
        .header__phone-btn{
            display: none;
        }

        .cooperation__wrapper{
            grid-template-columns: 1fr 1fr;
        }

        
    }

    @media (max-width: 890px) {
    .contacts__tg-text{
        display: none;
    }
    .contacts__tg-float{
        border-radius: 15px;
    }

    .about__wrapper{
    flex-direction: column;
}
.about__contacts-icon{
    width: 45px;
    height: 45px;
}

    
}


@media (max-width: 825px) {
    .header__socials-link-bottom {
        display: none !important;
    }

    .hero-media{
        height: 600px;
    }

  .section__about{
    height: 700px;
}

@media (max-width: 770px) {
.contacts__wrapper{
        flex-direction: column-reverse;
        align-items: center;
        justify-content: center;
    }

        .contacts__left,
    .contacts__right {
    max-width: 1000px;
    width: 100%;
    }
    .contacts__left{
        margin-bottom: 20px;
    }
}

@media (max-width: 670px) {
        .header__logo-img {
            width: 60px;
            height: 60px;
        }
        .header__logo-title{
            font-size: 14px;
            line-height: 1.2;
        }

        .header__city-desc{
            font-size: 14px;
        }

        .header__top-link{
            font-size: 14px;
        }

        .header__top{
            margin-bottom: 5px;
        }

        .header__wrapper{
            flex-wrap: wrap;
        }

        .credit-show{
            display: none;
        }
    }


@media (max-width: 600px) {

    .header__wrapper{
        justify-content: center;
    }
  .header__logo,
  .header__contacts,
  .header__info {
    display: none;
  }

  .header__info-mobile{
    display: block;
  }

  .header__schedule p{
    font-size: 12px;
  }

  .header__schedule-icon{
    margin-left: 10px;
    
  }

  .header__contacts-icon{
    width:22px;
    height: 22px;
    margin-right: 10px;
  }

  .header__top{
    display: flex;
    align-items: center;
    justify-content: center;
  }

}
@media (max-width: 597px) { 
    .section__advantages{
        padding-top: 0;
    }

    .about__title{
        padding-top: 30px;
    }

    .about__contacts{
        justify-content: center;
        margin-top: 40px;
        position: absolute;
    bottom: 120px; /* ÐŸÐ¾Ð´Ð±ÐµÑ€Ð¸Ñ‚Ðµ Ð½ÑƒÐ¶Ð½Ð¾Ðµ Ñ€Ð°ÑÑÑ‚Ð¾ÑÐ½Ð¸Ðµ Ð¾Ñ‚ Ð½Ð¸Ð·Ð° ÐºÐ°Ñ€Ñ‚Ð¸Ð½ÐºÐ¸ */
    left: 0;
    right: 0;
    display: flex;

    }

    .about__bg{
        height: 600px;
    }
}
@media (max-width: 560px) {

}

@media (max-width: 500px) {
.cooperation__wrapper{
            grid-template-columns: 1fr;
        }
        .footer__title{
            display: none;
        }
        .footer__wrapper{
            display: flex;
            justify-content: center;
        }

        .footer{
            padding: 30px 0;
        }
        
}
@media (max-width: 470px) { 

    .about__contacts{
        
        
    }
    .section__item{
        padding-top: 50px;
    }
    .repair__item-title {
        text-align: center;
        font-size: 28px;  
    }

    .section__advantages{
      padding-bottom: 0px;
      margin-top: -120px;
    }

    .section__examples {
    padding-top: 50px;
    padding-bottom: 50px;
}

.section__cooperation {
  padding-top: 50px;
  padding-bottom: 50px;
}

.section__services {
  padding-top: 50px;
  padding-bottom: 50px;
}

.section__contacts {
  padding-top: 50px;
}

 .services__wrapper{
        display: grid;
        grid-template-columns: 1fr;
        
    }
    .section__services-title{
        font-size: 28px;
        line-height: 38px;
        text-align: center;
        margin-bottom: 20px;
        padding-top: 40px;
    }
    .section__faq-title{
        font-size: 28px;
        line-height: 38px;
        text-align: center;
        margin-bottom: 20px;
        padding-top: 40px;
    }
    .cooperation__title{
        font-size: 28px;
        line-height: 38px;
        text-align: center;
        margin-bottom: 50px;
    }
    .section__examples-title{
        font-size: 28px;
        line-height: 38px;
        text-align: center;
        margin-bottom: 20px;
        padding-top: 40px;
    }
    .about__title{
        font-size: 28px;
        line-height: 38px;
        text-align: center;
        margin-bottom: 20px;
        padding-top: 40px;
    }

    .advantages__title{
        font-size: 28px;
        line-height: 38px;
        text-align: center;
        margin-bottom: 20px;
        padding-top: 40px;
    }

    .about__item-desc {
        font-size: 14px;
    }

    .about__item-icon{
        width: 60px;
        height: 60px;
    }

    .about__contacts-phone{
        padding: 10px 20px;
    }

    .about__contacts-telegram{
    padding: 0px 0px;
    
}

}


@media (max-width: 440px) {
    .contacts__tg-text{
        display: none;
    }
    .contacts__tg-float{
        border-radius: 15px;
    }

    
}


@media (max-width: 425px) {
.contacts__btn-wrapper{
    justify-content: center;
}
.about__contacts{
        justify-content: center;
        margin-top: 40px;
        position: absolute;
    bottom: 130px; /* ÐŸÐ¾Ð´Ð±ÐµÑ€Ð¸Ñ‚Ðµ Ð½ÑƒÐ¶Ð½Ð¾Ðµ Ñ€Ð°ÑÑÑ‚Ð¾ÑÐ½Ð¸Ðµ Ð¾Ñ‚ Ð½Ð¸Ð·Ð° ÐºÐ°Ñ€Ñ‚Ð¸Ð½ÐºÐ¸ */
    left: 0;
    right: 0;
    display: flex;

    }

}

@media (max-width: 360px) {
    .contacts__phone-btn{
        padding: 15px 15px;
    }
    .about__contacts{
        justify-content: center;
        margin-top: 40px;
        position: absolute;
    bottom: 130px; /* ÐŸÐ¾Ð´Ð±ÐµÑ€Ð¸Ñ‚Ðµ Ð½ÑƒÐ¶Ð½Ð¾Ðµ Ñ€Ð°ÑÑÑ‚Ð¾ÑÐ½Ð¸Ðµ Ð¾Ñ‚ Ð½Ð¸Ð·Ð° ÐºÐ°Ñ€Ñ‚Ð¸Ð½ÐºÐ¸ */
    left: 0;
    right: 0;
    display: flex;

    }
}

@media (min-width: 380px) and (max-width: 431px) {
  .about__contacts{
        justify-content: center;
        margin-top: 40px;
        position: absolute;
    bottom: 120px; /* ÐŸÐ¾Ð´Ð±ÐµÑ€Ð¸Ñ‚Ðµ Ð½ÑƒÐ¶Ð½Ð¾Ðµ Ñ€Ð°ÑÑÑ‚Ð¾ÑÐ½Ð¸Ðµ Ð¾Ñ‚ Ð½Ð¸Ð·Ð° ÐºÐ°Ñ€Ñ‚Ð¸Ð½ÐºÐ¸ */
    left: 0;
    right: 0;
    display: flex;

    }
}

}

@media(min-width: 769px) {
            .online-desktop-two-lines {
                display: inline-block;
                vertical-align: top;
            }
            .online-desktop-first-line {
                display: block;
                white-space: nowrap;
            }
            .online-desktop-second-line {
                display: block;
                text-indent: 0;
                padding-left: 0;
                margin-left: 0;
            }
        }
        
        /* ÐœÐ¾Ð±Ð¸Ð»ÑŒÐ½Ð°Ñ Ð²ÐµÑ€ÑÐ¸Ñ: Ð¾Ð±Ñ‹Ñ‡Ð½Ñ‹Ð¹ Ñ‚ÐµÐºÑÑ‚ Ñ Ð¿ÐµÑ€ÐµÐ½Ð¾ÑÐ°Ð¼Ð¸ */
        @media(max-width: 768px) {
            .online-desktop-two-lines {
                display: inline;
            }
            .online-desktop-first-line,
            .online-desktop-second-line {
                display: inline;
                white-space: normal;
            }
            .online-shift {
                padding-left: 0 !important;
            }
        }
        
        /* ÐžÐ±Ñ‰Ð¸Ðµ ÑÑ‚Ð¸Ð»Ð¸ */
        .online-shift {
            display: inline;
        }

body.compensate-for-scrollbar{overflow:hidden}.fancybox-active{height:auto}.fancybox-is-hidden{left:-9999px;margin:0;position:absolute!important;top:-9999px;visibility:hidden}.fancybox-container{-webkit-backface-visibility:hidden;height:100%;left:0;outline:none;position:fixed;-webkit-tap-highlight-color:transparent;top:0;-ms-touch-action:manipulation;touch-action:manipulation;transform:translateZ(0);width:100%;z-index:99992}.fancybox-container *{box-sizing:border-box}.fancybox-bg,.fancybox-inner,.fancybox-outer,.fancybox-stage{bottom:0;left:0;position:absolute;right:0;top:0}.fancybox-outer{-webkit-overflow-scrolling:touch;overflow-y:auto}.fancybox-bg{background:#1e1e1e;opacity:0;transition-duration:inherit;transition-property:opacity;transition-timing-function:cubic-bezier(.47,0,.74,.71)}.fancybox-is-open .fancybox-bg{opacity:.9;transition-timing-function:cubic-bezier(.22,.61,.36,1)}.fancybox-caption,.fancybox-infobar,.fancybox-navigation .fancybox-button,.fancybox-toolbar{direction:ltr;opacity:0;position:absolute;transition:opacity .25s ease,visibility 0s ease .25s;visibility:hidden;z-index:99997}.fancybox-show-caption .fancybox-caption,.fancybox-show-infobar .fancybox-infobar,.fancybox-show-nav .fancybox-navigation .fancybox-button,.fancybox-show-toolbar .fancybox-toolbar{opacity:1;transition:opacity .25s ease 0s,visibility 0s ease 0s;visibility:visible}.fancybox-infobar{color:#ccc;font-size:13px;-webkit-font-smoothing:subpixel-antialiased;height:44px;left:0;line-height:44px;min-width:44px;mix-blend-mode:difference;padding:0 10px;pointer-events:none;top:0;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.fancybox-toolbar{right:0;top:0}.fancybox-stage{direction:ltr;overflow:visible;transform:translateZ(0);z-index:99994}.fancybox-is-open .fancybox-stage{overflow:hidden}.fancybox-slide{-webkit-backface-visibility:hidden;display:none;height:100%;left:0;outline:none;overflow:auto;-webkit-overflow-scrolling:touch;padding:44px;position:absolute;text-align:center;top:0;transition-property:transform,opacity;white-space:normal;width:100%;z-index:99994}.fancybox-slide:before{content:"";display:inline-block;font-size:0;height:100%;vertical-align:middle;width:0}.fancybox-is-sliding .fancybox-slide,.fancybox-slide--current,.fancybox-slide--next,.fancybox-slide--previous{display:block}.fancybox-slide--image{overflow:hidden;padding:44px 0}.fancybox-slide--image:before{display:none}.fancybox-slide--html{padding:6px}.fancybox-content{background:#fff;display:inline-block;margin:0;max-width:100%;overflow:auto;-webkit-overflow-scrolling:touch;padding:44px;position:relative;text-align:left;vertical-align:middle}.fancybox-slide--image .fancybox-content{animation-timing-function:cubic-bezier(.5,0,.14,1);-webkit-backface-visibility:hidden;background:transparent;background-repeat:no-repeat;background-size:100% 100%;left:0;max-width:none;overflow:visible;padding:0;position:absolute;top:0;transform-origin:top left;transition-property:transform,opacity;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:99995}.fancybox-can-zoomOut .fancybox-content{cursor:zoom-out}.fancybox-can-zoomIn .fancybox-content{cursor:zoom-in}.fancybox-can-pan .fancybox-content,.fancybox-can-swipe .fancybox-content{cursor:grab}.fancybox-is-grabbing .fancybox-content{cursor:grabbing}.fancybox-container [data-selectable=true]{cursor:text}.fancybox-image,.fancybox-spaceball{background:transparent;border:0;height:100%;left:0;margin:0;max-height:none;max-width:none;padding:0;position:absolute;top:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:100%}.fancybox-spaceball{z-index:1}.fancybox-slide--iframe .fancybox-content,.fancybox-slide--map .fancybox-content,.fancybox-slide--pdf .fancybox-content,.fancybox-slide--video .fancybox-content{height:100%;overflow:visible;padding:0;width:100%}.fancybox-slide--video .fancybox-content{background:#000}.fancybox-slide--map .fancybox-content{background:#e5e3df}.fancybox-slide--iframe .fancybox-content{background:#fff}.fancybox-iframe,.fancybox-video{background:transparent;border:0;display:block;height:100%;margin:0;overflow:hidden;padding:0;width:100%}.fancybox-iframe{left:0;position:absolute;top:0}.fancybox-error{background:#fff;cursor:default;max-width:400px;padding:40px;width:100%}.fancybox-error p{color:#444;font-size:16px;line-height:20px;margin:0;padding:0}.fancybox-button{background:rgba(30,30,30,.6);border:0;border-radius:0;box-shadow:none;cursor:pointer;display:inline-block;height:44px;margin:0;padding:10px;position:relative;transition:color .2s;vertical-align:top;visibility:inherit;width:44px}.fancybox-button,.fancybox-button:link,.fancybox-button:visited{color:#ccc}.fancybox-button:hover{color:#fff}.fancybox-button:focus{outline:none}.fancybox-button.fancybox-focus{outline:1px dotted}.fancybox-button[disabled],.fancybox-button[disabled]:hover{color:#888;cursor:default;outline:none}.fancybox-button div{height:100%}.fancybox-button svg{display:block;height:100%;overflow:visible;position:relative;width:100%}.fancybox-button svg path{fill:currentColor;stroke-width:0}.fancybox-button--fsenter svg:nth-child(2),.fancybox-button--fsexit svg:first-child,.fancybox-button--pause svg:first-child,.fancybox-button--play svg:nth-child(2){display:none}.fancybox-progress{background:#ff5268;height:2px;left:0;position:absolute;right:0;top:0;transform:scaleX(0);transform-origin:0;transition-property:transform;transition-timing-function:linear;z-index:99998}.fancybox-close-small{background:transparent;border:0;border-radius:0;color:#ccc;cursor:pointer;opacity:.8;padding:8px;position:absolute;right:-12px;top:-44px;z-index:401}.fancybox-close-small:hover{color:#fff;opacity:1}.fancybox-slide--html .fancybox-close-small{color:currentColor;padding:10px;right:0;top:0}.fancybox-slide--image.fancybox-is-scaling .fancybox-content{overflow:hidden}.fancybox-is-scaling .fancybox-close-small,.fancybox-is-zoomable.fancybox-can-pan .fancybox-close-small{display:none}.fancybox-navigation .fancybox-button{background-clip:content-box;height:100px;opacity:0;position:absolute;top:calc(50% - 50px);width:70px}.fancybox-navigation .fancybox-button div{padding:7px}.fancybox-navigation .fancybox-button--arrow_left{left:0;left:env(safe-area-inset-left);padding:31px 26px 31px 6px}.fancybox-navigation .fancybox-button--arrow_right{padding:31px 6px 31px 26px;right:0;right:env(safe-area-inset-right)}.fancybox-caption{background:linear-gradient(0deg,rgba(0,0,0,.85) 0,rgba(0,0,0,.3) 50%,rgba(0,0,0,.15) 65%,rgba(0,0,0,.075) 75.5%,rgba(0,0,0,.037) 82.85%,rgba(0,0,0,.019) 88%,transparent);bottom:0;color:#eee;font-size:14px;font-weight:400;left:0;line-height:1.5;padding:75px 44px 25px;pointer-events:none;right:0;text-align:center;z-index:99996}@supports (padding:max(0px)){.fancybox-caption{padding:75px max(44px,env(safe-area-inset-right)) max(25px,env(safe-area-inset-bottom)) max(44px,env(safe-area-inset-left))}}.fancybox-caption--separate{margin-top:-50px}.fancybox-caption__body{max-height:50vh;overflow:auto;pointer-events:all}.fancybox-caption a,.fancybox-caption a:link,.fancybox-caption a:visited{color:#ccc;text-decoration:none}.fancybox-caption a:hover{color:#fff;text-decoration:underline}.fancybox-loading{animation:a 1s linear infinite;background:transparent;border:4px solid #888;border-bottom-color:#fff;border-radius:50%;height:50px;left:50%;margin:-25px 0 0 -25px;opacity:.7;padding:0;position:absolute;top:50%;width:50px;z-index:99999}@keyframes a{to{transform:rotate(1turn)}}.fancybox-animated{transition-timing-function:cubic-bezier(0,0,.25,1)}.fancybox-fx-slide.fancybox-slide--previous{opacity:0;transform:translate3d(-100%,0,0)}.fancybox-fx-slide.fancybox-slide--next{opacity:0;transform:translate3d(100%,0,0)}.fancybox-fx-slide.fancybox-slide--current{opacity:1;transform:translateZ(0)}.fancybox-fx-fade.fancybox-slide--next,.fancybox-fx-fade.fancybox-slide--previous{opacity:0;transition-timing-function:cubic-bezier(.19,1,.22,1)}.fancybox-fx-fade.fancybox-slide--current{opacity:1}.fancybox-fx-zoom-in-out.fancybox-slide--previous{opacity:0;transform:scale3d(1.5,1.5,1.5)}.fancybox-fx-zoom-in-out.fancybox-slide--next{opacity:0;transform:scale3d(.5,.5,.5)}.fancybox-fx-zoom-in-out.fancybox-slide--current{opacity:1;transform:scaleX(1)}.fancybox-fx-rotate.fancybox-slide--previous{opacity:0;transform:rotate(-1turn)}.fancybox-fx-rotate.fancybox-slide--next{opacity:0;transform:rotate(1turn)}.fancybox-fx-rotate.fancybox-slide--current{opacity:1;transform:rotate(0deg)}.fancybox-fx-circular.fancybox-slide--previous{opacity:0;transform:scale3d(0,0,0) translate3d(-100%,0,0)}.fancybox-fx-circular.fancybox-slide--next{opacity:0;transform:scale3d(0,0,0) translate3d(100%,0,0)}.fancybox-fx-circular.fancybox-slide--current{opacity:1;transform:scaleX(1) translateZ(0)}.fancybox-fx-tube.fancybox-slide--previous{transform:translate3d(-100%,0,0) scale(.1) skew(-10deg)}.fancybox-fx-tube.fancybox-slide--next{transform:translate3d(100%,0,0) scale(.1) skew(10deg)}.fancybox-fx-tube.fancybox-slide--current{transform:translateZ(0) scale(1)}@media (max-height:576px){.fancybox-slide{padding-left:6px;padding-right:6px}.fancybox-slide--image{padding:6px 0}.fancybox-close-small{right:-6px}.fancybox-slide--image .fancybox-close-small{background:#4e4e4e;color:#f2f4f6;height:36px;opacity:1;padding:6px;right:0;top:0;width:36px}.fancybox-caption{padding-left:12px;padding-right:12px}@supports (padding:max(0px)){.fancybox-caption{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}}}.fancybox-share{background:#f4f4f4;border-radius:3px;max-width:90%;padding:30px;text-align:center}.fancybox-share h1{color:#222;font-size:35px;font-weight:700;margin:0 0 20px}.fancybox-share p{margin:0;padding:0}.fancybox-share__button{border:0;border-radius:3px;display:inline-block;font-size:14px;font-weight:700;line-height:40px;margin:0 5px 10px;min-width:130px;padding:0 15px;text-decoration:none;transition:all .2s;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;white-space:nowrap}.fancybox-share__button:link,.fancybox-share__button:visited{color:#fff}.fancybox-share__button:hover{text-decoration:none}.fancybox-share__button--fb{background:#3b5998}.fancybox-share__button--fb:hover{background:#344e86}.fancybox-share__button--pt{background:#bd081d}.fancybox-share__button--pt:hover{background:#aa0719}.fancybox-share__button--tw{background:#1da1f2}.fancybox-share__button--tw:hover{background:#0d95e8}.fancybox-share__button svg{height:25px;margin-right:7px;position:relative;top:-1px;vertical-align:middle;width:25px}.fancybox-share__button svg path{fill:#fff}.fancybox-share__input{background:transparent;border:0;border-bottom:1px solid #d7d7d7;border-radius:0;color:#5d5b5b;font-size:14px;margin:10px 0 0;outline:none;padding:10px 15px;width:100%}.fancybox-thumbs{background:#ddd;bottom:0;display:none;margin:0;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar;padding:2px 2px 4px;position:absolute;right:0;-webkit-tap-highlight-color:rgba(0,0,0,0);top:0;width:212px;z-index:99995}.fancybox-thumbs-x{overflow-x:auto;overflow-y:hidden}.fancybox-show-thumbs .fancybox-thumbs{display:block}.fancybox-show-thumbs .fancybox-inner{right:212px}.fancybox-thumbs__list{font-size:0;height:100%;list-style:none;margin:0;overflow-x:hidden;overflow-y:auto;padding:0;position:absolute;position:relative;white-space:nowrap;width:100%}.fancybox-thumbs-x .fancybox-thumbs__list{overflow:hidden}.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar{width:7px}.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar-track{background:#fff;border-radius:10px;box-shadow:inset 0 0 6px rgba(0,0,0,.3)}.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar-thumb{background:#2a2a2a;border-radius:10px}.fancybox-thumbs__list a{-webkit-backface-visibility:hidden;backface-visibility:hidden;background-color:rgba(0,0,0,.1);background-position:50%;background-repeat:no-repeat;background-size:cover;cursor:pointer;float:left;height:75px;margin:2px;max-height:calc(100% - 8px);max-width:calc(50% - 4px);outline:none;overflow:hidden;padding:0;position:relative;-webkit-tap-highlight-color:transparent;width:100px}.fancybox-thumbs__list a:before{border:6px solid #ff5268;bottom:0;content:"";left:0;opacity:0;position:absolute;right:0;top:0;transition:all .2s cubic-bezier(.25,.46,.45,.94);z-index:99991}.fancybox-thumbs__list a:focus:before{opacity:.5}.fancybox-thumbs__list a.fancybox-thumbs-active:before{opacity:1}@media (max-width:576px){.fancybox-thumbs{width:110px}.fancybox-show-thumbs .fancybox-inner{right:110px}.fancybox-thumbs__list a{max-width:calc(100% - 10px)}}

.about__us {
    margin-bottom: 12px; /* Ð ÐµÐ³ÑƒÐ»Ð¸Ñ€ÑƒÐ¹Ñ‚Ðµ ÑÑ‚Ð¾ Ñ‡Ð¸ÑÐ»Ð¾, Ñ‡Ñ‚Ð¾Ð±Ñ‹ ÑƒÐ¼ÐµÐ½ÑŒÑˆÐ¸Ñ‚ÑŒ Ñ€Ð°ÑÑÑ‚Ð¾ÑÐ½Ð¸Ðµ Ð¼ÐµÐ¶Ð´Ñƒ Ð±Ð»Ð¾ÐºÐ°Ð¼Ð¸ Ñ‚ÐµÐºÑÑ‚Ð° */
    line-height: 1.5;
}

/* АБСОЛЮТНОЕ РЕШЕНИЕ ДЛЯ СТРЕЛОК */
.portfolio-slider-wrapper {
    position: relative;
    z-index: 1;
}

/* Стрелки всегда сверху и всегда кликабельны */
.portfolio-slider-wrapper .swiper-button-prev,
.portfolio-slider-wrapper .swiper-button-next {
    z-index: 999999 !important;
   
    width: 50px !important;
    height: 50px !important;
    border-radius: 50% !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    
    transition: transform 0.2s !important;
}

.portfolio-slider-wrapper .swiper-button-prev:hover,
.portfolio-slider-wrapper .swiper-button-next:hover {
    transform: scale(1.1) !important;

}

.portfolio-slider-wrapper .swiper-button-prev::after,
.portfolio-slider-wrapper .swiper-button-next::after {
    font-size: 24px !important;
    color: white !important;
}

/* На мобильных устройствах */
@media (max-width: 768px) {
    .portfolio-slider-wrapper .swiper-button-prev,
    .portfolio-slider-wrapper .swiper-button-next {
        position: absolute !important;
        top: 50% !important;
        
        width: 44px !important;
        height: 44px !important;
    }
    
    .portfolio-slider-wrapper .swiper-button-prev {
        left: 10px !important;
    }
    
    .portfolio-slider-wrapper .swiper-button-next {
        right: 10px !important;
    }
    
    /* Создаем невидимые области для клика */
    .portfolio-slider-wrapper::before,
    .portfolio-slider-wrapper::after {
        content: '';
        position: absolute;
        top: 0;
        width: 70px;
        height: 100%;
        z-index: 999998;
        background: transparent;
    }
    
    .portfolio-slider-wrapper::before {
        left: 0;
    }
    
    .portfolio-slider-wrapper::after {
        right: 0;
    }
    
    /* Если iframe мешает, временно отключаем его */
    .portfolioSwiper iframe {
        max-width: 100%;
    }
}

/* Еще более агрессивно для совсем маленьких */
@media (max-width: 480px) {
    .portfolio-slider-wrapper .swiper-button-prev {
        left: 5px !important;
    }
    
    .portfolio-slider-wrapper .swiper-button-next {
        right: 5px !important;
    }
}

.section__reviews {
    padding: 60px 0;
    overflow: hidden;
}

.section__reviews-title {
    text-align: center;
    font-size: 32px;
    font-weight: 700;
    margin-bottom: 40px;
    text-transform: uppercase;
}

.reviews-swiper {
    padding: 0 0 50px 0 !important; /* Отступы, чтобы карточка при увеличении не обрезалась */
}

.review-card {
    background: #fff;
    padding: 40px;
    margin-top: 28px;
    border-radius: 20px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
    border: 1px solid #eee;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    transition: all 0.6s cubic-bezier(0.4, 0, 0.2, 1);
    
    /* Состояние боковых карточек */
    opacity: 0.3; 
    transform: scale(0.8);
    filter: blur(1px);
}

/* Состояние центральной карточки */
.swiper-slide-active .review-card {
    opacity: 1;
    transform: scale(1.1);
    filter: blur(0);
    border-color: #FF8400;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.12);
    z-index: 10;
}

.review-text {
    font-size: 18px;
    line-height: 1.6;
    color: #444;
    font-style: italic;
    margin-bottom: 25px;
}

.review-author {
    font-weight: 700;
    font-size: 19px;
    color: #FF8400;
}

/* Адаптивность для мобильных */
@media (max-width: 768px) {
    .review-card {
        opacity: 1;
        transform: scale(1);
        padding: 25px;
        filter: none;
    }
    .swiper-slide-active .review-card {
        transform: scale(1);
    }
}


.advantages__left p {
    margin-bottom: 1rem;
}

/* Стили для вертикальных видео-отзывов */
.section__video-reviews {
    padding: 0px 0;
}

.video-card {
    background: #fff;
    border-radius: 25px;
    overflow: hidden;

    transition: all 0.3s ease;
    height: 100%;
    max-width: 320px; /* Ограничиваем ширину, чтобы вертикальное видео не было слишком широким */
    margin: 0 auto;
}

.video-card:hover {
    transform: translateY(-10px);

}

.video-container {
    position: relative;
    /* Соотношение 9:16 для вертикального видео */
    padding-bottom: 177.77%; 
    height: 0;
    overflow: hidden;
    background: #000;
}

.video-container iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: none;
}

.video-info {
    padding: 15px;
    text-align: center;
}

.video-client-city {
    font-size: 15px;
    color: #333;
    font-weight: 600;
    margin: 0;
}

.video-container {
    position: relative;
    /* Соотношение 9:16 */
   
    height: 0;
    /* Скрываем всё, что выходит за границы контейнера */
    overflow: hidden; 
    background: #000;
    border-radius: 20px; /* Скругление переносим сюда */
}

.video-container iframe {
    position: absolute;
    /* Смещаем видео вверх, чтобы спрятать заголовок (подберите значение от -40px до -60px) */
    top: -55px; 
    left: 0;
    width: 100%;
    /* Делаем высоту iframe больше, чтобы компенсировать смещение сверху */
    height: calc(100% + 60px); 
    border: none;
    /* Отключаем возможность выделения, чтобы случайно не «вытащить» скрытую часть */
    pointer-events: auto; 
}

/* Дополнительно: чтобы видео не обрезалось снизу слишком сильно */
@media (max-width: 768px) {
    .video-container iframe {
        top: -45px;
        height: calc(100% + 50px);
    }
}

/* Обновленный горизонтальный видео-слайдер */
.portfolio-video-wrapper {
    position: relative;
    width: 100%;
    /* Используем современное свойство для пропорций 16:9 */
    aspect-ratio: 3 / 2; 
    background: #e9ecef; /* Цвет заглушки, пока видео грузится */
    border-radius: 15px;
    overflow: hidden;
    box-shadow: 0 5px 15px rgba(0,0,0,0.1);
}

.portfolio-video-wrapper iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: none;
    z-index: 1;
}

/* Если всё же нужно скрыть заголовок Dzen, используем более мягкий метод */
.portfolio-video-wrapper.crop-top iframe {

}

/* Стили для кнопок Swiper, чтобы они были поверх видео */
.portfolio-slider-wrapper .swiper-button-next,
.portfolio-slider-wrapper .swiper-button-prev {
    z-index: 10;
    color: #FF8400;
}

/* Ограничиваем ширину слайдера, чтобы одно видео 16:9 не занимало весь экран по высоте */
.portfolioSwiper {
    max-width: 900px; /* Оптимальная ширина для одного горизонтального видео */
    margin: 0 auto;   /* Центрируем слайдер */
}

/* Убедитесь, что кнопки навигации не перекрываются, если вы сузили слайдер */
.portfolio-slider-wrapper {
    position: relative;
    max-width: 1000px; /* Чуть шире самого слайдера, чтобы кнопки были по бокам */
    margin: 0 auto;
}

/* Слой с картинкой-превью */
.video-poster {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    z-index: 2; /* Поверх iframe */
    display: flex;
    align-items: center;
    justify-content: center;
    transition: opacity 0.5s ease;
    cursor: pointer;
}

/* Скрываем превью, когда нажали на него */
.portfolio-video-wrapper.is-playing .video-poster {
    opacity: 0;
    pointer-events: none;
}

/* Стилизация кнопки Play по центру */
.play-button {
    width: 70px;
    height: 70px;
    background: rgba(255, 132, 0, 0.9); /* Ваш оранжевый цвет */
    border-radius: 50%;
    position: relative;
    transition: transform 0.3s ease;
}

.play-button::after {
    content: '';
    position: absolute;
    left: 28px;
    top: 20px;
    border-left: 20px solid white;
    border-top: 15px solid transparent;
    border-bottom: 15px solid transparent;
}

.portfolio-video-wrapper:hover .play-button {
    transform: scale(1.1);
}

/* Контейнер-маска для скрытия лишних элементов плеера */
.advantages-video-wrapper {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    border-radius: 20px;
    overflow: hidden; /* Обрезает всё, что вылезает за границы контейнера */
    height: calc(100% + 65px); 
    background: #000;
}

.advantages-video-wrapper iframe {
    position: absolute;
    /* Сдвигаем iframe вверх, чтобы скрыть панель с названием (обычно она около 40-50px) */
    top: -49px; 
    left: 0;
    width: 100%;
    /* Делаем iframe выше, чтобы компенсировать сдвиг и не оставить черной дыры снизу */
    height: calc(100% + 65px); 
    border: none;
}




/* Start:/local/css/mainpage.style.css?17658830492074*/
.content{
    padding-top: 0!important;
}

/*!* кнопки проектов *!*/
/*.houses-menu{*/
/*    margin-top: 50px;*/
/*}*/
/*.houses-menu h1{*/
/*    font-size: 48px;*/
/*    text-align: center;*/
/*    margin-bottom: 30px;*/
/*}*/
/*@media only screen and (max-width: 767px){*/
/*    .houses-menu{*/
/*        margin-top: 40px;*/
/*    }*/
/*    .houses-menu h1{*/
/*        font-size: 30px;*/
/*        margin-bottom: 18px;*/
/*    }*/
/*}*/

.main-projects{
    margin-top: 50px;
}
@media (min-width: 768px) {
    .main-projects{
        margin-top: 65px;
    }
}
@media (min-width: 992px) {
    .main-projects{
        margin-top: 80px;
    }
}

section.map{
    margin-top: 95px;
}
@media only screen and (max-width: 767px){
    section.map{
        margin-top: 10px;
    }
}

.why-us{
    margin-top: 100px;
}
@media only screen and (max-width: 767px){
    .why-us{
        margin-top: 60px;
    }
}

.vacancies{
    margin-top: 100px;
}
.vacancies h2,
.vacancies-text{
    text-align: center;
}
.vacancies-text{
    font-size: 2rem;
    margin-top: 1.5rem;
}
@media only screen and (max-width: 767px){
    .vacancies{
        margin-top: 60px;
    }
    .vacancies h2,
    .vacancies-text{
        text-align: left;
    }
}
.vacancies-video-wrapper{
    position: relative;
    width: 100%;
    margin-top: 2rem;
}
.vacancies-video-wrapper::before{
    content: '';
    display: block;
    width: 100%;
    padding-top: 55%;
}
.vacancies-video-wrapper iframe{
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    right: 0;
    bottom: 0;
    top: 0;
}


.vlog-as{
    /*margin-top: 60px;*/
}
@media only screen and (max-width: 767px){
    .vlog-as{
        margin-top: 0;
    }
}

.plaza{
    margin-top: 80px;
}
@media only screen and (max-width: 767px){
    .plaza{
        margin-top: 70px;
    }
}

@media(min-width: 992px) {
    .main-plaza__headers {
        text-align: center;
    }

    .main-plaza__header {
        text-align: center;
    }
}

@media(max-width: 767px){
    .main-plaza{
        margin-bottom: 60px;
    }
}
/* End */


/* Start:/local/fonts/avenir/avenir.css?17459244211201*/
@font-face{
    font-family: "AvenirNextCyr";
    font-weight: 300;
    src: url("/local/fonts/avenir/AvenirNextCyr-Regular.ttf") format('truetype'),
         url("/local/fonts/avenir/AvenirNextCyr-Regular.eot") format('opentype'),
         url("/local/fonts/avenir/AvenirNextCyr-Regular.woff") format('woff');
}
@font-face{
    font-family: "AvenirNextCyr";
    font-weight: 400;
    src: url("/local/fonts/avenir/AvenirNextCyr-Medium.ttf") format('truetype'),
    url("/local/fonts/avenir/AvenirNextCyr-Medium.eot") format('opentype'),
    url("/local/fonts/avenir/AvenirNextCyr-Medium.woff") format('woff');
}
@font-face{
    font-family: "AvenirNextCyr";
    font-weight: 500;
    src: url("/local/fonts/avenir/AvenirNextCyr-Demi.ttf") format('truetype'),
    url("/local/fonts/avenir/AvenirNextCyr-Demi.eot") format('opentype'),
    url("/local/fonts/avenir/AvenirNextCyr-Demi.woff") format('woff');
}
@font-face{
    font-family: "AvenirNextCyr";
    font-weight: 700;
    src: url("/local/fonts/avenir/AvenirNextCyr-Bold.ttf") format('truetype'),
    url("/local/fonts/avenir/AvenirNextCyr-Bold.eot") format('opentype'),
    url("/local/fonts/avenir/AvenirNextCyr-Bold.woff") format('woff');
}

/* End */


/* Start:/local/bitrix/templates/.default/components/bitrix/news.list/main-slider-swiper/style.css?17658927062537*/
.main-slider {
    position: relative;
    padding-left: 0 !important;
    padding-right: 0 !important;

    font-family: Montserrat, Roboto, "sans-serif";
}
.main-slider .swiper.swiper-simple{
    --slide-border-radius: 0 0 24px 24px;;
    --slide-padding: 0!important;
    --swiper-pagination-bullet-inactive-color: rgba(255, 255, 255, 0.3);
    --swiper-pagination-bullet-inactive-opacity: 1;
}
.main-slider .swiper.swiper-simple .swiper-pagination {
    background-color: rgba(255, 255, 255, 0.16);
}
.slider__frame{
    /*display: block;*/
    /*width: 100%;*/
    text-decoration: none;
    background: #f2f2f2;
    background-size: cover;
    background-position: center;
    -webkit-touch-callout: default;
    position: relative;


    overflow: hidden;
}

.slider__frame:hover,
.slider__frame:focus{
    text-decoration: none;
}
.slider__frame__image img{
    width: 100%;
    height: 100%;
    object-fit: cover;

    position: absolute;
}
.slider__frame__container{
    position: relative;
    height: 100%;
    box-sizing: border-box;

    display: flex;
    flex-flow: column nowrap;
}
.slider__text {
    display: flex;
    flex-flow: column nowrap;
}
.slider__text__line-update{
    text-transform: uppercase;
    border-radius: 0.4rem;
    padding: 0.6rem 0.8rem 0.3rem 0.8rem;
    font-size: 1.4rem;
    line-height: 1;
    letter-spacing: normal;
    background-color: #ffffff;
    color: black;
    font-weight: 900;
    display: block;
    width: fit-content;
    width: intrinsic;
    width: -moz-max-content;
    width: -webkit-max-content;
    mix-blend-mode: screen;
}
.slider__text__line-one{
    font-weight: 700;
}
.slider__text__line-two{
    font-weight: 500;
    line-height: 1.2;
}
.slider__text sup{
    top: -0.8em;
    font-size: 50%;
}
.slider__frame__buttons{
    display: flex;
    flex-flow: row;
    gap: 12px;
    align-items: center;
    justify-content: flex-start;
}
.slider__frame__button {
    --button-background: white;
    --button-color: var(--color-brand-primary);

    font-size: 18px;
}
.slider__frame__button:hover{
    /*color: #333;*/
    /*text-decoration: none;*/
}
.slider__frame__button svg{
    margin: 0!important;

    background-color: var(--button-color);
    fill: var(--button-background);
    border-radius: 999px;
}
.slider__frame__under-button{
    position: absolute;
    color: white;
}
@media (max-width: 1366px) {
    .slider{
        contain-intrinsic-size: 50rem;
    }
}
@media (max-width: 1024px) {
    .slider{
        contain-intrinsic-size: 50rem;
    }
}

/* End */


/* Start:/local/js/vendor/libs/swiper/swiper.css?174592442118453*/
/**
 * Swiper 11.2.5
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2025 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: March 3, 2025
 */

@font-face{font-family:swiper-icons;src:url('data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA');font-weight:400;font-style:normal}:root{--swiper-theme-color:#007aff}:host{position:relative;display:block;margin-left:auto;margin-right:auto;z-index:1}.swiper{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1;display:block;}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;transition-timing-function:var(--swiper-wrapper-transition-timing-function,initial);box-sizing:content-box}.swiper-android .swiper-slide,.swiper-ios .swiper-slide,.swiper-wrapper{transform:translate3d(0px,0,0);}.swiper-horizontal{touch-action:pan-y}.swiper-vertical{touch-action:pan-x}.swiper-slide{flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform;display:block}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden .swiper-slide{transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d{perspective:1200px}.swiper-3d .swiper-cube-shadow,.swiper-3d .swiper-slide{transform-style:preserve-3d}.swiper-css-mode>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-css-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}.swiper-css-mode.swiper-horizontal>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-css-mode.swiper-vertical>.swiper-wrapper{scroll-snap-type:y mandatory}.swiper-css-mode.swiper-free-mode>.swiper-wrapper{scroll-snap-type:none}.swiper-css-mode.swiper-free-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:none}.swiper-css-mode.swiper-centered>.swiper-wrapper::before{content:'';flex-shrink:0;order:9999}.swiper-css-mode.swiper-centered>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center;scroll-snap-stop:always}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper::before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper::before{width:100%;min-width:1px;height:var(--swiper-centered-offset-after)}.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-3d .swiper-slide-shadow{background:rgba(0,0,0,.15)}.swiper-3d .swiper-slide-shadow-left{background-image:linear-gradient(to left,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-right{background-image:linear-gradient(to right,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-top{background-image:linear-gradient(to top,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-bottom{background-image:linear-gradient(to bottom,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;transform-origin:50%;box-sizing:border-box;border:4px solid var(--swiper-preloader-color,var(--swiper-theme-color));border-radius:50%;border-top-color:transparent}.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader,.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader{animation:swiper-preloader-spin 1s infinite linear}.swiper-lazy-preloader-white{--swiper-preloader-color:#fff}.swiper-lazy-preloader-black{--swiper-preloader-color:#000}@keyframes swiper-preloader-spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.swiper-virtual .swiper-slide{-webkit-backface-visibility:hidden;transform:translateZ(0)}.swiper-virtual.swiper-css-mode .swiper-wrapper::after{content:'';position:absolute;left:0;top:0;pointer-events:none}.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper::after{height:1px;width:var(--swiper-virtual-size)}.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper::after{width:1px;height:var(--swiper-virtual-size)}:root{--swiper-navigation-size:44px}.swiper-button-next,.swiper-button-prev{position:absolute;top:var(--swiper-navigation-top-offset,50%);width:calc(var(--swiper-navigation-size)/ 44 * 27);height:var(--swiper-navigation-size);margin-top:calc(0px - (var(--swiper-navigation-size)/ 2));z-index:10;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--swiper-navigation-color,var(--swiper-theme-color))}.swiper-button-next.swiper-button-disabled,.swiper-button-prev.swiper-button-disabled{opacity:.35;cursor:auto;pointer-events:none}.swiper-button-next.swiper-button-hidden,.swiper-button-prev.swiper-button-hidden{opacity:0;cursor:auto;pointer-events:none}.swiper-navigation-disabled .swiper-button-next,.swiper-navigation-disabled .swiper-button-prev{display:none!important}.swiper-button-next svg,.swiper-button-prev svg{width:100%;height:100%;object-fit:contain;transform-origin:center}.swiper-rtl .swiper-button-next svg,.swiper-rtl .swiper-button-prev svg{transform:rotate(180deg)}.swiper-button-prev,.swiper-rtl .swiper-button-next{left:var(--swiper-navigation-sides-offset,10px);right:auto}.swiper-button-next,.swiper-rtl .swiper-button-prev{right:var(--swiper-navigation-sides-offset,10px);left:auto}.swiper-button-lock{display:none}.swiper-button-next:after,.swiper-button-prev:after{font-family:swiper-icons;font-size:var(--swiper-navigation-size);text-transform:none!important;letter-spacing:0;font-variant:initial;line-height:1}.swiper-button-prev:after,.swiper-rtl .swiper-button-next:after{content:'prev'}.swiper-button-next,.swiper-rtl .swiper-button-prev{right:var(--swiper-navigation-sides-offset,10px);left:auto}.swiper-button-next:after,.swiper-rtl .swiper-button-prev:after{content:'next'}.swiper-pagination{position:absolute;text-align:center;transition:.3s opacity;transform:translate3d(0,0,0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-pagination-disabled>.swiper-pagination,.swiper-pagination.swiper-pagination-disabled{display:none!important}.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal,.swiper-pagination-custom,.swiper-pagination-fraction{bottom:var(--swiper-pagination-bottom,8px);top:var(--swiper-pagination-top,auto);left:0;width:100%}.swiper-pagination-bullets-dynamic{overflow:hidden;font-size:0}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transform:scale(.33);position:relative}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{transform:scale(.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{transform:scale(.33)}.swiper-pagination-bullet{width:var(--swiper-pagination-bullet-width,var(--swiper-pagination-bullet-size,8px));height:var(--swiper-pagination-bullet-height,var(--swiper-pagination-bullet-size,8px));display:inline-block;border-radius:var(--swiper-pagination-bullet-border-radius,50%);background:var(--swiper-pagination-bullet-inactive-color,#000);opacity:var(--swiper-pagination-bullet-inactive-opacity, .2)}button.swiper-pagination-bullet{border:none;margin:0;padding:0;box-shadow:none;-webkit-appearance:none;appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-bullet:only-child{display:none!important}.swiper-pagination-bullet-active{opacity:var(--swiper-pagination-bullet-opacity, 1);background:var(--swiper-pagination-color,var(--swiper-theme-color))}.swiper-pagination-vertical.swiper-pagination-bullets,.swiper-vertical>.swiper-pagination-bullets{right:var(--swiper-pagination-right,8px);left:var(--swiper-pagination-left,auto);top:50%;transform:translate3d(0px,-50%,0)}.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets .swiper-pagination-bullet{margin:var(--swiper-pagination-bullet-vertical-gap,6px) 0;display:block}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{top:50%;transform:translateY(-50%);width:8px}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{display:inline-block;transition:.2s transform,.2s top}.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 var(--swiper-pagination-bullet-horizontal-gap,4px)}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{left:50%;transform:translateX(-50%);white-space:nowrap}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s left}.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s right}.swiper-pagination-fraction{color:var(--swiper-pagination-fraction-color,inherit)}.swiper-pagination-progressbar{background:var(--swiper-pagination-progressbar-bg-color,rgba(0,0,0,.25));position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:var(--swiper-pagination-color,var(--swiper-theme-color));position:absolute;left:0;top:0;width:100%;height:100%;transform:scale(0);transform-origin:left top}.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{transform-origin:right top}.swiper-horizontal>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-horizontal,.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite{width:100%;height:var(--swiper-pagination-progressbar-size,4px);left:0;top:0}.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-vertical,.swiper-vertical>.swiper-pagination-progressbar{width:var(--swiper-pagination-progressbar-size,4px);height:100%;left:0;top:0}.swiper-pagination-lock{display:none}.swiper-scrollbar{border-radius:var(--swiper-scrollbar-border-radius,10px);position:relative;touch-action:none;background:var(--swiper-scrollbar-bg-color,rgba(0,0,0,.1))}.swiper-scrollbar-disabled>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-disabled{display:none!important}.swiper-horizontal>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-horizontal{position:absolute;left:var(--swiper-scrollbar-sides-offset,1%);bottom:var(--swiper-scrollbar-bottom,4px);top:var(--swiper-scrollbar-top,auto);z-index:50;height:var(--swiper-scrollbar-size,4px);width:calc(100% - 2 * var(--swiper-scrollbar-sides-offset,1%))}.swiper-scrollbar.swiper-scrollbar-vertical,.swiper-vertical>.swiper-scrollbar{position:absolute;left:var(--swiper-scrollbar-left,auto);right:var(--swiper-scrollbar-right,4px);top:var(--swiper-scrollbar-sides-offset,1%);z-index:50;width:var(--swiper-scrollbar-size,4px);height:calc(100% - 2 * var(--swiper-scrollbar-sides-offset,1%))}.swiper-scrollbar-drag{height:100%;width:100%;position:relative;background:var(--swiper-scrollbar-drag-bg-color,rgba(0,0,0,.5));border-radius:var(--swiper-scrollbar-border-radius,10px);left:0;top:0}.swiper-scrollbar-cursor-drag{cursor:move}.swiper-scrollbar-lock{display:none}.swiper-zoom-container{width:100%;height:100%;display:flex;justify-content:center;align-items:center;text-align:center}.swiper-zoom-container>canvas,.swiper-zoom-container>img,.swiper-zoom-container>svg{max-width:100%;max-height:100%;object-fit:contain}.swiper-slide-zoomed{cursor:move;touch-action:none}.swiper .swiper-notification{position:absolute;left:0;top:0;pointer-events:none;opacity:0;z-index:-1000}.swiper-free-mode>.swiper-wrapper{transition-timing-function:ease-out;margin:0 auto}.swiper-grid>.swiper-wrapper{flex-wrap:wrap}.swiper-grid-column>.swiper-wrapper{flex-wrap:wrap;flex-direction:column}.swiper-fade.swiper-free-mode .swiper-slide{transition-timing-function:ease-out}.swiper-fade .swiper-slide{pointer-events:none;transition-property:opacity}.swiper-fade .swiper-slide .swiper-slide{pointer-events:none}.swiper-fade .swiper-slide-active{pointer-events:auto}.swiper-fade .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper.swiper-cube{overflow:visible}.swiper-cube .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1;visibility:hidden;transform-origin:0 0;width:100%;height:100%}.swiper-cube .swiper-slide .swiper-slide{pointer-events:none}.swiper-cube.swiper-rtl .swiper-slide{transform-origin:100% 0}.swiper-cube .swiper-slide-active,.swiper-cube .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-cube .swiper-slide-active,.swiper-cube .swiper-slide-next,.swiper-cube .swiper-slide-prev{pointer-events:auto;visibility:visible}.swiper-cube .swiper-cube-shadow{position:absolute;left:0;bottom:0px;width:100%;height:100%;opacity:.6;z-index:0}.swiper-cube .swiper-cube-shadow:before{content:'';background:#000;position:absolute;left:0;top:0;bottom:0;right:0;filter:blur(50px)}.swiper-cube .swiper-slide-next+.swiper-slide{pointer-events:auto;visibility:visible}.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-bottom,.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-left,.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-right,.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper.swiper-flip{overflow:visible}.swiper-flip .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1}.swiper-flip .swiper-slide .swiper-slide{pointer-events:none}.swiper-flip .swiper-slide-active,.swiper-flip .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-bottom,.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-left,.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-right,.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-creative .swiper-slide{-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden;transition-property:transform,opacity,height}.swiper.swiper-cards{overflow:visible}.swiper-cards .swiper-slide{transform-origin:center bottom;-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden}
/* End */


/* Start:/local/css/elements/v2024/swiper.simple.css?17587186971255*/
.swiper.swiper-simple{
    --slide-padding: 24px 24px 0px;
    --slide-border-radius: 24px;
    --pagination-padding-x: 12px;
    --pagination-padding-y: 8px;
    --pagination-gutter: 8px;
    --swiper-pagination-color: white;
    --swiper-pagination-bottom: var(--slide-padding);
    --swiper-pagination-bullet-size: 10px;
    --swiper-pagination-bullet-incative-color: var(--neutral-925);
    --swiper-pagination-bullet-horizontal-gap: 0;
    overflow: visible;
}
@media (min-width: 576px) {
    .swiper.swiper-simple {
        --swiper-pagination-bottom: 32px;
        --slide-border-radius: 32px;
        border-radius: var(--slide-border-radius);
        overflow: hidden;
    }
}

.swiper.swiper-simple .swiper-slide{
    border-radius: var(--slide-border-radius);
    padding: var(--slide-padding);
}

.swiper.swiper-simple .swiper-pagination{
    width: fit-content;
    left: unset;
    right: var(--slide-padding);

    padding: var(--pagination-padding-y) var(--pagination-padding-x);

    display: flex;
    flex-flow: row;
    gap: var(--pagination-gutter);

    border-radius: 999px;

    background: rgba(0, 0, 0, 0.15);
    backdrop-filter: blur(6px);
}

.swiper.swiper-simple .swiper-pagination-bullet-active{
    background-color: white;
}


/* End */


/* Start:/local/bitrix/templates/.default/components/bitrix/news.list/main-slider-swiper/style.desktop.css?17690696981461*/
.main-slider .swiper-simple{
    --swiper-pagination-bottom: 68px
}

.slider__frame{
    height: 660px;
}
.slider__frame__container{
    padding-top: 150px;
}
.slider__frame__container{
    justify-content: flex-start;
}

.slider__text{
    justify-content: flex-end;
    color: white;
}
.slider__text__line-update{
    margin-bottom: 2.3rem;
}
.slider__text__line-one{
    font-size: 50px;
    line-height: 1.2;
}
.slider__text__line-two{
    font-size: 28px;
    margin-top: 22px;
}
.slider__frame__buttons{
    bottom: 148px;
    left: 15px;
    margin-top: 42px;
}
.slider__frame__button{
    padding-left: 24px;
    padding-right: 6px;

    height: 56px;

    /*padding-top: 12px;*/
}
.slider__frame__button svg {
    width: 44px;
    height: 44px;
    padding: 10px;
}
.slider__frame__button:hover{
    opacity: 0.8;
}
.slider__frame__under-button{
    bottom: 8.4rem;
    left: 1.5rem;
    font-size: 1.8rem;
    line-height: 1.11;
}

@media (max-width: 1366px) {
    .slider__frame{
        height: 500px;
    }
    .slider__frame__container{
        padding-top: 75px;
        padding-bottom: 0;
    }
    .slider__frame__buttons{
        bottom: 105px;
    }
}

@media (max-width: 1024px) {
    .slider__frame{
        height: 460px;
    }
    .slider__frame__container{
        padding-bottom: 140px;
    }
    .slider__frame__buttons{
        bottom: 70px;
    }
}
.main-slider .swiper.swiper-simple .swiper-pagination{
    right: unset!important;
}
/* End */


.main-projects {
    font-family: Montserrat, Roboto, "sans-serif";
    --font-family-default: 'Montserrat', Roboto, "sans-serif";
    --header-weight: 800;
    --h2-mb: 24px;
    --h2-size: 32px;
    --h3-size: 24px;
    --h3-mb: 6px;
}
@media (min-width: 768px) {
    .main-projects{
        --h3-size: 28px;
    }
}
@media (min-width: 992px) {
    .main-projects{
        --h2-size: 42px;
    }
}

.main-projects h2{
    font-weight: 700;
    text-align: center;
}
.main-projects__tiles .main-projects__tiles-item {
    background-color: #f2f2f2;
    box-sizing: border-box;

    color: white;
    text-decoration: none;

    display: flex;
    flex-flow: column;
    align-items: flex-start;

    z-index: 1;
    overflow: hidden;
}
@media(hover: hover) {
    .main-projects__tiles-item:hover {
        color: white;
    }
}

.main-projects__tiles-item:nth-child(1){
    grid-area: a;
}
.main-projects__tiles-item:nth-child(2){
    grid-area: b;
}
.main-projects__tiles-item:nth-child(3){
    grid-area: c;
}
.main-projects__tiles-item:nth-child(4){
    grid-area: d;
}
.main-projects__tiles-item:nth-child(5){
    grid-area: e;
}
.main-projects__tiles-item:nth-child(6){
    grid-area: f;
}
.main-projects__tiles-item:nth-child(7){
    grid-area: g;
}
.main-projects__tiles-item:nth-child(8){
    grid-area: h;
}

@media (min-width: 768px) {
    .main-projects__tiles-item {
        background-color: #f2f2f2;
    }
}



.main-projects__tile-bg{
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;

    z-index: 1;
}

.main-projects__tile-button,
.main-projects__tile-title,
.main-projects__tile-description{
    position: relative;
    z-index: 2;
}
.main-projects__tile-button{
    padding: 0;
    height: 38px;
    width: 38px;
}
.main-projects__tile-title{
    margin-top: auto;
    font-weight: 700;
    font-size: 26px;
}
.main-projects__tile-description{
    --content-height: 0;

    width: 100%;
    height: 0;
    opacity: 0;
    overflow: hidden;

    transition: height 0.3s, opacity 0.2s;
}


@media (hover: hover) {
    .main-projects__tiles-item:hover .btn{
        --button-background: var(--button-hover-background, --button-background);
    }
    .main-projects__tiles-item:hover .main-projects__tile-description{
        height: var(--content-height);
        opacity: 1;
    }
}

.main-projects__tiles-item.swiper-slide-active .main-projects__tile-description{
    height: var(--content-height);
    opacity: 1;
}

/* End */


/* Start:/local/css/elements/v2024/btn.white.css?1765539875488*/
.btn.btn-white{
    --button-color: var(--color-brand-primary);
    --button-background: white;
/*<<<<<<< HEAD*/
    /*--button-hover-background: var(--accent-10);*/
    --button-hover-background: #f5f5f5;
/*=======*/
/*    --button-hover-color: var(--button-color);*/
/*    --button-hover-background: var(--accent-10);*/
/*>>>>>>> master*/
}

.btn.btn-white.active{
    --button-background: var(--color-brand-primary);
    --button-color: white;
    --button-hover-background: #458366;
}
/* End */


/* Start:/local/bitrix/templates/.default/components/bitrix/news.list/houses-menu-tiles/mainpage.tiles.css?17591537971305*/
@media(max-width: 767px) {
    .main-projects__tiles {
        padding-bottom: 40px;
        overflow: visible;
    }
    .main-projects__tiles-item {
        height: 411px;
    }
    .swiper.swiper-simple.main-projects__tiles .swiper-pagination{
        width: 100%;
        left: 0;
        right: unset;
        bottom: 0;
        justify-content: center;
        background: transparent;
        backdrop-filter: none;
    }
    .swiper.swiper-simple.main-projects__tiles .swiper-pagination-bullet-active{
        background-color: rgb(49, 141, 0);
    }
}
@media (min-width: 768px) {
    .main-projects__tiles .swiper-wrapper {
        display: grid;

        grid-template-areas:
            "a b"
            "a c"
            "d e"
            "f e"
            "g g";
        grid-template-rows: repeat(4, 250px) 300px;
        grid-template-columns: 1fr 1fr;

        gap: 24px;
    }
}
@media (min-width: 768px) and (hover: none) {
    .main-projects__tile-description{

        height: auto;
        opacity: 1;
    }
}
@media (min-width: 992px) {
    .main-projects__tiles .swiper-wrapper{
        grid-template-areas:
            "a b c"
            "a d e"
            "f g e";
        grid-template-rows: repeat(3, 250px);
        grid-template-columns: repeat(3, 1fr);
    }
}
/* End */


/* Start:/local/bitrix/templates/.default/components/bitrix/news.list/road_map/style.css?176588304918241*/
.road-map {
    position: relative;
    padding: 128px 0 0 0;
    overflow: hidden;
}
.road-map_title {
    color: var(--neutral-950, #252726);
    text-align: center;
    font-family: Montserrat;
    font-size: 42px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
}

.timeline {
    position: relative;
    width: 100%;
    height: 500px;
}

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


.timeline__title {
    color: var(--accent-950, #0B1B0F);
    font-family: Montserrat;
    font-size: 32px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
}


.timeline__back {
    position: absolute;
    top: 120px;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(
            90deg,
            #2B6D3C 0%,
            #2B6D3C 50%,
            transparent 100%
    );
    z-index: 1;
}
.timeline__line-holder {
    position: relative;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2;
    transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

.timeline__step {
    position: absolute;
    display: flex;
    flex-direction: column;
    align-items: center;
    transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
    opacity: 0;
    transform: translateX(0);
}

.timeline__step.active {
    opacity: 1;
    transform: translateX(0);
    z-index: 5;
}

.timeline__step.prepare {
    opacity: 1;
    transform: translateX(600px);
    z-index: 4;
}

.timeline__step.inactive {
    opacity: 0.3;
    transform: translateX(1000px);
    z-index: 3;
}

.timeline__step.left-prepare {
    opacity: 1;
    transform: translateX(-600px);
    z-index: 4;
    box-shadow: none;
}

.timeline__step.left-inactive {
    opacity: 0.3;
    transform: translateX(-800px);
    z-index: 3;
}

.timeline__step.left-hidden {
    opacity: 0;
    transform: translateX(-1200px);
    z-index: 2;
}

.timeline__step.right-hidden {
    opacity: 0;
    transform: translateX(1200px);
    z-index: 2;
}

.timeline__label {
    position: absolute;
    top: -48px;
    color: var(--accent-500, #2B6D3C);
    font-family: Montserrat;
    font-size: 20px;
    font-weight: 700;
    white-space: nowrap;
}

.timeline__point {
    position: relative;
    z-index: 999; /* Увеличиваем z-index чтобы точки были над линией */
    margin-bottom: 25px;
}

.timeline__card {
    width: 490px;
    height: 233px;
    background: var(--accent-10, #F0F5F1);
    border-radius: 12px;
    padding: 32px;
    box-shadow: 0 10px 30px rgba(43, 109, 60, 0.1);
    text-align: start;
    transition: all 0.3s ease;
}

.timeline__heder{
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
}

.timeline__card .hint {
    font-family: Montserrat;
    font-size: 18px;
    font-weight: 400;
    margin-bottom: 15px;
    color: var(--neutral-925, #4A4F4B);
}

.timeline__line {
    position: absolute;
    top: 120px; /* Совпадает с timeline__back */
    height: 3px;
    background: #2B6D3C;
    transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 2; /* Над timeline__back но под точками */
    display: none;
}

.timeline__description{
    color: var(--accent-950, #0B1B0F);
    align-self: stretch;
    font-family: Montserrat;
    font-size: 18px;
    font-style: normal;
    font-weight: 400;
    line-height: 120%;
}

.timeline-navigator-holder {
    display: flex;
    justify-content: flex-end;
    padding-bottom: 10px;
}

.timeline-navigator {
    display: flex;
    gap: 20px;
}

.timeline-navigator__btn {
    width: 54px;
    height: 54px;
    border-radius: 50%;
    background: none;
    border: 2px solid #51816B;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s ease;
}

.timeline-navigator__btn:hover {
    border-color: #386753;
    transform: scale(1.05);
}

.timeline-navigator__btn.disabled {
    opacity: 0.3;
    cursor: not-allowed;
}

.timeline-navigator__btn.disabled:hover {
    opacity: 0.3;
    transform: none;
}

.timeline__step.active .timeline__point circle {
    fill: #2B6D3C;
}

/*
.timeline__step.prepare .timeline__point circle,
.timeline__step.left-prepare .timeline__point circle {
    fill: #2B6D3C;
}
*/

.timeline__step.inactive .timeline__point circle,
.timeline__step.left-inactive .timeline__point circle {
    fill: #C8DED0;
}

/* Добавьте в конец файла */

/* Позиционирование и анимация для частей карточки */
.label-part, .point-part, .card-part {
    transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Стили для метки (label) */
.label-part {
    position: absolute;
    top: -48px;
    color: var(--accent-500, #2B6D3C);
    font-family: Montserrat;
    font-size: 20px;
    font-weight: 700;
    white-space: nowrap;
    opacity: 0;
}

.label-part.active {
    opacity: 1;
}

.label-part.prepare {
    opacity: 0.5;
}

.label-part.inactive {
    opacity: 0.3;
}

.label-part.left-prepare {
    opacity: 1;
}

.label-part.left-inactive {
    opacity: 0.3;
}

/* Стили для точки */
.point-part {
    position: relative;
    margin-bottom: 0;
    z-index: 999;
}

.point-part.active circle {
    fill: #2B6D3C;
}

.point-part.prepare circle,
.point-part.inactive circle {
    fill: #95B69D;
}

/* Для предыдущих карточек (слева) - основной цвет */
.point-part.left-prepare circle,
.point-part.left-inactive circle {
    fill: #2B6D3C;
}

/* Стили для карточки */
.card-part {
    width: 490px;
    height: 233px;
    background: var(--accent-10, #F0F5F1);
    border-radius: 12px;
    padding: 32px;
    box-shadow: 0 4px 3px 0 rgba(0, 0, 0, 0.10);
    text-align: start;
    opacity: 0;
}

.card-part.active {
    opacity: 1;
    box-shadow: 0 4px 3px 0 rgba(0, 0, 0, 0.10);
}

.card-part.prepare {
    opacity: 0.5;
    box-shadow: none;
}

.card-part.inactive {
    opacity: 0.3;
    box-shadow: none;
}

.card-part.left-prepare {
    opacity: 1;
    box-shadow: none;
}

.card-part.left-inactive {
    opacity: 0.3;
    box-shadow: none;
}

/* Позиционирование шагов остается как было */
.timeline__step {
    position: absolute;
    display: flex;
    flex-direction: column;
    align-items: center;
    transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
    transform: translateX(0);
}

.timeline__step.prepare {
    transform: translateX(600px);
}

.timeline__step.inactive {
    transform: translateX(1000px);
}

.timeline__step.left-prepare {
    transform: translateX(-600px);
}

.timeline__step.left-inactive {
    transform: translateX(-800px);
}

.timeline__step.left-hidden {
    transform: translateX(-1200px);
}

.timeline__step.right-hidden {
    transform: translateX(1200px);
}

@media (max-width: 768px) {
    .timeline {
        height: 400px;
    }

    .timeline__card {
        width: 320px;
        padding: 20px;
    }

    .timeline__step.prepare {
        transform: translateX(300px);
    }

    .timeline__step.inactive {
        transform: translateX(600px);
    }

    .timeline__step.left-prepare {
        transform: translateX(-300px);
    }

    .timeline__step.left-inactive {
        transform: translateX(-600px);
    }

    .timeline__back,
    .timeline__line {
        top: 35px; /* Корректировка для мобильных */
    }
}

/* Мобильная версия Timeline со скроллом */
.mobile-road-map {
    padding: 40px 0 20px;
    overflow: hidden;
}

.mobile-road-map__title {
    color: var(--neutral-950, #252726);
    text-align: center;
    font-family: Montserrat;
    font-size: 28px;
    font-weight: 700;
    line-height: normal;
    margin-bottom: 30px;
    padding: 0 15px;
}

.mobile-timeline-scroll {
    position: relative;
    min-height: 345px;
    max-height: 70vh;
    overflow-y: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
    padding: 20px 0;
}

/* Убираем стандартный скроллбар для более чистого вида */
.mobile-timeline-scroll::-webkit-scrollbar {
    width: 4px;
}

.mobile-timeline-scroll::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 2px;
}

.mobile-timeline-scroll::-webkit-scrollbar-thumb {
    background: #95B69D;
    border-radius: 2px;
}

.mobile-timeline-scroll::-webkit-scrollbar-thumb:hover {
    background: #2B6D3C;
}

.mobile-timeline-scroll__container {
    position: relative;
    padding: 0 15px 0;
    min-height: 100%;
}

.mobile-timeline-scroll__step {
    position: relative;
    margin-bottom: 40px;
    opacity: 1;
    transition: all 0.3s ease;
}

.mobile-timeline-scroll__step:last-child {
    margin-bottom: 0;
}

/* Вертикальная линия - теперь она будет растягиваться на всю высоту контейнера */
.mobile-timeline__vertical-line {
    position: absolute;
    left: 40px;
    top: 0;
    bottom: -900px;
    width: 2px;
    background: linear-gradient(
            to bottom,
            #2B6D3C 0%,
            #2B6D3C 95%,
            transparent 100%
    );
    z-index: 1;
}

/* Для очень длинных списков сделаем линию просто сплошной */
.mobile-timeline-scroll__container:has(.mobile-timeline-scroll__step:nth-child(10))
.mobile-timeline__vertical-line {
    background: #2B6D3C;
}

.mobile-timeline-scroll__content {
    display: flex;
    align-items: flex-start;
    position: relative;
    z-index: 2;
    padding-left: 20px;
    min-height: 140px;
}

.mobile-timeline-scroll__point-container {
    position: absolute;
    left: 14px;
    top: 67px;
    z-index: 10;
    width: 24px;
    height: 24px;
}

.mobile-timeline-scroll__point circle {
    transition: all 0.3s ease;
}

.mobile-timeline-scroll__step.active .mobile-timeline-scroll__point circle {
    fill: #2B6D3C;
    r: 12px;
}

.mobile-timeline-scroll__step:not(.active) .mobile-timeline-scroll__point circle {
    fill: #95B69D;
    r: 10.5px;
}

.mobile-timeline-scroll__label {
    width: 70px;
    flex-shrink: 0;
    color: var(--accent-500, #2B6D3C);
    font-family: Montserrat;
    font-size: 32px;
    font-weight: 700;
    line-height: 1.2;
    text-align: right;
    padding-top: 60px;
    margin-right: 15px;
}

.mobile-timeline-scroll__step.active .mobile-timeline-scroll__label {
    color: #2B6D3C;
    font-weight: 700;
}

.mobile-timeline-scroll__step:not(.active) .mobile-timeline-scroll__label {
    color: #95B69D;
    font-weight: 600;
}

.mobile-timeline-scroll__card {
    flex: 1;
    background: var(--accent-10, #F0F5F1);
    border-radius: 12px;
    padding: 20px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    transition: all 0.3s ease;
    min-height: 140px;
    border: 2px solid transparent;
}

.mobile-timeline-scroll__step.active .mobile-timeline-scroll__card {
    border-radius: 12px;
    background: var(--accent-10, #F0F5F1);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.mobile-timeline-scroll__step:not(.active) .mobile-timeline-scroll__card {
    border-color: transparent;
    background: var(--accent-10, #F0F5F1);
    opacity: 0.5;
}

.mobile-timeline-scroll__card-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 12px;
}

.mobile-timeline-scroll__card-title {
    color: var(--accent-950, #0B1B0F);
    font-family: Montserrat;
    font-size: 17px;
    font-weight: 700;
    line-height: 1.2;
    margin: 0;
    flex: 1;
}

.mobile-timeline-scroll__step.active .mobile-timeline-scroll__card-title {
    color: #0B1B0F;
}

.mobile-timeline-scroll__step:not(.active) .mobile-timeline-scroll__card-title {
    color: #4A4F4B;
}

.mobile-timeline-scroll__card-duration {
    color: var(--neutral-925, #4A4F4B);
    font-family: Montserrat;
    font-size: 13px;
    font-weight: 400;
    white-space: nowrap;
    margin-left: 10px;
}

.mobile-timeline-scroll__card-description {
    color: var(--accent-950, #0B1B0F);
    font-family: Montserrat;
    font-size: 14px;
    font-weight: 400;
    line-height: 140%;
    margin: 0;
}

.mobile-timeline-scroll__step.active .mobile-timeline-scroll__card-description {
    color: #0B1B0F;
}

.mobile-timeline-scroll__step:not(.active) .mobile-timeline-scroll__card-description {
    color: #5A5F5B;
}

/* Анимация при скролле */
@keyframes highlight {
    0% { transform: scale(1); }
    50% { transform: scale(1.02); }
    100% { transform: scale(1); }
}

.mobile-timeline-scroll__step.highlight {
    animation: highlight 0.5s ease;
}


@media (max-width: 480px) {
    .mobile-timeline__vertical-line {
        bottom: -1070px;
    }

    .mobile-road-map__title {
        font-size: 24px;
        margin-bottom: 25px;
    }

    .mobile-timeline-scroll {
        padding: 15px 0;
        max-height: 40vh;
    }

    .mobile-timeline__vertical-line {
        left: 35px;
    }

    .mobile-timeline-scroll__content {
        padding-left: 15px;
        min-height: 130px;
    }

    .mobile-timeline-scroll__point-container {
        left: 9px;
    }

    .mobile-timeline-scroll__label {
        width: 42px;
        font-size: 32px;
        margin-right: 30px;
    }

    .mobile-timeline-scroll__card {
        padding: 16px;
        min-height: 130px;
    }

    .mobile-timeline-scroll__card-title {
        font-size: 16px;
    }

    .mobile-timeline-scroll__card-duration {
        font-size: 12px;
    }

    .mobile-timeline-scroll__card-description {
        font-size: 13px;
    }

    .mobile-timeline-scroll__step {
        margin-bottom: 30px;
    }
}
@media (max-width: 440px) {
    .mobile-timeline__vertical-line {
        bottom: -1150px;
    }
}
@media (max-width: 425px) {
    .mobile-timeline__vertical-line {
        bottom: -1210px;
    }
}

@media (max-width: 400px) {
    .mobile-timeline__vertical-line {
        bottom: -1300px;
    }
}

@media (max-width: 375px) {
    .mobile-timeline__vertical-line {
        bottom: -1160px;
    }
    .mobile-timeline-scroll {
        max-height: 60vh;
    }

    .mobile-timeline-scroll__content {
        min-height: 120px;
    }

    .mobile-timeline-scroll__card {
        padding: 14px;
        min-height: 120px;
    }

    .mobile-timeline-scroll__card-title {
        font-size: 15px;
    }

    .mobile-timeline-scroll__card-description {
        font-size: 12px;
    }
}

/* Дополнительные стили для правильной работы скрипта */
.mobile-timeline-scroll__step {
    transition: all 0.3s ease;
}

.mobile-timeline-scroll__step.highlight {
    animation: highlight 0.5s ease;
}

@keyframes highlight {
    0% { transform: scale(1); }
    50% { transform: scale(1.01); }
    100% { transform: scale(1); }
}

/* Гарантируем, что первая карточка будет активной при загрузке */
.mobile-timeline-scroll__step.active {
    z-index: 2;
}

/* Убираем предустановленные цвета из HTML */
.mobile-timeline-scroll__point circle {
    transition: fill 0.3s ease, r 0.3s ease;
}

/* Активная точка */
.mobile-timeline-scroll__step.active .mobile-timeline-scroll__point circle {
    fill: #2B6D3C !important;
    r: 12px !important;
}

/* Неактивная точка */
.mobile-timeline-scroll__step:not(.active) .mobile-timeline-scroll__point circle {
    fill: #95B69D !important;
    r: 10.5px !important;
}

/* Активная метка */
.mobile-timeline-scroll__step.active .mobile-timeline-scroll__label {
    color: #2B6D3C !important;
    font-weight: 700 !important;
}

/* Неактивная метка */
.mobile-timeline-scroll__step:not(.active) .mobile-timeline-scroll__label {
    color: #95B69D !important;
    font-weight: 600 !important;
}

/* Активная карточка */
.mobile-timeline-scroll__step.active .mobile-timeline-scroll__card {
    border-radius: 12px;
    background: var(--accent-10, #F0F5F1);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    opacity: 1;
}

/* Неактивная карточка */
.mobile-timeline-scroll__step:not(.active) .mobile-timeline-scroll__card {
    background: var(--accent-10, #F0F5F1);
    opacity: 0.5;
}

/* Плавный скролл */
.mobile-timeline-scroll {
    scroll-behavior: smooth;
}

.mobile-timeline-scroll__step:first-child.active {
    z-index: 10 !important;
}

.mobile-timeline-scroll__step:first-child.active .mobile-timeline-scroll__point circle {
    fill: #2B6D3C !important;
    r: 12px !important;
}

.mobile-timeline-scroll__step:first-child.active .mobile-timeline-scroll__label {
    color: #2B6D3C !important;
    font-weight: 700 !important;
}

/* Общие стили для активных карточек */
.mobile-timeline-scroll__step.active .mobile-timeline-scroll__point circle {
    fill: #2B6D3C !important;
    r: 12px !important;
}

.mobile-timeline-scroll__step.active .mobile-timeline-scroll__label {
    color: #2B6D3C !important;
    font-weight: 700 !important;
}

.mobile-timeline-scroll__step.active .mobile-timeline-scroll__card {
    opacity: 1 !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1) !important;
}

/* Общие стили для неактивных карточек */
.mobile-timeline-scroll__step:not(.active) .mobile-timeline-scroll__point circle {
    fill: #95B69D !important;
    r: 10.5px !important;
}

.mobile-timeline-scroll__step:not(.active) .mobile-timeline-scroll__label {
    color: #95B69D !important;
    font-weight: 600 !important;
}

.mobile-timeline-scroll__step:not(.active) .mobile-timeline-scroll__card {
    opacity: 0.5 !important;
}


.mobile-road-map.mobile-initialized .mobile-timeline-scroll__step {
    transition: all 0.3s ease;
}

/* Анимация подсветки */
@keyframes highlight {
    0% { transform: scale(1); }
    50% { transform: scale(1.02); }
    100% { transform: scale(1); }
}

.mobile-timeline-scroll__step.highlight {
    animation: highlight 0.5s ease;
}
/* End */


/* Start:/local/bitrix/templates/.default/components/bitrix/news.list/map.main/style.css?176604242213786*/
.main-map-section{
    content-visibility: auto;
}
.main-map-section.--msk{
    contain-intrinsic-size: 95rem;
}
.main-map-section.--spb{
    contain-intrinsic-size: 81.8rem;
}

/* Контейнеры и общие стили */
.main-map-section .container{
    padding-top: 50px;
    padding-bottom: 40px;
}

.main-map h2{
    color: #333;
    text-align: center;
    font-family: Montserrat;
    font-size: 42px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    margin-bottom: 58px;
}

.main-map__container{
    display: flex;
    justify-content: center;
    padding-bottom: 20px;
}

.main-map__region-wrapper{
    position: relative;
}

/* Боковая панель с цифрами */
.main-map__side-panel{
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;
}

.main-map .side-counter .side-counter__number{
    margin-bottom: 20px;
    position: relative;
    color: var(--color-green-new);
    font-family: Montserrat;
    font-size: 42px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
}

.main-map .side-counter .side-counter__number::after{
    display: block;
    width: 22rem;
    height: 0.1rem;
    content: '';
    position: absolute;
    bottom: -1rem;
    left: 0;
    background: var(--color-gray-medium);
}
.main-map .side-counter:nth-child(4) .side-counter__number::after {
    width: 32rem;
}

.main-map .side-counter .side-counter__description{
    color: #000;
    font-family: Montserrat;
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
}

.main-map .side-counter .side-counter__description small{
    display: block;
    margin-top: 1rem;
}

/* Блок кнопок */
.main-map__button-block{
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    padding-bottom: 70px;
}
.main-map__more-buttons{
    display: flex;
    gap: 8px;
}
.button__more-back{
    display: flex;
    flex-direction: row;
    background: rgba(217, 220, 218, 0.33);
    border-radius: 32px;
    max-width: 100%;
    max-height: 40px;
    align-items: center;
    gap: 10px;
    padding: 4px 12px 4px 4px;
    color: white;
    text-align: center;
    font-family: Montserrat;
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 120%;
    cursor: pointer;
}
.button__more,
.button__switch {
    display: flex;
    flex-direction: row;
    background: var(--accent-10, #F0F5F1);
    border-radius: 32px;
    max-width: 100%;
    max-height: 40px;
    align-items: center;
    gap: 10px;
    padding: 4px 4px 4px 12px;
    color: var(--color-green-new);
    text-align: center;
    font-family: Montserrat;
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 120%;
    cursor: pointer;
}
.button__switch:hover{
    background: var(--accent-a25);
}

.button__switch-container{
    background: white;
    border-radius: 64px;
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.button__switch-icon{
    transform: rotate(270deg);
    width: 12px;
    height: 12px;
    fill: var(--accent-500, #2B6D3C);
}
.button__switch-icon-back{
    transform: rotate(90deg);
    width: 12px;
    height: 12px;
    fill: var(--accent-500, #2B6D3C);
}

.button__switch-arrow {
    width: 20px;
    height: 20px;
    fill: var(--accent-500, #2B6D3C);
}

.side-button {
    display: flex;
    max-width: 100%;
    max-height: 40px;
    background: var(--color-green-new);
    border: 1px solid white;
    border-radius: 32px;
    align-items: center;
    padding: 4px 12px;
}
.side-button:hover{
    background: var(--color-brand-primary-light);
}

.side-button__text{
    color: white;
    text-decoration: none;
    text-align: center;
    font-family: Montserrat;
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 120%;
}
.side-button__text:hover{
    color: white;
}

/* Регионы и маркеры карты */
.main-map__region{
    position: relative;
    transition: opacity 300ms;
}

.main-map__region-bg{
    width: 100%;
}

.main-map__region__marker{
    position: absolute;
    gap: 2px;
    --width: 3rem;
    --height: 23px;
    --outline-width: 0;
    width: var(--width);
    height: var(--height);
    background: white;
    border-radius: 20px;
    display: flex;
    justify-content: center;
    align-items: center;
    transform: translate(calc(var(--width) / 3 * -1), calc(var(--width) / 3 * -1));
    cursor: pointer;
}

.main-map__region__marker.--small{
    --width: 40px;
    background: white;
}

.main-map__region__marker.--medium{
    --width: 133px;
    --outline-width: 0.5rem;
}

.main-map__region__marker.--large{
    --width: 133px;
    --outline-width: 0.6rem;
}

.main-map__region__marker:hover,
.main-map__region__marker.--selected{
    color: #333333bb;
    border-color: #f8841dbb;
}

.main-map__region__marker.--small:hover img,
.main-map__region__marker.--small.--selected img{
    opacity: 0.75;
}

/* Всплывающее окно */
.main-map__popup{
    position: absolute;
    width: 320px;
    max-width: calc(100vw - 3rem);
    height: 320px;
    border: none;
    border-radius: 24px;
    z-index: 100;
    background: white;
    box-shadow: 0 4px 30px 0 rgba(0, 0, 0, 0.20);
}

.main-map__popup-wrapper{
    position: absolute;
}

.main-map__popup.only-one{
    padding-bottom: 2rem;
}

/* Контейнеры попапа */
.main-map__popup-container {
    transition: opacity 0.3s ease;
    position: absolute;
    height: 100%;
    width: 100%;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    border-radius: 24px;
    opacity: 0;
    pointer-events: none;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 16px 16px 42px 16px;
}

.main-map__popup-container.active {
    opacity: 1;
    pointer-events: auto;
}
.main-map__popup-info {
    max-width: 235px;
}

/* Заголовок попапа */
.main-map__popup-header{
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

.main-map__popup-project__state{
    height: 30px;
    width: fit-content;
    font-family: Montserrat;
    font-size: 12px;
    color: white;
    flex-flow: row nowrap;
    align-items: center;
    display: flex;
    padding: 4px 12px;
    justify-content: center;
    gap: 10px;
    border-radius: 32px;
    background: rgba(0, 0, 0, 0.65);
    backdrop-filter: blur(2.0602738857269287px);
}

.main-map__popup-project__state svg{
    width: 1.2rem;
    height: 1.2rem;
    margin-right: 0.6rem;
}

.main-map__popup-project__close{
    border-radius: 44px !important;
    background: rgba(0, 0, 0, 0.65)!important;
    position: absolute;
    top: 1.4rem;
    right: 17px;
    padding: 0;
    border: none;
    background: none;
    width: 30px;
    height: 30px;
    display: flex;
    flex-flow: row;
    align-items: center;
    justify-content: center;
    z-index: 100;
    opacity: 1;
    transition: opacity 0.15s;
}

.main-map__popup-project__close svg{
    width: 8px;
    height: 8px;
    fill: white;
}

.main-map__popup-project__close:hover{
    opacity: 0.7;
}

.main-map__popup-project__close:focus{
    outline: none;
}

/* Контент попапа */
.main-map__popup-content{
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
}

.main-map__info-name{
    color: var(--accent-0, #FFF);
    font-family: Montserrat;
    font-size: 18px;
    font-style: normal;
    font-weight: 800;
    line-height: normal;
}

.main-map__info-text{
    color: var(--accent-0, #FFF);
    font-family: Montserrat;
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
}

.main-map__popup-project__dt{
    color: #979797;
}

/* Навигация попапа */
.main-map__popup-navigation{
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    transform: translateY(-50%);
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 16px;
    pointer-events: none;
    z-index: 999;
}

.main-map__popup-arrow {
    border-radius: 44px !important;
    background: rgba(0, 0, 0, 0.65)!important;
    width: 30px!important;
    height: 30px!important;
    display: flex!important;
    align-items: center!important;
    justify-content: center!important;
    appearance: none !important;
    -webkit-appearance: none !important;
    border: none !important;
    margin: 0 !important;
    padding: 0 !important;
    cursor: pointer !important;
    box-sizing: border-box !important;
    pointer-events: auto;
    position: static !important;
    transform: none !important;
}
.main-map__popup-arrow:hover {
    opacity: 0.7;
}

.main-map__popup-arrow:focus{
    outline: none;
}

.main-map__popup-arrow svg{
    width: 6px;
    height: 18px;
    fill: #ffffff;
    transition: opacity 0.2s;
}

.main-map__popup-arrow.slick-disabled svg{
    opacity: 0.2;
}

.main-map__popup-arrow:not(.slick-disabled):hover svg{
    opacity: 1;
}

.main-map__popup-prev{
    transform: scaleX(-1) !important;
}

.main-map__popup-next{
    transform: none !important;
}

/* Точки навигации */
.main-map__popup-dots {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 16px;
    position: absolute;
    bottom: 16px;
    left: 140px;
    right: 0;
    backdrop-filter: blur(3.857142925262451px);
    background: rgba(151, 151, 151, 0.15);
    border-radius: 16px;
    padding: 6px;
    width: fit-content;
}

.main-map__popup-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    border: none;
    background: rgba(255, 255, 255, 0.5);
    cursor: pointer;
    transition: all 0.3s ease;
    padding: 0;
}

.main-map__popup-dot:hover {
    background: rgba(255, 255, 255, 0.8);
}

.main-map__popup-dot.active {
    background: #FFFFFF;
    transform: scale(1.2);
}

/* Слайд "Смотреть больше" */
.main-map__popup-project.main-map__popup-more{
    display: flex!important;
    align-items: center;
    justify-content: center;
    padding-top: 176px;
    padding-bottom: 149.5px;
}

.main-map__popup-more{
    display: flex;
    justify-content: center !important;
    align-items: center !important;
}

.main-map__more-content{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 17px;
}

.main-map__more-content .main-map__info-name{
    text-align: center;
}

/* Переключатель города */
.main-map__city-toggle{
    color: var(--color-text-default);
    text-decoration: none;
    display: inline-block;
    position: relative;
    width: fit-content;
    width: -moz-fit-content;
    white-space: nowrap;
    cursor: pointer;
}

.main-map__city-toggle::after{
    content: '';
    position: absolute;
    bottom: -7px;
    display: block;
    height: 1px;
    width: 100%;
    border-top: 1px dashed var(--color-brand-primary);
}

.main-map__city-toggle:hover{
    color: var(--color-text-default);
}

.main-map__city-toggle:hover::after,
.main-map__city-toggle.--active::after{
    border-top-width: 5px;
    border-top-style: solid;
}

/* Стили для slick слайдера */
.main-map__popup-slick{
    z-index: 102;
}

.main-map__popup-slick.slick-slider .slick-dots{
    --dots-color: #333;
    bottom: -46px;
}

.main-map__popup .slick-container:not(.slick-initialized){
    position: relative;
}

.main-map__popup .slick-container:not(.slick-initialized) > *:not(:first-child){
    position: absolute;
    opacity: 0;
    top: 0;
    left: 0;
}

/* Адаптивные стили */
@media only screen and (max-width: 1200px) {
    .main-map .side-counter:nth-child(4) .side-counter__number::after,
    .main-map .side-counter .side-counter__number::after{
        width: 18rem;
    }

}

@media only screen and (min-width: 992px){
    .main-map__side-panel{
        padding-top: 10px;
    }
}

@media only screen and (max-width: 991px){
    .main-map__side-panel{
        column-count: 2;
        display: block;
        position: relative;
        margin-bottom: -30px;
    }

    .main-map .side-counter{
        display: inline-block;
        margin-bottom: 30px;
    }

    .main-map .side-counter + .side-counter{
        margin-top: 0;
    }
}

@media (max-width: 1199px) {
    .main-map-section.--msk,
    .main-map-section.--spb{
        contain-intrinsic-size: 83.7rem;
    }
}

@media (max-width: 991px) {
    .main-map-section.--msk{
        contain-intrinsic-size: 124.8rem;
    }
    .main-map-section.--spb{
        contain-intrinsic-size: 108.9rem;
    }
}

@media only screen and (max-width: 767px){
    .main-map h2{
        line-height: 1.35;
        margin-bottom: 4rem;
        font-size: 32px;
    }

    .main-map__city-toggle::after{
        bottom: 0;
    }

    .main-map-section.--msk{
        contain-intrinsic-size: 103.3rem;
    }
    .main-map-section.--spb{
        contain-intrinsic-size: 92rem;
    }
    .main-map .side-counter .side-counter__number {
        font-size: 36px;
    }
}

@media only screen and (max-width: 768px){
    .main-map .side-counter__number{
        font-size: 26px;
    }
    .main-map__side-panel{
        display: grid;
        gap: 30px;
        grid-template-columns: repeat(2, auto);
    }
}

@media (max-width: 767px) {
    .main-map__popup-project__close{
        top: 1.2rem;
        right: 1.2rem;
        background-color: rgba(255, 255, 255, 0.8);
    }
}

@media only screen and (max-width: 575px){
    .main-map__region-wrapper{
        margin-left: -15px;
        margin-right: -15px;
    }
    .button__switch{
        padding: 4px 4px 4px 8px;
    }
}
/* End */


/* Start:/local/js/vendor/slick/slick-dots-plus/2.0/slick-dots-plus.css?17459244211565*/
.slick-dots-plus--2-0 .slick-dots{
    overflow: hidden;
    height: 30px;
    padding-top: 7px;
    padding-left: 0;
    position: absolute;
    bottom: 0;
    left: calc(50% - 100px);
    list-style: none;

    --dots-color: white;

    width: max-content;
    width: -moz-max-content;
    white-space: nowrap;
}

.slick-dots-plus--2-0.--transitions .slick-dots{
    transition: transform 0.2s;
}

.slick-dots-plus--2-0 .slick-dots > li{
    height: 15px;
    width: 25px;
    float: left;
    opacity: 1;
}
.slick-dots-plus--2-0.--transitions .slick-dots > li{
    transition: opacity 0.2s;
}

.slick-dots-plus--2-0 .slick-dots button{
    border: 2px solid var(--dots-color);
    background: transparent;
    color: transparent;
    border-radius: 50%;
    width: 15px;
    height: 15px;
    margin-top: 0;
    margin-left: 0;
    padding: 0;
    display: block;
    cursor: pointer;
    transform-origin: 100% center;
}
.slick-dots-plus--2-0.--transitions .slick-dots button{
    transition: margin 0.2s, width 0.2s, height 0.2s, background 0.2s;
}

.slick-dots-plus--2-0 .slick-dots > li.small.right > button{
    transform-origin: 0 center;
}
.slick-dots-plus--2-0 .slick-dots > li.slick-active > button{
    background: var(--dots-color);
}
.slick-dots-plus--2-0 .slick-dots > li.small > button{
    transform: scale(0.66);
    border-width: 3px;
}
.slick-dots-plus--2-0 .slick-dots > li.mask{
    opacity: 0;
}
.slick-dots-plus--2-0 .slick-dots > li.mask > button{
    cursor: default;
}
.slick-dots-plus--2-0 .slick-dots button:focus{
    outline: none;
}
/* End */


/* Start:/local/css/elements/gwd.button.green2.css?1745924421636*/
button.btn.btn-green2,
a.btn.btn-green2{
    --button-color: white;
    --button-background: var(--color-brand-primary, #587640);
    /*--button-background: #2B6D3C;*/
    padding-left: 3.6rem;
    padding-right: 3.6rem;
    font-weight: 500;
}

.gwd-text-input button.btn.btn-green2 {
    background-color: var(--color-brand-primary, #2B6D3C);
}
button.btn.btn-green2:not(:disabled):hover,
a.btn.btn-green2:not(:disabled):hover{
    --button-background: var(--color-brand-primary-dark, #265F34#79a258);
    text-decoration: none;
}
button.btn.btn-green2:not(:disabled):focus,
a.btn.btn-green2:not(:disabled):focus{
    outline: none;
}
/* End */


/* Start:/local/bitrix/templates/.default/components/bitrix/news.list/faq_new/style.css?176295262217922*/

.container-answer{
    display: flex;
}

.panel-heading-caret {
    /*width: 16px;*/
    /*height: 16px;*/
    /*fill: #28303F;*/

    stroke-width: 1.5px;
    stroke: #28303F;
}

.text-container-1{
    padding-right: 15px;
    max-width: 85%;
}

.faq-component .panel{
    border:none;
    /*margin-bottom: 10px!important;*/
    border-radius: 24px!important;

}
.faq-component .panel.active .panel-heading {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
}
.panel-heading {
    margin-bottom: 0px;
}
.faq-component .panel-heading{
    /*display: block;*/
    display: flex;
    justify-content: space-between;
    /*padding: 22px 32px 22px 40px;*/
    /*padding: 32px;*/
    border:none;
    line-height: normal;
    border-radius: 16px;
    position: relative;
    text-decoration: none;

    /*display: flex;              !* включаем флекс-контейнер *!*/
    /*justify-content: center;    !* выравнивание по горизонтали *!*/
    align-items: center;        /* выравнивание по вертикали */
    gap: 6px;                   /* расстояние между svg и текстом */
    /*text-decoration: none;*/
}

.faq-component .panel.active .panel-line {
    width: 90%;
    height: 1px;
    background-color: #aeafaf;
    position: relative;
    margin: 0 auto;

}

.panel-heading-caret-wrapper {
    /*position: absolute;*/
    right: 1rem;
    width: 38px;
    height: 38px;
    background-color: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}



.faq-component .panel-heading-caret-text {
    color: #A2A9A4;
    font-size: 16px;
}

.faq-component .panel-heading-caret{
    content: '';
    /*position: absolute;*/
    top: calc(50% - 7px);
    /*right: 25px;*/

    width: 1.5rem;
    height: 1.5rem;
    /*margin-left: 10px;*/
    transform: rotate(180deg) scale(-1);
    transition: transform 0.4s;
}

.faq-component .panel-heading.collapsed .panel-heading-caret{
    /*transform: rotate(90deg) scale(1);*/
    transform: rotate(0deg);
    /*margin-left: 10px;*/

}
.faq-component .panel-heading span{
    /*color: black;*/
    /*font-size: 20px;*/
    text-decoration: none;
    /*text-decoration-style: dashed;*/
    /*text-decoration-color: #a2c037;*/
}
.faq-component .panel-heading:hover span {
    border-bottom: none;
}

.faq-component .panel-body{
    /*background: red;*/
    max-width: 85%;
    /*padding: 18px 40px;*/
    border-top: none!important;
    line-height: normal;
    font-size: 18px;
    margin-top: 18px;
    border-bottom-right-radius: 24px;
    border-bottom-left-radius: 24px;
}

.faq-component .show-all{
    text-decoration: underline;
}
.faq-component .show-all .i{
    width: 1em;
    height: 1em;
    vertical-align: middle;
}
.faq-component .show-all:hover{
    text-decoration: none;
}

/*.faq-component .ask-question .inner{*/
/*    flex-direction: column;*/
/*}*/
/*.faq-component .ask-question button.primary-alt{*/
/*    width: auto;*/
/*    padding: 13px 40px;*/
/*    min-width: unset;*/
/*}*/
/*.ask-question .ask-question__header{*/
/*    font-size: 26px;*/
/*    text-align: center;*/
/*}*/
/*.faq-component .ask-question p{*/
/*    text-align: center;*/
/*    margin: 0;*/
/*    margin-bottom: 30px;*/
/*}*/

.ask-question{
    padding: 24px;
    /*height: 366px;*/
    /*width: 100px;*/
    min-height: 368px;
    margin: 80px 0px 5px 0px;
    border-radius: 24px;
    background: url("https://www.gwd.ru/upload/medialibrary/af3/af3196099fb00fa5b1cc8fad9b86f824.png") no-repeat right top #2B6D3C;
    background-size: 100% auto;
    display: flex;
    justify-content: start;
    align-items: center;
}

@media (min-width: 768px) {
    .ask-question{
        background: url("https://www.gwd.ru/upload/medialibrary/55f/55facee608ccda9529c8148b5e9a6a68.png") no-repeat right bottom #2B6D3C;
        background-size: 38% auto;
        padding: 32px;
        /*height: 313px;*/
        margin: 80px 0px 5px 0px;
        min-height: 314px;
    }
}
@media (min-width: 992px) {
    .ask-question{
        background: url("https://www.gwd.ru/upload/medialibrary/55f/55facee608ccda9529c8148b5e9a6a68.png") no-repeat right bottom #2B6D3C;
        background-size: 30% auto;
        padding: 32px;
        /*height: 313px;*/
        margin: 80px 0px 5px 0px;
        min-height: 314px;
    }
}

@media (min-width: 1200px) {
    .ask-question{
        background: url("https://www.gwd.ru/upload/medialibrary/59b/59bf2aba69361f0f74044f1b5971e331.png") no-repeat right bottom #2B6D3C;
        background-size: 40% auto;
        padding: 40px;
        margin: 170px 0px 5px 0px;
    }
}

/*@media (min-width: 1400px) {*/
/*    .ask-question{*/
/*        background: url("https://www.gwd.ru/upload/medialibrary/59b/59bf2aba69361f0f74044f1b5971e331.png") no-repeat right bottom #2B6D3C;*/
/*        background-size: 40% auto;*/
/*        padding: 40px;*/
/*        margin: 150px 0px 5px 0px;*/
/*    }*/
/*}*/





.ask-question-main-container{

}

.faq-component .ask-question .form-container {
    max-width: 500px;
}

.form-title {
    color: #FFF;
    font-family: 'Montserrat', sans-serif;
    font-size: 32px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    width: 310px;
    margin-bottom: 12px;
}

.form-subtitle {
    color: #FFF;
    font-family: 'Montserrat', sans-serif;
    font-size: 18px;
    font-style: normal;
    font-weight: 300;
    line-height: normal;
    width: 310px;
}

@media (min-width: 768px) {
    .form-title{
        font-size: 32px;
        width: 380px;
        margin-bottom: 12px;
        line-height: normal;
    }
    .form-subtitle {
        font-size: 18px;
        width: 380px;
        line-height: normal;
    }
}

@media (min-width: 1200px) {
    .form-title{
        font-size: 42px;
        width: 500px;
    }
    .form-subtitle {
        font-size: 18px;
        width: 500px;
    }
}

@media (min-width: 1400px) {
    .form-title{
        font-size: 42px;
        width: 550px;
    }
    .form-subtitle {
        font-size: 18px;
        width: 550px;
    }
}


.faq-component .ask-question .form-group label {
    overflow: hidden;
    color: #FFF;
    text-overflow: ellipsis;
    font-family: 'Montserrat', sans-serif;
    font-size: 16px;
    font-style: normal;
    font-weight: 300;
    line-height: normal;
}

.faq-component .ask-question .phone-input-wrapper {
    display: flex;
    align-items: center;
}

.faq-component .ask-question .phone-input {
    flex: 1;
    border-radius: 30px;
    padding: 15px 20px;
    border: none;
    outline: none;
    height: 42px;

    max-width: 374px;

    color: #808080;
    text-overflow: ellipsis;
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
}

.faq-component .ask-question .submit-btn {
    margin-left: 10px;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    border: none;
    background-color: white;
    color: #256d3f;
    font-size: 24px;
    cursor: pointer;

    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
}

.faq-component .ask-question .checkbox {
    display: flex;
    justify-content: left;
    margin-top: 12px;


    align-items: center;

    color: #FFF;
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    /*text-decoration-line: underline;*/
    text-decoration-style: solid;
    text-decoration-skip-ink: none;
    text-decoration-thickness: auto;
    text-underline-offset: auto;
    text-underline-position: from-font;
}

.faq-component .ask-question .checkbox label {
    /*margin: 10px;*/
    text-decoration: none;
}

.faq-component .ask-question .checkbox a {
    color: #dcdcdc;
    /*text-decoration: underline;*/
}

/*.faq-component .ask-question .ask-question-form .form-group{*/
/*    margin-bottom: 20px;*/
/*}*/
/*.faq-component .ask-question label{*/
/*    font-weight: 400;*/
/*}*/
/*.faq-component .ask-question .gwd__checkbox-approve{*/
/*    margin-bottom: 25px;*/
/*    text-align: center;*/
/*}*/
/*.ask-question-form .gwd__text-input {*/
/*    --bs-input-bg: #f8f8f8;*/
/*    --bs-input-border-color: #f8f8f8;*/
/*}*/
/*.ask-question{*/
/*    position: relative;*/
/*    margin-bottom: 80px;*/
/*}*/
/*.ask-question__success{*/
/*    display: none;*/
/*    opacity: 0;*/

/*    position: absolute;*/
/*    width: 100%;*/
/*    height: 100%;*/

/*    top: 0;*/
/*    left: 0;*/

/*    background: white;*/

/*    flex-flow: column;*/
/*    justify-content: center;*/
/*    align-items: center;*/
/*    text-align: center;*/
/*}*/


.faq-component .tech-subtitle-h4.ask-form-success {
    font-weight: bold;
}
.ask-again.ask-form-success{
    color:#aaaaaa;
}
.faq-component .refresh-form{
    text-align: center;
    display: block;
    padding: 20px 20px;
    border-radius: 20px;
    background: white;
    cursor: pointer;
    transition: background 0.2s;
}
.faq-component .refresh-form:hover{
    background: #f2f2f2;
}
.faq-component ul{
    list-style: none;
    padding-left: 0;
}
.faq-component .form-group{
    position: relative;
    margin: 0;
}
.faq-component input.error{
    border: 1px solid red;
}
.faq-component input{
    position: relative;
}
.faq-component span.error{
    display: none;
    color: red;
    position: absolute;
    bottom: 15px;
    left: 20px;
}
.faq-component input.error ~ span.error{
    display: block;
}
.faq-component .checkbox.user_agreement{
    justify-content: center;
    margin-bottom: 25px;
}
.faq-component .hidden-input{
    display: none;
}



#ask-form {
    display: none;
    border-radius: 30px;
    padding: 40px;
    cursor: auto;
}

.ask-form-header h3 {
    margin-top: 0;
    margin-bottom: 0;
    color: #2B6D3C;
    font-size: 28px;
}

.ask-form-header p {
    margin-top: 8px;
    margin-bottom: 24px;
    width: 70%;
    font-size: 20px;
}



@keyframes form__success{
    10%{
        opacity: 0;
    }
    100%{
        opacity: 1;
    }
}
*.--animated-shown{
    display: flex!important;
    opacity: 0;
    animation-name: form__success;
    animation-duration: 0.3s;
    animation-iteration-count: 1;
    animation-fill-mode: forwards;
}

.ask-question .ask-question__header {
    margin-top: 43px;
    margin-bottom: 30px;
}

.btn-green2 {
    border-radius: 12px!important;
    width: 250px;
    height: 56px;
    font-size: 18px!important;
}



@media (min-width: 768px) {

    .ask-question .ask-question__subheader {
        font-size: 24px;
    }
    .ask-question .ask-question__header{
        font-size: 26px;
        text-align: center;
    }
}



@media only screen and (max-width: 768px){
    .ask-question__subheader{
    }
    .ask-question{
        margin-bottom: 0px!important;
    }
    .btn-green2 {
        width: 100%;
    }
    .ask-question p{
        line-height: normal;
    }
    .ask-question__header{
        text-align: center;
    }
    .faq-hidden-mobile{
        display: none;
    }
    .ask-question .ask-question__header {
        font-size: 24px;
        margin-top: 24px;
        margin-bottom: 24px;
    }
    .faq-component {
        margin-left: 0!important;
        margin-right: 0!important;
    }

    .ask-question .ask-question__header {
        font-size: 24px;
        margin-top: 24px;
        margin-bottom: 24px;
    }

    .ask-question__subheader {
        font-size: 18px;
    }

    /*.faq-component .panel-body{*/
    /*    padding: 2rem 1.5rem;*/
    /*}*/
    .ask-form-header h3 {
        font-size: 24px;
        text-align: center;
    }
    .ask-form-header p {
        font-size: 18px;
        width: 100%;
        text-align: center;
    }
    #ask-form .btn {
        width: 100%;
    }

    .ask-question-form, .ask-question-btn_wrapper {
        max-width: 312px;
    }
}

.container-main {
    margin-left: auto;
    margin-right: auto;
    width: 100%;

    padding-left: 15px;
    padding-right: 15px;
    box-sizing: border-box;
}


.col-ful {
    flex: 0 0 100%;
    max-width: 100%;
    box-sizing: border-box;
}

.col-half {
    flex: 1 1 100%;
    max-width: 100%;
    box-sizing: border-box;
}

@media (min-width: 576px) {
    .container-main {
        width: 540px;
    }

}

@media (min-width: 768px) {
    .container-main {
        width: 750px;
    }

}

/*@media (min-width: 990px) {*/
/*    .container-main {*/
/*        width: 540px;*/
/*    }*/

/*}*/

@media (min-width: 992px) {
    .container-main {
        width: 940px;
        padding: 0;

    }
}

@media (min-width: 1200px) {
    .container-main {
        width: 1140px;
    }
    .col-half {
        flex: 0 0 calc(50% - 12px);
        max-width: calc(50% - 12px);
    }

}

/*@media (min-width: 1400px) {*/
/*    .container-main {*/
/*        width: 1320px;*/
/*    }*/
/*}*/

.row-main {
    display: flex;
    flex-wrap: wrap;
    gap: 0px;
    box-sizing: border-box;
}

@media (min-width: 768px) {
    .row-main {
        gap: 0px;
    }
}

@media (min-width: 1200px) {
    .row-main {
        gap: 24px;
    }
}

/*@media (min-width: 1400px) {*/
/*    .row-main {*/
/*        gap: 24px;*/
/*    }*/
/*}*/



.faq {
    margin-top: 5rem;
    margin-bottom: 0!important;
    padding-bottom: 30px;
}
@media (min-width: 768px) {
    .faq {
        padding-bottom: 50px;
    }
}

.faqBl{
    border-radius: 24px;
    display: flex;
    padding: 132px 24px 24px 24px;
    gap: 2.4rem;
    height: 334px;
    background: url("https://www.gwd.ru/upload/medialibrary/a31/a31b29b2edbf7c9f2e2a22387da77f02.png") no-repeat right top #F8FAF9;
    background-size: 60% auto;

}

.faqBlText{
    display: flex;
    flex-direction: column;
    /*gap: 2.4rem;*/
    width: 285px;
}

.br-mobile {
    display: block;
    line-height: 0px;
}


@media (min-width: 768px) {
    .faqBl {
        height: 300px;
        padding: 92px 24px 92px 24px;
        background: url("https://www.gwd.ru/upload/medialibrary/669/6690acccb7a27aaa41970edaa46d1f21.png") no-repeat right bottom #F8FAF9;
        background-size: 40% auto;
    }

    .faqBlText{
        width: 388px;
    }

    .ask-question .ask-question__subheader {
        font-size: 24px;
    }
    .ask-question .ask-question__header{
        font-size: 26px;
        text-align: center;
    }
    .br-mobile {
        display: none;
    }
}

@media (min-width: 1200px) {
    .faqBl {
        background: url("https://www.gwd.ru/upload/medialibrary/5b0/5b0cde9cd7f4b542b4d097145449a4f5.png") no-repeat right bottom #F8FAF9;
        background-size: 50% auto;
        height: 410px;
        padding: 130px 40px 130px 40px;
    }

    .faqBlText{
        width: 519px;
    }
}

/*@media (min-width: 1400px) {*/
/*    .faqBl {*/
/*        padding-left: 40px;*/
/*        background: url("https://www.gwd.ru/upload/medialibrary/5b0/5b0cde9cd7f4b542b4d097145449a4f5.png") no-repeat right bottom #F8FAF9;*/
/*        background-size: 45% auto;*/
/*    }*/

/*    .faqBlText{*/
/*        width: 607px;*/
/*    }*/
/*}*/

h1{
    align-self: stretch;
    color: #333;
    font-family: 'Montserrat', sans-serif;
    font-size: 32px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    margin-bottom: 12px;
}
.text2{
    color: var(--neutral-950, #252726);
    font-family: 'Montserrat', sans-serif;
    font-size: 18px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
}

@media (min-width: 768px) {
    .text1{

    }
    .text2{

    }
}

@media (min-width: 1200px) {
    .h1{
        font-size: 42px;

    }
    .text2{
        font-size: 24px;

    }

}

/*@media (min-width: 1400px) {*/
/*    .text1{*/

/*    }*/
/*    .text2{*/

/*    }*/
/*}*/

.question{
    padding-bottom: 7rem!important;
    margin-bottom: 0rem!important;
}

.text-q{
    color: #2B6D3C;
    font-feature-settings: 'liga' off, 'clig' off;
    font-family: 'Montserrat', sans-serif;
    font-size: 16px;
    font-style: normal;
    font-weight: 600;
    line-height: 135%;
}
.text-a{
    color: #000;
    font-feature-settings: 'liga' off, 'clig' off;
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 135%;
}

@media (min-width: 768px) {
    .text-q{
        font-size: 20px;
    }
    .text-a{
        font-size: 16px;
    }
}

@media (min-width: 1200px) {
    .text-q{
        font-size: 20px;
    }
    .text-a{
        font-size: 16px;
    }
}

@media (min-width: 1400px) {
    .text-q{
        font-size: 20px;
    }
    .text-a{
        font-size: 16px;
    }
}

.panel-default {
    background: #F8FAF9;
    padding: 24px;
    margin-bottom: 12px;
}

@media (min-width: 768px) {
    .panel-default {
        padding: 24px;
        margin-bottom: 24px;
    }
}

@media (min-width: 1200px) {
    .panel-default {
        padding: 32px;
        margin-bottom: 24px;
    }
}

/*@media (min-width: 1400px) {*/
/*    .panel-default {*/
/*        padding: 32px;*/
/*        margin-bottom: 24px;*/
/*    }*/
/*}*/





.checkbox input[type="checkbox"] {
    display: none;
}



.checkbox .custom-checkbox {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    margin-right: 8px;
    vertical-align: middle;
    cursor: pointer;
    background-color: transparent;
}

.checkbox input[type="checkbox"]:checked + label .custom-checkbox .checkbox-checked {
    display: block;
}

.checkbox .custom-checkbox .checkbox-checked {
    display: none;
}

.checkbox input[type="checkbox"]:checked + label .custom-checkbox .checkbox-unchecked {
    display: none;
}

.checkbox .custom-checkbox .checkbox-unchecked {
    display: block;
}

.text-error {
    box-sizing: border-box;
    font-family: 'Roboto', sans-serif;
    font-size: 12px;
    color: #ff0000;
    line-height: normal;
    margin: 10px 0 0;
    display: block;
}

/* End */


/* Start:/local/css/elements/gwd.button.green.css?1745924421613*/
button.btn.btn-green,
a.btn.btn-green{
    border: none!important;
    background-color:  var(--color-brand-primary);
    color: #ffffff!important;
    border-radius: 10px;
    font-size: 20px;
    text-align: center;
    padding: 14px 40px 14px;
    font-weight: bold;
    text-decoration: none;
    display: inline-block;
    white-space: normal;
    line-height: 1.2;
}
button.btn.btn-green:not(:disabled):hover,
a.btn.btn-green:not(:disabled):hover{
    background-color: var(--color-brand-primary-light);
}
button.btn.btn-green:not(:disabled):focus,
a.btn.btn-green:not(:disabled):focus{
    outline: none;
}
/* End */


/* Start:/local/css/elements/overlay-appear.css?1760700064496*/
.overlay-appear{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;

    background-color: inherit;
}
.overlay-appear:not(.--shown) {
    display: none!important;
}
@keyframes overlay_appear_animation{
    10%{
        opacity: 0;
    }
    100%{
        opacity: 1;
    }
}
.overlay-appear.--shown{
    opacity: 0;
    animation-name: overlay_appear_animation;
    animation-duration: 0.3s;
    animation-iteration-count: 1;
    animation-fill-mode: forwards;
}

/* End */


/* Start:/local/components/vue/form/validated-input/style.css?1760700064684*/
.validated-input{
    position: relative;
    display: block;

    --error-color: red;
}
.form-group > label.validated-input,
.form-row > [class*=col-] > label.validated-input{
    margin-bottom: 0;
}
.validated-input .err-required{
    position: absolute;
    top: 0;
    left: 0;
    border-radius: var(--bs-input-border-radius);
    border: 1px solid var(--error-color);
    color: var(--error-color);
    display: flex;
    width: 100%;
    height: 100%;
    align-items: center;
    background: white;
    padding-left: 20px;
    font-size: 14px;

    cursor: pointer;
}
.validated-input .err-invalid{
    color: var(--error-color);
    margin-top: 5px;
    font-size: 14px;
}



/* End */


/* Start:/local/include-areas/main/callback/style.css?17619013283763*/
.main-callback__content{
    width: 100%;
    position: relative;
}
@media (min-width: 768px) {
    .main-callback__content{
        max-width: 300px;
        width: unset;
    }
}
@media (min-width: 992px) {
    .main-callback__content{
        max-width: 430px;
    }
}
@media (min-width: 1200px) {
    .main-callback__content{
        max-width: 550px;
    }
}
.main-callback__approve{
    max-width: unset;
}
@media (min-width: 768px) {
    .main-callback__approve{
        max-width: 250px;
    }
}
@media (min-width: 992px) {
    .main-callback__approve{
        max-width: unset;
    }
}

.main-callback{
    background-color: #F8FAF9;
    border-radius: 24px;

    padding: 24px;

    overflow: hidden;

    margin-bottom: 50px;
}
@media (min-width: 768px) {
    .main-callback{
        margin-top: 100px;
        margin-bottom: 100px;

        padding: 32px;

        background-image: url(https://www.gwd.ru/upload/medialibrary/ab7/ab7d4a3f995e34ac6144c3d0cd162c62.png);
        background-size: 53% 100%;

        background-position: bottom right;
        background-repeat: no-repeat;
    }
}
@media (min-width: 992px) {
    .main-callback{
        background-size: contain;
    }
}
@media (min-width: 992px) {
    .main-callback{

        margin-top: 150px;
        margin-bottom: 150px;

        padding: 40px;
    }
}

.main-callback .form-row{
    margin-left: 0;
    margin-right: 0;
}
.main-callback .form-row [class*=col]{
    padding-left: 0;
    padding-right: 0;
}


.form-row .validated-input .err-invalid{
    position: absolute;
}
.form-row.--error-padding{
    padding-bottom: 20px;
}

.main-callback__header{
    font-family: 'Montserrat', sans-serif;
    font-size: 30px;
    font-weight: 600;
    margin-bottom: 6px;
    text-align: center;

}
.main-callback__description{
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    font-weight: 300;
    margin-bottom: 24px;
    text-align: center;
}
.main-callback__label{
    font-family: 'Montserrat', sans-serif;
}

@media (min-width: 420px) {
    .main-callback__header{
        font-size: 34px;
    }
    .main-callback__description{
        font-size: 17px;
    }
}

@media (min-width: 768px) {
    .main-callback__header{
        margin-bottom: 12px;
        text-align: left;
        font-size: 26px;
    }
    .main-callback__description{
        text-align: left;
        font-size: 13px;
    }
}

@media (min-width: 992px) {
    .main-callback__header{
        font-size: 32px;
    }
    .main-callback__description{
        font-size: 15px;
    }
}

@media (min-width: 1200px) {
    .main-callback__header{
        font-size: 42px;
    }
    .main-callback__description{
        font-size: 20px;
    }
}

.main-callback .form-control,
.main-callback .btn{
    height: 42px;
    border-radius: 9999px;
}

.main-callback .form-control{
    background: white;
    border-color: white;
}

@media (min-width: 992px) {
    .main-callback .form-control {
        width: 374px;
    }
}

.form-row{
    display: flex;
    flex-flow: row;
    gap: 12px;
}
.main-callback .form-row .col-auto{
    display: flex;
    flex-flow: column;
    justify-content: flex-end;
}

@media (max-width: 767px) {
    .main-callback .form-row .col-auto:first-child {
        flex-grow: 1;
    }
}

.main-callback .btn {
    width: 42px;
    padding: 0;
}


.main-callback__success{
    display: flex;
    flex-flow: column;
    justify-content: center;
}
.main-callback__success .main-callback__header{
    margin-bottom: 12px;
}
.main-callback__image{
    width: 92%;
}

.main-callback__image-holder{
    background-color: #00533B;
    display: flex;
    justify-content: flex-end;
    align-items: start;

    border-radius: 24px;

    margin: 20px -24px -24px;

    padding-top: 25px;
}
/* End */
/* /local/css/mainpage.style.css?17658830492074 */
/* /local/fonts/avenir/avenir.css?17459244211201 */
/* /local/bitrix/templates/.default/components/bitrix/news.list/main-slider-swiper/style.css?17658927062537 */
/* /local/js/vendor/libs/swiper/swiper.css?174592442118453 */
/* /local/css/elements/v2024/swiper.simple.css?17587186971255 */
/* /local/bitrix/templates/.default/components/bitrix/news.list/main-slider-swiper/style.desktop.css?17690696981461 */
/* /local/bitrix/templates/.default/components/bitrix/news.list/houses-menu-tiles/style.css?17594994852511 */
/* /local/css/elements/v2024/btn.white.css?1765539875488 */
/* /local/bitrix/templates/.default/components/bitrix/news.list/houses-menu-tiles/mainpage.tiles.css?17591537971305 */
/* /local/bitrix/templates/.default/components/bitrix/news.list/road_map/style.css?176588304918241 */
/* /local/bitrix/templates/.default/components/bitrix/news.list/map.main/style.css?176604242213786 */
/* /local/js/vendor/slick/slick-dots-plus/2.0/slick-dots-plus.css?17459244211565 */
/* /local/css/elements/gwd.button.green2.css?1745924421636 */
/* /local/bitrix/templates/.default/components/bitrix/news.list/faq_new/style.css?176295262217922 */
/* /local/css/elements/gwd.button.green.css?1745924421613 */
/* /local/css/elements/overlay-appear.css?1760700064496 */
/* /local/components/vue/form/validated-input/style.css?1760700064684 */
/* /local/include-areas/main/callback/style.css?17619013283763 */

.main-projects__tile-button {
    position: absolute !important;
    top: 10px;
    /* Меняем позицию */
    left: 20px !important;   /* Теперь кнопка слева */
    right: auto !important;  /* Сбрасываем старое значение справа */
    
    width: 50px !important;
    height: 50px !important;
    background-color: #ffffff !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    z-index: 10;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
    padding: 0;
    transition: transform 0.3s ease;
}

/* Стили самой стрелки (остаются прежними) */
.main-projects__tile-button svg {
    width: 40px;
    height: 40px;
    fill: none;
    stroke: black;
}

.portfolio-video-wrapper {
    position: relative; /* Обязательно, чтобы постер не вылетал */
    width: 100%;

    background-color: #000;
    overflow: hidden;
    border-radius: 10px; /* Опционально: скругление углов */
}

.video-poster {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    
    background-size: contain; /* Магия здесь: вписать целиком! */
    background-position: center; 
    background-repeat: no-repeat;
    background-color: #ffffff; /* Фон под картинкой будет черным (как у плеера) */
   
    z-index: 2;
    transition: opacity 0.5s ease, visibility 0.5s;
}

/* Растягиваем сам iframe на весь контейнер */
.portfolio-video-wrapper iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: none;
    z-index: 1;
}

/* Логика скрытия постера при клике */
.portfolio-video-wrapper.is-playing .video-poster {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

.portfolio-video-wrapper.is-playing .video-poster-main {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

.insta-inline-button {
    display: inline-flex;
    align-items: center;
    padding: 6px 16px;
    margin-left: 8px;
    background: linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%);
    color: #fff !important;
    text-decoration: none !important;
    border-radius: 8px;
    font-weight: 600;
    font-size: 16px;
    vertical-align: middle; /* Чтобы кнопка не «прыгала» выше текста */
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    box-shadow: 0 4px 10px rgba(225, 48, 108, 0.3);
}

.insta-inline-button:hover {
    transform: scale(1.05);
    box-shadow: 0 6px 15px rgba(225, 48, 108, 0.4);
}

.insta-inline-button img {
    height: 18px;
    width: auto;
    margin-right: 8px;

}

/* Для мобильных устройств, чтобы текст и кнопка не слипались */
@media (max-width: 480px) {
    .partners-desc-bottom {
        line-height: 2.2; /* Увеличиваем межстрочный интервал */
    }
}

.avito-inline-button {
    display: inline-flex;
    align-items: center;
    padding: 5px 15px;
    margin-left: 8px;
    background-color: #ffffff; /* Белый фон */
    color: #242424 !important; /* Темный текст */
    border: 1px solid #dcdcdc; /* Тонкая рамка */
    text-decoration: none !important;
    border-radius: 8px;
    font-weight: 600;
    font-size: 16px;
    vertical-align: middle;
    transition: all 0.2s ease;
}

.avito-inline-button:hover {
    background-color: #f5f5f5;
    transform: scale(1.05);
    border-color: #00aaad;
}

.avito-inline-button img {
    height: 20px;
    width: auto;
    margin-right: 8px;
    /* УДАЛЯЕМ ФИЛЬТР, чтобы вернуть оригинальные цвета логотипа */
    filter: none !important; 
}

/* Фикс для мобильных, чтобы текст не слипался */
@media (max-width: 480px) {
    .partners-desc-bottom {
        line-height: 2.5;
    }
}

.youtube-inline-button {
    display: inline-flex;
    align-items: center;
    padding: 5px 15px;
    margin-left: 8px;
    background-color: #ffffff; /* Белый фон, как у Авито */
    color: #242424 !important; /* Темный текст */
    border: 1px solid #dcdcdc; /* Светлая рамка */
    text-decoration: none !important;
    border-radius: 8px;
    font-weight: 600;
    font-size: 16px;
    vertical-align: middle;
    transition: all 0.2s ease;
}

.youtube-inline-button:hover {
    background-color: #fcfcfc;
    border-color: #ff0000; /* При наведении рамка становится красной */
    transform: scale(1.05);
}

.youtube-inline-button img {
    height: 18px; /* Чуть побольше, так как лого YouTube вытянутое */
    width: auto;
    margin-right: 8px;
    filter: none; /* Оставляем оригинальный красный цвет логотипа */
}

/* Фикс для мобильных */
@media (max-width: 480px) {
    .partners-desc-bottom {
        line-height: 2.5;
    }
}

@media (max-width: 767px) {
    #main-projects-tiles {
        overflow: visible !important; /* Чтобы было видно соседние слайды */
        padding-bottom: 40px;
    }

    #main-projects-tiles .swiper-slide {
        height: auto;
        /* Соотношение сторон 3/4 (ширина к высоте) */
        aspect-ratio: 3 / 4; 
        display: flex;
        flex-direction: column;
    }

    .main-projects__tile {
        height: 100% !important; /* Растягиваем карточку на всю высоту слайда */
        width: 100% !important;
        margin: 0 !important;
    }
    
    /* Корректируем картинку внутри, чтобы она заполняла всё место */
    .main-projects__tile-img {
        height: 100% !important;
        object-fit: cover;
    }
}

/* Полностью скрываем дублирующиеся стрелки (псевдоэлементы) */
.portfolio-slider-wrapper .swiper-button-prev::after,
.portfolio-slider-wrapper .swiper-button-next::after {
    display: none !important;
}

/* Настраиваем размер и цвет для правильных (SVG) стрелок */
.portfolio-slider-wrapper .swiper-button-prev,
.portfolio-slider-wrapper .swiper-button-next {
    /* Если хотите оранжевые стрелки - оставьте #FF8400, если белые - напишите white */
    color: #ffffff !important; 
}

/* При необходимости можно чуть увеличить сами SVG-иконки на мобильных */
@media (max-width: 768px) {
    .portfolio-slider-wrapper .swiper-button-prev svg,
    .portfolio-slider-wrapper .swiper-button-next svg {
        width: 34px;
        height: 34px;
    }
    .partners-desc-bottom {
        padding-top: 30px;
    }
}

.video-container {
    position: relative;
    aspect-ratio: 9 / 16;      /* вертикальное видео */
    background: #000;
    border-radius: 20px;
    overflow: hidden;
    cursor: pointer;
}

.video-poster {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;    /* или contain – как вам нужно */
    background-position: center;
    background-repeat: no-repeat;
    z-index: 2;
    transition: opacity 0.3s ease;
    pointer-events: auto;
}

.video-poster-main {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: contain;    /* или contain – как вам нужно */
    background-position: center;
    z-index: 2;

    pointer-events: auto;
}

.video-container.playing .video-poster-main {
    display: none;
}

/* Когда видео запущено – скрываем постер */
.video-container.playing .video-poster {
    opacity: 0;
    pointer-events: none;
}

.video-container iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: none;
    z-index: 1;
}

.main-projects__tile-bg {
    image-rendering: auto;
    image-rendering: crisp-edges;  /* умеренное сглаживание */
    /* или */
    image-rendering: optimizeQuality;
}

p {
    margin: 0;
}

/* ===== ГОРИЗОНТАЛЬНЫЙ СЛАЙДЕР КЕЙСОВ ===== */
.case-studies-horizontal {
  position: relative;
  margin: 40px 0 80px;
}

.case-studies-swiper {
  overflow: hidden;
  padding: 0; /* без отступов, так как стрелки снаружи */
}

/* Карточки внутри слайда */
.case-study-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
  justify-content: center;
}

.case-study {
  flex: 1 1 300px;
  background: #fff;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 5px 20px rgba(0,0,0,0.05);
  transition: transform 0.3s;
}

.case-study:hover {
  transform: translateY(-5px);
}

.case-study__image img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  display: block;
}

.case-study__image_diff img {
  max-width: 400px;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  display: block;
}

.case-study__text {
  padding: 20px;
}

.case-study__heading {
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 10px;

}

.case-study__description {
  font-size: 15px;
  line-height: 1.5;
  color: #444;
}

/* ===== СКРЫВАЕМ ВСЕ СТАНДАРТНЫЕ СТРЕЛКИ SWIPER ===== */
.case-studies-swiper .swiper-button-prev,
.case-studies-swiper .swiper-button-next,
.swiper-button-prev,
.swiper-button-next {
  display: none !important;
}

/* ===== КАСТОМНЫЕ СТРЕЛКИ (ДАЛЕКО ОТ СЛАЙДЕРА) ===== */
.custom-swiper-prev,
.custom-swiper-next {
  position: absolute;
  top: 40%;
  transform: translateY(-50%);
  width: 50px;
  height: 50px;
  background: #fff;
  border-radius: 50%;
  box-shadow: 0 4px 12px rgba(0,0,0,0.15);
  cursor: pointer;
  z-index: 20;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s;
}

/* Выносим далеко в стороны */
.custom-swiper-prev {
  left: -70px;
}

.custom-swiper-next {
  right: -70px;
}

/* Треугольники */
.custom-swiper-prev::after,
.custom-swiper-next::after {
  content: '';
  display: inline-block;
  width: 14px;
  height: 14px;
  border-top: 2px solid #333;
  border-right: 2px solid #333;
}

.custom-swiper-prev::after {
  transform: rotate(-135deg);
  margin-right: 4px;
}

.custom-swiper-next::after {
  transform: rotate(45deg);
  margin-left: 4px;
}

/* Ховер */
.custom-swiper-prev:hover,
.custom-swiper-next:hover {
  background: #FF8400;
}
.custom-swiper-prev:hover::after,
.custom-swiper-next:hover::after {
  border-color: #fff;
}

/* ===== ПАГИНАЦИЯ (ТОЧКИ) – НИЖЕ ===== */
.case-studies-swiper .swiper-pagination {
  position: relative;
  bottom: auto;
  margin-top: 60px;
  display: flex;
  justify-content: center;
  gap: 10px;
}

.case-studies-swiper .swiper-pagination-bullet {
  width: 10px;
  height: 10px;
  background: #ccc;
  opacity: 1;
  border-radius: 10px;
  transition: 0.2s;
}

.case-studies-swiper .swiper-pagination-bullet-active {
  background: #FF8400;
  width: 24px;
}

/* ===== КНОПКА "ПОСМОТРЕТЬ ВСЕ" ===== */
.case-studies__more {
  display: block;
  width: fit-content;
  margin: 50px auto 0;
  background: linear-gradient(180deg, #FF9D33 0%, #FF8400 100%);
  color: white;
  padding: 12px 30px;
  border-radius: 40px;
  text-decoration: none;
  font-weight: 600;
  transition: transform 0.2s;
}

.case-studies__more:hover {
  transform: scale(1.05);
  color: white;
}

/* ===== АДАПТИВ ===== */
@media (max-width: 1200px) {
  .custom-swiper-prev { left: -30px; }
  .custom-swiper-next { right: -30px; }
}
@media (max-width: 992px) {
  .custom-swiper-prev, .custom-swiper-next {
    width: 40px;
    height: 40px;
  }
  .custom-swiper-prev::after,
  .custom-swiper-next::after {
    width: 10px;
    height: 10px;
  }
}
@media (max-width: 768px) {
  .custom-swiper-prev { left: -15px; }
  .custom-swiper-next { right: -15px; }
  .case-study-grid {
    gap: 20px;
  }
  .case-study {
    flex: 1 1 100%;
  }
  .case-studies-swiper .swiper-pagination {

  }
}

/* Для мобильных устройств */
@media (max-width: 768px) {
  .cooperation__title {
    display: flex;
    flex-direction: column;     /* элементы в столбец */
    align-items: center;        /* по центру (или flex-start по желанию) */
    gap: 5px;                   /* отступ между строками */
    text-align: center;         /* чтобы текст был по центру */
  }
  
  /* Скрываем фразу "при заказе через сайт" */
  .discount-condition {
    display: none;
  }
  
  /* При желании можно чуть уменьшить шрифт на мобильных */
  .cooperation__title {
    font-size: 24px;
  }
}

/* На десктопе скрываем мобильный заголовок, показываем десктопный */
.mobile-title {
  display: none;
}

/* На мобильных (ширина до 767px) */
@media (max-width: 767px) {
  /* Скрываем оригинальный заголовок в текстовой колонке */
  .desktop-title {
    display: none;
  }
  
  /* Показываем заголовок над фото */
  .mobile-title {
    display: block;
    margin-bottom: 20px;
    font-size: 26px;
  }
  
  /* Убеждаемся, что текстовая колонка идёт после фото */
  .row {
    display: flex;
    flex-direction: column;
  }
  .order-1 {
    order: 1;
  }
  .order-2 {
    order: 2;
  }
  /* Корректируем отступы */
  .materials-img {
    margin-bottom: 20px;
  }
}

/* По умолчанию (десктоп) – скрываем мобильный заголовок, показываем десктопный */
.mobile-title-acryl {
  display: none;
}
.desktop-title-acryl {
  display: block;
}

/* На мобильных (ширина до 767px) */
@media (max-width: 767px) {
  /* Скрываем оригинальный заголовок в текстовой колонке */
  .desktop-title-acryl {
    display: none;
  }
  
  /* Показываем заголовок над фото */
  .mobile-title-acryl {
    display: block;
    margin-bottom: 20px;
  }
  
  /* Меняем порядок: заголовок (над фото) → фото → текст */
  .row {
    display: flex;
    flex-direction: column;
  }
  .order-1 {
    order: 1;
  }
  .order-2 {
    order: 2;
  }
  
  /* Добавляем отступ под фото */
  .materials-img {
    margin-bottom: 20px;
  }
}

/* По умолчанию (десктоп) – скрываем мобильный заголовок, показываем десктопный */
.mobile-title-partner {
  display: none;
}
.desktop-title-partner {
  display: block;
}

/* На мобильных (ширина до 767px) */
@media (max-width: 767px) {
  /* Скрываем оригинальный заголовок в текстовой колонке */
  .desktop-title-partner {
    display: none;
  }
  
  /* Показываем заголовок над фото */
  .mobile-title-partner {
    display: block;
    margin-bottom: 20px;
  }
  
  /* Меняем порядок: заголовок (над фото) → фото → текст */
  .row {
    display: flex;
    flex-direction: column;
  }
  .order-1 {
    order: 1;
  }
  .order-2 {
    order: 2;
  }
  
  /* Отступ под фото */
  .materials-img {
    margin-bottom: 20px;
  }
}

/* По умолчанию (десктоп) – показываем первый текст, скрываем второй */
.mobile-text {
  display: none;
}

/* На мобильных (ширина до 768px) – скрываем первый, показываем второй */
@media (max-width: 768px) {
  .desktop-text {
    display: none;
  }
  .mobile-text {
    display: block;
  }
}

.before-after-wrapper {
    outline: 1px solid #ff6f00;
    position: relative;
    aspect-ratio: 4/3;
    border-radius: 10%;
}

.before-after-wrapper::before {
    background-color: hsla(172, 61%, 82%, 75%);
    border-radius: 40px;
    top: 10px;
    color: orange;
    content: 'before';
    left: 10px;
    opacity: 0;
    padding: 5px 10px;
    position: absolute;
    transition: opacity 200ms ease-in-out;
    z-index: 15;
}

:global(.before-after-wrapper.show-before::before) {
    opacity: 1;
}

.before-after-wrapper::after {
    background-color: hsla(172, 61%, 82%, 75%);
    border-radius: 40px;
    top: 10px;
    color: orange;
    opacity: 0;
    padding: 5px 10px;
    position: absolute;
    right: 10px;
    transition: opacity 200ms ease-in-out;
    z-index: 15;
    content: 'after';
}

:global(.before-after-wrapper.show-after::after) {
    opacity: 1;
}

.before-image-wrapper {
    bottom: 0;
    left: 0;
    overflow: hidden;
    position: absolute;
    top: 0;
    z-index: 10;
}

.before-image {
    background-size: cover;
    height: 100%;
    width: 100%;
}

.after-image {
    background-size: cover;
    inset: 0;
    position: absolute;
}

.handle {
    align-items: center;
    background: #ff6f00;
    bottom: 0;
    cursor: col-resize;
    display: flex;
    justify-content: center;
    left: 50%;
    position: absolute;
    top: 0;
    width: 2px;
    z-index: 20;
}

.handle::before {
    content: '';
    position: absolute;
    inset: 0 -20px;
}

.handle::after {
    align-items: center;
    background: #ff6f00;
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" height="24" width="24" viewBox="0 0 512 512"><path fill="hsl(172, 61%, 82%)" d="M505.7 265.7c3-3 3.1-7.9 .2-11.1l-104-112c-3-3.2-8.1-3.4-11.3-.4s-3.4 8.1-.4 11.3L481.7 252 23.3 252l90.3-90.3c3.1-3.1 3.1-8.2 0-11.3s-8.2-3.1-11.3 0l-104 104c-3.1 3.1-3.1 8.2 0 11.3l104 104c3.1 3.1 8.2 3.1 11.3 0s3.1-8.2 0-11.3L23.3 268l457.4 0-90.3 90.3c-3.1 3.1-3.1 8.2 0 11.3s8.2 3.1 11.3 0l104-104z"/></svg>');
    background-position: center;
    background-repeat: no-repeat;
    border-radius: 50%;
    color: #ff6f00;
    content: '';
    display: flex;
    font-size: 16px;
    font-weight: bold;
    justify-content: center;
    max-height: 40px;
    max-width: 40px;
    min-height: 40px;
    min-width: 40px;
}

/* Кнопка вместо блока */
.cost-btn {
    background: linear-gradient(180deg, #FF9D33 0%, #FF8400 100%);
    color: white;
    border: none;
    border-radius: 15px;
    padding: 15px 30px;
    font-size: 18px;
    font-weight: 600;
    cursor: pointer;
    transition: transform 0.3s;
    box-shadow: 0 10px 10px -5px rgba(255,132,0,0.4);
    width: 100%;
}
.cost-btn:hover { transform: scale(1.05); }

/* Модальное окно */
.quiz-modal {
    position: fixed;
    z-index: 10000;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0,0,0,0.5);
    display: flex;
    align-items: center;
    justify-content: center;
}
.quiz-modal-content {
    background: #fff;
    border-radius: 24px;
    max-width: 600px;
    width: 90%;
    padding: 30px 30px 20px;
    position: relative;
    box-shadow: 0 20px 35px rgba(0,0,0,0.2);
}
.quiz-close {
    position: absolute;
    top: 18px;
    right: 24px;
    font-size: 28px;
    font-weight: bold;
    cursor: pointer;
    color: #999;
    transition: 0.2s;
}
.quiz-close:hover { color: #FF8400; }

/* Прогресс-бар */
.quiz-progress {
    height: 4px;
    background: #e0e0e0;
    border-radius: 4px;
    margin-bottom: 30px;
    overflow: hidden;
}
.quiz-progress-inner {
    height: 100%;
    width: 0%;
    background: #FF8400;
    transition: width 0.3s ease;
}

/* Шаги */
.quiz-step {
    display: none;
}
.quiz-step.active {
    display: block;
}
.step-title {
    font-size: 24px;
    font-weight: 600;
    margin-bottom: 25px;
    text-align: center;
}
.quiz-fields {
    margin-bottom: 30px;
}
.field-radio-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.radio-item {
    display: flex;
    align-items: center;
    cursor: pointer;
    font-size: 16px;
}
.radio-item input {
    display: none;
}
.radio-custom {
    width: 20px;
    height: 20px;
    border: 2px solid #ddd;
    border-radius: 50%;
    margin-right: 12px;
    position: relative;
    transition: 0.2s;
}
.radio-item input:checked + .radio-custom {
    border-color: #FF8400;
}
.radio-custom::after {
    content: '';
    width: 10px;
    height: 10px;
    background: #FF8400;
    border-radius: 50%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    opacity: 0;
    transition: 0.2s;
}
.radio-item input:checked + .radio-custom::after {
    opacity: 1;
}
.radio-text {
    color: #333;
}
.field-phone {
    margin-bottom: 20px;
}
.field-title {
    display: block;
    margin-bottom: 8px;
    font-weight: 500;
}
.phone-mask {
    width: 100%;
    padding: 12px 15px;
    border: 1px solid #ddd;
    border-radius: 12px;
    font-size: 16px;
    text-align: center;
}
.policy-text {
    font-size: 12px;
    color: #888;
    text-align: center;
    margin-top: 15px;
}
.quiz-actions {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 20px;
}
.quiz-prev {
    background: none;
    border: none;
    cursor: pointer;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: 0.2s;
}
.quiz-prev svg {
    fill: #666;
}
.quiz-prev:not(:disabled):hover {
    background: #f0f0f0;
}
.quiz-prev:disabled {
    opacity: 0.3;
    cursor: not-allowed;
}
.quiz-next {
    background: linear-gradient(180deg, #FF9D33 0%, #FF8400 100%);
    color: white;
    border: none;
    border-radius: 40px;
    padding: 12px 32px;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    transition: 0.2s;
}
.quiz-next:hover {
    transform: scale(1.02);
}
.form-response {
    text-align: center;
    font-size: 14px;
    margin-top: 15px;
}
@media (max-width: 550px) {
    .quiz-modal-content { padding: 20px; }
    .step-title { font-size: 20px; }
}

/*  Новый контейнер для двух колонок внутри .hero-content */
.hero-content {
    position: absolute;
    inset: 0;
    z-index: 1;
    display: flex;
    align-items: center; /* вертикальное выравнивание по центру */
}

.hero-content__row {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    gap: 30px;
}

.hero-content__left {
    flex: 1 1 50%;
    min-width: 280px;
}

.hero-content__right {
    flex: 1 1 40%;
    min-width: 280px;
}

/* Слайдер До/После */
.before-after-slider {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;     /* задайте нужную пропорцию */
    background: #f0f0f0;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 10px 25px rgba(0,0,0,0.2);
    cursor: ew-resize;
}

.before-after__image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.before-after__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}


.before-after__image.after {
    z-index: 1;
}

.before-after__handle {
    position: absolute;
    top: 0;
    left: 50%;
    width: 4px;
    height: 100%;
    background: #fff;
    transform: translateX(-50%);
    z-index: 3;
    cursor: ew-resize;
    box-shadow: 0 0 6px rgba(0,0,0,0.5);
}

.before-after__handle::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 40px;
    height: 40px;
    background: rgba(255,255,255,0.9);
    border-radius: 50%;
    box-shadow: 0 2px 6px rgba(0,0,0,0.2);
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%23333"><path d="M8.5 7L4 11.5 8.5 16M15.5 7L20 11.5 15.5 16"/></svg>');
    background-repeat: no-repeat;
    background-position: center;
    background-size: 24px;
}

/* Адаптив для мобильных – слайдер уходит вниз */



.before-after-slider {
    position: relative;
    top: 160px;    /* вниз */
    left: 0px;   /* вправо */
}

.before-after-slider {
    position: relative;
    width: 100%;
    background: #f0f0f0;
    border-radius: 20px;
    overflow: hidden;
    cursor: ew-resize;
    user-select: none;
}

.before-after-slider .ba-after,
.before-after-slider .ba-before {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.before-after-slider .ba-after {
    z-index: 1;
}
.before-after-slider .ba-before {
    z-index: 2;
    width: 50%; /* начальное значение – меняется скриптом */
}

.before-after-slider img {
    display: block;
    width: 100%;
    height: auto;
}

/* Ползунок */
.before-after-slider .ba-handle {
    position: absolute;
    top: 0;
    left: 50%;
    width: 4px;
    height: 100%;
    background: white;
    transform: translateX(-50%);
    z-index: 3;
    cursor: ew-resize;
    box-shadow: 0 0 5px rgba(0,0,0,0.5);
}
.before-after-slider .ba-handle::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 40px;
    height: 40px;
    background: rgba(255,255,255,0.9);
    border-radius: 50%;
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%23333"><path d="M8.5 7L4 11.5 8.5 16M15.5 7L20 11.5 15.5 16"/></svg>');
    background-repeat: no-repeat;
    background-position: center;
    background-size: 24px;
}

/* Чтобы ползунок не вызывал скролл на тач-устройствах */
.before-after-slider .ba-handle {
    touch-action: none;
}

.before-after {
    position: relative;
    width: 100%;
    aspect-ratio: 17 / 8;     /* подберите под свои фото */
    overflow: hidden;
    border-radius: 32px;
    cursor: ew-resize;
    user-select: none;
}

.before-after__after,
.before-after__before {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.before-after__after {
    z-index: 1;
}
.before-after__before {
    z-index: 2;
    width: 50%;  /* изначально половина */
}

.before-after__image-wrapper {
    position: relative;
    width: 100%;
    height: 100%;
}

.before-after img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;   /* заполняет контейнер, сохраняя пропорции */
    display: block;
}

/* Ползунок */
.before-after__handle {
    position: absolute;
    top: 0;
    left: 50%;
    width: 4px;
    height: 100%;
    background: white;
    transform: translateX(-50%);
    z-index: 3;
    cursor: ew-resize;
    box-shadow: 0 0 5px rgba(0,0,0,0.3);
}
.before-after__handle::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 40px;
    height: 40px;
    background: rgba(255,255,255,0.9);
    border-radius: 50%;
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%23333"><path d="M8.5 7L4 11.5 8.5 16M15.5 7L20 11.5 15.5 16"/></svg>');
    background-repeat: no-repeat;
    background-position: center;
    background-size: 22px;
}

.simple-slide {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    background: transparent; /* или цвет фона по желанию */
}
.simple-slide img {
    max-width: 40%;      /* регулируйте размер */
    max-height: 40%;
    width: auto;
    height: auto;
    object-fit: contain;
    border-radius: 20px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
    display: block;
    margin: 0 auto;
}
/* Для мобильных устройств можно сделать картинки чуть больше */
@media (max-width: 768px) {
    .simple-slide img {
        max-width: 85%;
        max-height: 85%;
    }
}

.portfolio-img-slide {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}
.portfolio-img-slide img {
    width: 100%;
    max-width: 100%;
    height: auto;
    aspect-ratio: 1 / 1;      /* квадрат, можно изменить */
    object-fit: cover;
    border-radius: 20px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
    transition: transform 0.2s;
}
.portfolio-img-slide img:hover {
    transform: scale(1.02);
}
/* Если хотите центрировать и уменьшить картинки — добавьте max-width: 80% и object-fit: contain */

/* Стили для слайдов-картинок */
.portfolio-img {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
}
.portfolio-img img {
  width: 100%;
  aspect-ratio: 4 / 3;        /* или 1 / 1, на ваш вкус */
  object-fit: cover;
  border-radius: 20px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.08);
  transition: transform 0.2s;
}
.portfolio-img img:hover {
  transform: scale(1.02);
}

/* НАСТРОЙКА ДЛЯ СЛАЙДОВ-КЕЙСОВ: на десктопе они должны занимать всю ширину */
@media (min-width: 768px) {
  .case-studies-swiper .swiper-slide.case-slide {
    width: 100% !important;
    flex-shrink: 0 !important;
    margin-right: 0 !important;
  }
}
/* На мобильных они и так 100% – ничего не меняем */

/* Группа из 2 картинок в один слайд */
.image-pair {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    align-items: stretch;
}
.image-pair img {
    width: 100%;
    aspect-ratio: 4 / 3;        /* квадрат, можно 4/3 */
    object-fit: cover;
    border-radius: 20px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}
/* Одиночная картинка (7-я) */
.image-single {
    display: flex;
    justify-content: center;
    align-items: center;
}
.image-single img {
    width: 100%;
    max-width: 500px;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    border-radius: 20px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}

/* Для мобильных: картинки в паре становятся друг под другом */
@media (max-width: 768px) {
    .image-pair {
        grid-template-columns: 1fr;
        gap: 15px;
    }
}

/* Слайдер картинок */
.portfolio-slider-wrapper {
  position: relative;
  margin-bottom: 40px;
}
.portfolio-swiper .swiper-slide {
  text-align: center;
}
.portfolio-swiper .swiper-slide img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 20px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.08);
}
/* Стрелки для слайдера картинок */
.portfolio-button-prev,
.portfolio-button-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 44px;
  height: 44px;
  background: #fff;
  border-radius: 50%;
  box-shadow: 0 2px 8px rgba(0,0,0,0.15);
  cursor: pointer;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: center;
}
.portfolio-button-prev { left: -22px; }
.portfolio-button-next { right: -22px; }
.portfolio-button-prev::after,
.portfolio-button-next::after {
  content: '';
  width: 12px;
  height: 12px;
  border-top: 2px solid #333;
  border-right: 2px solid #333;
}
.portfolio-button-prev::after {
  transform: rotate(-135deg);
  margin-right: 2px;
}
.portfolio-button-next::after {
  transform: rotate(45deg);
  margin-left: 2px;
}
@media (max-width: 768px) {
  .portfolio-button-prev { left: -10px; }
  .portfolio-button-next { right: -10px; }
}
/* Пагинация */
.portfolio-pagination {
  bottom: -30px;
}
.case-pagination {
  bottom: -30px;
}

/* По умолчанию (мобильные) – показываем мобильный слайдер, скрываем десктопную сетку */
.desktop-video-grid {
  display: none;
}
.mobile-video-slider {
  display: block;
  margin-bottom: 40px;
}
/* Стили для слайдера */
.mobileVideoSwiper .swiper-slide {
  height: auto;
}
.mobileVideoSwiper .video-card {
  margin: 0 10px;
}
.mobileVideoPagination {
  bottom: -30px;
}
.mobileVideoPrev,
.mobileVideoNext {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 40px;
  height: 40px;
  background: rgba(0,0,0,0.5);
  border-radius: 50%;
  z-index: 10;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
}
.mobileVideoPrev { left: 0; }
.mobileVideoNext { right: 0; }
.mobileVideoPrev::after { content: '‹'; font-size: 30px; }
.mobileVideoNext::after { content: '›'; font-size: 30px; }

/* На десктопе (ширина ≥ 768px) – показываем сетку, скрываем слайдер */
@media (min-width: 768px) {
  .desktop-video-grid {
    display: block;
  }
  .mobile-video-slider {
    display: none;
  }
}

/* Центрируем содержимое слайдов в мобильном слайдере */
.mobileVideoSwiper .swiper-slide {
  display: flex;
  justify-content: center;
  align-items: center;
}

/* Также можно ограничить максимальную ширину карточки, чтобы она не растягивалась на всю ширину */
.mobileVideoSwiper .video-card {
  width: 100%;
  max-width: 320px;   /* или другая желаемая ширина */
  margin: 0 auto;
}

/* Контейнер слайдера */
.before-after-slider {
    position: relative;
    width: 100%;


    overflow: hidden;

    user-select: none;
}

/* Оба изображения находятся абсолютно, занимают всю площадь */
.before-after__image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

/* Изображение "после" – нижний слой */
.before-after__image.after {
    z-index: 1;
}
.before-after__image.after img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Изображение "до" – верхний слой, обрезается по ширине */
.before-after__image.before {
    z-index: 2;
    width: 50%;   /* значение будет меняться скриптом */
    overflow: hidden;
}
.before-after__image.before img {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;          /* важно: ширина 100% от родителя (который меняется) */
    object-fit: cover;
    display: block;
}

/* Ручка-ползунок */
.before-after__handle {
    position: absolute;
    top: 0;
    left: 50%;
    width: 4px;
    height: 100%;
    background: #fff;
    transform: translateX(-50%);
    z-index: 3;
    cursor: ew-resize;
    box-shadow: 0 0 6px rgba(0,0,0,0.3);
}
.before-after__handle::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 40px;
    height: 40px;
    background: rgba(255,255,255,0.9);
    border-radius: 50%;
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%23333"><path d="M8.5 7L4 11.5 8.5 16M15.5 7L20 11.5 15.5 16"/></svg>');
    background-repeat: no-repeat;
    background-position: center;
    background-size: 24px;
}

.hero-content__right {
    margin-top: 220px;
    margin-left: -200px;
}

/* Контейнер слайдера */
.before-after {
    position: relative;
    width: 100%;
    

    overflow: hidden;

    user-select: none;
}

/* Обе обертки занимают всю площадь контейнера */
.before-after__after,
.before-after__before {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/* Изображение "после" – нижний слой */
.before-after__after {
    z-index: 1;
}

/* Изображение "до" – верхний слой */
.before-after__before {
    z-index: 2;
    /* Вместо width используем clip-path для обрезки. По умолчанию показываем ровно половину (50%) */
    clip-path: polygon(0 0, 50% 0, 50% 100%, 0 100%);
    -webkit-clip-path: polygon(0 0, 50% 0, 50% 100%, 0 100%); /* Для поддержки Safari */
}

/* Сами изображения всегда на 100% ширины и высоты, не искажаются */
.before-after__after img,
.before-after__before img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Ручка-ползунок */
.before-after__handle {
    position: absolute;
    top: 0;
    left: 50%;
    width: 4px;
    height: 100%;
    background: #fff;
    transform: translateX(-50%);
    z-index: 3;
    cursor: ew-resize;
    box-shadow: 0 0 6px rgba(0,0,0,0.3);
}

.before-after__handle::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 40px;
    height: 40px;
    background: rgba(255,255,255,0.9);
    border-radius: 50%;
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%23333"><path d="M8.5 7L4 11.5 8.5 16M15.5 7L20 11.5 15.5 16"/></svg>');
    background-repeat: no-repeat;
    background-position: center;
    background-size: 24px;
}
.before-after {
    width: 100%;
    max-width: 90%;
}
.hero-content__right {
    transform: translate(60px, 46px);
}
@media (max-width: 768px) {
    .hero-content__row {
        flex-direction: column;
        gap: 20px;
    }

    /* Заголовок – по центру */
    .about__title {
        text-align: center !important;
        width: 100%;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    /* Левая колонка – текст по левому краю */
    .hero-content__left {
        text-align: left !important;
        width: 100%;
    }

    /* Преимущества – слева */
    .about__wrapper {
        justify-content: flex-start !important;
        margin-left: -12px !important;
        text-align: left !important;
    }

    .about__item {
        text-align: left !important;
        justify-content: flex-start !important;
        width: auto !important;
    }

    /* Правая колонка – центрируем, убираем отрицательные отступы */
    .hero-content__right {
        width: 100%;
        max-width: 200px;         /* или любая желаемая ширина */
        margin: 20px auto !important;
        margin-top: 0px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        position: relative !important;
        left: 0 !important;
        flex: 0;
        transform: translate(0, 0);
    }

    /* Сам слайдер – на всякий случай сбрасываем возможные сдвиги */
    .before-after,
    .before-after-slider {
        width: 100% !important;
        margin: 0 auto !important;
        position: relative !important;
        top: 0 !important;
        left: 0 !important;
        transform: none !important;
    }

    /* Изображения внутри слайдера – не вылезают */
    .before-after img {
        max-width: 100%;
        height: auto;
    }

    .before-after {
    width: 100%;
    max-width: 100%;
}
}
.hero-content__right {
    padding-left: 0 !important;
    padding-right: 0 !important;
}


.hero-content__right {
    display: flex;
    justify-content: center;
    padding: 0;
}

