/* =========================================================
   1. RESET И БАЗОВЫЕ НАСТРОЙКИ
   ========================================================= */

/* Учитываем padding и border внутри заданной ширины элементов */
* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

/* Плавная прокрутка по якорным ссылкам меню */
html {
    scroll-behavior: smooth;
}

/* Основные настройки страницы */
body {
    font-family: Arial, Helvetica, sans-serif;
    background: #f7f8f5;
    color: #1e2926;
}

/* Общий контейнер сайта */
.container {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
}


/* =========================================================
   2. HEADER — ШАПКА САЙТА
   ========================================================= */

/* Шапка остаётся сверху при прокрутке */
.header {
    position: sticky;
    top: 0;
    z-index: 1000;

    background: #ffffff;
    border-bottom: 1px solid #e5e8e6;
}

/* Внутренняя строка шапки */
.header-inner {
    position: relative;

    min-height: 96px;

    display: flex;
    align-items: center;
    justify-content: space-between;
}

/* Логотип / название компании */
/* =========================================================
   LOGO — ЛОГОТИП VITAL CLEAN
   ========================================================= */

   .logo {
    display: flex;
    align-items: center;

    text-decoration: none;
}


/* Сам логотип */

.logo img {
    display: block;

    width: auto;
    height: 72px;

    object-fit: contain;
}

/* Главное меню */
.nav {
    display: flex;
    align-items: center;

    gap: 28px;

    /* Прижимаем меню вправо после логотипа */
    margin-left: auto;
}

/* Ссылки главного меню */
.nav a {
    color: #1e2926;
    text-decoration: none;
}

/* =========================================================
   HEADER — КНОПКА CONTACTEAZĂ-NE
   Новый элемент, поэтому новый класс
   ========================================================= */

   .header-contact-button {
    min-height: 48px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 10px;

    margin-left: 34px;

    padding: 0 24px;

    border-radius: 999px;

    background:
        linear-gradient(
            90deg,
            #55bd2e 0%,
            #15a47c 45%,
            #0874cf 100%
        );

    color: #ffffff;

    font-size: 15px;
    font-weight: 700;

    text-decoration: none;

    box-shadow:
        0 8px 20px rgba(0, 110, 180, 0.12);

    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease;
}


/* Телефон */

.header-contact-button svg {
    width: 20px;
    height: 20px;

    flex: 0 0 20px;
}


/* Лёгкое движение на desktop */

.header-contact-button:hover {
    transform: translateY(-1px);

    box-shadow:
        0 11px 24px rgba(0, 110, 180, 0.17);
}

/* Кнопка мобильного меню.
   На компьютере скрыта. */
.menu-toggle {
    display: none;

    width: 42px;
    height: 42px;

    padding: 0;

    background: transparent;
    border: none;

    cursor: pointer;
}

/* Три полоски кнопки-бургера */
.menu-toggle span {
    display: block;

    width: 24px;
    height: 2px;

    margin: 5px auto;

    background: #1e2926;
    border-radius: 10px;

    transition: 0.25s;
}
/* =========================================================
   HERO V2 — ГОТОВЫЙ ПРАВЫЙ ВИЗУАЛ
   ========================================================= */

   .hero-v2-visual-image {
    display: block;

    width: 100%;
    height: auto;

    object-fit: contain;
}





/* =========================================================
   HERO V2 — НОВЫЙ HERO VITAL CLEAN
   Полностью отдельный блок.
   Старые классы HERO здесь НЕ используются.
   ========================================================= */

   .hero-v2 {
    position: relative;
    overflow: hidden;

    padding: 55px 0 45px;

    background:
        linear-gradient(
            135deg,
            #f8fcf7 0%,
            #ffffff 48%,
            #f1f9ff 100%
        );
}


/* =========================================================
   HERO V2 — ДВЕ КОЛОНКИ
   ========================================================= */

.hero-v2-grid {
    display: grid;

    grid-template-columns:
        minmax(0, 0.95fr)
        minmax(0, 1.05fr);

    gap: 55px;

    align-items: center;
}


/* =========================================================
   HERO V2 — ЛЕВАЯ ЧАСТЬ
   ========================================================= */

.hero-v2-content {
    min-width: 0;
}


/* Маленькая плашка CURĂȚENIE ÎN CHIȘINĂU */

.hero-v2-label {
    display: inline-flex;

    align-items: center;

    gap: 9px;

    margin-bottom: 20px;

    padding: 9px 15px;

    background: #edf8ed;

    border-radius: 999px;

    color: #329929;

    font-size: 13px;
    font-weight: 800;

    letter-spacing: 0.4px;
}


/* Иконка-лист внутри плашки */

.hero-v2-label-icon {
    width: 20px;
    height: 20px;

    display: flex;

    align-items: center;
    justify-content: center;

    color: #43af2d;
}


.hero-v2-label-icon svg {
    width: 100%;
    height: 100%;
}


/* =========================================================
   ГЛАВНЫЙ ЗАГОЛОВОК
   ========================================================= */

.hero-v2-title {
    margin: 0 0 20px;

    color: #071d3d;

    font-size: clamp(58px, 5vw, 82px);

    line-height: 0.94;

    letter-spacing: -2.5px;

    font-weight: 800;
}


.hero-v2-title span {
    display: block;
}


/* Зелёное слово fără */

.hero-v2-title strong {
    color: #43b52c;

    font-weight: inherit;
}


/* =========================================================
   CURĂȚENIE • SĂNĂTATE • ÎNCREDERE
   ========================================================= */

.hero-v2-brand-line {
    display: flex;

    align-items: center;

    flex-wrap: wrap;

    gap: 11px;

    margin-bottom: 24px;

    color: #0757a5;

    font-size: 14px;
    font-weight: 800;

    letter-spacing: 2px;
}


/* Маленькие зелёные точки */

.hero-v2-brand-line i {
    width: 6px;
    height: 6px;

    display: block;

    flex: 0 0 6px;

    background: #4eae27;

    border-radius: 50%;
}


/* =========================================================
   ОПИСАНИЕ
   ========================================================= */

.hero-v2-text {
    max-width: 540px;

    margin: 0 0 28px;

    color: #647087;

    font-size: 19px;

    line-height: 1.55;
}


/* =========================================================
   КНОПКИ
   ========================================================= */

.hero-v2-actions {
    display: flex;

    align-items: center;

    flex-wrap: wrap;

    gap: 16px;

    margin-bottom: 34px;
}


.hero-v2-button {
    min-height: 56px;

    display: inline-flex;

    align-items: center;
    justify-content: center;

    gap: 12px;

    padding: 0 24px;

    border-radius: 17px;

    font-size: 16px;
    font-weight: 800;

    text-decoration: none;

    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease;
}


/* Основная зелёно-синяя кнопка */

.hero-v2-button-primary {
    color: #ffffff;

    background:
        linear-gradient(
            90deg,
            #55bd2e 0%,
            #12a37f 48%,
            #0874cf 100%
        );

    box-shadow:
        0 10px 25px rgba(0, 108, 170, 0.14);
}


/* Белая кнопка */

.hero-v2-button-secondary {
    color: #08234b;

    background: #ffffff;

    border: 1px solid #a9daf7;
}


/* =========================================================
   МИНИ-ПРЕИМУЩЕСТВА
   ========================================================= */

.hero-v2-stats {
    display: grid;

    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    gap: 20px;
}


.hero-v2-stat {
    display: flex;

    align-items: center;

    gap: 11px;
}


.hero-v2-stat-icon {
    width: 46px;
    height: 46px;

    flex: 0 0 46px;

    display: flex;

    align-items: center;
    justify-content: center;

    color: #2fac35;

    background: #edf8ef;

    border-radius: 50%;
}


.hero-v2-stat-icon svg {
    width: 23px;
    height: 23px;
}


.hero-v2-stat strong {
    display: block;

    margin-bottom: 2px;

    color: #0a2452;

    font-size: 15px;

    line-height: 1.2;
}


.hero-v2-stat span {
    display: block;

    color: #69758a;

    font-size: 12px;

    line-height: 1.3;
}


/* =========================================================
   HERO V2 — ПРАВАЯ ЧАСТЬ
   ========================================================= */

.hero-v2-visual {
    position: relative;

    min-width: 0;

    min-height: 520px;

    display: flex;

    align-items: center;
    justify-content: center;
}


/* Большая цветная форма за фотографией */

.hero-v2-visual-shape {
    position: absolute;

    z-index: 1;

    width: 96%;
    height: 93%;

    background:
        linear-gradient(
            135deg,
            #8bd95d 0%,
            #77dbc2 53%,
            #72cafa 100%
        );

    border-radius:
        48% 52% 44% 56% /
        45% 42% 58% 55%;

    transform: rotate(-3deg);

    opacity: 0.85;
}


