/* ================================================================== *
 * LANDING HOME · 2026 PREMIUM REDESIGN OVERRIDE
 * Этот файл подключён ПОСЛЕДНИМ — перебивает все предыдущие landing-*.css.
 * Цель: единый чистый ритм, читабельная типографика, стабильные сетки
 * без сдвига элементов, премиальная глубина без перегруза.
 *
 * Принципы:
 *   • один масштаб spacing (8/12/16/24/32/48/72/96)
 *   • один масштаб радиусов (8/12/16/22/28)
 *   • стекло без блюра-злоупотребления, но с тонкой обводкой
 *   • градиенты только на акцентах, не на фонах секций
 *   • стабильные grid'ы — никаких float / абсолютов в инлайн
 * ================================================================== */

/* ============ TOKENS (изолированы под лендинг) ============ */
:root {
    --lh-bg-0: #0b0c12;
    --lh-bg-1: #11131c;
    --lh-bg-2: #161824;
    --lh-bg-3: #1c1f2d;
    --lh-card: linear-gradient(180deg, rgba(28, 31, 45, .75) 0%, rgba(20, 22, 33, .85) 100%);
    --lh-card-hover: linear-gradient(180deg, rgba(35, 38, 56, .9) 0%, rgba(24, 26, 39, .95) 100%);
    --lh-stroke: rgba(255, 255, 255, .08);
    --lh-stroke-strong: rgba(255, 255, 255, .14);
    --lh-fg: #f4f6fb;
    --lh-fg-muted: #b6bdce;
    --lh-fg-faint: #7a8194;
    --lh-brand-1: #6366f1;
    --lh-brand-2: #8b5cf6;
    --lh-accent-pink: #ec4899;
    --lh-accent-emerald: #10b981;
    --lh-accent-amber: #f59e0b;
    --lh-accent-blue: #3b82f6;
    --lh-shadow-sm: 0 2px 8px rgba(0, 0, 0, .25);
    --lh-shadow-md: 0 8px 24px rgba(0, 0, 0, .35);
    --lh-shadow-lg: 0 18px 48px rgba(0, 0, 0, .45);
    --lh-shadow-glow: 0 0 0 1px rgba(99, 102, 241, .25), 0 18px 48px rgba(99, 102, 241, .15);
    --lh-r-sm: 10px;
    --lh-r-md: 16px;
    --lh-r-lg: 22px;
    --lh-r-xl: 28px;
}

