/* =====================================================================
   ЭСМ — слой редизайна (поверх шаблонной верстки Suntop)
   Подключается ПОСЛЕДНИМ. Здесь: 2 цветовые схемы, переключатель,
   переработка хедера, hero, features, услуг, CTA, команды, футера.
   ===================================================================== */

/* ---------- ЦВЕТОВЫЕ СХЕМЫ ----------
   Шаблон везде использует --suntop-base. Переопределяя его, мы
   перекрашиваем весь сайт. Две схемы: «Государственный синий»
   (по умолчанию) и «Шаблонный оранжевый» (исходный).            */
html[data-scheme="blue"] {
    --suntop-base: #2E72C9;
    --suntop-base-rgb: 46, 114, 201;
    --esm-navy: #0B2545;
    --esm-navy-2: #0E2C52;
    --esm-accent-soft: rgba(46, 114, 201, 0.14);
}
html[data-scheme="orange"] {
    --suntop-base: #F95E11;
    --suntop-base-rgb: 249, 94, 17;
    --esm-navy: #161310;
    --esm-navy-2: #1c1813;
    --esm-accent-soft: rgba(249, 94, 17, 0.14);
}
:root {
    --esm-bg: #0a0c0f;
    --esm-surface: #111418;
    --esm-surface-2: #161a1f;
    --esm-line: rgba(255, 255, 255, 0.10);
    --esm-line-strong: rgba(255, 255, 255, 0.18);
    --esm-text: #e9ebee;
    --esm-muted: #9aa0a8;
    --esm-mono: "IBM Plex Mono", "DM Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;
}

/* моноширинный шрифт подключён в <head> страницы */

html, body { background: var(--esm-bg) !important; }
body { color: var(--esm-text); }

/* список-маркеры в шаблоне жёстко оранжевые (#f95e11) — переводим на акцент схемы */
li::marker { color: var(--suntop-base) !important; }

/* единый ритм секций + аккуратные разделители */
.about-one, .services-one, .highlight-one, .team-one,
.counter-one, .testimonial-one, .pricing-one, .blog-one, .faq-one {
    border-top: 1px solid var(--esm-line);
}

/* ====================================================================
   ПЕРЕКЛЮЧАТЕЛЬ СХЕМ
   ==================================================================== */