/* =========================================================
   ФОТО
   ========================================================= */

.hero-v2-photo {
    position: relative;

    z-index: 2;

    width: 91%;

    overflow: hidden;

    border-radius:
        35% 20% 32% 25% /
        20% 28% 23% 31%;

    box-shadow:
        0 18px 45px rgba(0, 74, 140, 0.10);
}


.hero-v2-photo img {
    display: block;

    width: 100%;
    height: 500px;

    object-fit: cover;

    object-position: center;
}


/* =========================================================
   ДЕКОР ПОКА СКРЫВАЕМ
   Его сделаем следующим шагом.
   ========================================================= */



/* =========================================================
   HERO V2 — ЦИФРЫ / СТАТИСТИКА
   ========================================================= */

   .hero-v2-numbers {
    display: flex;
    align-items: center;
    gap: 30px;

    margin-top: 6px;
}


.hero-v2-number-item {
    display: flex;
    align-items: center;
    gap: 10px;
}


/* Иконка */

.hero-v2-number-icon {
    width: 44px;
    height: 44px;

    flex: 0 0 44px;

    display: flex;
    align-items: center;
    justify-content: center;

    color: #42ad2d;
}


.hero-v2-number-icon svg {
    width: 34px;
    height: 34px;
}


/* Текст */

.hero-v2-number-text {
    display: flex;
    flex-direction: column;
}


.hero-v2-number-text strong {
    color: #0b2454;

    font-size: 17px;
    font-weight: 800;

    line-height: 1.15;
}


.hero-v2-number-text span {
    margin-top: 2px;

    color: #6c7890;

    font-size: 11px;

    line-height: 1.25;
}
/* =========================================================
   HERO V2 — РУКОПИСНАЯ НАДПИСЬ СПРАВА СНИЗУ
   ========================================================= */

   .hero-v2-script {
    position: absolute;

    z-index: 5;

    right: 4px;
    bottom: 18px;

    color: #0757a5;

    font-family:
        "Segoe Print",
        "Bradley Hand",
        "Comic Sans MS",
        cursive;

    font-size: 23px;
    font-weight: 600;

    line-height: 1.15;

    text-align: center;

    transform: rotate(-7deg);

    pointer-events: none;
}


/* Зелёная рукописная черта под надписью */

.hero-v2-script::after {
    content: "";

    display: block;

    width: 74px;
    height: 4px;

    margin: 8px auto 0;

    background: #55b52a;

    border-radius: 50%;

    transform: rotate(-5deg);
}

/* =========================================================
   HERO V2 — ДЕКОРАТИВНЫЕ ЛИСТЬЯ-display: none;
   ========================================================= */

   .hero-v2-leaves {
    position: absolute;

    z-index: 4;

    left: -18px;
    bottom: 12px;

    width: 150px;
    height: 150px;

    pointer-events: none;
}


/* =========================================================
   HERO V2 — ВЕТКА С ЛИСТЬЯМИ
   ========================================================= */

   .hero-v2-leaves {
    position: absolute;

    z-index: 4;

    left: -38px;
    bottom: -8px;

    width: 210px;

    pointer-events: none;
}


.hero-v2-leaves img {
    display: block;

    width: 100%;
    height: auto;
}
/* =========================================================
   HERO V2 — КРУГЛЫЙ БЕЙДЖ НА ФОТО
   ========================================================= */

   .hero-v2-badge {
    position: absolute;

    z-index: 5;

    top: 62px;
    right: 18px;

    width: 142px;
    height: 142px;

    display: flex;
    flex-direction: column;

    align-items: center;
    justify-content: center;

    padding: 18px;

    background: rgba(255, 255, 255, 0.96);

    border-radius: 50%;

    box-shadow:
        0 12px 35px rgba(0, 70, 120, 0.12);

    text-align: center;
}


/* Листик */

.hero-v2-badge-icon {
    width: 28px;
    height: 28px;

    margin-bottom: 5px;

    color: #4caf28;
}


.hero-v2-badge-icon svg {
    width: 100%;
    height: 100%;
}


/* Маленькие строки */

.hero-v2-badge span {
    display: block;

    color: #284264;

    font-size: 10px;

    line-height: 1.25;

    letter-spacing: 0.8px;
}


/* Главная строка */

.hero-v2-badge strong {
    display: block;

    margin: 4px 0;

    color: #071f43;

    font-size: 12px;

    line-height: 1.15;

    font-weight: 800;
}


/* Маленькая зелёная черта снизу */

.hero-v2-badge i {
    display: block;

    width: 22px;
    height: 2px;

    margin-top: 8px;

    background: #47aa2c;

    border-radius: 10px;
}


/* =========================================================
   HERO V2 — ФИРМЕННЫЕ БЛИКИ
   ========================================================= */

   .hero-v2-sparkles {
    position: absolute;

    z-index: 4;

    top: 105px;
    right: -12px;

    width: 70px;
    height: 110px;

    pointer-events: none;
}


.hero-v2-spark {
    position: absolute;

    display: block;

    fill: #169fdd;
}


/* Большой */

.hero-v2-spark-big {
    width: 34px;
    height: 34px;

    top: 0;
    right: 4px;
}


/* Средний */

.hero-v2-spark-medium {
    width: 19px;
    height: 19px;

    top: 39px;
    right: 34px;
}


/* Маленький */

.hero-v2-spark-small {
    width: 9px;
    height: 9px;

    top: 68px;
    right: 16px;
}


/* =========================================================
   HERO V2 — ЛЁГКИЕ ПУЗЫРЬКИ
   ========================================================= */

.hero-v2-bubbles {
    position: absolute;

    z-index: 4;

    top: 55px;
    right: 8px;

    width: 95px;
    height: 145px;

    pointer-events: none;
}


.hero-v2-bubble {
    position: absolute;

    display: block;

    border: 1px solid rgba(27, 162, 220, 0.20);

    border-radius: 50%;

    background:
        rgba(255, 255, 255, 0.22);
}


/* Большой пузырёк */

.hero-v2-bubble-1 {
    width: 31px;
    height: 31px;

    top: 0;
    right: 0;
}


/* Средний */

.hero-v2-bubble-2 {
    width: 18px;
    height: 18px;

    top: 42px;
    right: 21px;
}


/* Маленький */

.hero-v2-bubble-3 {
    width: 9px;
    height: 9px;

    top: 76px;
    right: 2px;
}
/* =========================================================
   HERO — ФИРМЕННЫЙ ПЕРВЫЙ ЭКРАН VITAL CLEAN
   ========================================================= */

   .hero {
    position: relative;

    overflow: hidden;

    padding: 70px 0;

    background:
        linear-gradient(
            135deg,
            #f6fbf2 0%,
            #ffffff 48%,
            #f1f8fd 100%
        );
}


/* Лёгкое голубое декоративное пятно справа */

.hero::before {
    content: "";

    position: absolute;

    width: 420px;
    height: 420px;

    top: -190px;
    right: -120px;

    background: rgba(0, 103, 197, 0.07);

    border-radius: 50%;
}


/* Лёгкое зелёное пятно слева */

.hero::after {
    content: "";

    position: absolute;

    width: 300px;
    height: 300px;

    left: -160px;
    bottom: -170px;

    background: rgba(91, 157, 25, 0.08);

    border-radius: 50%;
}


/* Контент должен быть выше декоративного фона */

.hero-grid {
    position: relative;
    z-index: 1;
}
/* =========================================================
   HERO — ФИРМЕННЫЙ СЛОГАН
   ========================================================= */

   .hero-brandline {
    display: flex;
    align-items: center;
    flex-wrap: wrap;

    gap: 9px;

    margin-top: -8px;
    margin-bottom: 18px;

    color: #064B91;

    font-size: 14px;
    font-weight: 700;

    text-transform: uppercase;
    letter-spacing: 0.7px;
}


/* Точки между словами */

.hero-brandline b {
    color: #59A91C;

    font-size: 17px;
}
/* Две колонки: текст + фотография */
.hero-grid {
    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
    gap: 60px;

    align-items: center;
}

/* Маленькая подпись над главным заголовком */
.hero-label {
    margin-bottom: 18px;

    color: #2f6658;

    font-size: 14px;
    font-weight: 700;

    text-transform: uppercase;
}
/* =========================================================
   HERO — ФОТО В ФИРМЕННОМ ОФОРМЛЕНИИ
   ========================================================= */

   .hero-image {
    padding: 4px;

    background: linear-gradient(
        135deg,
        #5B9D19 0%,
        #0C8B78 48%,
        #0067C5 100%
    );

    border-radius: 28px;

    box-shadow: 0 18px 45px rgba(0, 80, 150, 0.10);
}