/* ============ GLOBAL RHYTHM ============ */
.landing-page--home {
    background: var(--lh-bg-0);
    color: var(--lh-fg);
}
.landing-page--home .landing-section {
    padding: 96px 0;
    position: relative;
    isolation: isolate;
}
@media (max-width: 768px) {
    .landing-page--home .landing-section { padding: 64px 0; }
}
.landing-page--home .landing-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 24px;
}
.landing-page--home .landing-section-heading {
    font-size: clamp(28px, 4vw, 44px);
    font-weight: 800;
    text-align: center;
    margin: 0 0 16px;
    line-height: 1.15;
    letter-spacing: -.02em;
    background: linear-gradient(135deg, #ffffff 0%, #c7cbe0 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}
.landing-page--home .landing-section-subtitle {
    font-size: clamp(15px, 1.4vw, 17px);
    color: var(--lh-fg-muted);
    text-align: center;
    max-width: 720px;
    margin: 0 auto 56px;
    line-height: 1.6;
}
.landing-page--home .landing-subsection-title {
    font-size: clamp(22px, 2.4vw, 28px);
    font-weight: 700;
    margin: 0 0 24px;
    color: var(--lh-fg);
    letter-spacing: -.01em;
}
.landing-page--home .landing-block-note {
    color: var(--lh-fg-muted);
    font-size: 15px;
    line-height: 1.6;
    margin: 0 0 32px;
    max-width: 680px;
}

/* ============ COUNTERS — единый цельный блок без зернистого ряда ============ */
.landing-page--home .landing-counters-section {
    padding: 56px 0;
}
.landing-page--home .landing-counters {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 0 !important;
    background: var(--lh-card);
    border: 1px solid var(--lh-stroke);
    border-radius: var(--lh-r-xl);
    padding: 36px 24px;
    box-shadow: var(--lh-shadow-md);
    overflow: hidden;
    position: relative;
}
.landing-page--home .landing-counters::before {
    content: "";
    position: absolute; inset: 0;
    background: radial-gradient(900px 200px at 50% -50%, rgba(99, 102, 241, .12), transparent);
    pointer-events: none;
}
.landing-page--home .landing-counter-item {
    text-align: center;
    padding: 8px 12px;
    position: relative;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    transform: none !important;
}
.landing-page--home .landing-counter-item + .landing-counter-item::before {
    content: "";
    position: absolute;
    left: 0; top: 12%;
    height: 76%;
    width: 1px;
    background: linear-gradient(to bottom, transparent, var(--lh-stroke), transparent);
}
.landing-page--home .counter-value {
    font-size: clamp(36px, 5vw, 56px) !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    letter-spacing: -.03em !important;
    margin-bottom: 10px !important;
    background: linear-gradient(135deg, #ffffff 0%, #a78bfa 100%) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    color: transparent !important;
    display: block;
}
.landing-page--home .counter-label {
    font-size: 12px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: .12em !important;
    color: var(--lh-fg-muted) !important;
    line-height: 1.4;
}
@media (max-width: 768px) {
    .landing-page--home .landing-counters {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 0 !important;
        padding: 24px 16px;
    }
    .landing-page--home .landing-counter-item {
        padding: 18px 8px;
    }
    .landing-page--home .landing-counter-item + .landing-counter-item::before { display: none; }
    .landing-page--home .landing-counter-item:nth-child(odd)::after,
    .landing-page--home .landing-counter-item:nth-child(-n+2)::after {
        content: "";
        position: absolute;
        left: 5%; right: 5%;
        bottom: 0;
        height: 1px;
        background: linear-gradient(90deg, transparent, var(--lh-stroke), transparent);
    }
    .landing-page--home .landing-counter-item:nth-child(2n)::before {
        content: "";
        position: absolute;
        left: 0; top: 12%;
        height: 76%;
        width: 1px;
        background: linear-gradient(to bottom, transparent, var(--lh-stroke), transparent);
    }
}

/* ============ FLOW «Как это работает» — премиум путь со связанной линией ============ */
.landing-page--home .landing-section-flow .flow-path {
    background: var(--lh-card);
    border: 1px solid var(--lh-stroke);
    border-radius: var(--lh-r-xl);
    padding: 32px 28px 36px;
    position: relative;
    overflow: hidden;
}
.landing-page--home .landing-section-flow .flow-path::before {
    content: "";
    position: absolute; inset: 0;
    background: radial-gradient(800px 220px at 50% 0%, rgba(99, 102, 241, .08), transparent);
    pointer-events: none;
}
.landing-page--home .landing-section-flow .flow-path + .flow-path { margin-top: 32px !important; }
.landing-page--home .landing-section-flow .flow-path-label {
    display: inline-flex !important;
    align-items: center;
    gap: 10px;
    padding: 8px 16px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: .02em;
    margin-bottom: 28px;
    background: rgba(99, 102, 241, .14);
    color: #c4c8ff;
    border: 1px solid rgba(99, 102, 241, .28);
}
.landing-page--home .landing-section-flow .flow-path-label i { font-size: 16px; }
.landing-page--home .landing-section-flow .flow-path-label-owner {
    background: rgba(16, 185, 129, .14);
    color: #6ee7c4;
    border-color: rgba(16, 185, 129, .28);
}
.landing-page--home .landing-section-flow .flow-path-label-contractor {
    background: rgba(59, 130, 246, .14);
    color: #93c5fd;
    border-color: rgba(59, 130, 246, .28);
}

.landing-page--home .landing-flow {
    display: grid !important;
    grid-template-columns: 1fr 28px 1fr 28px 1fr !important;
    align-items: stretch;
    gap: 0 !important;
}
.landing-page--home .landing-flow-item {
    background: var(--lh-bg-2) !important;
    border: 1px solid var(--lh-stroke) !important;
    border-radius: var(--lh-r-md) !important;
    padding: 28px 22px 26px !important;
    text-align: center !important;
    position: relative;
    transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
    margin: 0 !important;
}
.landing-page--home .landing-flow-item:hover {
    transform: translateY(-4px);
    border-color: var(--lh-stroke-strong) !important;
    box-shadow: var(--lh-shadow-md);
}
.landing-page--home .landing-flow-number {
    width: 44px !important;
    height: 44px !important;
    border-radius: 50% !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    font-weight: 800 !important;
    font-size: 18px !important;
    color: #fff !important;
    margin: 0 auto 18px !important;
    box-shadow: 0 8px 18px rgba(0, 0, 0, .35), 0 0 0 4px rgba(255, 255, 255, .04);
}
.landing-page--home .landing-flow-item h3 {
    font-size: 17px !important;
    font-weight: 700 !important;
    margin: 0 0 10px !important;
    color: var(--lh-fg);
    letter-spacing: -.005em;
}
.landing-page--home .landing-flow-item p {
    font-size: 14px !important;
    line-height: 1.55 !important;
    color: var(--lh-fg-muted) !important;
    margin: 0 !important;
}
.landing-page--home .landing-flow-arrow {
    display: flex !important;
    align-items: center;
    justify-content: center;
    color: var(--lh-fg-faint) !important;
    font-size: 18px;
    position: relative;
}
.landing-page--home .landing-flow-arrow::before {
    content: "";
    position: absolute;
    left: -8px; right: -8px;
    top: 50%;
    height: 2px;
    background: linear-gradient(90deg, var(--lh-stroke) 0%, var(--lh-stroke-strong) 50%, var(--lh-stroke) 100%);
    z-index: -1;
}

@media (max-width: 900px) {
    .landing-page--home .landing-flow {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
    }
    .landing-page--home .landing-flow-arrow {
        transform: rotate(90deg);
        height: 24px;
    }
    .landing-page--home .landing-flow-arrow::before { display: none; }
}

/* ============ ROI CALCULATOR — стабильная сетка без сдвига ============ */
.landing-page--home .roi-calculator {
    display: grid !important;
    grid-template-columns: 1.1fr 1fr !important;
    gap: 24px !important;
    background: var(--lh-card) !important;
    border: 1px solid var(--lh-stroke) !important;
    border-radius: var(--lh-r-xl) !important;
    padding: 32px !important;
    align-items: stretch;
    box-shadow: var(--lh-shadow-md);
    overflow: hidden;
    position: relative;
}
.landing-page--home .roi-calculator::before {
    content: "";
    position: absolute; inset: 0;
    background: radial-gradient(700px 180px at 100% 0%, rgba(139, 92, 246, .09), transparent);
    pointer-events: none;
}
.landing-page--home .roi-inputs {
    display: flex !important;
    flex-direction: column !important;
    gap: 22px !important;
    padding: 8px 4px !important;
    margin: 0 !important;
}
.landing-page--home .roi-input-group {
    display: grid !important;
    grid-template-columns: 1fr auto !important;
    grid-template-rows: auto auto !important;
    grid-template-areas:
        "label  value"
        "slider slider" !important;
    gap: 10px 16px !important;
    align-items: center;
    background: rgba(255, 255, 255, .025) !important;
    border: 1px solid var(--lh-stroke) !important;
    border-radius: var(--lh-r-md) !important;
    padding: 16px 18px !important;
    margin: 0 !important;
}
.landing-page--home .roi-input-group label {
    grid-area: label;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: var(--lh-fg) !important;
    margin: 0 !important;
}
.landing-page--home .roi-input-group input[type="range"] {
    grid-area: slider;
    width: 100% !important;
    margin: 0 !important;
    -webkit-appearance: none;
    appearance: none;
    height: 6px;
    background: linear-gradient(90deg, var(--lh-brand-1), var(--lh-brand-2));
    border-radius: 999px;
    outline: none;
    cursor: pointer;
}
.landing-page--home .roi-input-group input[type="range"]::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 22px; height: 22px;
    border-radius: 50%;
    background: #fff;
    border: 3px solid var(--lh-brand-2);
    cursor: grab;
    box-shadow: 0 4px 12px rgba(0, 0, 0, .35);
    transition: transform .15s ease;
}
.landing-page--home .roi-input-group input[type="range"]::-webkit-slider-thumb:active {
    transform: scale(1.15);
    cursor: grabbing;
}
.landing-page--home .roi-input-group input[type="range"]::-moz-range-thumb {
    width: 22px; height: 22px;
    border-radius: 50%;
    background: #fff;
    border: 3px solid var(--lh-brand-2);
    cursor: grab;
    box-shadow: 0 4px 12px rgba(0, 0, 0, .35);
}
.landing-page--home .roi-input-value {
    grid-area: value;
    min-width: 56px;
    text-align: right;
    font-size: 22px !important;
    font-weight: 800 !important;
    color: var(--lh-brand-2) !important;
    background: none !important;
    -webkit-text-fill-color: var(--lh-brand-2) !important;
    line-height: 1;
    padding: 0 !important;
    margin: 0 !important;
}

.landing-page--home .roi-results {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    margin: 0 !important;
    padding: 0 !important;
}
.landing-page--home .roi-result-item {
    display: grid !important;
    grid-template-columns: auto 1fr !important;
    align-items: center;
    gap: 18px !important;
    padding: 18px 22px !important;
    background: var(--lh-bg-2) !important;
    border: 1px solid var(--lh-stroke) !important;
    border-radius: var(--lh-r-md) !important;
    margin: 0 !important;
    transition: transform .25s ease, border-color .25s ease;
}
.landing-page--home .roi-result-item:hover {
    transform: translateX(2px);
    border-color: var(--lh-stroke-strong) !important;
}
.landing-page--home .roi-result-value {
    font-size: 28px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    letter-spacing: -.02em !important;
    color: var(--lh-fg) !important;
    background: linear-gradient(135deg, #fff 0%, #c7cbe0 100%) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    margin: 0 !important;
    min-width: 100px;
}
.landing-page--home .roi-result-label {
    font-size: 13px !important;
    color: var(--lh-fg-muted) !important;
    line-height: 1.4 !important;
    text-align: left !important;
    margin: 0 !important;
}
.landing-page--home .roi-result-highlight {
    background: linear-gradient(135deg, rgba(16, 185, 129, .14) 0%, rgba(5, 150, 105, .08) 100%) !important;
    border-color: rgba(16, 185, 129, .35) !important;
    box-shadow: 0 0 0 1px rgba(16, 185, 129, .15), 0 8px 22px rgba(16, 185, 129, .15);
}
.landing-page--home .roi-result-highlight .roi-result-value {
    background: linear-gradient(135deg, #34d399 0%, #10b981 100%) !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
}

@media (max-width: 900px) {
    .landing-page--home .roi-calculator {
        grid-template-columns: 1fr !important;
        padding: 22px !important;
    }
    .landing-page--home .roi-result-value { font-size: 24px !important; min-width: 84px; }
}

/* ============ PRICING — премиум 2 карточки ============ */
.landing-page--home .landing-section-pricing {
    background: linear-gradient(180deg, var(--lh-bg-0) 0%, var(--lh-bg-1) 50%, var(--lh-bg-0) 100%);
}
.landing-page--home .landing-pricing-grid {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 24px !important;
    max-width: 880px;
    margin: 0 auto !important;
}
.landing-page--home .landing-pricing-card,
.landing-page--home [class*="landing-pricing-card"] {
    background: var(--lh-card) !important;
    border: 1px solid var(--lh-stroke) !important;
    border-radius: var(--lh-r-xl) !important;
    padding: 32px 28px !important;
    position: relative;
    overflow: hidden;
    transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.landing-page--home .landing-pricing-card:hover,
.landing-page--home [class*="landing-pricing-card"]:hover {
    transform: translateY(-4px);
    border-color: var(--lh-stroke-strong) !important;
    box-shadow: var(--lh-shadow-lg);
}
.landing-page--home .landing-pricing-card::before {
    content: "";
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 3px;
    background: linear-gradient(90deg, var(--lh-brand-1), var(--lh-brand-2));
    opacity: .8;
}
.landing-page--home .landing-pricing-card[data-tier="way"]::before {
    background: linear-gradient(90deg, #10b981, #059669);
}

@media (max-width: 768px) {
    .landing-page--home .landing-pricing-grid {
        grid-template-columns: 1fr !important;
    }
}

/* ============ COMPARISON «ДО vs OCC» — стабильная пара колонок ============ */
.landing-page--home .landing-section-comparison .comparison-grid,
.landing-page--home .landing-section-comparison [class*="comparison-grid"] {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 18px !important;
    align-items: stretch !important;
}
.landing-page--home .landing-section-comparison .comparison-card {
    background: var(--lh-card) !important;
    border: 1px solid var(--lh-stroke) !important;
    border-radius: var(--lh-r-lg) !important;
    padding: 22px !important;
    margin: 0 !important;
}
.landing-page--home .landing-section-comparison .comparison-row {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 12px 14px;
    border-radius: var(--lh-r-sm);
    margin-bottom: 8px;
    line-height: 1.5;
}
@media (max-width: 768px) {
    .landing-page--home .landing-section-comparison .comparison-grid,
    .landing-page--home .landing-section-comparison [class*="comparison-grid"] {
        grid-template-columns: 1fr !important;
    }
}

/* ============ HERO — без sticky-cta, более воздушный ============ */
.landing-page--home .landing-hero {
    padding: clamp(72px, 12vh, 140px) 0 clamp(48px, 8vh, 96px) !important;
}

/* ============ STICKY CTA — полностью скрыта ============ */
.sticky-cta { display: none !important; }

/* ============ FLOAT CHAT — оставлен только OCC чат, без WhatsApp ============ */
.float-chat { display: none !important; } /* старый блок с двумя кнопками */
.float-chat-single {
    position: fixed;
    right: 22px;
    bottom: 22px;
    width: 60px; height: 60px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, var(--lh-brand-1) 0%, var(--lh-brand-2) 100%);
    color: #fff !important;
    font-size: 24px;
    text-decoration: none;
    box-shadow: 0 14px 36px rgba(99, 102, 241, .42), 0 0 0 1px rgba(255, 255, 255, .08) inset;
    z-index: 999;
    transition: transform .2s ease, box-shadow .2s ease;
}
.float-chat-single:hover {
    transform: translateY(-4px) scale(1.04);
    box-shadow: 0 20px 44px rgba(99, 102, 241, .55), 0 0 0 1px rgba(255, 255, 255, .12) inset;
    color: #fff !important;
}
.float-chat-single:active { transform: scale(.96); }
.float-chat-pulse {
    position: absolute;
    inset: 0;
    border-radius: 50%;
    border: 2px solid rgba(99, 102, 241, .55);
    animation: lhPulse 2.4s ease-out infinite;
    pointer-events: none;
}
@keyframes lhPulse {
    0%   { transform: scale(1);   opacity: .7; }
    70%  { transform: scale(1.5); opacity: 0; }
    100% { transform: scale(1.5); opacity: 0; }
}
@media (max-width: 600px) {
    .float-chat-single { right: 14px; bottom: calc(14px + env(safe-area-inset-bottom)); width: 54px; height: 54px; font-size: 22px; }
}

/* ============ DARK SECTIONS BG — единый ритм ============ */
.landing-page--home .landing-section-way {
    background: linear-gradient(180deg, var(--lh-bg-0) 0%, var(--lh-bg-1) 100%);
}
.landing-page--home .landing-section-occ {
    background: linear-gradient(180deg, var(--lh-bg-1) 0%, var(--lh-bg-0) 100%);
}
.landing-page--home .landing-section-flow {
    background: var(--lh-bg-1);
}
.landing-page--home .landing-section-cases,
.landing-page--home .landing-section-reviews,
.landing-page--home .landing-section-final-cta {
    background: linear-gradient(180deg, var(--lh-bg-0) 0%, var(--lh-bg-1) 100%);
}

/* ============ VALUE PROPS — мини-сетка без сдвига ============ */
.landing-page--home .value-props-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important;
    gap: 14px !important;
}
.landing-page--home .value-props-grid > * {
    background: var(--lh-card) !important;
    border: 1px solid var(--lh-stroke) !important;
    border-radius: var(--lh-r-md) !important;
    padding: 18px 20px !important;
    margin: 0 !important;
}

/* ============ DREAM CTA BANNER — премиум баннер ============ */
.landing-page--home .landing-dream-banner {
    background: linear-gradient(135deg, rgba(99, 102, 241, .18) 0%, rgba(139, 92, 246, .14) 100%) !important;
    border: 1px solid rgba(139, 92, 246, .32) !important;
    border-radius: var(--lh-r-xl) !important;
    padding: 36px 32px !important;
    box-shadow: 0 0 0 1px rgba(139, 92, 246, .18) inset, 0 18px 48px rgba(99, 102, 241, .18);
    overflow: hidden;
    position: relative;
}
.landing-page--home .landing-dream-banner::before {
    content: "";
    position: absolute;
    inset: -50% -10% auto auto;
    width: 60%; height: 200%;
    background: radial-gradient(closest-side, rgba(236, 72, 153, .25), transparent 70%);
    pointer-events: none;
    transform: rotate(20deg);
}

/* ============ PROBLEMS / SOLUTIONS GRIDS ============ */
.landing-page--home .landing-problems-grid,
.landing-page--home .landing-solutions-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)) !important;
    gap: 16px !important;
    margin: 0 !important;
}
.landing-page--home .landing-problem-card,
.landing-page--home .landing-solution-card {
    background: var(--lh-card) !important;
    border: 1px solid var(--lh-stroke) !important;
    border-radius: var(--lh-r-md) !important;
    padding: 22px !important;
    margin: 0 !important;
    transition: transform .2s ease, border-color .2s ease;
}
.landing-page--home .landing-problem-card:hover,
.landing-page--home .landing-solution-card:hover {
    transform: translateY(-3px);
    border-color: var(--lh-stroke-strong) !important;
}
.landing-page--home .landing-solution-card {
    border-color: rgba(16, 185, 129, .22) !important;
}

/* ============ EXCLUSIVE BOX & DISCLAIMER ============ */
.landing-page--home .landing-exclusive-box {
    background: linear-gradient(135deg, rgba(245, 158, 11, .08), rgba(217, 119, 6, .04)) !important;
    border: 1px solid rgba(245, 158, 11, .25) !important;
    border-radius: var(--lh-r-lg) !important;
    padding: 28px 32px !important;
    margin-top: 60px !important;
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 22px;
    align-items: start;
}
.landing-page--home .landing-exclusive-badge {
    width: 56px; height: 56px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #f59e0b, #d97706);
    color: #fff;
    font-size: 24px;
    box-shadow: 0 10px 24px rgba(245, 158, 11, .35);
    flex-shrink: 0;
}
.landing-page--home .landing-disclaimer-box {
    background: rgba(99, 102, 241, .08) !important;
    border: 1px solid rgba(99, 102, 241, .22) !important;
    border-radius: var(--lh-r-md) !important;
    padding: 22px 26px !important;
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 18px;
    align-items: start;
}
.landing-page--home .landing-disclaimer-box .disclaimer-icon {
    width: 40px; height: 40px;
    border-radius: 50%;
    background: rgba(99, 102, 241, .2);
    color: #a5b4fc;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    flex-shrink: 0;
}

/* ============ CTA BOXES & BUTTONS ============ */
.landing-page--home .landing-cta-box {
    text-align: center !important;
    margin-top: 56px !important;
}
.landing-page--home .btn-landing-cta {
    display: inline-flex !important;
    align-items: center;
    gap: 10px;
    padding: 14px 32px !important;
    background: linear-gradient(135deg, var(--lh-brand-1) 0%, var(--lh-brand-2) 100%) !important;
    color: #fff !important;
    font-weight: 600 !important;
    font-size: 15px !important;
    border-radius: 999px !important;
    text-decoration: none !important;
    border: none !important;
    box-shadow: 0 12px 28px rgba(99, 102, 241, .35);
    transition: transform .2s ease, box-shadow .2s ease;
}
.landing-page--home .btn-landing-cta:hover {
    transform: translateY(-2px);
    box-shadow: 0 16px 36px rgba(99, 102, 241, .5);
    color: #fff !important;
}
.landing-page--home .btn-landing-cta:active { transform: scale(.97); }

/* ============ FAQ — без сдвигов ============ */
.landing-page--home .landing-section-faq .faq-item,
.landing-page--home .landing-section-faq [class*="faq-item"] {
    background: var(--lh-card) !important;
    border: 1px solid var(--lh-stroke) !important;
    border-radius: var(--lh-r-md) !important;
    margin-bottom: 12px !important;
    overflow: hidden;
}

/* ============ SECTION BADGES ============ */
.landing-page--home .landing-section-badge {
    width: 64px; height: 64px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, rgba(99, 102, 241, .18), rgba(139, 92, 246, .12));
    color: #a5b4fc;
    font-size: 26px;
    margin: 0 auto 20px;
    border: 1px solid rgba(99, 102, 241, .25);
}
.landing-page--home .landing-section-way .landing-section-badge {
    background: linear-gradient(135deg, rgba(16, 185, 129, .18), rgba(5, 150, 105, .1));
    color: #6ee7c4;
    border-color: rgba(16, 185, 129, .25);
}
.landing-page--home .landing-section-occ .landing-section-badge {
    background: linear-gradient(135deg, rgba(59, 130, 246, .18), rgba(37, 99, 235, .1));
    color: #93c5fd;
    border-color: rgba(59, 130, 246, .25);
}

