/* Регистрация шрифта Hazelnut Pro */
@font-face {
    font-family: 'HazelnutPro';
    /* Укажите правильный путь к файлу в вашем проекте */
    src: url('../fonts/hazelnut-pro.otf') format('opentype');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

html {
    font-size: 14px;
}

@media (min-width: 768px) {
    html {
        font-size: 16px;
    }
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
    box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

html {
    position: relative;
    min-height: 100%;
}

.form-floating > .form-control-plaintext::placeholder, .form-floating > .form-control::placeholder {
    color: var(--bs-secondary-color);
    text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder, .form-floating > .form-control:focus::placeholder {
    text-align: start;
}

/* ==========================================================================
   Кастомный Хеадер (Бургер на 900px и аккуратные отступы)
   ========================================================================== */

/* Логотип Hazelnut Pro */
.custom-logo {
    font-family: 'Hazelnut Pro', 'Georgia', serif;
    font-size: 1.5rem;
    color: #000000 !important;
}

    .custom-logo .text-success {
        color: #7fa644 !important;
    }

/* Овальная кнопка */
.btn-outline-dark.rounded-pill {
    border-color: #d1d1d1;
    color: #000;
    font-size: 0.9rem;
}

    .btn-outline-dark.rounded-pill:hover {
        background-color: #000;
        color: #fff;
        border-color: #000;
    }

/* МОБИЛЬНАЯ ВЕРСИЯ И БУРГЕР (до 900px) */
@media (max-width: 900px) {
    .navbar-expand-custom .navbar-collapse {
        display: none !important;
    }
        /* Когда бургер открыт */
        .navbar-expand-custom .navbar-collapse.show {
            display: flex !important;
            flex-direction: column;
            align-items: flex-start;
            width: 100%;
            padding-top: 1.5rem; /* Отступ сверху внутри открытого меню */
        }

    .navbar-expand-custom .navbar-toggler {
        display: block !important;
    }

    .navbar-expand-custom .navbar-nav {
        flex-direction: column !important;
        margin-left: 0 !important;
        width: 100%;
        gap: 1.25rem !important; /* Расстояние между ссылками в бургере */
    }

    .navbar-expand-custom .style-mobile-item {
        width: 100%;
        text-align: left !important;
    }

    .w-100-mobile {
        width: 100%;
    }

        .w-100-mobile .btn {
            width: auto; /* Если хотите кнопку на всю ширину экрана в бургере, замените auto на 100% */
        }
}

/* ДЕСКТОПНАЯ ВЕРСИЯ (от 901px) */
@media (min-width: 901px) {
    .navbar-expand-custom {
        flex-flow: row nowrap;
        justify-content: flex-start;
    }

        .navbar-expand-custom .navbar-collapse {
            display: flex !important;
            flex-basis: auto;
            flex-direction: row !important;
            align-items: center !important;
        }

        .navbar-expand-custom .navbar-nav {
            flex-direction: row !important;
            align-items: center !important;
            width: auto !important;
        }

        .navbar-expand-custom .navbar-toggler {
            display: none;
        }

        .navbar-expand-custom .style-mobile-item {
            width: auto !important;
        }
}

/* ==========================================================================
   Кастомный Футер (по макету image_db4896.png)
   ========================================================================== */

/* Глубокий черный цвет фона */
.bg-dark-custom {
    background-color: #0c0c0a !important;
}

/* Настройки текста "Company" */
.custom-footer h5 {
    font-size: 1.2rem;
    letter-spacing: 0.5px;
}

/* Ссылки в футере */
.footer-links .nav-link {
    font-size: 0.95rem;
    color: #e0e0e0 !important; /* Светло-серый, почти белый оттенок */
    transition: color 0.2s ease-in-out;
}

    .footer-links .nav-link:hover {
        color: #ffffff !important; /* Чистый белый при наведении */
    }

/* Текст копирайта в самом низу */
.copyright-text {
    font-size: 0.8rem;
    color: #888888 !important; /* Приглушенный серый */
}

/* Адаптивность для мобильных устройств */
@media (max-width: 576px) {
    .footer-links {
        flex-direction: column;
        align-items: center;
        gap: 1rem !important;
    }

    .copyright-text {
        text-align: center !important; /* На мобилках копирайт лучше отцентровать */
    }
}

/* ==========================================================================
   Кастомная Hero-секция (Первая секция Index.cshtml)
   ========================================================================== */

/* Кастомные CSS-переменные для цветов */
:root {
    --servicepoint-green: #C5E963; /* Тот самый зеленый из логотипа */
    --servicepoint-dark-green: #a8d14c; /* Чуть темнее для ховера */
    --text-muted-white: rgba(255, 255, 255, 0.7);
}

/* Фон секции (можно заменить на темный цвет, если нет фонового изображения) */
.hero-custom-bg {
    background-color: #1a1a1a; /* Темный фон по умолчанию */
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    /* Если вы хотите использовать фоновое изображение, раскомментируйте строку ниже: */
    /* background-image: url('../images/hero_background.jpg'); */
}

/* Типографика */
.hero-title {
    font-family: 'Georgia', serif; /* Или ваш кастомный шрифт */
    font-size: calc(2rem + 1.5vw); /* Адаптивный размер */
}

.hero-subtext {
    line-height: 1.6;
}

/* Стилизация ввода email */
.hero-input {
    font-size: 0.95rem;
    height: calc(3rem + 2px); /* Тот же размер, что и у кнопки lg */
}

    .hero-input::placeholder {
        color: #6c757d;
    }

/* Кастомная зеленая кнопка */
.btn-primary-custom {
    background-color: var(--servicepoint-green);
    border-color: var(--servicepoint-green);
    color: #000 !important; /* Черный текст на зеленом фоне */
    transition: all 0.2s ease-in-out;
}

    .btn-primary-custom:hover {
        background-color: var(--servicepoint-dark-green);
        border-color: var(--servicepoint-dark-green);
        color: #000 !important;
    }

/* Позиционирование изображения ноутбука */
.laptop-image-wrapper {
    position: relative;
    left: -10%; /* Сдвигаем влево, чтобы ноутбук заходил под текст */
    z-index: -1;
}

.laptop-img {
    max-width: 140%; /* Делаем ноутбук крупнее */
}

/* Маленькие утилиты */
.fs-7 {
    font-size: 0.85rem;
}

.tracking-wider {
    letter-spacing: 0.1em;
}

/* Адаптивность для мобильных */
@media (max-width: 767.98px) {
    .hero-custom-bg {
        text-align: center;
    }

    .hero-title {
        font-size: 2.25rem;
    }

    .form-control-lg {
        text-align: center;
    }
}

/* ==========================================================================
   home.css — Index page styles
   Palette: #11110D (ink), #203524 (forest), #70A32A (green), #D1F470 (lime), #F5F5F2 (cream)
   ========================================================================== */

/* ── Custom Properties ─────────────────────────────────────────────── */
:root {
    --home-ink:      #11110D;
    --home-forest:   #203524;
    --home-green:    #70A32A;
    --home-lime:     #D1F470;
    --home-cream:    #F5F5F2;
    --home-mid:      #EAF0E2;
    --home-white:    #ffffff;

    --home-radius-lg: 1.5rem;
    --home-radius-md: 1rem;
    --home-radius-sm: 0.5rem;

    --py-section: 5rem;
}

/* ── Utility backgrounds ───────────────────────────────────────────── */
.bg-home-light  { background-color: var(--home-cream);  }
.bg-home-mid    { background-color: var(--home-mid);    }
.bg-home-dark   { background-color: var(--home-forest); }
.py-section     { padding-top: var(--py-section); padding-bottom: var(--py-section); }

/* ── Shared buttons ────────────────────────────────────────────────── */
.home-btn-primary {
    background-color: var(--home-green);
    border-color:     var(--home-green);
    color:            var(--home-white);
    transition: background-color 0.2s, border-color 0.2s, transform 0.15s;
}
.home-btn-primary:hover,
.home-btn-primary:focus {
    background-color: #5a8a20;
    border-color:     #5a8a20;
    color:            var(--home-white);
    transform: translateY(-1px);
}

.home-btn-outline {
    background-color: transparent;
    border: 2px solid var(--home-green);
    color: var(--home-green);
    transition: background-color 0.2s, color 0.2s;
}
.home-btn-outline:hover,
.home-btn-outline:focus {
    background-color: var(--home-green);
    color: var(--home-white);
}

.home-btn-outline-light {
    background-color: transparent;
    border: 2px solid rgba(255, 255, 255, 0.5);
    color: var(--home-white);
    transition: background-color 0.2s, border-color 0.2s;
}
.home-btn-outline-light:hover,
.home-btn-outline-light:focus {
    background-color: rgba(255, 255, 255, 0.12);
    border-color: var(--home-white);
    color: var(--home-white);
}

/* ── Shared section typography ─────────────────────────────────────── */
.home-section-eyebrow {
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--home-green);
    margin-bottom: 0.5rem;
}
.home-section-eyebrow--light { color: var(--home-lime); }
.home-section-eyebrow--lime  { color: var(--home-lime); }

.home-section-title {
    font-size: clamp(1.75rem, 3vw, 2.5rem);
    font-weight: 800;
    line-height: 1.2;
    color: var(--home-ink);
    margin-bottom: 1rem;
}
.home-section-title--light { color: var(--home-cream); }

.home-section-sub {
    font-size: 1rem;
    color: #555;
    line-height: 1.7;
    margin-bottom: 0;
}
.home-section-sub--light { color: rgba(245, 245, 242, 0.7); }


/* ==========================================================================
   HERO
   ========================================================================== */
.home-hero {
    min-height: 90vh;
    background-color: var(--home-forest);
    background-image: url('../images/home_hero_bg.jpg');
    background-size: cover;
    background-position: center;
    overflow: hidden;
}

.home-hero__overlay {
    background: linear-gradient(135deg, rgba(32, 53, 36, 0.92) 40%, rgba(32, 53, 36, 0.65) 100%);
    z-index: 0;
}

/* eyebrow */
.home-hero__eyebrow {
    font-size: 0.7rem;
    letter-spacing: 0.15em;
    color: var(--home-lime);
}

/* title */
.home-hero__title {
    font-size: clamp(2.25rem, 5vw, 3.75rem);
    font-weight: 900;
    line-height: 1.1;
    color: var(--home-cream);
}
.home-hero__title--accent {
    color: var(--home-lime);
}

/* subtitle */
.home-hero__sub {
    font-size: 1.05rem;
    color: rgba(245, 245, 242, 0.75);
    line-height: 1.7;
    max-width: 500px;
}

/* form */
.home-hero__input {
    background-color: rgba(255, 255, 255, 0.12);
    color: var(--home-cream);
    backdrop-filter: blur(6px);
}
.home-hero__input::placeholder { color: rgba(245, 245, 242, 0.5); }
.home-hero__input:focus {
    background-color: rgba(255, 255, 255, 0.18);
    color: var(--home-white);
    box-shadow: 0 0 0 3px rgba(209, 244, 112, 0.35);
    outline: none;
}

/* trust row */
.home-hero__trust {
    font-size: 0.8rem;
    color: rgba(245, 245, 242, 0.65);
    flex-wrap: wrap;
}
.home-hero__trust-icon {
    width: 1.2rem;
    height: 1.2rem;
    border-radius: 50%;
    background-color: var(--home-lime);
    color: var(--home-forest);
    font-size: 0.65rem;
    font-weight: 900;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

/* image wrapper with floating badges */
.home-hero__img-wrap {
    position: relative;
    display: inline-block;
}
.home-hero__img {
    border-radius: var(--home-radius-lg);
    max-height: 540px;
    object-fit: cover;
    box-shadow: 0 24px 60px rgba(17, 17, 13, 0.5);
}

.home-hero__badge {
    position: absolute;
    background: var(--home-white);
    border-radius: var(--home-radius-md);
    padding: 0.75rem 1.25rem;
    box-shadow: 0 8px 24px rgba(17, 17, 13, 0.15);
    display: flex;
    flex-direction: column;
    min-width: 130px;
}
.home-hero__badge--top    { top: 1.5rem; right: -1.5rem; }
.home-hero__badge--bottom { bottom: 2rem; left: -1.5rem; }
.home-hero__badge-num {
    font-size: 1.5rem;
    font-weight: 900;
    color: var(--home-forest);
    line-height: 1;
}
.home-hero__badge-label {
    font-size: 0.72rem;
    color: #777;
    margin-top: 0.1rem;
}


/* ==========================================================================
   STATS STRIP
   ========================================================================== */
.home-stats {
    background-color: var(--home-ink);
}
.home-stats__item {
    padding: 1.25rem 1rem;
    border-right: 1px solid rgba(255, 255, 255, 0.08);
}
.home-stats__item:last-child { border-right: none; }
.home-stats__num {
    font-size: clamp(1.75rem, 3vw, 2.25rem);
    font-weight: 900;
    color: var(--home-lime);
    margin-bottom: 0.15rem;
    line-height: 1;
}
.home-stats__label {
    font-size: 0.78rem;
    color: rgba(245, 245, 242, 0.55);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin: 0;
}


/* ==========================================================================
   WHY US — feature cards
   ========================================================================== */
.home-card {
    background: var(--home-white);
    border-radius: var(--home-radius-lg);
    padding: 2rem 1.75rem;
    box-shadow: 0 2px 16px rgba(17, 17, 13, 0.06);
    transition: transform 0.2s, box-shadow 0.2s;
}
.home-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 32px rgba(17, 17, 13, 0.1);
}
.home-card__icon {
    font-size: 2.25rem;
    margin-bottom: 1.25rem;
    display: block;
}
.home-card__title {
    font-size: 1.05rem;
    font-weight: 800;
    color: var(--home-ink);
    margin-bottom: 0.6rem;
}
.home-card__text {
    font-size: 0.9rem;
    color: #666;
    line-height: 1.65;
    margin: 0;
}


/* ==========================================================================
   HOW IT WORKS
   ========================================================================== */
.home-step {
    display: flex;
    align-items: flex-start;
    gap: 1.25rem;
}
.home-step__num {
    font-size: 1rem;
    font-weight: 900;
    color: var(--home-lime);
    background-color: rgba(209, 244, 112, 0.12);
    border: 2px solid var(--home-lime);
    border-radius: var(--home-radius-sm);
    width: 2.75rem;
    height: 2.75rem;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    letter-spacing: 0.05em;
}
.home-step__title {
    font-size: 1rem;
    font-weight: 700;
    color: var(--home-cream);
    margin-bottom: 0.3rem;
}
.home-step__text {
    font-size: 0.88rem;
    color: rgba(245, 245, 242, 0.6);
    line-height: 1.6;
    margin: 0;
}

/* image grid in "how it works" */
.home-how__grid {
    position: relative;
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto auto;
    gap: 1rem;
}
.home-how__img-main {
    grid-column: 1 / -1;
}
.home-how__img-main img {
    width: 100%;
    height: 320px;
    object-fit: cover;
}
.home-how__img-sm img {
    width: 100%;
    height: 200px;
    object-fit: cover;
}


/* ==========================================================================
   CATEGORIES
   ========================================================================== */
.home-cat {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    border-radius: var(--home-radius-md);
    padding: 1.5rem 1rem;
    text-align: center;
    transition: transform 0.18s, box-shadow 0.18s;
}
.home-cat:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 24px rgba(17, 17, 13, 0.1);
}
.home-cat__icon { font-size: 2rem; }
.home-cat__name {
    font-size: 0.9rem;
    font-weight: 700;
}
.home-cat__count {
    font-size: 0.72rem;
    opacity: 0.65;
}

/* colour variants */
.home-cat--cat-green {
    background-color: #e6f2d4;
    color: var(--home-forest);
}
.home-cat--cat-lime {
    background-color: #f3fad0;
    color: var(--home-forest);
}
.home-cat--cat-dark {
    background-color: var(--home-forest);
    color: var(--home-cream);
}
.home-cat--cat-dark .home-cat__name { color: var(--home-lime); }


/* ==========================================================================
   TESTIMONIALS
   ========================================================================== */
.home-review {
    background: var(--home-white);
    border-radius: var(--home-radius-lg);
    padding: 2rem 1.75rem;
    height: 100%;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    box-shadow: 0 2px 16px rgba(17, 17, 13, 0.06);
    transition: transform 0.2s;
}
.home-review:hover { transform: translateY(-3px); }

.home-review--featured {
    background: var(--home-forest);
    box-shadow: 0 12px 36px rgba(32, 53, 36, 0.3);
}
.home-review--featured .home-review__text,
.home-review--featured .home-review__name { color: var(--home-cream); }
.home-review--featured .home-review__role  { color: var(--home-lime); }

.home-review__stars {
    color: var(--home-lime);
    font-size: 1rem;
    letter-spacing: 0.1em;
}
.home-review--featured .home-review__stars { color: var(--home-lime); }

.home-review__text {
    font-size: 0.92rem;
    color: #444;
    line-height: 1.7;
    flex-grow: 1;
    font-style: italic;
    margin: 0;
}
.home-review__author {
    display: flex;
    align-items: center;
    gap: 0.85rem;
}
.home-review__avatar {
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 50%;
    background-color: var(--home-mid);
    color: var(--home-forest);
    font-size: 0.78rem;
    font-weight: 800;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.home-review__avatar--dark {
    background-color: var(--home-lime);
    color: var(--home-forest);
}
.home-review__name {
    font-size: 0.9rem;
    font-weight: 700;
    color: var(--home-ink);
    margin: 0;
}
.home-review__role {
    font-size: 0.75rem;
    color: #888;
    margin: 0;
}


/* ==========================================================================
   CTA
   ========================================================================== */
.home-cta {
    background-color: var(--home-forest);
    background-image: radial-gradient(ellipse at 70% 50%, rgba(112, 163, 42, 0.15) 0%, transparent 60%);
}
.home-cta__inner {
    max-width: 680px;
    margin: 0 auto;
}
.home-cta__title {
    font-size: clamp(2rem, 4vw, 3rem);
    font-weight: 900;
    color: var(--home-cream);
    margin-bottom: 1rem;
    line-height: 1.15;
}
.home-cta__sub {
    font-size: 1rem;
    color: rgba(245, 245, 242, 0.65);
    line-height: 1.7;
    margin: 0;
}
.home-cta__sub strong { color: var(--home-lime); }


/* ==========================================================================
   Responsive tweaks
   ========================================================================== */
@media (max-width: 991.98px) {
    .home-hero__badge { display: none; }
    :root { --py-section: 3.5rem; }
}

@media (max-width: 575.98px) {
    .home-hero { min-height: auto; }
    .home-stats__item { border-right: none; border-bottom: 1px solid rgba(255,255,255,0.08); }
    .home-stats__item:last-child { border-bottom: none; }
}

@media (prefers-reduced-motion: reduce) {
    .home-card,
    .home-review,
    .home-cat,
    .home-btn-primary,
    .home-btn-outline,
    .home-btn-outline-light { transition: none; }
}

/* Подключаем шрифт Inter для максимального сходства */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&display=swap');

.hero-section {
    font-family: 'Arial', sans-serif;
    padding: 40px 20px;
}

/* Главный контейнер секции с закругленными углами */
.hero-card {
    min-height: 520px;
    border-radius: 28px; /* Сильное скругление углов как на фото */
    position: relative;
    overflow: hidden;
    padding: 80px 0;
}

    .hero-card::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        /* Твой путь к картинке */
        background-image: url('../images/home_hero.png');
        background-size: cover;
        background-position: center right;
        /* ОТЗЕРКАЛИВАНИЕ по горизонтали (слева направо) */
        transform: scaleX(-1);
        z-index: 0;
    }

/* Точное наложение тонированного градиента: темнее слева под текст */
.hero-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, rgba(26, 26, 26, 0.92) 0%, rgba(26, 26, 26, 0.75) 50%, rgba(26, 26, 26, 0.25) 100% );
    z-index: 1; /* Выше фона */
}