.hero-image img {
    border-radius: 24px;
}
/* Главный H1 */
.hero h1 {
    max-width: 700px;

    margin-bottom: 25px;

    font-size: 64px;
    line-height: 1.05;
}

/* Основной текст первого экрана */
.hero-content > p:not(.hero-label) {
    max-width: 550px;

    color: #68736f;

    font-size: 19px;
    line-height: 1.6;
}

/* Главная кнопка */
.button {
    display: inline-block;

    margin-top: 32px;
    padding: 16px 26px;

    background: linear-gradient(
        90deg,
        #5B9D19 0%,
        #118A5A 45%,
        #014EB8 100%
    );

    color: #ffffff;

    border-radius: 8px;

    font-weight: 700;
    text-decoration: none;

    transition: 0.2s;
}

.button:hover {
    transform: translateY(-1px);

    box-shadow: 0 8px 20px rgba(1, 78, 184, 0.18);
}

/* Главное фото */
.hero-image img {
    display: block;

    width: 100%;
    height: 430px;

    object-fit: cover;

    border-radius: 24px;
}


/* =========================================================
   4. ОБЩИЕ ЗАГОЛОВКИ СЕКЦИЙ
   ========================================================= */

/* Заголовочный блок секций:
   используется в услугах, процессе, галерее, отзывах */
.section-heading {
    margin-bottom: 40px;
}

/* Маленькая подпись над H2 */
.section-heading p {
    margin-bottom: 10px;

    color: #2f6658;

    font-size: 13px;
    font-weight: 700;

    text-transform: uppercase;
    letter-spacing: 1px;
}

/* H2 внутри стандартных секций */
.section-heading h2 {
    color: #064B91;

    font-size: 42px;
    line-height: 1.1;
    font-weight: 800;
}
/* Зелёная часть заголовка только в Services */

.services .section-heading h2 span {
    color: #2FA51F;
}

/* Пояснение под заголовком Services */

.services-intro {
    margin-top: 12px;

    color: #68758a !important;

    font-size: 17px !important;
    line-height: 1.45 !important;

    text-transform: none !important;
    letter-spacing: 0 !important;
    font-weight: 400 !important;
}

/* Маленькая подпись в секциях About / Contacts */
.section-label {
    margin-bottom: 14px;

    color: #2f6658;

    font-size: 13px;
    font-weight: 700;

    text-transform: uppercase;
    letter-spacing: 1px;
}
/* =========================================================
   BENEFITS — ПРЕИМУЩЕСТВА VITAL CLEAN
   Панель под HERO V2
   ========================================================= */

   .benefits {
    padding: 0 0 30px;

    background:
        linear-gradient(
            135deg,
            #f8fcf7 0%,
            #ffffff 48%,
            #f1f9ff 100%
        );

    border: none;
}


/* =========================================================
   СВЕТЛАЯ ОКРУГЛАЯ ПАНЕЛЬ
   ========================================================= */

.benefits .container {
    padding: 18px 22px;

    background:
        linear-gradient(
            90deg,
            rgba(245, 251, 242, 0.96) 0%,
            rgba(255, 255, 255, 0.98) 48%,
            rgba(244, 250, 255, 0.96) 100%
        );

    border-radius: 34px;

    box-shadow:
        0 8px 28px rgba(22, 83, 118, 0.05);
}


/* =========================================================
   4 КОЛОНКИ
   ========================================================= */

.benefits-grid {
    display: grid;

    grid-template-columns:
        repeat(4, minmax(0, 1fr));

    gap: 0;
}


/* =========================================================
   ОДИН ПУНКТ
   ========================================================= */

.benefit-item {
    min-width: 0;

    display: flex;
    align-items: center;

    gap: 14px;

    padding: 8px 24px;

    border-right:
        1px solid #e2e9e5;
}


.benefit-item:last-child {
    border-right: none;
}


/* =========================================================
   КРУГ С ИКОНКОЙ
   ========================================================= */

.benefit-icon {
    width: 58px;
    height: 58px;

    flex: 0 0 58px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: #eaf7ec;

    color: #249e3c;

    font-size: 25px;

    box-shadow: none;
}
.benefit-icon svg {
    width: 27px;
    height: 27px;
}

/* Чётные иконки слегка голубые,
   как в референсе */

.benefit-item:nth-child(even) .benefit-icon {
    background: #e9f7fd;

    color: #168ecf;
}


/* =========================================================
   ТЕКСТ
   ========================================================= */

.benefit-content {
    min-width: 0;

    display: flex;
    flex-direction: column;

    gap: 3px;
}


.benefit-content strong {
    color: #08224a;

    font-size: 14px;
    line-height: 1.25;

    font-weight: 800;
}


.benefit-content span {
    color: #69768c;

    font-size: 12px;
    line-height: 1.35;
}

/* =========================================================
   5. SERVICES — УСЛУГИ
   ========================================================= */

/* =========================================================
   SERVICES — ОБЩИЙ ФОН СЕКЦИИ
   ========================================================= */

   .services {
    padding: 90px 0 70px;

    background-color: #f3faff;

    background-image:
        url("../images/services/services-background.png");

    background-repeat: no-repeat;
    background-position: center top;
    background-size: cover;
}

/* Сетка карточек услуг */
.services-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

/* Одна карточка услуги */
.service-card {
    position: relative;
    overflow: hidden;

    min-height: 245px;
    padding: 28px 24px;

    display: grid;
    grid-template-columns: 120px 1fr;
    gap: 22px;

    background: #ffffff;

    border: 1px solid #e3e8e5;
    border-radius: 20px;

    box-shadow: 0 10px 28px rgba(0, 80, 150, 0.07);
}

/* ---------------------------------------------------------
   МЯГКОЕ ДЕКОРАТИВНОЕ ПЯТНО ВНУТРИ КАРТОЧКИ
   --------------------------------------------------------- */

   /* Мягкая волна в нижней части карточки */

/* Декоративная волна внизу карточки */

.service-card::after {
    content: "";

    position: absolute;
    left: 0;
    bottom: 0;

    width: 100%;
    height: 115px;

    background-image:
        url("../images/decor/service-wave-blue.svg");

    background-repeat: no-repeat;
    background-position: left bottom;
    background-size: 100% 100%;

    pointer-events: none;

    z-index: 0;
}
/* Часть карточек — зелёная волна */

/* Каждая вторая карточка — зелёная волна */

.service-card:nth-child(even)::after {
    background-image:
        url("../images/decor/service-wave-green.svg");
}

.service-icon {
    position: relative;
    z-index: 1;
    width: 116px;
    height: 116px;

    display: flex;
    align-items: center;
    justify-content: center;

    align-self: start;

    background: linear-gradient(
        135deg,
        #e8f6ff 0%,
        #eef9df 100%
    );

    border-radius: 50%;
}