/* ============ COLLAPSIBLES — без визуального ломания ============ */
.landing-page--home [data-collapsible] {
    position: relative;
}
.landing-page--home [data-collapsible].is-collapsed::after {
    content: "";
    position: absolute;
    left: 0; right: 0;
    bottom: 60px;
    height: 80px;
    background: linear-gradient(180deg, transparent 0%, var(--lh-bg-0) 100%);
    pointer-events: none;
}

/* ============ TOP CONTRACTORS / REVIEWS ============ */
.landing-page--home .landing-section-top-contractors .top-contractor-card,
.landing-page--home .landing-section-reviews .review-card {
    background: var(--lh-card) !important;
    border: 1px solid var(--lh-stroke) !important;
    border-radius: var(--lh-r-lg) !important;
    padding: 24px !important;
}

/* ============ FINAL CTA ============ */
.landing-page--home .landing-section-final-cta .final-cta-box {
    background: linear-gradient(135deg, rgba(99, 102, 241, .14) 0%, rgba(139, 92, 246, .1) 100%) !important;
    border: 1px solid rgba(139, 92, 246, .28) !important;
    border-radius: var(--lh-r-xl) !important;
    padding: 56px 48px !important;
    text-align: center;
    box-shadow: 0 0 0 1px rgba(139, 92, 246, .15) inset, 0 24px 56px rgba(99, 102, 241, .2);
}