.z-2 {
    z-index: 2; /* Контент с текстом самый верхний */
}

.content-wrapper {
    padding-left: 15px;
}

/* Верхняя мелкая надпись */
.tagline {
    font-size: 11px;
    color: #a0a0a0;
    letter-spacing: 0.12em;
    margin-bottom: 28px;
}

/* Главный заголовок с правильным межстрочным интервалом */
.main-title {
    font-size: 46px;
    line-height: 1.15;
    letter-spacing: -0.02em;
    margin-bottom: 35px;
}

/* Текст описания */
.description {
    font-size: 13px;
    line-height: 1.5;
    max-width: 540px;
    margin-bottom: 40px;
    color: #b0b0b0 !important;
}

/* Форма */
.hero-form {
    max-width: 480px;
}

/* Стилизация инпута */
.custom-input {
    height: 44px;
    background-color: #ffffff !important;
    border: none;
    font-size: 13px;
    padding-left: 20px;
    color: #212529;
}

    .custom-input::placeholder {
        color: #a0a0a0;
    }

    .custom-input:focus {
        box-shadow: none;
        border: none;
    }

/* Салатовая кнопка в цвет макета */
.btn-lime {
    height: 44px;
    background-color: #ccff55; /* Фирменный оттенок лайма */
    color: #121212;
    font-size: 13px;
    border: none;
    padding-left: 24px;
    padding-right: 24px;
    transition: background-color 0.2s ease;
}

    .btn-lime:hover {
        background-color: #bbff33;
        color: #121212;
    }