.service-icon img {
    display: block;

    width: 72px;
    height: 72px;

    object-fit: contain;
}
.service-card-content {
    position: relative;
    z-index: 1;
    min-width: 0;

    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

/* Название услуги */

.service-card h3 {
    margin-bottom: 10px;

    color: #064B91;

    font-size: 20px;
    line-height: 1.2;
    font-weight: 800;
}
/* =========================================================
   SERVICES — ФИНАЛЬНЫЙ ВИД ЦЕННИКОВ
   ========================================================= */

   .service-card .service-price {
    color: #ffffff !important;
}

.service-card .service-price span {
    color: #ffffff !important;
    opacity: 0.9;
}

/* Цена — как зелёная плашка на их рекламных карточках */

.service-price {
    display: inline-flex;
    flex-direction: column;

    margin-bottom: 12px;
    padding: 8px 16px;

    background: linear-gradient(
        135deg,
        #72B91F 0%,
        #4A9F18 100%
    );

    color: #ffffff !important;

    border-radius: 13px;

    font-size: 24px !important;
    font-weight: 800;
    line-height: 1.05 !important;

    box-shadow: 0 5px 14px rgba(91, 157, 25, 0.18);
}


.service-price span {
    margin-top: 4px;

    color: #ffffff;

    font-size: 13px;
    font-weight: 400;

    opacity: 0.9;
}
/* =========================================================
   BRAND HEADINGS — ФИРМЕННЫЕ ЗАГОЛОВКИ
   ========================================================= */

   .section-heading h2,
   .about-content h2,
   .contacts-content h2,
   .offers-heading h3 {
       color: #064B91;
   }
   
   
   /* Маленькие подписи */
   
   .hero-label,
   .section-heading p,
   .section-label,
   .offers-heading p {
       color: #4F9F1C;
   }

/* Описание */

.service-card-content > p:not(.service-price) {
    color: #68758a;

    font-size: 15px;
    line-height: 1.45;
}

/* Линия после SERVICIILE VITAL CLEAN */

.services .section-heading > p:first-child {
    display: flex;
    align-items: center;
    gap: 12px;
}

.services .section-heading > p:first-child::after {
    content: "";

    width: 38px;
    height: 2px;

    background: #4F9F1C;

    border-radius: 10px;
}
.service-more {
    width: 100%;

    margin-top: auto;
    padding-top: 18px;

    display: flex;
    align-items: center;
    justify-content: space-between;

    color: #0662bb;

    font-size: 15px;
    font-weight: 800;

    text-decoration: none;
}

.service-more span {
    width: 38px;
    height: 38px;

    display: flex;
    align-items: center;
    justify-content: center;

    border: 1.5px solid #1684ee;
    border-radius: 50%;

    font-size: 22px;
    font-weight: 400;

    transition: 0.2s;
}

.service-more:hover span {
    transform: translateX(3px);
}
/* =========================================================
   SERVICES — НИЖНЯЯ ПАНЕЛЬ ПРЕИМУЩЕСТВ
   ========================================================= */

   .services-bottom-bar {
    margin-top: 24px;
    padding: 20px 26px;

    display: grid;
    grid-template-columns: 1.25fr 1fr 1fr 1fr;

    background:
        linear-gradient(
            90deg,
            rgba(239, 250, 226, 0.96) 0%,
            rgba(246, 252, 239, 0.96) 50%,
            rgba(235, 249, 225, 0.96) 100%
        );

    border: 1px solid rgba(91, 157, 25, 0.10);
    border-radius: 18px;

    box-shadow:
        0 8px 24px rgba(35, 100, 80, 0.05);
}


/* Один элемент нижней панели */

.services-bottom-item {
    min-width: 0;

    padding: 4px 22px;

    display: flex;
    align-items: center;
    gap: 14px;

    border-left: 1px solid rgba(70, 135, 80, 0.15);
}


/* У первого элемента нет разделителя */

.services-bottom-item:first-child {
    padding-left: 0;

    border-left: none;
}


/* Иконка */

.services-bottom-icon {
    flex-shrink: 0;

    width: 44px;
    height: 44px;

    display: flex;
    align-items: center;
    justify-content: center;

    font-size: 27px;
}


/* Синие иконки */

.services-bottom-icon-blue {
    color: #0662bb;
}


/* Текст справа от иконки */

.services-bottom-text {
    min-width: 0;

    display: flex;
    flex-direction: column;

    gap: 3px;
}


/* Основная строка */

.services-bottom-text strong {
    color: #064B91;

    font-size: 14px;
    line-height: 1.25;
}


/* Вторая строка */

.services-bottom-text span {
    color: #68758a;

    font-size: 12px;
    line-height: 1.3;
}


/* Первый блок — зелёный акцент как в референсе */

.services-bottom-item-main
.services-bottom-text strong {
    color: #198b27;
}

.services-bottom-item-main
.services-bottom-text span {
    color: #198b27;

    font-size: 15px;
    font-weight: 800;
}


/* =========================================================
   6. ABOUT — О НАС
   ========================================================= */

.about {
    padding: 90px 0 0;

    background: #f7f8f5;
}

/* Две колонки: фото + текст */
.about-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 70px;

    align-items: start;
}
/* =========================================================
   ABOUT — ДЕКОРАТИВНАЯ ФОРМА ЗА ФОТОГРАФИЕЙ
   ========================================================= */

   .about-image {
    position: relative;

    padding: 26px 24px 34px 22px;
}


/* Светло-зелёная мягкая форма за фотографией */

.about-image::before {
    content: "";

    position: absolute;

    top: 0;
    left: -24px;

    width: calc(100% + 45px);
    height: 100%;

    background:
        linear-gradient(
            145deg,
            #e8f7e8 0%,
            #dff3e4 55%,
            #eef9ef 100%
        );

    border-radius:
        30% 42% 35% 45% /
        20% 30% 38% 32%;

    transform: rotate(-2deg);

    z-index: 0;
}
/* Реальная фотография блока "О нас" */
.about-image img {
    position: relative;
    z-index: 1; 
    display: block;

    width: 100%;
    height: 520px;

    object-fit: cover;

    border-radius: 24px;
}

/* Заголовок блока "О нас" */
.about-content h2 {
    max-width: 520px;

    margin-bottom: 24px;

    color: #1e2926;

    font-size: 46px;
    line-height: 1.1;
}

/* Основной текст */
.about-text {
    max-width: 560px;

    margin-bottom: 18px;

    color: #68736f;

    font-size: 17px;
    line-height: 1.7;
}

/* Список преимуществ */
/* =========================================================
   ABOUT — ТРИ ПРЕИМУЩЕСТВА
   ========================================================= */

   .about-points {
    margin-top: 32px;

    display: grid;
    grid-template-columns: repeat(3, 1fr);

    gap: 0;
}

/* Одно преимущество */
.about-point {
    padding: 8px 20px;

    display: flex;
    flex-direction: column;
    align-items: center;

    text-align: center;

    border-bottom: none;
    border-right: 1px solid #dfe7e2;
}
.about-point:last-child {
    border-right: none;
}
/* Круглая иконка над преимуществом */

.about-point-icon {
    width: 62px;
    height: 62px;

    margin-bottom: 12px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: #e6f6e9;

    color: #08785f;

    border-radius: 50%;

    font-size: 32px;
    line-height: 1;
    font-weight: 400;
}

/* Название преимущества */
.about-point strong {
    display: block;

    margin-bottom: 6px;

    color: #06243f;

    font-size: 15px;
    line-height: 1.3;

    font-weight: 800;
}

/* Описание преимущества */
.about-point span {
    color: #68758a;

    font-size: 13px;
    line-height: 1.4;
}
/* =========================================================
   ABOUT — НИЖНЯЯ ТЁМНО-ЗЕЛЁНАЯ ВОЛНА
   ========================================================= */

   .about-bottom {
    position: relative;

    margin-top: 20px;

    min-height: 150px;

    padding: 58px 0 28px;

    background-image:
        url("../images/decor/about-bottom-bg.svg");

    background-repeat: no-repeat;
    background-position: center bottom;
    background-size: 100% 100%;

    color: #ffffff;
}





/* Содержимое панели */

.about-bottom-inner {
    position: relative;
    z-index: 1;

    display: grid;

    grid-template-columns:
        1fr
        1fr
        1fr
        auto;

    gap: 36px;

    align-items: center;
}


/* Один пункт */

.about-bottom-item {
    display: flex;

    align-items: center;

    gap: 13px;

    min-width: 0;
}


/* Иконка */

.about-bottom-icon {
    flex-shrink: 0;

    width: 40px;
    height: 40px;

    display: flex;

    align-items: center;
    justify-content: center;

    color: #ffffff;

    font-size: 29px;
    line-height: 1;
}


/* Текст */

.about-bottom-item strong {
    color: #ffffff;

    font-size: 14px;
    line-height: 1.3;

    font-weight: 700;
}


/* Кнопка справа */

.about-bottom-button {
    min-height: 48px;

    padding: 0 22px;

    display: inline-flex;

    align-items: center;
    justify-content: center;

    gap: 14px;

    color: #ffffff;

    border: 1.5px solid rgba(255, 255, 255, 0.8);
    border-radius: 999px;

    font-size: 14px;
    font-weight: 700;

    text-decoration: none;

    white-space: nowrap;

    transition: 0.2s;
}


.about-bottom-button:hover {
    background: rgba(255, 255, 255, 0.10);
}


.about-bottom-button span {
    font-size: 21px;
}

/* =========================================================
   7. PROCESS — КАК МЫ РАБОТАЕМ
   ========================================================= */

.process {
    padding: 100px 0;

    background: #ffffff;
}

/* Сетка из четырёх шагов */
.process-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
}

/* Один шаг */
.process-item {
    padding: 10px 24px 10px 0;
}

/* Номер шага */
.process-number {
    display: block;

    margin-bottom: 22px;

    color: #c8d8d2;

    font-size: 42px;
    font-weight: 700;
    line-height: 1;
}

/* Заголовок шага */
.process-item h3 {
    margin-bottom: 10px;

    color: #1e2926;

    font-size: 20px;
    line-height: 1.3;
}