/* ============ PROTECT FROM ICON FONT JUMP ============ */
.landing-page--home .bi { line-height: 1 !important; vertical-align: middle; }

/* ============ PRINT / REDUCED MOTION ============ */
@media (prefers-reduced-motion: reduce) {
    .landing-page--home * {
        transition: none !important;
        animation-duration: .001ms !important;
    }
}


/* ====================================================================
   Wave 13 hard reset: социальный proof и exit-popup на странице видимы
   только когда .is-open / .is-visible. Без класса — display:none !important
   ==================================================================== */
.exit-popup:not(.is-open) { display: none !important; }
.live-feed-toast:not(.is-visible) { display: none !important; }
.sticky-cta { display: none !important; }
.float-chat { display: none !important; }

/* На страницах со светлой темой (contacts, terms, privacy) — точно скрываем */
body:not(.landing-page--home) .exit-popup,
body:not(.landing-page--home) .live-feed-toast { display: none !important; }


/* ============================================================
   GUARANTEES — премиум-блок доверия (6 карточек 3×2)
   ============================================================ */
.landing-page--home .landing-section-guarantees {
    padding-top: 72px;
}

.landing-page--home .guarantees-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.landing-page--home .guarantee-card {
    position: relative;
    overflow: hidden;
    background: var(--lh-card);
    border: 1px solid var(--lh-stroke);
    border-radius: var(--lh-r-lg);
    padding: 28px 24px;
    transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
    isolation: isolate;
}