/* Адаптивность для мобильных устройств */
@media (max-width: 768px) {
    .main-title {
        font-size: 32px;
    }

    .hero-form {
        flex-direction: column;
        align-items: stretch !important;
        width: 100%;
    }

    .custom-input, .btn-lime {
        width: 100%;
    }

    .hero-card {
        padding: 50px 0;
        min-height: auto;
    }
}

.features-header-section {
    font-family: Arial, Helvetica, sans-serif; /* Используем Arial */
    padding: 80px 20px;
    background-color: #ffffff; /* Чистый белый фон секции */
}

/* Стили заголовка */
.section-title {
    font-size: 42px;
    line-height: 1.2;
    letter-spacing: -0.01em;
    margin-bottom: 24px;
}

/* Стили подзаголовка */
.section-subtitle {
    font-size: 15px;
    line-height: 1.6;
    color: #212529;
    max-width: 680px; /* Ограничиваем ширину текста для точного переноса */
    margin-bottom: 35px;
}

/* Обертка для позиционирования кнопки */
.btn-wrapper {
    display: block;
}

/* Стили кнопки точь-в-точь как на фото */
.btn-lime-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 46px;
    padding: 0 32px;
    background-color: #d2f56b; /* Фирменный неон-лайм оттенок */
    color: #000000;
    font-size: 14px;
    border: none;
    transition: background-color 0.2s ease, transform 0.1s ease;
}

    .btn-lime-action:hover {
        background-color: #c2e65c;
        color: #000000;
    }

    .btn-lime-action:active {
        transform: scale(0.98);
    }