/* Описание шага */
.process-item p {
    color: #68736f;

    font-size: 15px;
    line-height: 1.6;
}


/* =========================================================
   8. GALLERY — ГАЛЕРЕЯ
   ========================================================= */

.gallery {
    padding: 100px 0;

    background: #f7f8f5;
}

/* Сетка фотографий */
.gallery-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
}

/* Контейнер одной фотографии */
.gallery-item {
    overflow: hidden;

    border-radius: 18px;
}

/* Фотография галереи */
.gallery-item img {
    display: block;

    width: 100%;
    height: 280px;

    object-fit: cover;

    border-radius: 18px;
}


/* =========================================================
   9. REVIEWS — ОТЗЫВЫ
   ========================================================= */

.reviews {
    padding: 100px 0;

    background: #ffffff;
}

/* Сетка отзывов */
.reviews-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

/* Одна карточка отзыва */
.review-card {
    padding: 32px;

    background: #f7f8f5;

    border: 1px solid #e5e9e6;
    border-radius: 18px;
}

/* Текст отзыва */
.review-text {
    margin-bottom: 25px;

    color: #43504b;

    font-size: 17px;
    line-height: 1.7;
}

/* Имя клиента */
.review-author {
    color: #1e2926;

    font-size: 15px;
    font-weight: 700;
}


/* =========================================================
   10. CTA — ПРИЗЫВ ПОЗВОНИТЬ / НАПИСАТЬ
   ========================================================= */
/* =========================================================
   CTA — ВЕРХНЯЯ ГРАДИЕНТНАЯ ПАНЕЛЬ КОНТАКТОВ
   ========================================================= */

   .cta {
    padding: 48px 0;

    /* Фирменная картинка вместо зелёно-синего градиента */
background-color: #0AA088;

background-image: url("../images/decor/polosa.jpg");

background-repeat: no-repeat;
background-position: center center;
background-size: cover;

color: #ffffff;
}

/* Текст слева, кнопка справа */
/* Текст слева + телефон справа */

.cta-inner {
    display: grid;

    grid-template-columns: 1fr auto;

    gap: 60px;

    align-items: center;
}

/* Маленькая подпись */
/* Маленькая подпись над заголовком */

.cta-label {
    margin-bottom: 10px;

    color: rgba(255, 255, 255, 0.88);

    font-size: 13px;
    font-weight: 800;

    text-transform: uppercase;
    letter-spacing: 2px;
}

/* Заголовок CTA */
/* Большой заголовок CTA */

.cta-content h2 {
    margin-bottom: 10px;

    color: #ffffff;

    font-size: 48px;
    line-height: 1.05;

    font-weight: 800;
}

/* Обычный текст CTA */
.cta-content > p:not(.cta-label) {
    max-width: 620px;

    color: rgba(255, 255, 255, 0.92);

    font-size: 17px;
    line-height: 1.5;
}

/* Кнопка с телефоном */
/* Белая телефонная кнопка */

.cta-button {
    min-height: 60px;

    padding: 0 28px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    background: #ffffff;

    color: #064B91;

    border: none;
    border-radius: 14px;

    font-size: 18px;
    font-weight: 800;

    text-decoration: none;
    white-space: nowrap;

    box-shadow:
        0 10px 24px rgba(0, 80, 140, 0.12);

    transition: 0.2s;
}

.cta-button:hover {
    transform: translateY(-2px);

    box-shadow:
        0 14px 28px rgba(0, 80, 140, 0.17);
}




/* =========================================================
   11. CONTACTS — КОНТАКТЫ
   ========================================================= */

/* =========================================================
   11. CONTACTS — КОНТАКТЫ
   ========================================================= */

 /* =========================================================
   CONTACTS — ЕДИНАЯ ФОНОВАЯ ПОДЛОЖКА
   polosa-2.jpg: светлая область под текстом и фото справа
   ========================================================= */

.contacts {
    position: relative;
    overflow: hidden;

    padding: 85px 0;

    background-color: #ffffff;

    /* Одна картинка на всю секцию, без белого градиента */
    background-image: url("../images/decor/polosa-2.jpg");

    background-repeat: no-repeat;
    background-position: center center;

    /* Сохраняем всю композицию картинки без обрезки */
    background-size: 100% 100%;
}


/* =========================================================
   ОСНОВНАЯ СЕТКА
   Текст | Карточка | Фото
   ========================================================= */

/* Текст слева + карточка по центру.
   Правая часть секции оставлена фоновой фотографии. */

   .contacts-grid {
    display: grid;

    grid-template-columns: 1fr 0.95fr;

    gap: 48px;

    align-items: center;

    /*
       Освобождаем справа место для декоративной фотографии.
    */
    padding-right: 300px;
}

/* =========================================================
   ЛЕВАЯ ЧАСТЬ
   ========================================================= */

.contacts-content h2 {
    max-width: 520px;

    margin-bottom: 20px;

    color: #06243f;

    font-size: 50px;
    line-height: 1.02;

    font-weight: 800;
}


/* Вторая строка заголовка */

.contacts-content h2 span {
    display: block;
}


/* Пояснительный текст */

.contacts-text {
    max-width: 480px;

    color: #68758a;

    font-size: 17px;
    line-height: 1.55;
}


/* =========================================================
   ТРИ ПРЕИМУЩЕСТВА СЛЕВА
   ========================================================= */

.contacts-benefits {
    margin-top: 38px;

    display: grid;
    grid-template-columns: repeat(3, 1fr);

    gap: 14px;
}


/* Один пункт */

.contacts-benefit {
    text-align: center;
}


/* Круглая иконка */

.contacts-benefit-icon {
    width: 62px;
    height: 62px;

    margin: 0 auto 12px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: #e7f7e8;

    color: #168a43;

    border-radius: 50%;
}


/* Голубая иконка */

.contacts-benefit-icon-blue {
    background: #e7f5fd;

    color: #0785c9;
}


/* Сам SVG */

.contacts-benefit-icon svg {
    width: 31px;
    height: 31px;
}


/* Название */

.contacts-benefit strong {
    display: block;

    margin-bottom: 6px;

    color: #06243f;

    font-size: 14px;
    line-height: 1.3;
}


/* Подпись */

.contacts-benefit span {
    display: block;

    color: #68758a;

    font-size: 12px;
    line-height: 1.4;
}


/* =========================================================
   ЦЕНТРАЛЬНАЯ КОНТАКТНАЯ КАРТОЧКА
   ========================================================= */

.contact-box {
    padding: 26px 32px 28px;

    background: rgba(255, 255, 255, 0.96);

    border: 1px solid #e6ece9;
    border-radius: 22px;

    box-shadow:
        0 16px 42px rgba(0, 70, 100, 0.08);
}


/* Одна строка */

.contact-item {
    padding: 16px 0;

    display: grid;

    grid-template-columns: 54px 1fr;

    gap: 16px;

    align-items: center;

    border-bottom: 1px solid #e5e9e7;
}


/* Первая строка */

.contact-item:first-child {
    padding-top: 0;
}


/* Последняя строка */

.contact-item:last-of-type {
    border-bottom: none;
}


/* Круглая иконка строки */

.contact-item-icon {
    width: 48px;
    height: 48px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: #e7f7e8;

    color: #45ae31;

    border-radius: 50%;
}


/* Голубой вариант */

.contact-item-icon-blue {
    background: #e7f5fd;

    color: #0785c9;
}


/* SVG */

.contact-item-icon svg {
    width: 25px;
    height: 25px;
}


/* Текстовая часть */

.contact-item-content {
    min-width: 0;
}


/* Маленькая подпись */

.contact-name {
    display: block;

    margin-bottom: 4px;

    color: #68758a;

    font-size: 13px;
}


/* Основное значение */

.contact-value,
.contact-item a {
    color: #06243f;

    font-size: 18px;
    font-weight: 800;

    line-height: 1.25;

    text-decoration: none;
}


/* =========================================================
   КНОПКА В КАРТОЧКЕ
   ========================================================= */

.contact-button {
    width: 100%;

    min-height: 58px;

    margin-top: 18px;
    padding: 0 22px;

    display: flex;
    align-items: center;
    justify-content: center;

    gap: 14px;

    background:
        linear-gradient(
            90deg,
            #45AE31 0%,
            #159F67 50%,
            #078C80 100%
        );

    color: #ffffff;

    border-radius: 13px;

    font-size: 17px;
    font-weight: 800;

    text-decoration: none;

    box-shadow:
        0 10px 22px rgba(21, 159, 103, 0.16);
}


/* Стрелка справа */

.contact-button strong {
    margin-left: auto;

    font-size: 22px;
}