.esm-scheme {
    position: fixed;
    z-index: 1200;
    right: 18px;
    bottom: 18px;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 7px 9px 7px 14px;
    background: rgba(10, 12, 15, 0.82);
    backdrop-filter: blur(10px);
    border: 1px solid var(--esm-line-strong);
    border-radius: 100px;
    box-shadow: 0 12px 30px -12px rgba(0, 0, 0, 0.7);
}
.esm-scheme__label {
    font-family: var(--esm-mono);
    font-size: 10px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--esm-muted);
    margin-right: 2px;
}
.esm-scheme__btn {
    width: 26px; height: 26px;
    border-radius: 50%;
    border: 2px solid transparent;
    cursor: pointer;
    padding: 0;
    transition: transform .25s ease, border-color .25s ease;
}
.esm-scheme__btn:hover { transform: scale(1.1); }
.esm-scheme__btn[data-set="blue"] { background: #2E72C9; }
.esm-scheme__btn[data-set="orange"] { background: #F95E11; }
html[data-scheme="blue"] .esm-scheme__btn[data-set="blue"],
html[data-scheme="orange"] .esm-scheme__btn[data-set="orange"] {
    border-color: #fff;
}

/* ====================================================================
   КНОПКА (thm-btn) — чистый «директовский» стиль: плотная заливка,
   мягкое скругление, спокойный hover (без шумной анимации шаблона)
   ==================================================================== */
.thm-btn {
    border-radius: 8px !important;
    font-weight: 600 !important;
    letter-spacing: 0.01em;
    background-color: var(--suntop-base) !important;
    color: #fff !important;
    box-shadow: none !important;
    transition: filter .2s ease, transform .2s ease !important;
    overflow: hidden;
}
.thm-btn:hover {
    filter: brightness(1.08);
    transform: translateY(-2px);
    color: #fff !important;
}
/* глушим четыре анимированных «пузыря» из шаблона */
.thm-btn .hover-btn,
.thm-btn .hover-bx,
.thm-btn .hover-bx2,
.thm-btn .hover-bx3,
.thm-btn .hover-bx4 { display: none !important; }
.thm-btn .icon-right-arrow { margin-left: 8px; }

/* ====================================================================
   ЗАГОЛОВКИ СЕКЦИЙ
   ==================================================================== */
.sec-title__tagline .count-box p {
    font-family: var(--esm-mono);
    font-weight: 600;
}
.sec-title__title { color: var(--esm-text); }
.sec-title__text { color: var(--esm-muted); }

/* ====================================================================
   ХЕДЕР
   ==================================================================== */
/* Верхняя полоса — оставляем только телефон/почту + режим работы.
   Соцсети-заглушки убраны в разметке. */
.main-header-one__top {
    background: var(--esm-navy);
    border-bottom: 1px solid var(--esm-line);
}
.main-header-one__top-inner {
    padding-top: 9px;
    padding-bottom: 9px;
    min-height: 0;
}
.main-header-one__top-welcome-text {
    color: rgba(255, 255, 255, 0.75);
    font-size: 13px;
    letter-spacing: 0.01em;
}
.main-header-one__working-hours-text { font-size: 13px; }
.main-header-one__contact-list li .text p a { font-size: 13px; }

/* Нижняя полоса — навигация */
.main-header-one__bottom {
    background: rgba(10, 12, 15, 0.96);
    border-bottom: 1px solid var(--esm-line);
}
.main-header-one__logo img,
.main-header-one__logo svg { height: 40px; width: auto; }

.main-menu__list > li > a {
    font-weight: 600;
    font-size: 16px;
}

/* Кнопка-телеграм рядом с CTA */
.esm-tg-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 50px; height: 50px;
    border-radius: 4px;
    border: 1px solid var(--esm-line-strong);
    color: #fff;
    font-size: 20px;
    line-height: 1;
    transition: all .3s ease;
}
.esm-tg-btn:hover {
    background: var(--suntop-base);
    border-color: var(--suntop-base);
    color: #fff;
}
.main-header-one__bottom-right {
    display: flex;
    align-items: center;
}
/* выравниваем телеграм-иконку и CTA в одну линию */
.main-header-one__bottom-right .main-header-one__btn-box {
    display: flex;
    align-items: center;
    gap: 12px;
}

/* Соцсети в левой части верхней полосы */
.esm-topbar-social {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-right: 18px;
    padding-right: 18px;
    border-right: 1px solid var(--esm-line);
}
.esm-topbar-social a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px; height: 26px;
    border-radius: 5px;
    border: 1px solid var(--esm-line-strong);
    color: rgba(255, 255, 255, 0.78);
    font-size: 12px;
    transition: all .25s ease;
}
.esm-topbar-social a:hover {
    background: var(--suntop-base);
    border-color: var(--suntop-base);
    color: #fff;
}
.esm-topbar-social a .esm-dzen {
    font-family: var(--esm-mono);
    font-weight: 600;
    font-size: 12px;
    line-height: 1;
}
.main-header-one__social-and-text {
    display: flex;
    align-items: center;
}

/* ====================================================================
   HERO — сильный статичный экран
   ==================================================================== */
.esm-hero {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 88vh;
    padding: 140px 0 110px;
    overflow: hidden;
    background: var(--esm-bg);
}
.esm-hero__bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center right;
    filter: grayscale(0.35) brightness(0.5) contrast(1.05);
    z-index: 0;
}
.esm-hero__bg::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, var(--esm-bg) 0%, rgba(10, 12, 15, 0.92) 38%, rgba(10, 12, 15, 0.55) 100%);
}
/* техническая сетка поверх */
.esm-hero__grid {
    position: absolute;
    inset: 0;
    z-index: 1;
    background-image:
        linear-gradient(rgba(255, 255, 255, 0.045) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.045) 1px, transparent 1px);
    background-size: 64px 64px;
    mask-image: linear-gradient(90deg, transparent, #000 30%, #000 70%, transparent);
}
.esm-hero .container { position: relative; z-index: 2; }
.esm-hero__inner { max-width: 820px; }