.landing-page--home .guarantee-card::before {
    content: "";
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 2px;
    background: linear-gradient(90deg, transparent, rgba(99, 102, 241, .35), transparent);
    opacity: 0;
    transition: opacity .22s;
}

.landing-page--home .guarantee-card:hover {
    transform: translateY(-3px);
    border-color: var(--lh-stroke-strong);
    box-shadow: var(--lh-shadow-md);
    background: var(--lh-card-hover);
}
.landing-page--home .guarantee-card:hover::before { opacity: 1; }

.landing-page--home .guarantee-card-icon {
    width: 56px;
    height: 56px;
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 16px;
    font-size: 1.5rem;
    border: 1px solid rgba(255, 255, 255, .06);
    box-shadow: 0 12px 28px rgba(0, 0, 0, .25);
}

.landing-page--home .guarantee-card h4 {
    font-size: 1.05rem;
    font-weight: 800;
    color: var(--lh-fg);
    margin: 0 0 10px;
    letter-spacing: -0.005em;
}

.landing-page--home .guarantee-card p {
    color: var(--lh-fg-muted);
    font-size: 0.92rem;
    line-height: 1.6;
    margin: 0;
}

.landing-page--home .guarantee-card a {
    color: #c4c8ff;
    text-decoration: none;
    border-bottom: 1px dashed rgba(99, 102, 241, .42);
    transition: color .15s, border-color .15s;
}