/* Телефон выделяем фирменным цветом */
.contact-item a {
    color: #2f6658;
}


/* =========================================================
   12. FOOTER — НИЖНЯЯ ЧАСТЬ САЙТА
   ========================================================= */

.footer {
    padding: 32px 0;

    background: #18231f;
    color: #ffffff;
}

/* Внутренняя строка footer */
.footer-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
}

/* Название компании */
.footer-logo {
    font-size: 20px;
    font-weight: 800;
}

/* Копирайт */
.footer-copy {
    color: #9caaa4;

    font-size: 13px;
}


/* =========================================================
   13. RESPONSIVE — ПЛАНШЕТЫ ДО 900px
   ========================================================= */

@media (max-width: 900px) {

    /* HERO — две колонки превращаем в одну */
    .hero-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    /* Фото первого экрана */
    .hero-image img {
        height: 420px;
    }

    /* SERVICES — две карточки в ряд */
    .services-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    /* ABOUT — фото и текст друг под другом */
    .about-grid {
        grid-template-columns: 1fr;
        gap: 45px;
    }
    /* BENEFITS — по два элемента в ряд */

.benefits-grid {
    grid-template-columns: repeat(2, 1fr);
}

.benefit-item:nth-child(2) {
    border-right: none;
}

.benefit-item:nth-child(1),
.benefit-item:nth-child(2) {
    border-bottom: 1px solid #e5e9e6;
}

    /* Фото "О нас" */
    .about-image img {
        height: 420px;
    }

    /* PROCESS — сетка 2 × 2 */
    .process-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 35px;
    }

    /* GALLERY — две фотографии в ряд */
    .gallery-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    /* REVIEWS — отзывы по одному */
    .reviews-grid {
        grid-template-columns: 1fr;
    }

    /* =========================================================
   CTA — ПЛАНШЕТ
   ========================================================= */

.cta-inner {
    grid-template-columns: 1fr;
    gap: 24px;
}

.cta-action {
    width: 100%;
}

.cta-button {
    width: fit-content;
}


/* =========================================================
   CONTACTS — ПЛАНШЕТ
   ========================================================= */

.contacts-grid {
    grid-template-columns: 1fr;

    gap: 34px;

    /* В desktop мы оставляли место справа под фото.
       На планшете это место больше не резервируем. */
    padding-right: 0;
}


/* Фоновое фото остаётся только декоративным справа */

.contacts {
    /* Не растягиваем изображение по ширине и высоте одновременно */
    background-size: auto 65%;

    /* Декор располагается справа внизу */
    background-position: right bottom;

    background-repeat: no-repeat;
}


/* ABOUT — нижняя панель */

.about-bottom-inner {
    grid-template-columns: repeat(2, minmax(0, 1fr));

    gap: 22px 30px;
}

.about-bottom-button {
    width: 100%;
}

}


/* =========================================================
   14. RESPONSIVE — ТЕЛЕФОНЫ ДО 600px
   ========================================================= */