.esm-hero__kicker {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    font-family: var(--esm-mono);
    font-size: 13px;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: #fff;
    margin-bottom: 28px;
}
.esm-hero__kicker::before {
    content: "";
    width: 36px; height: 2px;
    background: var(--suntop-base);
}
.esm-hero__title {
    color: #fff;
    font-size: 76px;
    line-height: 1.02;
    font-weight: 700;
    letter-spacing: -0.02em;
    margin: 0 0 22px;
    text-wrap: balance;
}
.esm-hero__title span { color: var(--suntop-base); }
.esm-hero__text {
    color: rgba(255, 255, 255, 0.78);
    font-size: 20px;
    line-height: 1.55;
    max-width: 620px;
    margin: 0 0 38px;
    text-wrap: pretty;
}
.esm-hero__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 16px;
    margin-bottom: 56px;
}
.esm-hero__ghost {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: #fff;
    font-weight: 600;
    font-size: 16px;
    padding: 16px 26px;
    border: 1px solid var(--esm-line-strong);
    border-radius: 4px;
    transition: all .3s ease;
}
.esm-hero__ghost:hover {
    border-color: #fff;
    color: #fff;
    background: rgba(255, 255, 255, 0.05);
}
/* строка статистики */
.esm-hero__stats {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    border-top: 1px solid var(--esm-line);
    padding-top: 30px;
}
.esm-hero__stat {
    padding-right: 48px;
    margin-right: 48px;
    border-right: 1px solid var(--esm-line);
}
.esm-hero__stat:last-child { border-right: 0; margin-right: 0; padding-right: 0; }
.esm-hero__stat b {
    display: block;
    font-size: 44px;
    font-weight: 700;
    line-height: 1;
    color: #fff;
    letter-spacing: -0.02em;
}
.esm-hero__stat b i {
    font-style: normal;
    color: var(--suntop-base);
}
.esm-hero__stat span {
    display: block;
    margin-top: 8px;
    font-size: 14px;
    color: var(--esm-muted);
    line-height: 1.35;
    max-width: 190px;
}

/* ====================================================================
   FEATURES — три плашки-показателя
   ==================================================================== */
.features-one__inner {
    background: var(--esm-surface) !important;
    border: 1px solid var(--esm-line) !important;
    border-bottom: 3px solid var(--suntop-base) !important;
    border-radius: 8px;
    box-shadow: 0 30px 60px -30px rgba(0, 0, 0, 0.6) !important;
    gap: 24px;
    padding: 44px 48px !important;
}
.features-one__single {
    flex: 1;
    gap: 20px;
}
.features-one__single:not(:last-child) {
    border-right: 1px solid var(--esm-line);
    padding-right: 24px;
}
.features-one__single .icon-box {
    width: 60px; height: 60px;
    flex: 0 0 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    background: var(--esm-accent-soft);
}
.features-one__single .icon-box i,
.features-one__single .icon-box span { color: var(--suntop-base); font-size: 28px; line-height: 1; }
.features-one__single .text-box h2 {
    color: var(--esm-text);
    font-size: 19px !important;
    line-height: 1.3 !important;
    font-weight: 600 !important;
}
.features-one__single .text-box h2 b {
    display: block;
    font-size: 34px;
    color: var(--suntop-base);
    line-height: 1;
    margin-bottom: 4px;
}

/* ====================================================================
   УСЛУГИ — сетка карточек с профильными иконками
   (заменяет битые табы с дублирующимися data-tab)
   ==================================================================== */
.esm-services-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    margin-top: 18px;
}
.esm-service {
    position: relative;
    display: flex;
    flex-direction: column;
    padding: 30px 26px 28px;
    background: var(--esm-surface);
    border: 1px solid var(--esm-line);
    border-radius: 8px;
    overflow: hidden;
    transition: border-color .3s ease, transform .3s ease, background .3s ease;
}
.esm-service::before {
    content: "";
    position: absolute;
    left: 0; top: 0;
    width: 100%; height: 3px;
    background: var(--suntop-base);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform .35s ease;
}
.esm-service:hover {
    transform: translateY(-4px);
    border-color: var(--esm-line-strong);
    background: var(--esm-surface-2);
}
.esm-service:hover::before { transform: scaleX(1); }
.esm-service__num {
    font-family: var(--esm-mono);
    font-size: 12px;
    letter-spacing: 0.14em;
    color: var(--esm-muted);
}
.esm-service__icon {
    margin: 20px 0 22px;
    width: 56px; height: 56px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    background: var(--esm-accent-soft);
    color: var(--suntop-base);
    font-size: 26px;
}
.esm-service__title {
    color: var(--esm-text);
    font-size: 19px;
    font-weight: 600;
    line-height: 1.3;
    margin: 0 0 8px;
}
.esm-service__text {
    color: var(--esm-muted);
    font-size: 14px;
    line-height: 1.5;
    margin: 0;
}

/* ====================================================================
   CTA / Преимущества (III) — карточки с корректными иконками
   ==================================================================== */