/* Адаптивность для мобильных экранов */
@media (max-width: 768px) {
    .features-header-section {
        padding: 50px 15px;
    }

    .section-title {
        font-size: 28px;
    }

    .section-subtitle {
        font-size: 14px;
    }
}

.timeline-cards-section {
    font-family: Arial, Helvetica, sans-serif;
    overflow: hidden;
}

/* Тонкая вертикальная линия, проходящая по центру всей секции */
.timeline-center-line {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 50%;
    width: 1px;
    background-color: #e2e8d5; /* Нежно-зеленоватый оттенок линии */
    transform: translateX(-50%);
    z-index: 0;
}

/* Слой над линией */
.z-1 {
    z-index: 1;
}

/* Кастомные закругления углов как на макете */
.rounded-5 {
    border-radius: 32px !important;
}

/* Стилизация карточек с неоновым свечением */
.glow-timeline-card {
    /* Тень создаёт размытое неоновое свечение лаймового цвета вокруг карточки */
    box-shadow: 0 0 40px rgba(210, 245, 107, 0.22);
    transition: box-shadow 0.3s ease, transform 0.3s ease;
}

    /* Лёгкий интерактив при наведении */
    .glow-timeline-card:hover {
        transform: translateY(-2px);
        box-shadow: 0 0 50px rgba(210, 245, 107, 0.35);
    }

/* Типографика карточек */
.card-headline {
    font-size: 26px;
    line-height: 1.25;
    letter-spacing: -0.01em;
}

.card-text {
    font-size: 14px;
    line-height: 1.6;
    color: #555555 !important;
}

/* Ограничение максимальной ширины картинок, чтобы они не растягивались */
.custom-card-img {
    max-height: 180px;
    width: auto;
    object-fit: contain;
}

/* Адаптивность для мобильных устройств */
@media (max-width: 768px) {
    .timeline-center-line {
        display: none; /* Скрываем центральную линию на мобилках */
    }

    .card-headline {
        font-size: 20px;
    }

    .rounded-5 {
        border-radius: 24px !important;
    }

    .custom-card-img {
        max-height: 140px;
        margin-top: 15px;
    }
}

.stats-section {
    font-family: Arial, Helvetica, sans-serif;
    padding: 100px 20px;
    background-color: #ffffff; /* Фон чистый белый, как на макете */
}

/* Стили главного текста */
.stats-main-title {
    font-size: 32px;
    line-height: 1.3;
    letter-spacing: -0.01em;
    color: #000000;
}

/* Крупные зеленые цифры */
.stat-number {
    font-size: 64px;
    line-height: 1;
    color: #72a93b; /* Характерный травяной/зеленый оттенок с макета */
    margin-bottom: 12px;
    letter-spacing: -0.02em;
}

/* Подписи под цифрами */
.stat-description {
    font-size: 13px;
    line-height: 1.3;
    color: #212529;
    max-width: 150px; /* Чтобы текст аккуратно переносился на две строки */
}

/* Адаптивность для мобильных экранов */
@media (max-width: 768px) {
    .stats-section {
        padding: 60px 15px;
    }

    .stats-main-title {
        font-size: 22px;
    }

    .stat-number {
        font-size: 48px;
    }

    .stat-description {
        font-size: 12px;
    }
}

.insights-section {
    font-family: Arial, Helvetica, sans-serif;
    padding: 60px 0;
    background-color: #ffffff;
}

/* Общая обертка блока со скруглением углов */
.insights-block {
    border-radius: 24px !important;
}

/* --- ЛЕВАЯ ПАНЕЛЬ --- */
.left-panel {
    min-height: 450px;
    /* Замените на путь к картинке со зданием (отзеркаленной, если нужно) */
    background-image: url('../images/home_photo.png');
    background-size: cover;
    background-position: center;
}

/* Градиентный оверлей поверх здания, чтобы текст читался идеально */
.left-panel-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(180deg, rgba(23, 44, 30, 0.4) 0%, rgba(15, 30, 21, 0.85) 100%);
    z-index: 1;
}