@media (max-width: 600px) {

    /* -----------------------------------------------------
       ОБЩЕЕ
       ----------------------------------------------------- */

    /* Уменьшаем боковые поля */
    .container {
        width: calc(100% - 28px);
    }
    /* Логотип на телефоне */

    .logo img {
        height: 52px;
    }

    /* -----------------------------------------------------
       HEADER + MOBILE MENU
       ----------------------------------------------------- */

    /* Высота шапки на телефоне */
    .header-inner {
        min-height: 66px;
    }

    /* Показываем кнопку-бургер */
    .menu-toggle {
        display: block;
    }

    /* По умолчанию мобильное меню скрыто */
    .nav {
        display: none;

        position: absolute;
        top: 66px;
        left: 0;

        width: 100%;

        padding: 12px 0;

        background: #ffffff;

        border-top: 1px solid #e5e9e6;
        border-bottom: 1px solid #e5e9e6;

        box-shadow: 0 12px 25px rgba(0, 0, 0, 0.06);
    }

    /* JavaScript добавляет active при нажатии на бургер */
    .nav.active {
        display: flex;
        flex-direction: column;
        gap: 0;
    }

    /* Пункты мобильного меню */
    .nav a {
        display: block;

        padding: 15px 20px;

        color: #1e2926;

        font-size: 16px;

        text-decoration: none;
    }

    /* Наведение / нажатие */
    .nav a:hover {
        background: #f7f8f5;
        color: #2f6658;
    }
    /* =========================================================
   HERO V2 — MOBILE
   Новый Hero на телефоне становится ОДНОЙ колонкой
   ========================================================= */

.hero-v2 {
    padding: 34px 0 30px;
}


/* ---------------------------------------------------------
   ОСНОВНАЯ СЕТКА
   На desktop было 2 колонки.
   На телефоне делаем одну.
   --------------------------------------------------------- */

.hero-v2-grid {
    grid-template-columns: 1fr;

    gap: 28px;
}


/* Левая часть занимает всю ширину */

.hero-v2-content {
    width: 100%;
    min-width: 0;
}


/* ---------------------------------------------------------
   ЗЕЛЁНАЯ ПЛАШКА
   --------------------------------------------------------- */

.hero-v2-label {
    margin-bottom: 16px;

    padding: 8px 12px;

    font-size: 12px;
}


/* ---------------------------------------------------------
   ГЛАВНЫЙ ЗАГОЛОВОК
   Больше не огромный desktop-заголовок
   --------------------------------------------------------- */

.hero-v2-title {
    margin-bottom: 16px;

    font-size: 48px;

    line-height: 0.96;

    letter-spacing: -1.4px;
}


/* ---------------------------------------------------------
   CURĂȚENIE • SĂNĂTATE • ÎNCREDERE
   Сохраняем в одну аккуратную строку
   --------------------------------------------------------- */

.hero-v2-brand-line {
    flex-wrap: nowrap;

    gap: 7px;

    margin-bottom: 20px;

    font-size: 11px;

    letter-spacing: 1px;
}


.hero-v2-brand-line i {
    width: 5px;
    height: 5px;

    flex-basis: 5px;
}


/* ---------------------------------------------------------
   ОПИСАНИЕ
   --------------------------------------------------------- */

.hero-v2-text {
    max-width: none;

    margin-bottom: 22px;

    font-size: 17px;

    line-height: 1.5;
}


/* ---------------------------------------------------------
   ДВЕ КНОПКИ
   На телефоне оставляем рядом,
   но делаем компактнее
   --------------------------------------------------------- */

.hero-v2-actions {
    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 10px;

    margin-bottom: 24px;
}


.hero-v2-button {
    width: 100%;

    min-height: 50px;

    padding: 0 12px;

    border-radius: 14px;

    font-size: 14px;

    gap: 7px;
}


/* ---------------------------------------------------------
   500+ / 100% / PESTE 5 ANI
   Вместо длинной вертикальной колонки —
   три компактных пункта рядом
   --------------------------------------------------------- */

.hero-v2-numbers {
    display: grid;

    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    gap: 10px;

    margin-top: 0;
}


.hero-v2-number-item {
    width: auto;

    display: flex;

    flex-direction: column;

    align-items: center;

    gap: 5px;

    text-align: center;
}


.hero-v2-number-icon {
    width: 34px;
    height: 34px;

    flex: 0 0 34px;
}


.hero-v2-number-icon svg {
    width: 27px;
    height: 27px;
}


.hero-v2-number-text {
    align-items: center;
}


.hero-v2-number-text strong {
    font-size: 14px;
}


.hero-v2-number-text span {
    font-size: 10px;
}


/* ---------------------------------------------------------
   ФОТО
   Теперь оно идёт НИЖЕ текста,
   а не узкой колонкой справа
   --------------------------------------------------------- */

.hero-v2-visual {
    width: 100%;

    min-height: 0;

    display: block;
}


.hero-v2-photo {
    width: 100%;

    border-radius: 28px;
}


.hero-v2-photo img {
    width: 100%;
    height: auto;

    aspect-ratio: 4 / 3;

    object-fit: cover;
    object-position: center;

    border-radius: inherit;
}


/* ---------------------------------------------------------
   СЛОЖНЫЙ ДЕКОР НА ТЕЛЕФОНЕ УБИРАЕМ
   Иначе он только мешает маленькому экрану
   --------------------------------------------------------- */

.hero-v2-visual-shape,
.hero-v2-badge,
.hero-v2-leaves,
.hero-v2-sparkles,
.hero-v2-bubbles,
.hero-v2-script {
    display: none;
} 
    .hero {
        padding: 50px 0 60px;
    }

    .hero h1 {
        font-size: 42px;
        line-height: 1.05;
    }

    .hero-content > p:not(.hero-label) {
        font-size: 17px;
    }

    .hero-image img {
        height: 330px;

        border-radius: 18px;
    }
    /* На телефоне декоративные пузырьки убираем */

    .hero-bubbles {
        display: none;
    }
    /* =========================================================
   BENEFITS — MOBILE
   ========================================================= */

.benefits {
    padding-bottom: 22px;
}


.benefits .container {
    padding: 14px;

    border-radius: 24px;
}


.benefits-grid {
    grid-template-columns: 1fr;
}


.benefit-item {
    padding: 14px 8px;

    border-right: none;

    border-bottom:
        1px solid #e2e9e5;
}


.benefit-item:last-child {
    border-bottom: none;
}


.benefit-icon {
    width: 50px;
    height: 50px;

    flex-basis: 50px;

    font-size: 22px;
}


/* Большую кнопку header на телефоне не показываем —
   связь остаётся через сайт и мобильное меню */

   .header-contact-button {
    display: none;
}

    /* -----------------------------------------------------
       ОБЩИЕ ОТСТУПЫ СЕКЦИЙ
       ----------------------------------------------------- */

    .services,
    .about,
    .process,
    .gallery,
    .reviews,
    .contacts {
        padding: 70px 0;
    }


    /* -----------------------------------------------------
       ЗАГОЛОВКИ
       ----------------------------------------------------- */

    .section-heading h2,
    .about-content h2,
    .contacts-content h2 {
        font-size: 34px;
    }
    /* =========================================================
   BENEFITS — ТЕЛЕФОН
   ========================================================= */

.benefits {
    padding: 18px 0;
}

.benefit-item {
    padding: 16px 12px;

    gap: 10px;
}

.benefit-icon {
    width: 40px;
    height: 40px;

    font-size: 18px;
}

.benefit-content strong {
    font-size: 13px;
}

.benefit-content span {
    font-size: 12px;
}

    /* -----------------------------------------------------
       SERVICES
       ----------------------------------------------------- */

    .services-grid {
        grid-template-columns: 1fr;
    }


    /* -----------------------------------------------------
       ABOUT
       ----------------------------------------------------- */

    .about-image img {
        height: 330px;

        border-radius: 18px;
    }


    /* -----------------------------------------------------
       PROCESS
       ----------------------------------------------------- */

    .process-grid {
        grid-template-columns: 1fr;
    }


    /* -----------------------------------------------------
       GALLERY
       ----------------------------------------------------- */

    .gallery-grid {
        grid-template-columns: 1fr;
    }

    .gallery-item img {
        height: 260px;
    }


    /* -----------------------------------------------------
       REVIEWS
       ----------------------------------------------------- */

    .review-card {
        padding: 26px;
    }


    /* -----------------------------------------------------
       CTA
       ----------------------------------------------------- */

    /* =========================================================
   CTA — ТЕЛЕФОН
   ========================================================= */

.cta {
    padding: 40px 0;
}

.cta-inner {
    grid-template-columns: 1fr;
    gap: 24px;
}

.cta-content h2 {
    font-size: 36px;
    line-height: 1.05;
}

.cta-label {
    font-size: 12px;
}

.cta-action {
    width: 100%;
}

.cta-button {
    width: 100%;
}
/* =========================================================
   CONTACTS — ТЕЛЕФОН
   На маленьком экране декоративное фото убираем
   ========================================================= */

   .contacts {
    padding: 60px 0;

    background: #ffffff;
}

.contacts-grid {
    grid-template-columns: 1fr;

    gap: 32px;

    padding-right: 0;
}
.contacts-benefits {
    grid-template-columns: 1fr;

    gap: 20px;

    margin-top: 30px;
}

.contacts-benefit {
    display: grid;

    grid-template-columns: 52px 1fr;

    column-gap: 14px;

    align-items: center;

    text-align: left;
}

.contacts-benefit-icon {
    width: 52px;
    height: 52px;

    margin: 0;

    grid-row: 1 / 3;
}

.contacts-benefit strong {
    margin-bottom: 2px;
}

.contacts-benefit span {
    text-align: left;
}


.contact-box {
    padding: 22px;
}

.contact-button {
    padding: 0 14px;

    gap: 10px;

    font-size: 15px;

    white-space: nowrap;
}

.contact-button strong {
    margin-left: auto;
}
/* =========================================================
   ABOUT BOTTOM — ТЕЛЕФОН
   ========================================================= */

   .about-bottom {
    padding: 70px 0 28px;
}

.about-bottom-inner {
    grid-template-columns: 1fr;

    gap: 18px;
}

.about-bottom-item {
    justify-content: flex-start;
}

.about-bottom-button {
    width: 100%;
}
.about {
    padding: 70px 0 0;
}
/* -----------------------------------------------------
   ABOUT — преимущества на телефоне
   ----------------------------------------------------- */

   .about-points {
    grid-template-columns: 1fr;
    gap: 0;
}

.about-point {
    padding: 18px 0;

    display: grid;
    grid-template-columns: 58px 1fr;
    column-gap: 14px;

    align-items: center;

    text-align: left;

    border-right: none;
    border-bottom: 1px solid #dfe7e2;
}

.about-point:last-child {
    border-bottom: none;
}

.about-point-icon {
    width: 58px;
    height: 58px;

    margin: 0;

    grid-row: 1 / 3;
}

.about-point strong,
.about-point span {
    text-align: left;
}
/* На телефоне декоративная форма не должна
   выходить за ширину экрана */

   .about-image {
    padding: 0;

    overflow: hidden;

    border-radius: 24px;
}

.about-image::before {
    left: 0;

    width: 100%;

    transform: none;
}

    /* -----------------------------------------------------
       FOOTER
       ----------------------------------------------------- */

    .footer-inner {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }

}

/* =========================================================
   SERVICES — ЦЕНЫ В КАРТОЧКАХ УСЛУГ
   ========================================================= */

/* Цена услуги */

.service-price {
    margin-bottom: 14px;

    color: #2f6658 !important;

    font-size: 24px !important;
    font-weight: 800;

    line-height: 1.2 !important;
}


/* Время выполнения рядом с ценой */

.service-price span {
    display: block;

    margin-top: 5px;

    color: #68736f;

    font-size: 14px;
    font-weight: 400;
}

/* =========================================================
   OFFERS — ФИРМЕННЫЕ ПРЕДЛОЖЕНИЯ VITAL CLEAN
   ========================================================= */

   .offers {
    padding: 90px 0;

    background: #ffffff;
}


/* Заголовок блока */

.offers-heading {
    margin-bottom: 30px;
}

.offers-heading p {
    margin-bottom: 8px;

    color: #2f6658;

    font-size: 13px;
    font-weight: 700;

    text-transform: uppercase;
    letter-spacing: 1px;
}

.offers-heading h3 {
    color: #18231f;

    font-size: 32px;
    line-height: 1.2;
}


/* Сетка карточек */

.offers-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}


/* Одна карточка */

.offer-card {
    display: block;

    overflow: hidden;

    background: #ffffff;

    border: 1px solid #e5e9e6;
    border-radius: 18px;

    text-decoration: none;
}


/* Картинка карточки */

.offer-card img {
    display: block;

    width: 100%;
    height: 320px;

    object-fit: cover;
}


/* Подпись под картинкой */

.offer-card span {
    display: block;

    padding: 16px 18px;

    color: #1e2926;

    font-size: 16px;
    font-weight: 700;
    line-height: 1.4;
}


/* Наведение */

.offer-card:hover {
    transform: translateY(-2px);

    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.06);
}


/* =========================================================
   OFFERS — АДАПТАЦИЯ
   ========================================================= */

@media (max-width: 900px) {

    .offers-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    /* SERVICES — нижняя панель на планшете */

.services-bottom-bar {
    grid-template-columns: repeat(2, 1fr);
}

.services-bottom-item {
    border-left: none;
    border-top: 1px solid rgba(70, 135, 80, 0.15);
}

.services-bottom-item:nth-child(1),
.services-bottom-item:nth-child(2) {
    border-top: none;
}

}

@media (max-width: 600px) {

    .offers-section {
        margin-top: 40px;
    }

    .offers-heading h3 {
        font-size: 24px;
    }

    .offers-grid {
        grid-template-columns: 1fr;
    }

    .offer-card img {
        height: 280px;
    }
    /* SERVICES — нижняя панель на телефоне */

.services-bottom-bar {
    grid-template-columns: 1fr;

    padding: 18px;
}

.services-bottom-item {
    padding: 16px 0;

    border-top: 1px solid rgba(70, 135, 80, 0.15);
}

.services-bottom-item:first-child {
    border-top: none;
}

}