.cta-one .contact-info__single {
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid var(--esm-line);
    border-radius: 8px;
    padding: 36px 30px;
    height: 100%;
    transition: border-color .3s ease, background .3s ease;
}
.cta-one .contact-info__single:hover {
    border-color: var(--suntop-base);
    background: var(--esm-accent-soft);
}
.cta-one .contact-info__icon {
    width: 64px; height: 64px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--esm-accent-soft);
    margin-bottom: 22px;
}
.cta-one .contact-info__icon i,
.cta-one .contact-info__icon span {
    color: var(--suntop-base);
    font-size: 28px;
    line-height: 1;
}
.cta-one .contact-info__single h3 {
    color: #fff;
    font-size: 22px;
    font-weight: 600;
    margin: 0 0 10px;
}
.cta-one .contact-info__single p {
    color: rgba(255, 255, 255, 0.7);
    font-size: 15px;
    line-height: 1.5;
    margin: 0;
}
.cta-one .row { row-gap: 24px; }

/* ====================================================================
   КОМАНДА — заглушки с инициалами (фото пока нет)
   ==================================================================== */
.team-one__img .esm-avatar {
    position: relative;
    width: 100%;
    aspect-ratio: 1 / 1.05;
    display: flex;
    align-items: center;
    justify-content: center;
    background:
        radial-gradient(120% 120% at 50% 0%, var(--esm-navy-2) 0%, var(--esm-surface) 70%);
    overflow: hidden;
}
.team-one__img .esm-avatar::before {
    /* техническая угловая рамка */
    content: "";
    position: absolute;
    inset: 14px;
    border: 1px solid var(--esm-line);
}
.team-one__img .esm-avatar__initials {
    font-family: var(--esm-mono);
    font-weight: 600;
    font-size: 64px;
    letter-spacing: 0.04em;
    color: #fff;
    z-index: 1;
}
.team-one__img .esm-avatar__tick {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 26px;
    display: flex;
    gap: 7px;
    z-index: 1;
}
.team-one__img .esm-avatar__tick i {
    display: block; width: 2px; height: 9px;
    background: var(--suntop-base);
}
.team-one__img .esm-avatar__tick i:nth-child(2) { height: 6px; opacity: .5; background:#fff; }
.team-one__img .esm-avatar__tick i:nth-child(3) { height: 9px; background:#fff; opacity:.8; }

/* ====================================================================
   FAQ — форма: убираем «директора», ставим нормальный CTA
   ==================================================================== */
.faq-one__form { background: var(--esm-surface); border: 1px solid var(--esm-line); }

/* ====================================================================
   ФУТЕР
   ==================================================================== */
.site-footer-one { border-top: 1px solid var(--esm-line); }
.footer-widget-one__about-logo img,
.footer-widget-one__about-logo svg { height: 52px; width: auto; }
.footer-widget-one__social a {
    border: 1px solid var(--esm-line-strong);
}
.footer-widget-one__social a:hover {
    background: var(--suntop-base);
    border-color: var(--suntop-base);
}
.site-footer-one__bottom-menu { display: flex; gap: 26px; flex-wrap: wrap; }

/* ====================================================================
   ЦЕНЫ — премиальные тёмные карточки, плавный hover
   ==================================================================== */
.pricing-one { background: var(--esm-bg) !important; padding: 100px 0 80px !important; }
.pricing-one .row { row-gap: 28px; align-items: stretch; }
.pricing-one .col-xl-4 { display: flex; }

.pricing-one__single {
    background: var(--esm-surface) !important;
    border: 1px solid var(--esm-line);
    border-radius: 12px;
    padding: 38px 34px 34px !important;
    margin-bottom: 0 !important;
    width: 100%;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    transition: transform .35s cubic-bezier(.2,.7,.3,1), border-color .35s ease, box-shadow .35s ease, background .35s ease;
}
/* убираем резкий scaleX-залив из шаблона */
.pricing-one__single::before { display: none !important; }

.pricing-one__single:hover {
    transform: translateY(-8px);
    border-color: var(--esm-line-strong);
    background: var(--esm-surface-2) !important;
    box-shadow: 0 40px 70px -30px rgba(0, 0, 0, 0.7);
}

/* выделенный тариф */
.pricing-one__single.active {
    border-color: var(--esm-line-strong);
    background: var(--esm-surface-2) !important;
}
.pricing-one__single.active .table-header {
    position: relative;
}
.pricing-one__single.active .category-box h2::after {
    content: "Рекомендуем";
    display: inline-block;
    vertical-align: middle;
    margin-left: 10px;
    font-family: var(--esm-mono);
    font-size: 10px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--suntop-base);
    background: var(--esm-accent-soft);
    border: 1px solid var(--suntop-base);
    padding: 3px 9px;
    border-radius: 5px;
}

.pricing-one__single .table-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 18px;
    border-bottom: 1px solid var(--esm-line) !important;
    padding-bottom: 24px !important;
    margin-bottom: 24px !important;
}
.pricing-one__single:hover .table-header { border-bottom-color: var(--esm-line-strong) !important; }
.pricing-one__single .table-header .category-box h2,
.pricing-one__single:hover .table-header .category-box h2 {
    color: var(--esm-text) !important;
    font-size: 21px !important;
    line-height: 1.3 !important;
}
.pricing-one__single .table-header .category-box p,
.pricing-one__single:hover .table-header .category-box p {
    color: var(--esm-muted) !important;
    font-size: 14px !important;
}
.pricing-one__single .table-header .pricing-box {
    width: 100%;
    padding-top: 4px;
    border-top: 1px dashed var(--esm-line);
}
.pricing-one__single .table-header .pricing-box h4,
.pricing-one__single:hover .table-header .pricing-box h4 {
    color: var(--suntop-base) !important;
    font-size: 30px !important;
    line-height: 1.1 !important;
    font-weight: 700 !important;
    margin-top: 14px;
}