.insights-brand {
    font-size: 24px;
    letter-spacing: -0.01em;
}

.insights-text {
    font-size: 13px;
    line-height: 1.6;
    color: #cbd5e1 !important;
}

/* Кнопка Learn More */
.btn-lime-insights {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 40px;
    padding: 0 24px;
    background-color: #d2f56b;
    color: #000000;
    font-size: 13px;
    border: none;
    transition: background-color 0.2s;
}

    .btn-lime-insights:hover {
        background-color: #c2e65c;
        color: #000000;
    }

/* --- ПРАВАЯ ПАНЕЛЬ --- */
.right-panel {
    background-color: #1b3323; /* Фирменный глубокий темно-зеленый цвет */
}

/* Иконки */
.icon-box {
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Заголовки пунктов */
.item-title {
    font-size: 15px;
    letter-spacing: -0.01em;
}

/* Описание пунктов */
.item-text {
    font-size: 13px;
    line-height: 1.5;
    color: #a3b899 !important; /* Приглушенный светло-зеленый оттенок для читаемости */
}

/* Делаем слои над оверлеем */
.z-2 {
    z-index: 2;
}

/* Адаптив под мобильные устройства */
@media (max-width: 991px) {
    .left-panel {
        min-height: 350px;
        justify-content: center;
    }
}

.assistance-section {
    font-family: Arial, Helvetica, sans-serif;
    background-color: #ffffff;
}

/* Главный заголовок секции */
.assistance-main-title {
    font-size: 32px;
    line-height: 1.3;
    letter-spacing: -0.01em;
}

/* Стилизация контейнера карточки */
.assistance-card {
    background-color: #f7f7f5; /* Мягкий серовато-бежевый фон карточек */
    border-radius: 28px;
    border: none;
    transition: transform 0.2s ease;
}

    .assistance-card:hover {
        transform: translateY(-4px);
    }

/* Ограничение высоты контейнера изображения */
.card-image-wrapper {
    height: 240px;
    overflow: hidden;
    background-color: #000; /* Вторая картинка имеет темный фон */
}

    .card-image-wrapper img {
        height: 100%;
        width: 100%;
    }

/* Заголовки внутри карточек */
.card-title-text {
    font-size: 22px;
    letter-spacing: -0.01em;
}

/* Текст описания */
.card-desc-text {
    font-size: 13px;
    line-height: 1.55;
    color: #555555 !important;
}

/* Общие базовые стили для кнопок в карточках */
.card-actions-wrapper .btn {
    height: 38px;
    font-size: 13px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: none;
    transition: background-color 0.2s ease;
}

/* Основная салатовая кнопка */
.btn-lime-action {
    background-color: #ccff55;
    color: #000000;
}

    .btn-lime-action:hover {
        background-color: #bbff33;
        color: #000000;
    }

/* Второстепенная прозрачная кнопка с рамкой */
.btn-outline-dark-action {
    background-color: transparent;
    color: #000000;
    border: 1px solid #dcdcdc !important;
}

    .btn-outline-dark-action:hover {
        background-color: #eaeaea;
        color: #000000;
    }

/* Адаптивность для мобильных устройств */
@media (max-width: 768px) {
    .assistance-main-title {
        font-size: 24px;
    }

    .card-image-wrapper {
        height: 180px;
    }

    .card-body-content {
        padding: 24px !important;
    }

    .card-title-text {
        font-size: 18px;
    }
}

.reviews-section {
    font-family: Arial, Helvetica, sans-serif;
    background-color: #ffffff;
}

.reviews-main-title {
    font-size: 32px;
    letter-spacing: -0.01em;
}

.reviews-main-subtitle {
    font-size: 14px;
    line-height: 1.5;
    max-width: 580px;
}

/* Контейнер основной карточки */
.case-card {
    border-radius: 32px;
    background-color: #f6f6f3;
}

.bg-case-light {
    background-color: #f6f6f3;
    /* Увеличиваем минимальную высоту текстовой части, чтобы карточка выглядела более вытянутой */
    min-height: 440px;
}

.case-title {
    font-size: 26px;
    letter-spacing: -0.01em;
}

.case-quote {
    font-size: 14px;
    line-height: 1.6;
}

/* Правая колонка с изображением */
.case-image-panel {
    background-image: url('../images/home_statistic.png'); /* Сюда вашу картинку */
    background-size: cover;
    background-position: center;
    position: relative;
    min-height: 440px; /* Соответствует высоте левой колонки */
}

/* Парящая темная плашка для метрик (как на image_dde97a.jpg) */
.stats-floating-card {
    background: linear-gradient(180deg, rgba(30, 30, 30, 0.75) 0%, rgba(15, 15, 15, 0.9) 100%);
    backdrop-filter: blur(12px); /* Эффект матового стекла */
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(255, 255, 255, 0.15);
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.3);
    /* Отступы от краев картинки */
    margin-bottom: 8px;
    border-radius: 20px !important;
}

/* Текст внутри плашки */
.overlay-stat-num {
    font-size: 20px;
    letter-spacing: -0.01em;
    margin-bottom: 2px;
}

.overlay-stat-desc {
    font-size: 10px;
    line-height: 1.3;
}

.showcase-tag {
    font-size: 12px;
    margin-top: 10px;
}

.z-2 {
    z-index: 2;
}

/* Адаптивность */
@media (max-width: 991px) {
    .bg-case-light {
        min-height: auto;
    }

    .case-image-panel {
        min-height: 380px;
    }

    .stats-floating-card {
        margin-bottom: 0;
    }
}

.cta-pricing-section {
    font-family: Arial, Helvetica, sans-serif;
    background-color: #ffffff;
}

/* Скругление углов для карточки (крупнее стандартных) */
.cta-pricing-card.rounded-5 {
    border-radius: 36px !important;
}

/* Контейнер самой плашки CTA */
.cta-pricing-card {
    background-color: #f6f6f3; /* Такой же мягкий серо-бежевый фон, как и у предыдущих блоков */
    padding-top: 64px !important;
    padding-bottom: 64px !important;
}

/* Заголовок секции */
.cta-title {
    font-size: 36px;
    line-height: 1.25;
    letter-spacing: -0.01em;
}

/* Поддерживающий текст */
.cta-desc {
    font-size: 14px;
    line-height: 1.6;
    max-width: 580px;
    color: #4a4a4a !important;
}

/* Фирменная кнопка */
.btn-lime-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 44px;
    padding: 0 32px;
    background-color: #ccff55; /* Насыщенный лаймовый/салатовый цвет */
    color: #000000;
    font-size: 13px;
    border: none;
    transition: background-color 0.2s ease, transform 0.1s ease;
}

    .btn-lime-cta:hover {
        background-color: #bbff33;
        color: #000000;
    }

    .btn-lime-cta:active {
        transform: scale(0.98);
    }