/* =========================================================
   VIDEOS — VITAL CLEAN ÎN ACȚIUNE
   Отдельная секция с реальными видео компании
   ========================================================= */

   .videos-section {
    padding: 85px 0;

    background:
        linear-gradient(
            180deg,
            #ffffff 0%,
            #f7fbfd 100%
        );
}


/* ---------------------------------------------------------
   ЗАГОЛОВОК СЕКЦИИ
   --------------------------------------------------------- */

.videos-heading {
    margin-bottom: 34px;
}


/* Маленькая зелёная надпись */

.videos-heading > p {
    margin-bottom: 8px;

    color: #329c26;

    font-size: 13px;
    font-weight: 800;

    letter-spacing: 1.5px;
    text-transform: uppercase;
}


/* Главный заголовок */

.videos-heading h2 {
    margin-bottom: 10px;

    color: #064B91;

    font-size: 42px;
    line-height: 1.1;

    font-weight: 800;
}


/* Подзаголовок */

.videos-heading > span {
    display: block;

    max-width: 650px;

    color: #66758a;

    font-size: 16px;
    line-height: 1.55;
}


/* =========================================================
   СЕТКА ВИДЕО — DESKTOP
   5 вертикальных роликов в одну строку
   ========================================================= */

.videos-grid {
    display: grid;

    grid-template-columns: repeat(5, minmax(0, 1fr));

    gap: 18px;
}


/* ---------------------------------------------------------
   ОДНА ВИДЕО-КАРТОЧКА
   --------------------------------------------------------- */

.video-card {
    min-width: 0;

    overflow: hidden;

    background: #ffffff;

    border: 1px solid #e2e9e6;
    border-radius: 18px;

    box-shadow:
        0 8px 24px rgba(0, 70, 100, 0.06);

    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease;
}


/* Лёгкий эффект на компьютере */

.video-card:hover {
    transform: translateY(-3px);

    box-shadow:
        0 14px 30px rgba(0, 70, 100, 0.10);
}


/* ---------------------------------------------------------
   САМО ВИДЕО
   Все ролики вертикальные
   --------------------------------------------------------- */

.video-card video {
    display: block;

    width: 100%;

    aspect-ratio: 9 / 16;

    object-fit: cover;

    background: #eef4f2;
}


/* ---------------------------------------------------------
   ПОДПИСЬ ПОД ВИДЕО
   --------------------------------------------------------- */

.video-card p {
    margin: 0;

    padding: 14px 14px 16px;

    color: #064B91;

    font-size: 14px;
    line-height: 1.35;

    font-weight: 700;
}

/* =========================================================
   VIDEOS — ПЛАНШЕТ
   ========================================================= */

   @media (max-width: 900px) {

    .videos-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));

        gap: 16px;
    }

    .videos-heading h2 {
        font-size: 36px;
    }

}

/* =========================================================
   VIDEOS — ТЕЛЕФОН
   Ролики листаются пальцем по горизонтали
   ========================================================= */

   @media (max-width: 600px) {

    .videos-section {
        padding: 60px 0;
    }


    .videos-heading {
        margin-bottom: 26px;
    }


    .videos-heading h2 {
        font-size: 32px;
    }


    .videos-heading > span {
        font-size: 15px;
    }


    /* На телефоне превращаем grid в горизонтальную ленту */

    .videos-grid {
        display: flex;

        gap: 14px;

        overflow-x: auto;

        padding-bottom: 12px;

        scroll-snap-type: x mandatory;

        -webkit-overflow-scrolling: touch;
    }


    /* Одна карточка занимает большую часть экрана.
       Кусочек следующей виден справа —
       пользователь понимает, что можно листать. */

    .video-card {
        flex: 0 0 78%;

        scroll-snap-align: start;
    }


    /* Убираем hover-анимацию на телефоне */

    .video-card:hover {
        transform: none;

        box-shadow:
            0 8px 24px rgba(0, 70, 100, 0.06);
    }

}


/* =========================================================
   IMAGE MODAL — ПРОСМОТР КАРТИНОК УСЛУГ
   ========================================================= */

/* Затемнение всего экрана */

.image-modal {
    display: none;

    position: fixed;
    inset: 0;

    z-index: 5000;

    padding: 30px;

    background: rgba(10, 18, 15, 0.88);

    align-items: center;
    justify-content: center;
}


/* Когда модалка открыта */

.image-modal.active {
    display: flex;
}


/* Внутреннее окно */

.image-modal-content {
    position: relative;

    width: min(1100px, 95vw);
    max-height: 94vh;

    display: flex;
    flex-direction: column;
    align-items: center;

    background: #ffffff;

    border-radius: 18px;

    overflow: hidden;

    box-shadow: 0 25px 70px rgba(0, 0, 0, 0.35);
}


/* Большая картинка */

.image-modal-img {
    display: block;

    max-width: 100%;
    max-height: 82vh;

    width: auto;
    height: auto;

    object-fit: contain;
}


/* Крестик */

.image-modal-close {
    position: absolute;

    top: 12px;
    right: 12px;

    z-index: 2;

    width: 44px;
    height: 44px;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 0;

    background: rgba(24, 35, 31, 0.88);
    color: #ffffff;

    border: none;
    border-radius: 50%;

    font-size: 30px;
    line-height: 1;

    cursor: pointer;
}


/* Крестик при наведении */

.image-modal-close:hover {
    background: #2f6658;
}


/* Подпись под изображением */

.image-modal-caption {
    width: 100%;

    padding: 14px 20px;

    color: #1e2926;

    font-size: 16px;
    font-weight: 700;
    text-align: center;

    background: #ffffff;
}


/* Пока модалка открыта —
   запрещаем прокрутку страницы */

body.modal-open {
    overflow: hidden;
}


/* =========================================================
   IMAGE MODAL — ТЕЛЕФОН
   ========================================================= */

@media (max-width: 600px) {

    .image-modal {
        padding: 12px;
    }

    .image-modal-content {
        width: 100%;

        border-radius: 14px;
    }

    .image-modal-img {
        max-height: 80vh;
    }

    .image-modal-close {
        top: 8px;
        right: 8px;

        width: 40px;
        height: 40px;

        font-size: 27px;
    }

}


/* =========================================================
   HERO SPARKLES — ФИРМЕННЫЕ БЛИКИ VITAL CLEAN
   ========================================================= */

   .hero-image {
    position: relative;
}


/* Общий контейнер */

.hero-sparkles {
    position: absolute;

    top: 40px;
    right: -34px;

    width: 55px;
    height: 75px;

    pointer-events: none;
}


/* Общий стиль бликов */

.sparkle-svg {
    position: absolute;

    display: block;

    fill: #139bd7;
}


/* Большой */

.sparkle-big {
    width: 29px;
    height: 29px;

    top: 0;
    right: 0;
}


/* Средний */

.sparkle-medium {
    width: 16px;
    height: 16px;

    top: 29px;
    right: 20px;
}


/* Маленький */

.sparkle-small {
    width: 8px;
    height: 8px;

    top: 49px;
    right: 8px;
}

/* =========================================================
   HERO BUBBLES — ЛЁГКИЕ ПУЗЫРЬКИ VITAL CLEAN
   ========================================================= */

   .hero-bubbles {
    position: absolute;

    top: 18px;
    right: -72px;

    width: 80px;
    height: 110px;

    pointer-events: none;
}


/* Общий стиль пузырька */

.bubble {
    position: absolute;

    display: block;

    border: 1px solid rgba(41, 160, 220, 0.28);

    border-radius: 50%;

    background:
        radial-gradient(
            circle at 30% 28%,
            rgba(255, 255, 255, 0.85) 0%,
            rgba(255, 255, 255, 0.35) 20%,
            rgba(117, 206, 240, 0.10) 55%,
            rgba(70, 170, 225, 0.04) 100%
        );

    box-shadow:
        inset 2px 2px 5px rgba(255, 255, 255, 0.75),
        0 2px 8px rgba(35, 145, 205, 0.08);

    opacity: 0.55;
}


/* Большой пузырёк */

.bubble-1 {
    width: 28px;
    height: 28px;

    top: 8px;
    right: 8px;
    opacity: 0.38;
}


/* Средний пузырёк */

.bubble-2 {
    width: 16px;
    height: 16px;

    top: 44px;
    right: 34px;

    opacity: 0.42;
}


/* Маленький пузырёк */

.bubble-3 {
    width: 9px;
    height: 9px;

    top: 70px;
    right: 12px;

    opacity: 0.34;
}