.pricing-one__single .table-content { flex: 1; }
.pricing-one__single .table-content ul li { padding: 9px 0; border-bottom: 1px solid rgba(255,255,255,0.05); }
.pricing-one__single .table-content ul li + li { margin-top: 0 !important; }
.pricing-one__single .table-content ul li p,
.pricing-one__single:hover .table-content ul li p {
    color: var(--esm-text) !important;
    font-size: 15px !important;
    display: flex;
    align-items: center;
    gap: 10px;
}
.pricing-one__single .table-content ul li p span::before,
.pricing-one__single:hover .table-content ul li p span::before {
    color: var(--suntop-base) !important;
    font-size: 13px !important;
    margin-right: 0 !important;
}
/* недоступные пункты — приглушены */
.pricing-one__single .table-content ul li p span.icon-delete-button::before {
    color: var(--esm-muted) !important;
}
.pricing-one__single .table-content ul li:has(.icon-delete-button) p,
.pricing-one__single:hover .table-content ul li:has(.icon-delete-button) p {
    color: var(--esm-muted) !important;
}

.pricing-one__single .table-footer { margin-top: 28px !important; }
.pricing-one__single .table-footer .thm-btn {
    background: transparent;
    border: 1px solid var(--esm-line-strong);
    color: #fff;
}
.pricing-one__single.active .table-footer .thm-btn {
    background: var(--suntop-base);
    border-color: var(--suntop-base);
}
.pricing-one__single:hover .table-footer .thm-btn {
    background: var(--suntop-base) !important;
    border-color: var(--suntop-base);
    color: #fff !important;
}

/* ====================================================================
   ВНУТРЕННИЕ СТРАНИЦЫ — компактный заголовок (единый для всех страниц)
   ==================================================================== */
.esm-pagehead,
.page-header {
    position: relative;
    padding: 58px 0 50px !important;
    background: var(--esm-navy) !important;
    border-bottom: 1px solid var(--esm-line);
    overflow: hidden;
    text-align: left !important;
}
/* убираем тяжёлую фоновую картинку шаблонного баннера */
.page-header__bg { display: none !important; }
.esm-pagehead__grid,
.page-header::after {
    content: "";
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(255,255,255,0.04) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,0.04) 1px, transparent 1px);
    background-size: 52px 52px;
    mask-image: linear-gradient(90deg, transparent, #000 38%, transparent);
    z-index: 0;
}
.esm-pagehead .container,
.page-header .container { position: relative; z-index: 1; }
.page-header__inner { text-align: left !important; }

.esm-pagehead__kicker {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-family: var(--esm-mono);
    font-size: 12px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--suntop-base);
    margin-bottom: 14px;
}
.esm-pagehead__kicker::before { content: ""; width: 26px; height: 2px; background: var(--suntop-base); }

.esm-pagehead__title,
.page-header__inner h2 {
    color: #fff !important;
    font-size: 42px !important;
    font-weight: 700 !important;
    letter-spacing: -0.02em !important;
    line-height: 1.08 !important;
    margin: 0 0 12px !important;
}