/* Адаптивность для мобильных экранов */
@media (max-width: 768px) {
    .cta-pricing-card {
        padding-top: 40px !important;
        padding-bottom: 40px !important;
    }

        .cta-pricing-card.rounded-5 {
            border-radius: 24px !important;
        }

    .cta-title {
        font-size: 24px;
    }

    .cta-desc {
        font-size: 13px;
    }

    .btn-lime-cta {
        padding: 0 24px;
        height: 40px;
    }
}

/* Базовые стили темно-зеленой секции */
.footer-cta-faq-section {
    font-family: Arial, Helvetica, sans-serif;
    background-color: #1b3323;
    padding-top: 80px !important;
    padding-bottom: 80px !important;
}

.cta-bottom-title {
    font-size: 32px;
    letter-spacing: -0.01em;
}

.btn-lime-bottom {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 42px;
    padding: 0 28px;
    background-color: #ccff55;
    color: #000000;
    font-size: 13px;
    border: none;
}

.btn-outline-light-bottom {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 42px;
    padding: 0 28px;
    background-color: transparent;
    color: #ffffff;
    font-size: 13px;
    border: 1px solid rgba(255, 255, 255, 0.3) !important;
}

/* --- КОНСТРУКЦИЯ ЕДИНОЙ КНОПКИ FAQ НА ЛИНИИ --- */
.faq-toggle-wrapper {
    max-width: 850px;
    height: 40px;
}

/* Тонкая горизонтальная линия */
.faq-line {
    width: 100%;
    height: 1px;
    background-color: rgba(255, 255, 255, 0.15);
    position: absolute;
    top: 50%;
    left: 0;
}

/* Сама кнопка View FAQs */
.btn-faq-trigger {
    background-color: #1b3323 !important; /* Цвет в тон секции, чтобы перекрывать линию */
    color: #ffffff !important;
    font-size: 13px;
    padding: 0 16px !important;
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    white-space: nowrap;
    display: inline-flex;
    align-items: center;
    top: 50%;
}

    .btn-faq-trigger:hover {
        color: #ccff55 !important;
    }

/* Плавный поворот стрелочки при открытии списка */
.chevron-icon {
    display: inline-block;
    transition: transform 0.25s ease;
}

.btn-faq-trigger:not(.collapsed) .chevron-icon {
    transform: rotate(180deg);
}

/* --- ВНЕШНИЙ ВИД СПИСКА ВОПРОСОВ --- */
.faq-list-container {
    animation: fadeInFaqs 0.3s ease;
}

.faq-question {
    font-size: 15px !important;
    letter-spacing: -0.01em;
}

.faq-answer {
    font-size: 13px;
    line-height: 1.6;
    color: #a4bfa7 !important; /* Текст ответа приглушенно-зеленый */
}

.faq-item {
    border-color: rgba(255, 255, 255, 0.1) !important;
}