.landing-page--home .guarantee-card a:hover {
    color: #a5b4fc;
    border-bottom-color: #a5b4fc;
}

@media (max-width: 980px) {
    .landing-page--home .guarantees-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 580px) {
    .landing-page--home .guarantees-grid {
        grid-template-columns: 1fr;
    }
    .landing-page--home .guarantee-card {
        padding: 22px 20px;
    }
}


/* ============================================================
   MOCKUP — «Платформа в действии». Премиум-визуализация UI
   ============================================================ */
.landing-page--home .landing-section-mockup {
    padding: 88px 0;
}

.landing-page--home .mockup-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px;
}

@media (max-width: 980px) {
    .landing-page--home .mockup-grid { grid-template-columns: 1fr; }
}

.landing-page--home .mockup-card {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.landing-page--home .mockup-card-tag {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    border-radius: 999px;
    background: rgba(16, 185, 129, .14);
    color: #6ee7c4;
    border: 1px solid rgba(16, 185, 129, .28);
    font-size: 13px;
    font-weight: 700;
    width: fit-content;
}
.landing-page--home .mockup-card-tag-contractor {
    background: rgba(99, 102, 241, .14);
    color: #c4c8ff;
    border-color: rgba(99, 102, 241, .28);
}

.landing-page--home .mockup-frame {
    position: relative;
    background: linear-gradient(180deg, #1a1c2a 0%, #14161f 100%);
    border: 1px solid var(--lh-stroke-strong);
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 24px 60px rgba(0, 0, 0, .45),
                0 0 0 1px rgba(255, 255, 255, .04);
    isolation: isolate;
    transition: transform .25s ease, box-shadow .25s ease;
}
.landing-page--home .mockup-card:hover .mockup-frame {
    transform: translateY(-4px);
    box-shadow: 0 32px 70px rgba(0, 0, 0, .55), 0 0 0 1px rgba(99, 102, 241, .25);
}

.landing-page--home .mockup-toolbar {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 14px;
    background: rgba(255, 255, 255, .03);
    border-bottom: 1px solid var(--lh-stroke);
}
.landing-page--home .mockup-dot {
    width: 11px;
    height: 11px;
    border-radius: 50%;
    flex-shrink: 0;
}
.landing-page--home .mockup-dot-r { background: #ef4444; }
.landing-page--home .mockup-dot-y { background: #f59e0b; }
.landing-page--home .mockup-dot-g { background: #10b981; }
.landing-page--home .mockup-url {
    flex: 1;
    background: rgba(0, 0, 0, .35);
    border-radius: 6px;
    padding: 5px 12px;
    font-size: 12px;
    color: #94a3b8;
    margin-left: 6px;
    text-align: center;
}

.landing-page--home .mockup-screen {
    padding: 18px;
    display: flex;
    flex-direction: column;
    gap: 14px;
    min-height: 380px;
    background:
        radial-gradient(800px 200px at 50% 0%, rgba(99, 102, 241, .12), transparent 70%),
        transparent;
}

.landing-page--home .mockup-row {
    display: flex;
    align-items: center;
    gap: 12px;
}

.landing-page--home .mockup-header-row {
    padding: 12px 14px;
    background: rgba(255, 255, 255, .04);
    border: 1px solid var(--lh-stroke);
    border-radius: var(--lh-r-md);
}

.landing-page--home .mockup-avatar {
    width: 36px;
    height: 36px;
    border-radius: 12px;
    background: linear-gradient(135deg, var(--lh-brand-1), var(--lh-brand-2));
    color: #fff;
    display: grid;
    place-items: center;
    font-weight: 800;
    font-size: 0.95rem;
    flex-shrink: 0;
    box-shadow: 0 8px 18px rgba(99, 102, 241, .35);
}
.landing-page--home .mockup-text { flex: 1; min-width: 0; }
.landing-page--home .mockup-text-strong {
    color: var(--lh-fg);
    font-weight: 700;
    font-size: 0.92rem;
    line-height: 1.3;
}
.landing-page--home .mockup-text-muted {
    color: var(--lh-fg-muted);
    font-size: 0.78rem;
    margin-top: 2px;
}

.landing-page--home .mockup-badge {
    padding: 4px 10px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 700;
    flex-shrink: 0;
}
.landing-page--home .mockup-badge-emerald {
    background: rgba(16, 185, 129, .14);
    color: #6ee7c4;
    border: 1px solid rgba(16, 185, 129, .28);
}

.landing-page--home .mockup-progress {
    height: 8px;
    background: rgba(255, 255, 255, .06);
    border-radius: 999px;
    overflow: hidden;
}
.landing-page--home .mockup-progress-bar {
    height: 100%;
    background: linear-gradient(90deg, #10b981, #6ee7c4);
    border-radius: 999px;
    box-shadow: 0 0 12px rgba(16, 185, 129, .55);
    animation: mockup-grow 1.6s ease forwards;
    transform-origin: left;
}
@keyframes mockup-grow {
    from { transform: scaleX(0); }
    to   { transform: scaleX(1); }
}

.landing-page--home .mockup-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    padding: 12px;
    background: rgba(255, 255, 255, .03);
    border: 1px solid var(--lh-stroke);
    border-radius: var(--lh-r-md);
}
.landing-page--home .mockup-stats-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.landing-page--home .mockup-stat { text-align: center; }
.landing-page--home .mockup-stat-val {
    font-size: 1.1rem;
    font-weight: 800;
    color: var(--lh-fg);
    line-height: 1;
}
.landing-page--home .mockup-stat-val.mockup-grad-emerald {
    background: linear-gradient(135deg, #10b981, #6ee7c4);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}
.landing-page--home .mockup-stat-val.mockup-grad-blue {
    background: linear-gradient(135deg, #3b82f6, #60a5fa);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}
.landing-page--home .mockup-stat-val.mockup-grad-amber {
    background: linear-gradient(135deg, #f59e0b, #fbbf24);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}
.landing-page--home .mockup-stat-lbl {
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: var(--lh-fg-faint);
    margin-top: 4px;
    font-weight: 600;
}

.landing-page--home .mockup-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.landing-page--home .mockup-item {
    display: grid;
    grid-template-columns: 36px 1fr;
    gap: 12px;
    align-items: center;
    padding: 10px 12px;
    background: rgba(255, 255, 255, .03);
    border: 1px solid var(--lh-stroke);
    border-radius: 12px;
    transition: background .18s, border-color .18s;
}
.landing-page--home .mockup-item:hover {
    background: rgba(255, 255, 255, .05);
    border-color: var(--lh-stroke-strong);
}
.landing-page--home .mockup-item-icon {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    display: grid;
    place-items: center;
    font-size: 1rem;
    flex-shrink: 0;
}
.landing-page--home .mockup-icon-emerald { background: rgba(16, 185, 129, .14); color: #6ee7c4; }
.landing-page--home .mockup-icon-amber   { background: rgba(245, 158, 11, .14); color: #fcd34d; }
.landing-page--home .mockup-icon-blue    { background: rgba(59, 130, 246, .14); color: #93c5fd; }
.landing-page--home .mockup-icon-pink    { background: rgba(236, 72, 153, .14); color: #f9a8d4; }
.landing-page--home .mockup-icon-purple  { background: rgba(139, 92, 246, .14); color: #c4b5fd; }
.landing-page--home .mockup-item-title {
    color: var(--lh-fg);
    font-weight: 600;
    font-size: 0.85rem;
    line-height: 1.3;
}
.landing-page--home .mockup-item-sub {
    color: var(--lh-fg-muted);
    font-size: 0.74rem;
    margin-top: 2px;
}

/* Воронка для подрядчика */
.landing-page--home .mockup-funnel {
    padding: 12px;
    background: rgba(255, 255, 255, .03);
    border: 1px solid var(--lh-stroke);
    border-radius: var(--lh-r-md);
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.landing-page--home .mockup-funnel-row {
    position: relative;
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    padding: 8px 12px;
    background: rgba(0, 0, 0, .25);
    border-radius: 10px;
    overflow: hidden;
    font-size: 0.82rem;
    color: var(--lh-fg);
    font-weight: 600;
}
.landing-page--home .mockup-funnel-cnt {
    color: #c4c8ff;
    font-weight: 800;
    z-index: 1;
}
.landing-page--home .mockup-funnel-row span:first-child {
    z-index: 1;
}
.landing-page--home .mockup-funnel-bar {
    position: absolute;
    inset: 0;
    width: var(--w, 0%);
    background: linear-gradient(90deg, rgba(99, 102, 241, .55), rgba(99, 102, 241, .15));
    border-radius: 10px 0 0 10px;
    pointer-events: none;
}

.landing-page--home .mockup-features {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-top: 4px;
}
.landing-page--home .mockup-feature {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 12px;
    background: var(--lh-bg-2);
    border: 1px solid var(--lh-stroke);
    border-radius: 999px;
    font-size: 12px;
    color: var(--lh-fg-muted);
    font-weight: 600;
}
.landing-page--home .mockup-feature i { color: #a5b4fc; }


/* ============================================================
   HERO META — рейтинг + города (под trust-полосой)
   ============================================================ */
.landing-page--home .landing-hero-meta {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;
    gap: 14px 24px;
    margin-top: 26px;
    padding: 12px 18px;
    background: rgba(255, 255, 255, .04);
    border: 1px solid var(--lh-stroke);
    border-radius: 999px;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

.landing-page--home .landing-hero-rating {
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

.landing-page--home .landing-hero-rating-stars {
    display: inline-flex;
    gap: 2px;
    font-size: 1rem;
    color: #fbbf24;
    text-shadow: 0 0 10px rgba(251, 191, 36, .35);
}

.landing-page--home .landing-hero-rating-text {
    color: var(--lh-fg);
    font-size: 0.92rem;
    font-weight: 600;
}
.landing-page--home .landing-hero-rating-text strong {
    font-size: 1.05rem;
    background: linear-gradient(135deg, #fbbf24, #f59e0b);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    margin-right: 2px;
}
.landing-page--home .landing-hero-rating-sub {
    color: var(--lh-fg-muted);
    font-weight: 500;
    font-size: 0.86rem;
}

.landing-page--home .landing-hero-cities {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--lh-fg-muted);
    font-size: 0.92rem;
    font-weight: 600;
    padding-left: 24px;
    position: relative;
}
.landing-page--home .landing-hero-cities::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 1px;
    height: 22px;
    background: var(--lh-stroke);
}
.landing-page--home .landing-hero-cities i {
    color: #a5b4fc;
    font-size: 1.05rem;
}

@media (max-width: 580px) {
    .landing-page--home .landing-hero-meta {
        flex-direction: column;
        gap: 12px;
        padding: 14px 18px;
        border-radius: 22px;
    }
    .landing-page--home .landing-hero-cities {
        padding-left: 0;
    }
    .landing-page--home .landing-hero-cities::before { display: none; }
}


/* ============================================================
   TRUST STRIP — пятичастный пояс символов доверия
   ============================================================ */
.landing-page--home .landing-section-trust-strip {
    padding: 36px 0 56px;
}

.landing-page--home .trust-strip {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 12px;
    padding: 18px 24px;
    background: var(--lh-card);
    border: 1px solid var(--lh-stroke);
    border-radius: var(--lh-r-lg);
    box-shadow: var(--lh-shadow-md);
    position: relative;
    overflow: hidden;
}

.landing-page--home .trust-strip::before {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(800px 100px at 50% 0%, rgba(99, 102, 241, .10), transparent 70%);
    pointer-events: none;
}

.landing-page--home .trust-strip-item {
    position: relative;
    display: grid;
    grid-template-columns: 44px 1fr;
    gap: 12px;
    align-items: center;
    padding: 6px 12px;
}

.landing-page--home .trust-strip-item + .trust-strip-item::before {
    content: "";
    position: absolute;
    left: 0;
    top: 18%;
    bottom: 18%;
    width: 1px;
    background: linear-gradient(180deg, transparent, var(--lh-stroke), transparent);
}

.landing-page--home .trust-strip-icon {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    display: grid;
    place-items: center;
    font-size: 1.2rem;
    border: 1px solid rgba(255, 255, 255, .04);
}

.landing-page--home .trust-strip-text {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}
.landing-page--home .trust-strip-text strong {
    color: var(--lh-fg);
    font-size: 0.9rem;
    font-weight: 800;
    letter-spacing: -0.005em;
}
.landing-page--home .trust-strip-text span {
    color: var(--lh-fg-muted);
    font-size: 0.78rem;
    line-height: 1.3;
}

@media (max-width: 1024px) {
    .landing-page--home .trust-strip {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .landing-page--home .trust-strip-item:nth-child(3n+1)::before { display: none; }
}
@media (max-width: 640px) {
    .landing-page--home .trust-strip {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        padding: 16px 14px;
    }
    .landing-page--home .trust-strip-item::before { display: none; }
    .landing-page--home .trust-strip-item {
        padding: 8px 6px;
    }
}