/* хлебные крошки — компактный моноширинный ряд со «/» */
.esm-pagehead__crumbs,
.page-header__inner .thm-breadcrumb {
    display: flex !important;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start !important;
    gap: 8px;
    margin: 0 !important;
    font-family: var(--esm-mono);
    font-size: 13px;
    color: var(--esm-muted);
}
.esm-pagehead__crumbs a,
.page-header__inner .thm-breadcrumb li a { color: var(--esm-muted) !important; font-size: 13px !important; }
.esm-pagehead__crumbs a:hover,
.page-header__inner .thm-breadcrumb li a:hover { color: var(--suntop-base) !important; }
.esm-pagehead__crumbs span { opacity: 0.45; }
.page-header__inner .thm-breadcrumb li { color: var(--esm-muted) !important; font-size: 13px !important; margin: 0 !important; }
/* заменяем стрелку-иконку на тонкий слэш */
.page-header__inner .thm-breadcrumb li span { font-size: 0 !important; top: 0 !important; opacity: 0.45; }
.page-header__inner .thm-breadcrumb li span::before { content: "/" !important; font-family: var(--esm-mono) !important; font-size: 13px !important; }

/* ====================================================================
   О КОМПАНИИ — секция About Two (исправление читаемости)
   ==================================================================== */