@keyframes fadeInFaqs {
    from {
        opacity: 0;
        transform: translateY(-5px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Адаптивность */
@media (max-width: 768px) {
    .cta-bottom-title {
        font-size: 22px;
    }
}

/* Основные стили Hero-секции сервисов */
.services-hero-section {
    font-family: Arial, Helvetica, sans-serif;
    background-color: #ffffff;
    min-height: 80vh; /* Занимает большую часть высоты экрана */
    padding-top: 120px;
    padding-bottom: 120px;
}

/* Надзаголовок */
.services-sup-title {
    font-size: 21px;
    letter-spacing: 0.08em;
    opacity: 0.7;
}

/* Огромный жирный заголовок по макету */
.services-main-title {
    font-size: 66px;
    line-height: 1.15;
    letter-spacing: -0.02em;
}

/* Описание */
.services-hero-desc {
    font-size: 23px;
    line-height: 1.6;
    max-width: 520px;
    color: #4a4a4a !important;
}

/* Слой для создания эффекта размытого салатового свечения в правом нижнем углу */
/* Идеальное мягкое свечение из правого нижнего угла */
.hero-glow-glow {
    position: absolute;
    bottom: 0px;
    right: 0px;
    width: 250px;
    height: 250px;
/*    border-radius: 50%;*/
    /* Сверхмягкая размытая тень фирменного салатового цвета */
    background-color: rgba(204, 255, 85, 0.4);
    box-shadow: 0 0 250px 180px rgba(204, 255, 85, 0.55);
    /* Дополнительное аппаратное размытие для идеальной гладкости */
    filter: blur(80px);
    -webkit-filter: blur(80px);
    pointer-events: none;
    z-index: 0;
}

.z-1 {
    z-index: 1;
}

/* Адаптивность для планшетов и мобилок */
@media (max-width: 991px) {
    .services-main-title {
        font-size: 42px;
    }

    .services-hero-section {
        min-height: auto;
        padding-top: 80px;
        padding-bottom: 80px;
    }

    .hero-glow-glow {
        width: 400px;
        height: 400px;
        bottom: -100px;
        right: -100px;
    }
}

@media (max-width: 576px) {
    .services-main-title {
        font-size: 32px;
    }

    .services-hero-desc {
        font-size: 13px;
    }
}

/* Базовые стили секции преимуществ */
.benefits-section {
    font-family: Arial, Helvetica, sans-serif;
    background-color: #ffffff;
}

.benefits-sup-title {
    font-size: 11px;
    letter-spacing: 0.08em;
    opacity: 0.6;
}

.benefits-main-title {
    font-size: 36px;
    letter-spacing: -0.01em;
}

/* Стилизация левого изображения */
.img-benefits-mock {
    max-height: 480px;
    object-fit: contain;
}

/* --- СТИЛИЗАЦИЯ МИНИМАЛИСТИЧНОГО АККОРДЕОНА --- */
.benefits-accordion .accordion-item {
    border-color: rgba(0, 0, 0, 0.15) !important;
}

/* Кнопка-заголовок аккордеона */
.benefits-accordion .accordion-button {
    font-size: 15px !important;
    color: #000000 !important;
    transition: color 0.2s ease;
}

    .benefits-accordion .accordion-button:hover {
        color: #555555 !important;
    }

/* Текст описания внутри открытого пункта */
.benefits-body-text {
    font-size: 13.5px;
    line-height: 1.6;
    color: #555555 !important;
    max-width: 540px;
}

/* Перекрашиваем стандартную иконку стрелочки Bootstrap в черный цвет */
.benefits-accordion .accordion-button::after {
    filter: brightness(0);
    transform: scale(0.85);
    transition: transform 0.2s ease;
}

/* Адаптивность */
@media (max-width: 991px) {
    .benefits-main-title {
        font-size: 28px;
    }

    .img-benefits-mock {
        max-height: 360px;
        margin-bottom: 20px;
    }
}
/* Базовые стили секции преимуществ */
.benefits-section {
    font-family: Arial, Helvetica, sans-serif;
    background-color: #ffffff;
}

.benefits-sup-title {
    font-size: 11px;
    letter-spacing: 0.08em;
    opacity: 0.6;
}

.benefits-main-title {
    font-size: 36px;
    letter-spacing: -0.01em;
}

/* Стилизация левого изображения */
.img-benefits-mock {
    max-height: 480px;
    object-fit: contain;
}

/* --- СТИЛИЗАЦИЯ МИНИМАЛИСТИЧНОГО АККОРДЕОНА --- */
.benefits-accordion .accordion-item {
    border-color: rgba(0, 0, 0, 0.15) !important;
}

/* Кнопка-заголовок аккордеона */
.benefits-accordion .accordion-button {
    font-size: 15px !important;
    color: #000000 !important;
    transition: color 0.2s ease;
}

    .benefits-accordion .accordion-button:hover {
        color: #555555 !important;
    }

/* Текст описания внутри открытого пункта */
.benefits-body-text {
    font-size: 13.5px;
    line-height: 1.6;
    color: #555555 !important;
    max-width: 540px;
}

/* Перекрашиваем стандартную иконку стрелочки Bootstrap в черный цвет */
.benefits-accordion .accordion-button::after {
    filter: brightness(0);
    transform: scale(0.85);
    transition: transform 0.2s ease;
}

/* Адаптивность */
@media (max-width: 991px) {
    .benefits-main-title {
        font-size: 28px;
    }

    .img-benefits-mock {
        max-height: 360px;
        margin-bottom: 20px;
    }
}

/* Основные стили блока возможностей */
.capabilities-section {
    font-family: Arial, Helvetica, sans-serif;
    background-color: #ffffff;
}

/* Главный заголовок */
.capabilities-main-title {
    font-size: 32px;
    letter-spacing: -0.01em;
    margin-bottom: 20px;
}

/* Контейнер для иконки (для сохранения фиксированной геометрии) */
.capability-icon-wrapper {
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

/* Заголовки пунктов */
.capability-title {
    font-size: 15px;
    letter-spacing: -0.01em;
}

/* Описание пунктов */
.capability-text {
    font-size: 13px;
    line-height: 1.6;
    color: #555555 !important;
    max-width: 480px;
}

/* Корректировка отступов на больших экранах для точного соответствия */
@media (min-width: 768px) {
    .g-x-5 {
        --bs-gutter-x: 4rem;
    }
}

/* Адаптивность для мобильных экранов */
@media (max-width: 768px) {
    .capabilities-main-title {
        font-size: 24px;
    }

    .capability-title {
        font-size: 14px;
    }

    .capability-text {
        font-size: 12.5px;
    }
}

/* Базовые стили секции */
.transform-workflow-section {
    font-family: Arial, Helvetica, sans-serif;
    background-color: #ffffff;
}

/* Верхний заголовок */
.transform-title {
    font-size: 36px;
    letter-spacing: -0.01em;
}

/* Верхнее описание */
.transform-desc {
    font-size: 13px;
    line-height: 1.6;
    max-width: 580px;
    color: #4a4a4a !important;
}

/* Контейнер для баннера */
.cta-banner-container {
    height: 460px; /* Фиксированная высота как на макете */
    background-color: #f8f9fa;
}

.cta-bg-image {
    object-position: center;
}

/* Центральная наложенная белая карточка */
.cta-overlay-card {
    width: 100%;
    max-width: 340px;
    border: 1px solid rgba(0, 0, 0, 0.05);
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.07) !important;
}

.overlay-card-title {
    font-size: 15px;
    line-height: 1.35;
    letter-spacing: -0.01em;
}

.overlay-card-desc {
    font-size: 12.5px;
    line-height: 1.5;
    max-width: 260px;
    color: #666666 !important;
}

/* Фирменная лаймовая кнопка */
.btn-lime-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 38px;
    padding: 0 24px;
    background-color: #ccff55;
    color: #000000;
    font-size: 12.5px;
    border: none;
    transition: background-color 0.2s;
}

    .btn-lime-action:hover {
        background-color: #bbff33;
        color: #000000;
    }

/* Адаптивность под планшеты и мобильные устройства */
@media (max-width: 768px) {
    .transform-title {
        font-size: 26px;
    }

    .cta-banner-container {
        height: 360px;
    }

    .cta-overlay-card {
        max-width: 290px;
        padding: 24px 16px !important;
    }

    .overlay-card-title {
        font-size: 14px;
    }

    .overlay-card-desc {
        font-size: 11.5px;
        margin-bottom: 16px !important;
    }
}

.pricing-section {
    font-family: Arial, Helvetica, sans-serif;
}

.pricing-main-title {
    font-size: 36px;
    letter-spacing: -0.01em;
}

.pricing-sub-title {
    font-size: 13px;
}

/* Обязательно добавляем flex родительским колонкам, чтобы дочерние элементы слушались высоты */
.pricing-section .row > [class*="col-"] {
    display: flex;
    flex-direction: column;
}

/* --- СТАНДАРТНАЯ КАРТОЧКА ТАРИФА --- */
.pricing-card {
    background-color: #f5f5f5;
    border: 1.5px solid transparent; /* Одинаковая толщина с выделенной, чтобы не прыгали пиксели */
    display: flex;
    flex-direction: column;
    height: 100%; /* Растягивает карточку на всю высоту колонки */
    width: 100%;
    box-sizing: border-box;
}

.plan-name {
    font-size: 22px;
    letter-spacing: -0.01em;
}

.plan-price {
    font-size: 40px;
    letter-spacing: -0.02em;
}

.price-period {
    font-size: 14px;
}

/* Разделительная линия */
.plan-divider {
    height: 1px;
    background-color: rgba(0, 0, 0, 0.08);
    width: 100%;
}

/* Список фич */
.plan-features {
    margin-bottom: 0 !important;
}

    .plan-features li {
        font-size: 12.5px;
        line-height: 1.6;
        color: #444444;
        position: relative;
        padding-bottom: 12px;
    }

/* Кнопка */
.btn-lime-pricing {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 40px;
    background-color: #ccff55;
    color: #000000;
    font-size: 13px;
    border: none;
    transition: background-color 0.2s;
}

    .btn-lime-pricing:hover {
        background-color: #bbff33;
        color: #000000;
    }

/* --- ВЫДЕЛЕННАЯ КАРТОЧКА (PROJECT SUPPORT) --- */
.featured-card {
    border: 1.5px solid #000000 !important;
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.08) !important;
    background-color: #ffffff;
}

/* Ярлык "Most Popular" */
.badge-most-popular {
    background-color: #000000;
    color: #ffffff;
    font-size: 9px;
    letter-spacing: 0.06em;
    padding: 6px 16px;
    border-radius: 20px;
}

/* Адаптивность */
@media (max-width: 991px) {
    .pricing-main-title {
        font-size: 28px;
    }

    .plan-price {
        font-size: 34px;
    }
}

/* Финальная CTA-секция с точным радиальным градиентом-виньеткой */
.final-cta-section {
    font-family: Arial, Helvetica, sans-serif;
    /* Базовый цвет на случай сбоев */
    background-color: #0d1a10 !important;
    /* Сложный радиальный градиент: из центрального светлого пятна в глубокую тень */
    background-image: radial-gradient( circle at 50% 50%, #2a4d31 0%, /* Мягкий оливково-зеленый центр за текстом */
    #15291a 45%, /* Переходный темно-зеленый */
    #09120b 85%, /* Глубокие затемненные края */
    #050a06 100% /* Почти черные углы */
    ) !important;
    background-repeat: no-repeat !important;
    background-size: cover !important;
    border-top: 1px solid rgba(255, 255, 255, 0.05);
}

/* Заголовок */
.final-cta-title {
    font-size: 32px;
    letter-spacing: -0.01em;
}

/* Описание */
.final-cta-desc {
    font-size: 14px;
    line-height: 1.5;
    max-width: 580px;
    opacity: 0.85;
}

/* Специфический стиль для финальной кнопки */
.btn-lime-final {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 40px;
    padding: 0 28px;
    background-color: #ccff55;
    color: #000000;
    font-size: 13px;
    border: none;
    transition: background-color 0.2s ease, transform 0.1s ease;
}

    .btn-lime-final:hover {
        background-color: #bbff33;
        color: #000000;
    }

    .btn-lime-final:active {
        transform: scale(0.98);
    }

/* Адаптивность для мобильных экранов */
@media (max-width: 768px) {
    .final-cta-title {
        font-size: 24px;
    }

    .final-cta-desc {
        font-size: 13px;
    }

    .final-cta-section .py-5 {
        padding-top: 3rem !important;
        padding-bottom: 3rem !important;
    }
}

/* Секция описания миссии компании */
.mission-section {
    font-family: Arial, Helvetica, sans-serif;
    background-color: #ffffff;
}

    /* Принудительно поднимаем контент над зеленым пятном, чтобы оно не мешало выделению текста */
    .mission-section .content-layer {
        z-index: 1;
    }

/* Заголовок секции */
.mission-title {
    font-size: 48px;
    letter-spacing: -0.01em;
    line-height: 1.25;
}

/* Первый абзац текста */
.mission-text {
    font-size: 17.5px;
    line-height: 1.6;
    max-width: 1260px;
    color: #4a4a4a !important;
}

/* Второй абзац текста */
.mission-subtext {
    font-size: 17.5px;
    line-height: 1.6;
    max-width: 1260px;
    color: #4a4a4a !important;
}

/* Адаптивность для мобильных экранов */
@media (max-width: 768px) {
    .mission-title {
        font-size: 26px;
    }

    .mission-text,
    .mission-subtext {
        font-size: 12.5px;
    }
}

/* Стили для секции обязательств и роста */
.commitments-section {
    font-family: Arial, Helvetica, sans-serif;
}

/* Контейнер для изображений, поддерживающий пропорции макета */
.commitment-image-wrapper {
    width: 100%;
    height: 400px; /* Оптимальная высота для сохранения геометрии */
    background-color: #f8f9fa;
}

/* Заголовки блоков */
.commitment-title {
    font-size: 32px;
    letter-spacing: -0.01em;
}

/* Описание */
.commitment-text {
    font-size: 13.5px;
    line-height: 1.6;
    color: #4a4a4a !important;
    max-width: 480px;
}

/* Адаптивный дизайн под мобильные устройства */
@media (max-width: 767px) {
    .commitment-image-wrapper {
        height: 280px; /* Уменьшаем высоту на мобильных */
    }

    .commitment-title {
        font-size: 24px;
        margin-top: 8px;
    }

    .commitment-text {
        font-size: 13px;
    }
}
/* Стили для секции обязательств и роста */
.commitments-section {
    font-family: Arial, Helvetica, sans-serif;
}

/* Контейнер для изображений, поддерживающий пропорции макета */
.commitment-image-wrapper {
    width: 100%;
    height: 400px; /* Оптимальная высота для сохранения геометрии */
    background-color: #f8f9fa;
}

/* Заголовки блоков */
.commitment-title {
    font-size: 32px;
    letter-spacing: -0.01em;
}

/* Описание */
.commitment-text {
    font-size: 13.5px;
    line-height: 1.6;
    color: #4a4a4a !important;
    max-width: 480px;
}

/* Адаптивный дизайн под мобильные устройства */
@media (max-width: 767px) {
    .commitment-image-wrapper {
        height: 280px; /* Уменьшаем высоту на мобильных */
    }

    .commitment-title {
        font-size: 24px;
        margin-top: 8px;
    }

    .commitment-text {
        font-size: 13px;
    }
}

/* Контейнер баннера */
.cta-banner-container-about {
    background-color: #1a2a1e; /* Темно-зеленый цвет */
    border-radius: 20px; /* Скругленные углы как на макете */
    min-height: 120px;
}

/* Заголовок внутри баннера */
.cta-banner-title {
    color: #ffffff;
    font-size: 28px;
    font-weight: 500;
}

/* Кнопка */
.btn-lime-cta {
    background-color: #ccff55; /* Фирменный лаймовый цвет */
    color: #000000;
    border: none;
    padding: 12px 28px;
    border-radius: 8px;
    font-weight: 600;
    text-decoration: none;
    transition: background-color 0.2s;
}

    .btn-lime-cta:hover {
        background-color: #bbff33;
        color: #000000;
    }

/* Адаптивность для мобильных */
@media (max-width: 768px) {
    .cta-banner-container-about {
        flex-direction: column;
        text-align: center;
        gap: 20px;
    }

    .cta-banner-title {
        font-size: 22px;
    }
}

/* Улучшение внешнего вида полей */
.modal-content {
    background-color: #ffffff;
}

.form-control, .form-select {
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    padding: 10px 15px;
    font-size: 14px;
}

    .form-control:focus, .form-select:focus {
        border-color: #ccff55;
        box-shadow: 0 0 0 0.2rem rgba(204, 255, 85, 0.25);
    }

.modal-title {
    font-size: 20px;
}

/* Кнопка "Send Request" в форме */
.btn-lime-cta {
    background-color: #ccff55;
    color: #000000;
    border: none;
    border-radius: 8px;
    font-weight: 600;
    transition: 0.2s;
}

    .btn-lime-cta:hover {
        background-color: #bbff33;
    }

/* Подсветка полей при ошибке валидации */
.was-validated .form-control:invalid,
.was-validated .form-select:invalid {
    border-color: #dc3545;
}

.was-validated .form-control:valid,
.was-validated .form-select:valid {
    border-color: #198754;
}