.about-two { background: var(--esm-bg); }
.about-two__content-title h2,
.about-two__content-title h2 * {
    color: #fff !important;
    text-transform: none !important;
}
.about-two__content-text p { color: #c4c9cf !important; }
.about-two__content-text p strong { color: #fff !important; }

/* карточки-преимущества: тёмная поверхность вместо белой */
.about-two__content-list ul li {
    background: var(--esm-surface) !important;
    border: 1px solid var(--esm-line);
    border-radius: 10px;
    box-shadow: none !important;
}
.about-two__content-list ul li::before { background: var(--suntop-base); }
.about-two__content-list ul li .icon-box { border-radius: 8px; }
.about-two__content-list ul li .text-box h2 {
    color: #fff !important;
    text-transform: none !important;
}
.about-two__content-list ul li .text-box p { color: #aab0b8 !important; }

/* бегущая строка — приглушаем контур на тёмном */
.sliding-text-one { background: var(--esm-navy); border-top: 1px solid var(--esm-line); border-bottom: 1px solid var(--esm-line); }

/* ====================================================================
   КАТАЛОГ ОБОРУДОВАНИЯ
   ==================================================================== */
.esm-catalog-section { padding: 70px 0 90px; background: var(--esm-bg); }
.esm-catalog .cat-btn { transition: all .25s ease; }
.esm-catalog .work-table td { color: var(--esm-text); }

/* ====================================================================
   КОНТАКТЫ
   ==================================================================== */
.esm-contact-section { padding: 70px 0 90px; background: var(--esm-bg); }
.esm-contact { display: grid; grid-template-columns: 1fr 1.1fr; gap: 28px; align-items: start; }
.esm-contact__cards { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.esm-contact__card {
    background: var(--esm-surface);
    border: 1px solid var(--esm-line);
    border-radius: 10px;
    padding: 26px 24px;
    transition: border-color .3s ease, transform .3s ease;
}
.esm-contact__card:hover { border-color: var(--esm-line-strong); transform: translateY(-3px); }
.esm-contact__card .ic {
    width: 46px; height: 46px;
    border-radius: 8px;
    background: var(--esm-accent-soft);
    color: var(--suntop-base);
    display: flex; align-items: center; justify-content: center;
    font-size: 20px; margin-bottom: 16px;
}
.esm-contact__card h4 { color: var(--esm-muted); font-size: 12px; font-weight: 500; letter-spacing: .12em; text-transform: uppercase; font-family: var(--esm-mono); margin: 0 0 8px; }
.esm-contact__card p, .esm-contact__card a { color: var(--esm-text); font-size: 16px; line-height: 1.5; margin: 0; display: block; }
.esm-contact__card a:hover { color: var(--suntop-base); }
.esm-contact__card.wide { grid-column: 1 / -1; }

.esm-form {
    background: var(--esm-surface);
    border: 1px solid var(--esm-line);
    border-radius: 12px;
    padding: 38px 36px;
}
.esm-form h3 { color: #fff; font-size: 24px; font-weight: 600; margin: 0 0 6px; }
.esm-form p.sub { color: var(--esm-muted); font-size: 15px; margin: 0 0 26px; }
.esm-form .row2 { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.esm-form .fld { margin-bottom: 14px; }
.esm-form label { display: block; font-family: var(--esm-mono); font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: var(--esm-muted); margin-bottom: 7px; }
.esm-form input, .esm-form textarea {
    width: 100%;
    background: var(--esm-bg);
    border: 1px solid var(--esm-line-strong);
    border-radius: 6px;
    padding: 13px 15px;
    color: var(--esm-text);
    font-family: 'DM Sans', sans-serif;
    font-size: 15px;
    transition: border-color .25s ease;
}
.esm-form input:focus, .esm-form textarea:focus { outline: none; border-color: var(--suntop-base); }
.esm-form textarea { min-height: 120px; resize: vertical; }
.esm-form .submit {
    margin-top: 6px;
    width: 100%;
    border: 0;
    background: var(--suntop-base);
    color: #fff;
    font-weight: 600;
    font-size: 16px;
    padding: 15px 24px;
    border-radius: 6px;
    cursor: pointer;
    transition: filter .25s ease, transform .2s ease;
}
.esm-form .submit:hover { filter: brightness(1.08); transform: translateY(-2px); }
.esm-form .note { margin: 14px 0 0; font-size: 12px; color: var(--esm-muted); line-height: 1.5; }
.esm-form .note a { color: var(--suntop-base); }

.esm-map {
    margin-top: 26px;
    position: relative;
    height: 360px;
    border: 1px solid var(--esm-line);
    border-radius: 12px;
    overflow: hidden;
    background:
        repeating-linear-gradient(45deg, var(--esm-surface) 0 14px, var(--esm-surface-2) 14px 28px);
    display: flex; align-items: center; justify-content: center;
}
.esm-map__pin {
    position: relative;
    z-index: 1;
    text-align: center;
    background: rgba(10,12,15,0.78);
    backdrop-filter: blur(6px);
    border: 1px solid var(--esm-line-strong);
    border-radius: 10px;
    padding: 22px 28px;
}
.esm-map__pin i { font-size: 28px; color: var(--suntop-base); }
.esm-map__pin p { margin: 10px 0 0; color: var(--esm-text); font-size: 15px; }
.esm-map__pin span { display: block; font-family: var(--esm-mono); font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: var(--esm-muted); margin-top: 6px; }

/* ====================================================================
   БЛОГ — список
   ==================================================================== */
.esm-blog-section { padding: 70px 0 90px; background: var(--esm-bg); }
.esm-blog-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.esm-blog-card {
    background: var(--esm-surface);
    border: 1px solid var(--esm-line);
    border-radius: 12px;
    overflow: hidden;
    display: flex; flex-direction: column;
    transition: transform .35s ease, border-color .35s ease;
}
.esm-blog-card:hover { transform: translateY(-6px); border-color: var(--esm-line-strong); }
.esm-blog-card__img { aspect-ratio: 16/10; overflow: hidden; }
.esm-blog-card__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.esm-blog-card:hover .esm-blog-card__img img { transform: scale(1.05); }
.esm-blog-card__body { padding: 26px 24px 28px; display: flex; flex-direction: column; flex: 1; }
.esm-blog-card__tag { font-family: var(--esm-mono); font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: var(--suntop-base); margin-bottom: 12px; }
.esm-blog-card__title { font-size: 19px; font-weight: 600; line-height: 1.35; margin: 0 0 12px; }
.esm-blog-card__title a { color: var(--esm-text); }
.esm-blog-card__title a:hover { color: var(--suntop-base); }
.esm-blog-card__text { color: var(--esm-muted); font-size: 14px; line-height: 1.55; margin: 0 0 18px; flex: 1; }
.esm-blog-card__more { font-weight: 600; font-size: 14px; color: var(--suntop-base); display: inline-flex; align-items: center; gap: 8px; }

/* ====================================================================
   СТАТЬЯ / ЮРИДИЧЕСКИЙ ДОКУМЕНТ — типографика
   ==================================================================== */
.esm-prose-section { padding: 70px 0 90px; background: var(--esm-bg); }
.esm-prose { max-width: 820px; margin: 0 auto; }
.esm-prose .lead { font-size: 21px; line-height: 1.55; color: var(--esm-text); margin: 0 0 32px; text-wrap: pretty; }
.esm-prose h2 { color: #fff; font-size: 28px; font-weight: 600; letter-spacing: -.01em; margin: 40px 0 16px; }
.esm-prose h3 { color: #fff; font-size: 20px; font-weight: 600; margin: 30px 0 12px; }
.esm-prose p { color: #c4c9cf; font-size: 16px; line-height: 1.7; margin: 0 0 18px; }
.esm-prose ul, .esm-prose ol { margin: 0 0 18px; padding-left: 4px; list-style: none; }
.esm-prose ul li, .esm-prose ol li { color: #c4c9cf; font-size: 16px; line-height: 1.6; padding: 6px 0 6px 26px; position: relative; }
.esm-prose ul li::before { content: ""; position: absolute; left: 4px; top: 14px; width: 6px; height: 6px; background: var(--suntop-base); border-radius: 50%; }
.esm-prose ol { counter-reset: li; }
.esm-prose ol li::before { counter-increment: li; content: counter(li,decimal-leading-zero); position: absolute; left: 0; top: 6px; font-family: var(--esm-mono); font-size: 13px; color: var(--suntop-base); }
.esm-prose a { color: var(--suntop-base); text-decoration: underline; text-underline-offset: 2px; }
.esm-prose blockquote {
    margin: 28px 0;
    padding: 22px 26px;
    background: var(--esm-accent-soft);
    border-left: 3px solid var(--suntop-base);
    border-radius: 0 8px 8px 0;
    color: var(--esm-text);
    font-size: 18px;
    line-height: 1.55;
}
.esm-prose__meta {
    display: flex; align-items: center; gap: 14px;
    margin: 0 0 30px; padding-bottom: 24px;
    border-bottom: 1px solid var(--esm-line);
    font-family: var(--esm-mono); font-size: 13px; color: var(--esm-muted);
}
.esm-prose__hero { width: 100%; aspect-ratio: 16/8; object-fit: cover; border-radius: 12px; margin: 0 0 36px; border: 1px solid var(--esm-line); }
.esm-prose__update { margin-top: 36px; padding-top: 20px; border-top: 1px solid var(--esm-line); font-family: var(--esm-mono); font-size: 12px; color: var(--esm-muted); letter-spacing: .04em; }

@media (max-width: 991px) {
    .esm-contact { grid-template-columns: 1fr; }
    .esm-blog-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 767px) {
    .esm-contact__cards { grid-template-columns: 1fr; }
    .esm-form .row2 { grid-template-columns: 1fr; }
    .esm-blog-grid { grid-template-columns: 1fr; }
    .esm-prose .lead { font-size: 18px; }
}

/* ====================================================================
   АДАПТИВ
   ==================================================================== */
@media (max-width: 1199px) {
    .esm-services-grid { grid-template-columns: repeat(2, 1fr); }
    .esm-hero__title { font-size: 60px; }
}
@media (max-width: 991px) {
    .esm-hero { min-height: auto; padding: 130px 0 90px; }
    .esm-hero__title { font-size: 48px; }
    .features-one__inner { flex-direction: column; align-items: stretch; }
    .features-one__single:not(:last-child) {
        border-right: 0;
        border-bottom: 1px solid var(--esm-line);
        padding-right: 0;
        padding-bottom: 20px;
    }
    /* компактнее заголовок страницы на планшете */
    .esm-pagehead, .page-header { padding: 46px 0 40px !important; }
    .esm-pagehead__title, .page-header__inner h2 { font-size: 36px !important; }
}
@media (max-width: 767px) {
    .esm-services-grid { grid-template-columns: 1fr; }
    .esm-hero__title { font-size: 38px; }
    .esm-hero__text { font-size: 17px; }
    .esm-hero__stat {
        padding-right: 24px; margin-right: 24px;
    }
    .esm-hero__stat b { font-size: 34px; }
    .main-header-one__top-inner { flex-wrap: wrap; gap: 6px; justify-content: center; }
    .esm-scheme { right: 12px; bottom: 12px; padding: 6px 8px 6px 10px; }
    .esm-scheme__label { display: none; }
    /* заголовок страницы на телефоне */
    .esm-pagehead, .page-header { padding: 38px 0 32px !important; }
    .esm-pagehead__title, .page-header__inner h2 { font-size: 28px !important; line-height: 1.12 !important; }
    .esm-pagehead__kicker { font-size: 11px; margin-bottom: 12px; }
    .esm-pagehead__crumbs, .esm-pagehead__crumbs a { font-size: 12px; }
    /* контактные карточки/форма — больше воздуха */
    .esm-form { padding: 26px 20px; }
    .esm-prose .lead { font-size: 17px; }
    .esm-prose h2 { font-size: 23px; }
}
@media (max-width: 480px) {
    .esm-hero__stats { gap: 18px; }
    .esm-hero__stat { border-right: 0; margin-right: 0; padding-right: 0; }
    .esm-hero__title { font-size: 32px; }
    .esm-hero__actions { gap: 12px; }
    .esm-hero__actions .thm-btn, .esm-hero__ghost { width: 100%; justify-content: center; }
    .esm-blog-grid { grid-template-columns: 1fr; }
}
