:root {
    --bg: #080c17;
    --bg-deep: #0d1323;
    --bg-panel: linear-gradient(180deg, rgba(67, 82, 127, 0.96), rgba(55, 67, 107, 0.94));
    --bg-panel-soft: linear-gradient(180deg, rgba(26, 32, 52, 0.96), rgba(18, 24, 41, 0.94));
    --stroke: rgba(255, 255, 255, 0.08);
    --stroke-strong: rgba(255, 255, 255, 0.14);
    --text: #ffffff;
    --muted: #d7dced;
    --muted-soft: #a8b1cb;
    --on-accent: #ffffff;
    --placeholder: #a8b1cb;
    --state-success: #4ade80;
    --state-danger: #f87171;
    --violet: #8928ff;
    --cyan: #79b8ff;
    --shadow: 0 28px 80px rgba(3, 7, 18, 0.52);
    --radius-xl: 34px;
    --radius-lg: 26px;
    --radius-md: 18px;
    --container: 1440px;
}

/* Доступность и узкие экраны */
.skip-link {
    position: fixed;
    top: 10px;
    left: 10px;
    z-index: 100000;
    padding: 11px 15px;
    border-radius: 10px;
    color: #fff;
    background: #5b21b6;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .35);
    transform: translateY(-150%);
    transition: none;
}

.skip-link:focus {
    transform: translateY(0);
    outline: 3px solid #fbbf24;
    outline-offset: 2px;
}

.visually-hidden {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.qa-hero__copy {
    min-width: 0;
    overflow-wrap: anywhere;
}

.wz__hint {
    padding: 0;
    border: 0;
    font: inherit;
}

.wz__hint:focus-visible {
    color: #fff;
    background: #7c3aed;
    outline: 3px solid rgba(196, 181, 253, .55);
    outline-offset: 2px;
}

.wz__field-error {
    display: block;
    min-height: 16px;
    margin-top: 5px;
    color: #fca5a5;
    font-size: 12px;
    line-height: 1.35;
}

.wz__field-error[hidden] { display: none; }
body.theme-light .wz__field-error { color: #b91c1c; }

@media (max-width: 620px) {
    .qa-hero__panel { min-width: 0; }
    .qa-hero__copy,
    .qa-hero__actions,
    .qa-hero__actions .btn { min-width: 0; max-width: 100%; }

    .wz-hero__lead-more {
        min-width: 44px;
        min-height: 44px;
        margin-top: 2px;
        padding: 10px 8px;
    }
}

@media (max-width: 340px) {
    .kontur-lead__form,
    .kontur-lead__form #OrderForm,
    .kontur-lead__form .skb-order-form_horizontal,
    .kontur-lead__form [class*="skb-order-form"] {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }

    .kontur-lead__form input,
    .kontur-lead__form select,
    .kontur-lead__form textarea,
    .kontur-lead__form button {
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto !important; }
    *, *::before, *::after {
        scroll-behavior: auto !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }
}

* { box-sizing: border-box; }
html {
    scroll-behavior: smooth;
    overflow-x: hidden;
}
body {
    margin: 0;
    min-width: 0;
    color: var(--text);
    font-family: "Inter", "Onest", "Manrope", sans-serif;
    background: #0b0b10;
    -webkit-font-smoothing: antialiased;
    overflow-x: hidden;
    color-scheme: dark;
}

a { color: inherit; text-decoration: none; }
a.context-link {
    text-decoration: underline;
    text-underline-offset: 0.18em;
    text-decoration-thickness: 1px;
    overflow-wrap: anywhere;
}
a.context-link:hover { text-decoration-thickness: 2px; }
a.context-link:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
button, input, textarea, select { font: inherit; }
button, a, input, textarea, select { touch-action: manipulation; }
img { display: block; max-width: 100%; }

.container {
    width: min(var(--container), calc(100% - 40px));
    margin: 0 auto;
}

* {
    -webkit-tap-highlight-color: transparent;
}

/* === Фоновые орбы === */
.site-bg {
    position: fixed;
    inset: 0;
    z-index: -1;
    overflow: hidden;
    pointer-events: none;
}

.site-bg__orb {
    position: absolute;
    border-radius: 50%;
    filter: blur(90px);
    opacity: 0.18;
}

.site-bg__orb--violet {
    top: 60%;
    left: -100px;
    width: 360px;
    height: 360px;
    background: rgba(126, 31, 255, 0.4);
}

.site-bg__orb--cyan {
    bottom: 20%;
    right: -120px;
    width: 420px;
    height: 420px;
    background: rgba(74, 121, 255, 0.25);
}

.site-bg__grid {
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(255,255,255,0.015) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,0.015) 1px, transparent 1px);
    background-size: 72px 72px;
    mask-image: radial-gradient(circle at center, black 38%, transparent 82%);
}

/* === Шапка === */
.site-header {
    position: relative;
    z-index: 20;
    background: rgba(7, 11, 21, 0.92);
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

@supports (backdrop-filter: blur(1px)) {
    .site-header {
        background: rgba(7, 11, 21, 0.74);
        backdrop-filter: blur(22px);
    }
}

.site-header__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    min-height: 86px;
}

.site-logo {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    min-width: 0;
}

.site-logo__media {
    width: 54px;
    height: 54px;
    border-radius: 16px;
    display: grid;
    place-items: center;
    background: linear-gradient(180deg, rgba(255,255,255,0.06), rgba(255,255,255,0.02));
    border: 1px solid rgba(255,255,255,0.08);
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.08);
}

.site-logo__image {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.site-logo__text {
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
}

.site-logo__text strong,
.site-footer__logo span {
    font-size: 18px;
    font-weight: 800;
    letter-spacing: -0.03em;
}

.site-logo__text span {
    color: var(--muted-soft);
    font-size: 12px;
    line-height: 1.2;
}

.site-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.site-nav__link,
.mobile-nav__link {
    color: var(--muted);
    transition: 0.22s ease;
}

.site-nav__link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 22px;
    border-radius: 14px;
    font-size: 15px;
    font-weight: 600;
    background: rgba(255,255,255,0.05);
    border: 1px solid rgba(255,255,255,0.08);
}

.site-nav__link svg {
    opacity: 0.5;
    flex-shrink: 0;
}

.site-nav__link:hover,
.site-nav__link.is-active {
    color: var(--text);
    background: rgba(255,255,255,0.1);
    border-color: rgba(255,255,255,0.12);
}

.site-nav__link:hover svg,
.site-nav__link.is-active svg {
    opacity: 0.9;
}

.site-header__actions {
    display: flex;
    align-items: center;
    gap: 10px;
}

/* Иконочные кнопки шапки */
.header-icon-btn {
    width: 48px;
    height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    border: 1px solid rgba(255,255,255,0.10);
    background: rgba(255,255,255,0.05);
    color: var(--muted);
    cursor: pointer;
    transition: 0.25s ease;
}

.header-icon-btn svg {
    width: 22px;
    height: 22px;
}

.header-icon-btn:hover {
    color: var(--text);
    background: rgba(255,255,255,0.12);
    border-color: rgba(255,255,255,0.18);
    transform: translateY(-1px);
}

.header-icon-btn--search {
    color: #FF8640;
    border-color: rgba(255, 134, 64, 0.2);
    background: rgba(255, 134, 64, 0.08);
}

.header-icon-btn--search:hover {
    background: rgba(255, 134, 64, 0.18);
    border-color: rgba(255, 134, 64, 0.35);
    color: #FF8640;
}

/* Переключатель темы: в шапке на ПК, плавающая на мобильных */
.floating-btns .floating-btn--theme { display: none; }
.header-theme-desktop { display: inline-flex; }

@media (max-width: 880px) {
    .header-theme-desktop { display: none !important; }
    .floating-btns .floating-btn--theme { display: grid; }
}

/* Переключатель темы */
.theme-icon {
    display: flex;
    align-items: center;
    justify-content: center;
}

.theme-icon--dark {
    display: none;
}

body.theme-light .theme-icon--light { display: none; }
body.theme-light .theme-icon--dark { display: flex; }

/* Переключение картинок по теме (герой + лого) */
.hero-img--light,
.logo-img--light { display: none; }

body.theme-light .hero-img--dark,
body.theme-light .logo-img--dark { display: none; }

body.theme-light .hero-img--light { display: block; }
body.theme-light .logo-img--light { display: block; }

/* =============================================================================
   СВЕТЛАЯ ТЕМА
   ============================================================================= */
html.theme-light,
body.theme-light {
    --bg: #f4f5f7;
    --bg-deep: #eef1f5;
    --bg-panel: linear-gradient(180deg, #ffffff, #f8fafc);
    --bg-panel-soft: linear-gradient(180deg, #ffffff, #fafbfc);
    --stroke: rgba(15, 23, 42, 0.10);
    --stroke-strong: rgba(15, 23, 42, 0.18);
    --text: #172033;
    --muted: #475569;
    --muted-soft: #526078;
    --placeholder: #526078;
    --state-success: #15803d;
    --state-danger: #b91c1c;
    --shadow: 0 20px 54px rgba(15, 23, 42, 0.10);
    color-scheme: light;
}

body.theme-light {
    background: #f4f5f7;
    color: var(--text);
}

body.theme-light .site-bg { display: none; }

body.theme-light .site-header {
    background: rgba(255, 255, 255, 0.92);
    border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}

@supports (backdrop-filter: blur(1px)) {
    body.theme-light .site-header {
        background: rgba(255, 255, 255, 0.78);
        backdrop-filter: blur(22px);
    }
}

body.theme-light .site-logo__media {
    background: linear-gradient(180deg, rgba(0,0,0,0.04), rgba(0,0,0,0.02));
    border-color: rgba(0,0,0,0.08);
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.8);
}

body.theme-light .site-logo__text strong,
body.theme-light .site-footer__logo span {
    color: #1a1d26;
}

body.theme-light .site-nav__link {
    color: #5a6070;
    background: rgba(0,0,0,0.03);
    border-color: rgba(0,0,0,0.06);
}

body.theme-light .site-nav__link svg {
    opacity: 0.4;
}

body.theme-light .site-nav__link:hover,
body.theme-light .site-nav__link.is-active {
    color: #1a1d26;
    background: rgba(0,0,0,0.07);
    border-color: rgba(0,0,0,0.1);
}

body.theme-light .header-icon-btn {
    color: #5a6070;
    background: rgba(0,0,0,0.04);
    border-color: rgba(0,0,0,0.08);
}

body.theme-light .header-icon-btn:hover {
    color: #1a1d26;
    background: rgba(0,0,0,0.08);
}

body.theme-light .header-icon-btn--search {
    color: #e06b20;
    background: rgba(255, 134, 64, 0.08);
    border-color: rgba(255, 134, 64, 0.2);
}

body.theme-light .home-hero__title {
    color: #1a1d26;
}

body.theme-light .home-hero__lead {
    color: #5a6070;
}

body.theme-light .home-hero__badge {
    background: rgba(139, 92, 246, 0.08);
    border-color: rgba(139, 92, 246, 0.18);
    color: #7c3aed;
}

body.theme-light .home-hero__image {
    box-shadow: 0 0 80px rgba(0, 0, 0, 0.08);
}

body.theme-light .home-audience {
    border-top-color: rgba(0, 0, 0, 0.06);
}

body.theme-light .home-audience--alt {
    background: rgba(0, 0, 0, 0.02);
}

body.theme-light .home-audience__title {
    color: #1a1d26;
}

body.theme-light .home-audience__lead {
    color: #5a6070;
}

body.theme-light .home-audience__placeholder {
    border-color: rgba(0, 0, 0, 0.1);
    color: rgba(0, 0, 0, 0.25);
}

body.theme-light .mobile-nav {
    background: linear-gradient(180deg, #ffffff, #f8f9fb);
    border-left-color: rgba(0, 0, 0, 0.08);
}

body.theme-light .mobile-nav__close {
    border-color: rgba(0, 0, 0, 0.1);
    background: rgba(0, 0, 0, 0.04);
    color: #1a1d26;
}

body.theme-light .mobile-nav__link {
    color: #5a6070;
    background: rgba(0, 0, 0, 0.03);
    border-color: rgba(0, 0, 0, 0.06);
}

body.theme-light .mobile-nav__link:hover {
    color: #1a1d26;
    background: rgba(0, 0, 0, 0.06);
}

body.theme-light .mobile-nav__link.is-active {
    color: #7c3aed;
    background: rgba(139, 92, 246, 0.08);
    border-color: rgba(139, 92, 246, 0.16);
}

body.theme-light .mobile-nav-overlay {
    background: rgba(0, 0, 0, 0.2);
}

body.theme-light .site-footer {
    background: #e0e4ec;
}

body.theme-light .site-footer__brand {
    color: #1a1d26;
}

body.theme-light .site-footer__description {
    color: #5a6070;
}

body.theme-light .site-footer__divider {
    background: linear-gradient(90deg,
        transparent 0%,
        rgba(124, 58, 237, 0.1) 20%,
        rgba(124, 58, 237, 0.2) 50%,
        rgba(124, 58, 237, 0.1) 80%,
        transparent 100%
    );
}

body.theme-light .site-footer__links a {
    color: #5a6070;
    background: rgba(0, 0, 0, 0.04);
    border-color: rgba(0, 0, 0, 0.06);
}

body.theme-light .site-footer__links a:hover {
    color: #1a1d26;
    background: rgba(0, 0, 0, 0.07);
    border-color: rgba(0, 0, 0, 0.1);
}

body.theme-light .site-footer__link-current {
    color: rgba(0, 0, 0, 0.25);
    background: rgba(0, 0, 0, 0.02);
    border-color: rgba(0, 0, 0, 0.04);
}

body.theme-light .site-footer__copy {
    color: rgba(0, 0, 0, 0.35);
}

body.theme-light .site-footer__ad-note {
    color: rgba(0, 0, 0, 0.38);
}

body.theme-light .site-footer__email {
    color: #7c3aed;
}


/* Внутренние страницы — светлая тема */
body.theme-light .panel {
    background: linear-gradient(180deg, #ffffff, #fafbfc);
    border-color: rgba(0, 0, 0, 0.08);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.06);
}

body.theme-light .page-hero__panel {
    background: linear-gradient(180deg, #ffffff, #f8f9fb);
}

body.theme-light .page-hero__title {
    color: #1a1d26;
}

body.theme-light .page-hero__lead {
    color: #5a6070;
}

body.theme-light .faq-heading { color: #1e293b; }
body.theme-light .faq-item {
    background: #ffffff;
    border-color: rgba(0, 0, 0, 0.08);
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.04);
}

body.theme-light .faq-item__question {
    color: #1a1d26;
}
body.theme-light .faq-item__answer p {
    color: #475569;
}

body.theme-light .field__control {
    background: #ffffff;
    border-color: rgba(0, 0, 0, 0.12);
    color: #1a1d26;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

body.theme-light .field__control::placeholder {
    color: #9aa0b0;
}

body.theme-light .field__select-wrap:not(.is-enhanced)::after,
body.theme-light .field-select__button::after {
    border-color: rgba(26, 29, 38, 0.64);
}

body.theme-light .field-select__button {
    color: #1a1d26;
    background: linear-gradient(180deg, #ffffff, #f7f8fb);
    border-color: rgba(0,0,0,0.12);
    box-shadow: 0 2px 10px rgba(0,0,0,0.05);
}

body.theme-light .field-select__list {
    background:
        radial-gradient(circle at 88% 0%, rgba(255, 134, 64, 0.12), transparent 34%),
        linear-gradient(180deg, #ffffff, #f7f8fb);
    border-color: rgba(0,0,0,0.12);
    box-shadow: 0 18px 54px rgba(20, 24, 36, 0.18);
}

body.theme-light .field-select__option {
    color: #4b5567;
}

body.theme-light .field-select__option:hover,
body.theme-light .field-select__option:focus-visible,
body.theme-light .field-select__option.is-selected {
    color: #1a1d26;
    background: linear-gradient(135deg, rgba(124, 58, 237, 0.11), rgba(255, 134, 64, 0.08));
    border-color: rgba(124, 58, 237, 0.18);
}

body.theme-light .field-select__option.is-selected::after {
    border-color: #7c3aed;
}

/* === Кнопки === */
.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 54px;
    padding: 0 24px;
    border: 1px solid transparent;
    border-radius: 18px;
    font-size: 16px;
    font-weight: 700;
    line-height: 1;
    cursor: pointer;
    transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease, background 0.18s ease;
}

.btn:hover {
    transform: translateY(-1px);
}

.btn:disabled {
    cursor: not-allowed;
    opacity: 0.48;
    transform: none;
    box-shadow: none;
}

.btn--primary {
    color: var(--on-accent);
    background: linear-gradient(135deg, #7c3aed 0%, #9333ea 100%);
    box-shadow: 0 20px 36px rgba(135, 33, 255, 0.28), inset 0 1px 0 rgba(255,255,255,0.16);
}

.btn--primary:hover {
    box-shadow: 0 24px 42px rgba(135, 33, 255, 0.34), inset 0 1px 0 rgba(255,255,255,0.2);
}

.btn--ghost {
    color: var(--text);
    background: rgba(255, 255, 255, 0.05);
    border-color: rgba(255, 255, 255, 0.12);
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.06);
}

body.theme-light .btn--ghost {
    color: #273247;
    background: rgba(39, 50, 71, 0.05);
    border-color: rgba(39, 50, 71, 0.18);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.72);
}

body.theme-light .btn--ghost:hover,
body.theme-light .btn--ghost:focus-visible {
    color: #111827;
    background: rgba(124, 58, 237, 0.09);
    border-color: rgba(124, 58, 237, 0.28);
}

.btn--orange {
    color: #fff;
    background-color: #FF8640;
    box-shadow: 0 4px 15px rgba(255, 134, 64, 0.3);
    border-color: transparent;
}

.btn--orange:hover {
    background-color: #e6722e;
    box-shadow: 0 6px 20px rgba(255, 134, 64, 0.45);
}

.btn--carrier {
    color: #fff;
    background-color: #7300FF;
    box-shadow: 0 4px 15px rgba(115, 0, 255, 0.3);
    border-color: transparent;
    min-width: 240px;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-size: 15px;
    border-radius: 16px;
}

.btn--carrier:hover {
    background-color: #5f00d1;
    box-shadow: 0 6px 20px rgba(115, 0, 255, 0.4);
}

.btn--customer {
    color: #fff;
    background-color: #01137F;
    box-shadow: 0 4px 15px rgba(1, 19, 127, 0.3);
    border-color: transparent;
    min-width: 240px;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-size: 15px;
    border-radius: 16px;
}

.btn--customer:hover {
    background-color: #000f66;
    box-shadow: 0 6px 20px rgba(1, 19, 127, 0.4);
}

/* Выдвижное меню — скрыто по умолчанию */
.mobile-nav {
    position: fixed;
    top: 0;
    right: 0;
    width: min(400px, 92vw);
    height: 100%;
    padding: 24px;
    background: linear-gradient(180deg, rgba(14, 19, 33, 0.99), rgba(10, 14, 25, 0.99));
    border-left: 1px solid rgba(255,255,255,0.08);
    z-index: 30;
    transform: translateX(104%);
    transition: transform 0.28s ease;
    will-change: transform;
    overflow-y: auto;
    overscroll-behavior: contain;
}
@media (max-width: 720px) {
    .mobile-nav {
        width: 100%;
        height: 100dvh;
        height: -webkit-fill-available;
        min-height: 100%;
        border-left: none;
        padding-bottom: 80px;
        overscroll-behavior: contain;
    }
}

.mobile-nav.is-open { transform: translateX(0); }

.mobile-nav-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.5);
    z-index: 29;
    display: none;
}

.mobile-nav-overlay.is-open {
    display: block;
}

body.is-nav-open {
    overflow: hidden;
}

.mobile-nav__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 24px;
}

.mobile-nav__brand {
    display: inline-flex;
    align-items: center;
    gap: 12px;
}

.mobile-nav__logo {
    width: 40px;
    height: 40px;
    object-fit: contain;
}

.mobile-nav__close {
    width: 42px;
    height: 42px;
    border: 1px solid rgba(255,255,255,0.12);
    border-radius: 14px;
    background: rgba(255,255,255,0.04);
    color: var(--text);
    cursor: pointer;
    transition: 0.2s ease;
}

.mobile-nav__close:hover {
    background: rgba(255,255,255,0.1);
}

.mobile-nav__links {
    display: grid;
    gap: 10px;
}

.mobile-nav__link {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 16px;
    border-radius: 14px;
    background: rgba(255,255,255,0.05);
    border: 1px solid rgba(255,255,255,0.08);
    color: var(--muted);
    transition: 0.2s ease;
}

.mobile-nav__link:hover {
    color: var(--text);
    background: rgba(255,255,255,0.1);
}

.mobile-nav__link.is-active {
    color: var(--text);
    background: rgba(139, 40, 255, 0.14);
    border-color: rgba(139, 40, 255, 0.2);
}

.mobile-nav__cta {
    width: 100%;
    margin-top: 20px;
}

/* === Основной контент === */
.site-main {
    padding-bottom: 72px;
}

.section {
    padding: 40px 0;
}

/* === Домашний герой === */
.home-hero {
    padding: 80px 0 60px;
    overflow: hidden;
}

.home-hero__inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    align-items: center;
}

.home-hero__content {
    position: relative;
    z-index: 2;
    max-width: 680px;
}

.home-hero__badge {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 8px 16px;
    border-radius: 100px;
    background: rgba(139, 92, 246, 0.1);
    border: 1px solid rgba(139, 92, 246, 0.2);
    color: #8b5cf6;
    font-size: 14px;
    font-weight: 500;
    margin-bottom: 24px;
}

.home-hero__ping {
    position: relative;
    display: inline-flex;
    width: 10px;
    height: 10px;
    flex-shrink: 0;
}

.ping-ring {
    position: absolute;
    inset: 0;
    border-radius: 50%;
    background: rgba(139, 92, 246, 0.75);
    animation: pingAnim 1.4s cubic-bezier(0, 0, 0.2, 1) infinite;
}

.ping-dot {
    position: absolute;
    inset: 1px;
    border-radius: 50%;
    background: #8b5cf6;
}

@keyframes pingAnim {
    75%, 100% {
        transform: scale(2.2);
        opacity: 0;
    }
}

.home-hero__title {
    font-size: clamp(40px, 5.5vw, 64px);
    font-weight: 800;
    line-height: 1.05;
    letter-spacing: -0.04em;
    color: #fff;
    margin: 0 0 24px;
    text-shadow: none;
}

.home-hero__title-gradient {
    background: linear-gradient(to right, #8b5cf6, #3b82f6);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    text-shadow: none;
}

.home-hero__lead {
    font-size: 18px;
    line-height: 1.65;
    color: #d1d5db;
    margin: 0 0 36px;
    max-width: 90%;
}

.home-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
}

.home-hero__media {
    display: flex;
    justify-content: center;
    align-items: center;
    user-select: none;
    pointer-events: none;
}

.home-hero__image {
    width: 100%;
    max-width: 680px;
    object-fit: contain;
    border-radius: 32px;
    box-shadow: 0 0 100px rgba(139, 92, 246, 0.12);
}

/* === Секции аудиторий (плейсхолдеры) === */
.home-audience {
    border-top: 1px solid rgba(255, 255, 255, 0.05);
}

.home-audience--alt {
    background: rgba(7, 11, 21, 0.5);
}

.home-audience__title {
    font-size: 30px;
    font-weight: 800;
    letter-spacing: -0.03em;
    margin: 0 0 12px;
}

.home-audience__lead {
    color: var(--muted);
    font-size: 16px;
    margin: 0 0 32px;
}

.home-audience__placeholder {
    height: 360px;
    border: 2px dashed rgba(255, 255, 255, 0.1);
    border-radius: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(255, 255, 255, 0.2);
    font-size: 18px;
    font-style: italic;
}

/* === Внутренние страницы === */
.panel {
    border: 1px solid var(--stroke);
    border-radius: var(--radius-xl);
    background: var(--bg-panel-soft);
    box-shadow: var(--shadow);
}

.page-hero__panel {
    padding: 32px;
    background:
        radial-gradient(circle at 100% 0%, rgba(255,255,255,0.05), transparent 20%),
        linear-gradient(180deg, rgba(23, 31, 52, 0.98), rgba(16, 22, 38, 0.98));
}

.page-hero__eyebrow {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 0 14px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #eef0ff;
    background: rgba(137, 40, 255, 0.16);
    border: 1px solid rgba(180, 110, 255, 0.2);
}

.page-hero__title {
    margin: 0;
    font-size: clamp(28px, 4vw, 48px);
    line-height: 0.96;
    letter-spacing: -0.045em;
    font-weight: 800;
    overflow-wrap: anywhere;
}

.page-hero__eyebrow + .page-hero__title {
    margin-top: clamp(14px, 1.4vw, 20px);
}

.page-hero__lead {
    max-width: 960px;
    margin: 18px 0 0;
    color: var(--muted);
    font-size: 18px;
    line-height: 1.58;
}

.page-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 24px;
}

.card-grid {
    display: grid;
    gap: 18px;
}

.card-grid--five {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.card-grid--three {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.quick-actions {
    padding-top: 12px;
}

.feature-card {
    position: relative;
    min-height: 190px;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr) auto;
    align-content: start;
    gap: 18px;
    padding: 22px;
    overflow: hidden;
    color: var(--text);
    background:
        radial-gradient(circle at 92% 0%, rgba(255, 134, 64, 0.12), transparent 36%),
        radial-gradient(circle at 0% 0%, rgba(137, 40, 255, 0.18), transparent 34%),
        linear-gradient(180deg, rgba(25, 31, 51, 0.88), rgba(12, 17, 30, 0.92));
    border: 1px solid rgba(255,255,255,0.115);
    box-shadow: 0 22px 64px rgba(0,0,0,0.28), inset 0 1px 0 rgba(255,255,255,0.07);
    isolation: isolate;
    transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

a.feature-card {
    cursor: pointer;
}

.feature-card::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: linear-gradient(135deg, rgba(255,255,255,0.14), transparent 28%, rgba(255,255,255,0.05) 64%, transparent);
    opacity: 0;
    transition: opacity 0.2s ease;
    pointer-events: none;
    z-index: -1;
}

.feature-card:hover,
.feature-card:focus-visible {
    transform: translateY(-3px);
    border-color: rgba(255,255,255,0.22);
    box-shadow: 0 30px 86px rgba(0,0,0,0.38), 0 0 0 1px rgba(167, 57, 255, 0.10), inset 0 1px 0 rgba(255,255,255,0.10);
    outline: none;
}

.feature-card:hover::before,
.feature-card:focus-visible::before {
    opacity: 1;
}

.feature-card__icon {
    position: relative;
    width: 52px;
    height: 52px;
    overflow: hidden;
    display: grid;
    place-items: center;
    border-radius: 18px;
    color: #fff;
    background:
        linear-gradient(145deg, rgba(255,255,255,0.18), rgba(255,255,255,0.05)),
        linear-gradient(135deg, rgba(137, 40, 255, 0.82), rgba(255, 134, 64, 0.70));
    border: 1px solid rgba(255,255,255,0.18);
    box-shadow: 0 16px 34px rgba(137, 40, 255, 0.22), inset 0 1px 0 rgba(255,255,255,0.20);
}

.feature-card__icon::after {
    content: "";
    position: absolute;
    inset: -7px;
    border-radius: 22px;
    background: rgba(137, 40, 255, 0.16);
    filter: blur(14px);
    z-index: -1;
}

.feature-card--flash .feature-card__icon,
.feature-card--fuel .feature-card__icon,
.feature-card--calc .feature-card__icon,
.feature-card--money .feature-card__icon {
    background:
        linear-gradient(145deg, rgba(255,255,255,0.20), rgba(255,255,255,0.05)),
        linear-gradient(135deg, rgba(255, 134, 64, 0.88), rgba(167, 57, 255, 0.72));
}

.feature-card--doc .feature-card__icon,
.feature-card--clipboard .feature-card__icon,
.feature-card--book .feature-card__icon,
.feature-card--info .feature-card__icon {
    background:
        linear-gradient(145deg, rgba(255,255,255,0.20), rgba(255,255,255,0.05)),
        linear-gradient(135deg, rgba(222, 235, 255, 0.18), rgba(255,255,255,0.04)),
        linear-gradient(135deg, rgba(101, 139, 255, 0.84), rgba(18, 213, 194, 0.68));
}

.feature-card--truck .feature-card__icon,
.feature-card--route .feature-card__icon,
.feature-card--chart .feature-card__icon {
    background:
        linear-gradient(145deg, rgba(255,255,255,0.18), rgba(255,255,255,0.05)),
        linear-gradient(135deg, rgba(121, 184, 255, 0.78), rgba(137, 40, 255, 0.78));
}

.feature-card--shield .feature-card__icon,
.feature-card--check-circle .feature-card__icon,
.feature-card--users .feature-card__icon,
.feature-card--briefcase .feature-card__icon {
    background:
        linear-gradient(145deg, rgba(255,255,255,0.18), rgba(255,255,255,0.05)),
        linear-gradient(135deg, rgba(41, 190, 130, 0.76), rgba(121, 184, 255, 0.74));
}

.feature-card__body {
    display: grid;
    gap: 10px;
    min-width: 0;
}

.feature-card__title {
    display: block;
    color: #fff;
    font-size: 20px;
    font-weight: 800;
    line-height: 1.14;
    text-wrap: balance;
}

.feature-card__text {
    display: block;
    color: rgba(223, 229, 248, 0.74);
    font-size: 15px;
    line-height: 1.5;
    text-wrap: pretty;
}

.feature-card__arrow {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    justify-self: end;
    align-self: end;
    border-radius: 14px;
    color: rgba(255,255,255,0.78);
    background: rgba(255,255,255,0.06);
    border: 1px solid rgba(255,255,255,0.10);
    transition: transform 0.2s ease, background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

a.feature-card:hover .feature-card__arrow,
a.feature-card:focus-visible .feature-card__arrow {
    color: #fff;
    background: rgba(255,134,64,0.16);
    border-color: rgba(255,134,64,0.28);
    transform: translateX(2px);
}

.feature-card__badge {
    position: absolute;
    top: 18px;
    right: 18px;
    max-width: calc(100% - 36px);
    padding: 7px 10px;
    border-radius: 999px;
    color: rgba(255,255,255,0.82);
    background: rgba(255,255,255,0.07);
    border: 1px solid rgba(255,255,255,0.12);
    font-size: 11px;
    font-weight: 800;
    line-height: 1;
    text-transform: uppercase;
}

body.theme-light .feature-card {
    color: #172033;
    background:
        radial-gradient(circle at 92% 0%, rgba(255, 134, 64, 0.13), transparent 34%),
        radial-gradient(circle at 0% 0%, rgba(137, 40, 255, 0.11), transparent 32%),
        linear-gradient(180deg, #ffffff, #f7f9ff);
    border-color: rgba(16, 24, 40, 0.08);
    box-shadow: 0 20px 52px rgba(36, 42, 66, 0.10), inset 0 1px 0 rgba(255,255,255,0.92);
}

body.theme-light .feature-card:hover,
body.theme-light .feature-card:focus-visible {
    border-color: rgba(124, 58, 237, 0.24);
    box-shadow: 0 28px 70px rgba(36, 42, 66, 0.15), 0 0 0 1px rgba(124, 58, 237, 0.08), inset 0 1px 0 rgba(255,255,255,0.95);
}

body.theme-light .feature-card::before {
    background: linear-gradient(135deg, rgba(124, 58, 237, 0.10), transparent 30%, rgba(6, 182, 212, 0.07) 66%, transparent);
}

body.theme-light .feature-card__title {
    color: #172033;
}

body.theme-light .feature-card__text {
    color: #5f6b82;
}

body.theme-light .feature-card__arrow,
body.theme-light .feature-card__badge {
    color: #667085;
    background: rgba(16, 24, 40, 0.04);
    border-color: rgba(16, 24, 40, 0.08);
}

body.theme-light a.feature-card:hover .feature-card__arrow,
body.theme-light a.feature-card:focus-visible .feature-card__arrow {
    color: #7c3aed;
    background: rgba(124, 58, 237, 0.08);
    border-color: rgba(124, 58, 237, 0.16);
}

.tool-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(300px, 0.85fr);
    gap: 20px;
    align-items: start;
}

.tool-panel,
.result-panel {
    padding: 32px;
    background: var(--bg-panel);
    border: 1px solid var(--stroke);
    border-radius: var(--radius-xl);
    box-shadow: var(--shadow);
}

.tool-panel__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 24px;
}

.journal-layout {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
}

.form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
    min-width: 0;
}

.service-tool__layout,
.service-tool__form,
.service-tool__result,
.service-tool .form-section,
.form-grid,
.field,
.field__select-wrap,
.field-select,
.field-select__button {
    max-width: 100%;
}

.service-tool__layout,
.service-tool__form,
.service-tool__result,
.service-tool .form-section,
.form-grid,
.field,
.field__select-wrap,
.field-select {
    min-width: 0;
}

.field--full {
    grid-column: 1 / -1;
}

.field__label {
    display: block;
    margin-bottom: 10px;
    color: #f2f4ff;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.25;
}

.field__control {
    width: 100%;
    min-height: 58px;
    padding: 16px 18px;
    border-radius: 16px;
    background:
        linear-gradient(180deg, rgba(255,255,255,0.055), rgba(255,255,255,0.025)),
        rgba(7, 11, 20, 0.58);
    border: 1px solid rgba(255,255,255,0.13);
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.05), 0 14px 32px rgba(0,0,0,0.16);
    color: var(--text);
    outline: none;
    transition: border-color 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
}

.field__control::placeholder {
    color: rgba(209, 216, 236, 0.52);
}

.field__control:focus,
.field__control:focus-visible {
    border-color: rgba(169, 98, 255, 0.5);
    box-shadow: 0 0 0 4px rgba(139, 40, 255, 0.14);
}

.field--route-source.is-hidden-by-route-picker {
    display: none;
}

.roads-route-picker {
    grid-column: 1 / -1;
    position: relative;
    display: grid;
    gap: 16px;
    padding: 18px;
    border: 1px solid rgba(255,255,255,0.12);
    border-radius: 20px;
    background:
        linear-gradient(135deg, rgba(124, 58, 237, 0.14), rgba(6, 182, 212, 0.08)),
        rgba(7, 11, 20, 0.42);
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.06), 0 18px 40px rgba(0,0,0,0.16);
    min-width: 0;
}

.roads-route-picker.is-route-missing {
    border-color: rgba(255, 190, 133, 0.34);
    background:
        linear-gradient(135deg, rgba(255, 134, 64, 0.16), rgba(124, 58, 237, 0.10)),
        rgba(7, 11, 20, 0.48);
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.07), 0 18px 42px rgba(255, 134, 64, 0.08);
}

.roads-route-picker.is-route-estimated {
    border-color: rgba(52, 211, 153, 0.28);
    background:
        linear-gradient(135deg, rgba(52, 211, 153, 0.10), rgba(6, 182, 212, 0.08)),
        rgba(7, 11, 20, 0.48);
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.07), 0 18px 42px rgba(52, 211, 153, 0.08);
}

.roads-route-picker__top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
}

.roads-route-picker__top strong {
    display: block;
    margin-top: 4px;
    color: var(--text);
    font-size: 18px;
    line-height: 1.25;
}

.roads-route-picker__top-actions {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 8px;
}

.roads-route-picker__eyebrow,
.roads-route-picker__badge {
    color: rgba(209, 216, 236, 0.72);
    font-size: 12px;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.roads-route-picker__badge {
    flex: 0 0 auto;
    padding: 8px 10px;
    border: 1px solid rgba(255,255,255,0.12);
    border-radius: 999px;
    background: rgba(255,255,255,0.05);
}

.roads-route-picker__clear {
    min-height: 34px;
    padding: 7px 10px;
    border: 1px solid rgba(255,255,255,0.12);
    border-radius: 999px;
    color: rgba(242, 244, 255, 0.86);
    background: rgba(255,255,255,0.04);
    cursor: pointer;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.2;
    transition: border-color 0.18s ease, background 0.18s ease, color 0.18s ease;
}

.roads-route-picker__clear:hover,
.roads-route-picker__clear:focus-visible {
    border-color: rgba(255, 134, 64, 0.34);
    color: #fff;
    background: rgba(255, 134, 64, 0.12);
    outline: none;
}

.roads-route-picker__row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 52px minmax(0, 1fr);
    gap: 12px;
    align-items: end;
    min-width: 0;
}

.roads-route-picker__field {
    position: relative;
    display: grid;
    gap: 8px;
    min-width: 0;
}

.roads-route-picker__field > span {
    color: #f2f4ff;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.2;
}

.roads-route-picker__swap {
    width: 52px;
    height: 58px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255,255,255,0.14);
    border-radius: 16px;
    color: #fff;
    background: linear-gradient(135deg, #ff8640, #7b18ff);
    box-shadow: 0 16px 30px rgba(124, 58, 237, 0.24);
    cursor: pointer;
    font-size: 22px;
    font-weight: 900;
    line-height: 1;
    transition: transform 0.18s ease, box-shadow 0.18s ease;
}

.roads-route-picker__swap:hover,
.roads-route-picker__swap:focus-visible {
    transform: translateY(-1px);
    box-shadow: 0 20px 36px rgba(124, 58, 237, 0.32);
    outline: none;
}

.roads-route-picker__suggestions {
    position: absolute;
    left: 0;
    right: 0;
    top: calc(100% + 8px);
    z-index: 80;
    display: none;
    max-height: 260px;
    overflow-y: auto;
    padding: 8px;
    border: 1px solid rgba(255,255,255,0.14);
    border-radius: 16px;
    background:
        radial-gradient(circle at 92% 0%, rgba(255, 134, 64, 0.15), transparent 34%),
        linear-gradient(180deg, rgba(18, 24, 40, 0.98), rgba(9, 13, 24, 0.98));
    box-shadow: 0 24px 58px rgba(0,0,0,0.34);
}

.roads-route-picker__suggestions.is-open {
    display: grid;
    gap: 4px;
}

.roads-route-picker__suggestions button,
.roads-route-picker__popular button {
    min-width: 0;
    border: 1px solid transparent;
    color: var(--text);
    background: transparent;
    cursor: pointer;
    text-align: left;
}

.roads-route-picker__suggestions button {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 10px 12px;
    border-radius: 12px;
    font-size: 14px;
    font-weight: 700;
}

.roads-route-picker__suggestions button span,
.roads-route-picker__suggestions button small {
    min-width: 0;
}

.roads-route-picker__suggestions button span {
    overflow: hidden;
    text-overflow: ellipsis;
}

.roads-route-picker__suggestions button small {
    flex: 0 0 auto;
    color: rgba(209, 216, 236, 0.64);
    font-size: 12px;
    font-weight: 800;
}

.roads-route-picker__suggestions button:hover,
.roads-route-picker__suggestions button:focus-visible {
    border-color: rgba(169, 98, 255, 0.22);
    background: rgba(124, 58, 237, 0.16);
    outline: none;
}

.roads-route-picker__popular {
    display: none;
    gap: 8px;
    min-width: 0;
    padding: 10px;
    border: 1px solid rgba(255,255,255,0.10);
    border-radius: 16px;
    background: rgba(255,255,255,0.035);
}

.roads-route-picker__popular.is-visible {
    display: grid;
}

.roads-route-picker__popular-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 10px;
    min-width: 0;
}

.roads-route-picker__popular-head span {
    min-width: 0;
    color: rgba(242, 244, 255, 0.88);
    font-size: 13px;
    font-weight: 850;
    line-height: 1.25;
}

.roads-route-picker__popular-head small {
    flex: 0 0 auto;
    color: rgba(209, 216, 236, 0.60);
    font-size: 12px;
    font-weight: 800;
}

.roads-route-picker__popular-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    min-width: 0;
}

.roads-route-picker__popular button {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    max-width: 100%;
    padding: 9px 11px;
    border-color: rgba(255,255,255,0.12);
    border-radius: 999px;
    background: rgba(255,255,255,0.055);
    font-size: 13px;
    font-weight: 800;
    line-height: 1.2;
}

.roads-route-picker__popular button:hover,
.roads-route-picker__popular button:focus-visible {
    border-color: rgba(255, 134, 64, 0.32);
    background: rgba(255, 134, 64, 0.12);
    outline: none;
}

.roads-route-picker__popular span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
}

.roads-route-picker__popular small {
    flex: 0 0 auto;
    color: rgba(209, 216, 236, 0.72);
    font-size: 12px;
    font-weight: 800;
}

.roads-route-picker__note {
    margin: 0;
    color: rgba(209, 216, 236, 0.72);
    font-size: 13px;
    line-height: 1.45;
}

.roads-route-picker__note.is-warning {
    padding: 12px 14px;
    border: 1px solid rgba(255, 190, 133, 0.24);
    border-radius: 14px;
    color: #ffe1b8;
    background: rgba(255, 134, 64, 0.11);
}

.roads-route-picker__note.is-estimate {
    padding: 12px 14px;
    border: 1px solid rgba(52, 211, 153, 0.24);
    border-radius: 14px;
    color: #cbffe9;
    background: rgba(52, 211, 153, 0.10);
}

.field.is-needs-input .field__label,
.roads-route-picker__field.is-needs-input > span {
    color: #ffd9a3;
}

.field.is-needs-input .field__control,
.roads-route-picker__field.is-needs-input .field__control {
    border-color: rgba(255, 190, 133, 0.58);
    box-shadow:
        0 0 0 4px rgba(255, 134, 64, 0.14),
        inset 0 1px 0 rgba(255,255,255,0.08),
        0 14px 30px rgba(255, 134, 64, 0.08);
}

.field__hint,
.roads-route-picker__field-hint {
    margin: 7px 0 0;
    color: #ffd9a3;
    font-size: 13px;
    line-height: 1.4;
}

body.theme-light .roads-route-picker {
    background:
        linear-gradient(135deg, rgba(124, 58, 237, 0.10), rgba(6, 182, 212, 0.06)),
        #ffffff;
    border-color: rgba(16, 24, 40, 0.10);
    box-shadow: 0 12px 30px rgba(16, 24, 40, 0.07);
}

body.theme-light .roads-route-picker.is-route-missing {
    border-color: rgba(205, 98, 30, 0.26);
    background:
        linear-gradient(135deg, rgba(255, 134, 64, 0.12), rgba(124, 58, 237, 0.08)),
        #ffffff;
    box-shadow: 0 16px 34px rgba(205, 98, 30, 0.10);
}

body.theme-light .roads-route-picker.is-route-estimated {
    border-color: rgba(20, 184, 166, 0.24);
    background:
        linear-gradient(135deg, rgba(20, 184, 166, 0.10), rgba(6, 182, 212, 0.06)),
        #ffffff;
    box-shadow: 0 16px 34px rgba(20, 184, 166, 0.08);
}

body.theme-light .roads-route-picker__top strong,
body.theme-light .roads-route-picker__field > span,
body.theme-light .roads-route-picker__suggestions button,
body.theme-light .roads-route-picker__popular button,
body.theme-light .roads-route-picker__popular-head span {
    color: #172033;
}

body.theme-light .roads-route-picker__eyebrow,
body.theme-light .roads-route-picker__badge,
body.theme-light .roads-route-picker__note,
body.theme-light .roads-route-picker__popular small,
body.theme-light .roads-route-picker__suggestions button small {
    color: #667085;
}

body.theme-light .roads-route-picker__note.is-estimate {
    color: #176b5f;
    background: rgba(20, 184, 166, 0.08);
    border-color: rgba(20, 184, 166, 0.22);
}

body.theme-light .roads-route-picker__badge,
body.theme-light .roads-route-picker__popular button,
body.theme-light .roads-route-picker__clear {
    background: rgba(16, 24, 40, 0.04);
    border-color: rgba(16, 24, 40, 0.08);
}

body.theme-light .roads-route-picker__clear {
    color: #5f6b82;
}

body.theme-light .roads-route-picker__clear:hover,
body.theme-light .roads-route-picker__clear:focus-visible {
    color: #172033;
    background: rgba(124, 58, 237, 0.08);
    border-color: rgba(124, 58, 237, 0.18);
}

body.theme-light .roads-route-picker__suggestions {
    background: linear-gradient(180deg, #ffffff, #f7f8fb);
    border-color: rgba(16, 24, 40, 0.12);
    box-shadow: 0 18px 44px rgba(16, 24, 40, 0.16);
}

body.theme-light .roads-route-picker__popular {
    background: rgba(16, 24, 40, 0.025);
    border-color: rgba(16, 24, 40, 0.08);
}

body.theme-light .roads-route-picker__note.is-warning {
    color: #7a3b0f;
    background: rgba(255, 134, 64, 0.10);
    border-color: rgba(205, 98, 30, 0.22);
}

body.theme-light .field.is-needs-input .field__label,
body.theme-light .roads-route-picker__field.is-needs-input > span,
body.theme-light .field__hint,
body.theme-light .roads-route-picker__field-hint {
    color: #8a410f;
}

body.theme-light .field.is-needs-input .field__control,
body.theme-light .roads-route-picker__field.is-needs-input .field__control {
    border-color: rgba(205, 98, 30, 0.42);
    box-shadow: 0 0 0 4px rgba(255, 134, 64, 0.12), 0 8px 20px rgba(205, 98, 30, 0.08);
}

@media (max-width: 720px) {
    .roads-route-picker {
        padding: 14px;
        border-radius: 18px;
    }

    .roads-route-picker__top {
        flex-direction: column;
        gap: 10px;
    }

    .roads-route-picker__top-actions {
        width: 100%;
        justify-content: flex-start;
    }

    .roads-route-picker__row {
        grid-template-columns: 1fr;
    }

    .roads-route-picker__swap {
        width: 100%;
        height: 48px;
    }

    .roads-route-picker__popular-head {
        display: grid;
        gap: 2px;
    }

    .roads-route-picker__popular-list {
        display: grid;
    }

    .roads-route-picker__popular button {
        width: 100%;
        justify-content: space-between;
        border-radius: 14px;
    }
}

@media (max-width: 480px) {
    .roads-route-picker__top strong {
        font-size: 16px;
    }

    .roads-route-picker__badge {
        flex: 1 1 auto;
        text-align: center;
    }

    .roads-route-picker__clear {
        flex: 1 1 auto;
    }
}

.route-index-section {
    padding-top: 0;
}

.route-index {
    padding: 24px;
    border-radius: 24px;
}

.route-index__head {
    max-width: 820px;
    margin-bottom: 20px;
}

.route-index__eyebrow {
    display: inline-flex;
    margin-bottom: 8px;
    color: rgba(209, 216, 236, 0.72);
    font-size: 12px;
    font-weight: 850;
    line-height: 1.2;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.route-index__title {
    margin: 0;
    color: var(--text);
    font-size: clamp(24px, 3vw, 38px);
    line-height: 1.08;
    letter-spacing: 0;
}

.route-index__lead {
    margin: 12px 0 0;
    color: var(--muted);
    font-size: 16px;
    line-height: 1.55;
}

.route-index__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.route-index-card {
    min-width: 0;
    padding: 16px;
    border: 1px solid rgba(255,255,255,0.10);
    border-radius: 18px;
    background: rgba(255,255,255,0.045);
}

.route-index-card__title {
    margin: 0;
    color: var(--text);
    font-size: 17px;
    line-height: 1.25;
}

.route-index-card__text,
.route-index-card__hint {
    margin: 10px 0 0;
    color: rgba(209, 216, 236, 0.74);
    font-size: 13px;
    line-height: 1.45;
}

.route-index-card__facts {
    display: grid;
    gap: 8px;
    margin: 14px 0 0;
}

.route-index-card__facts div {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
    gap: 8px;
}

.route-index-card__facts dt,
.route-index-card__facts dd {
    margin: 0;
    min-width: 0;
    font-size: 12px;
    line-height: 1.35;
}

.route-index-card__facts dt {
    color: rgba(209, 216, 236, 0.58);
}

.route-index-card__facts dd {
    color: var(--text);
    font-weight: 750;
}

.route-index-card__action {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 14px;
    color: #ffb27a;
    font-size: 13px;
    font-weight: 850;
}

.route-index__more {
    margin-top: 14px;
}

.route-index__more summary {
    display: inline-flex;
    align-items: center;
    min-height: 42px;
    padding: 0 14px;
    border: 1px solid rgba(255,255,255,0.12);
    border-radius: 999px;
    color: var(--text);
    background: rgba(255,255,255,0.05);
    cursor: pointer;
    font-weight: 800;
}

.route-index__grid--extra {
    margin-top: 14px;
}

body.theme-light .route-index-card {
    background: rgba(16, 24, 40, 0.035);
    border-color: rgba(16, 24, 40, 0.08);
}

body.theme-light .route-index__eyebrow,
body.theme-light .route-index-card__text,
body.theme-light .route-index-card__hint {
    color: #667085;
}

body.theme-light .route-index-card__facts dt {
    color: #7a8496;
}

body.theme-light .route-index-card__action {
    color: #7c3aed;
}

body.theme-light .route-index__more summary {
    color: #172033;
    background: rgba(16, 24, 40, 0.04);
    border-color: rgba(16, 24, 40, 0.08);
}

.city-index-section {
    padding-top: 0;
}

.city-index {
    padding: 24px;
    border-radius: 24px;
}

.city-index__head {
    max-width: 840px;
    margin-bottom: 18px;
}

.city-index__eyebrow {
    display: inline-flex;
    margin-bottom: 8px;
    color: rgba(209, 216, 236, 0.72);
    font-size: 12px;
    font-weight: 850;
    line-height: 1.2;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.city-index__title {
    margin: 0;
    color: var(--text);
    font-size: clamp(22px, 2.4vw, 32px);
    line-height: 1.12;
    letter-spacing: 0;
}

.city-index__lead {
    margin: 10px 0 0;
    color: var(--muted);
    font-size: 15px;
    line-height: 1.55;
}

.city-index__details summary {
    display: inline-flex;
    align-items: center;
    min-height: 42px;
    padding: 0 14px;
    border: 1px solid rgba(255,255,255,0.12);
    border-radius: 999px;
    color: var(--text);
    background: rgba(255,255,255,0.05);
    cursor: pointer;
    font-weight: 800;
}

.city-index__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
    margin-top: 16px;
    max-height: 520px;
    overflow: auto;
    padding-right: 6px;
}

.city-index__item {
    min-width: 0;
    display: grid;
    gap: 3px;
    padding: 10px 12px;
    border: 1px solid rgba(255,255,255,0.10);
    border-radius: 14px;
    background: rgba(255,255,255,0.04);
}

.city-index__name {
    min-width: 0;
    overflow: hidden;
    color: var(--text);
    font-size: 14px;
    font-weight: 820;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.city-index__region {
    min-width: 0;
    overflow: hidden;
    color: rgba(209, 216, 236, 0.64);
    font-size: 12px;
    line-height: 1.3;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.theme-light .city-index__eyebrow,
body.theme-light .city-index__region {
    color: #667085;
}

body.theme-light .city-index__details summary {
    color: #172033;
    background: rgba(16, 24, 40, 0.04);
    border-color: rgba(16, 24, 40, 0.08);
}

body.theme-light .city-index__item {
    background: rgba(16, 24, 40, 0.035);
    border-color: rgba(16, 24, 40, 0.08);
}

@media (max-width: 920px) {
    .route-index__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .city-index__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 620px) {
    .route-index,
    .city-index {
        padding: 18px;
        border-radius: 20px;
    }

    .route-index__grid {
        grid-template-columns: 1fr;
    }

    .city-index__grid {
        grid-template-columns: 1fr;
        max-height: 420px;
    }

    .route-index-card__facts div {
        grid-template-columns: 1fr;
        gap: 3px;
    }
}

.field-date {
    position: relative;
}

.field-date.is-enhanced .field__control--date-source {
    position: absolute;
    width: 1px;
    height: 1px;
    min-width: 0;
    min-height: 0;
    padding: 0;
    border: 0;
    opacity: 0;
    pointer-events: none;
}

.field-date__button {
    width: 100%;
    min-height: 58px;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 13px 16px;
    border: 1px solid rgba(255,255,255,0.14);
    border-radius: 16px;
    color: rgba(222, 228, 247, 0.62);
    background:
        linear-gradient(180deg, rgba(255,255,255,0.07), rgba(255,255,255,0.03)),
        rgba(7, 11, 20, 0.64);
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.06), 0 14px 32px rgba(0,0,0,0.16);
    cursor: pointer;
    text-align: left;
    transition: border-color 0.18s ease, box-shadow 0.18s ease, background 0.18s ease, color 0.18s ease;
}

.field-date__button:hover,
.field-date__button:focus-visible,
.field-date.is-open .field-date__button {
    color: var(--text);
    border-color: rgba(169, 98, 255, 0.58);
    box-shadow: 0 0 0 4px rgba(139, 40, 255, 0.14), inset 0 1px 0 rgba(255,255,255,0.07);
    outline: none;
}

.field-date__button.has-value {
    color: var(--text);
}

.field-date__button-icon {
    width: 34px;
    height: 34px;
    flex: 0 0 auto;
    display: grid;
    place-items: center;
    border: 1px solid rgba(169, 98, 255, 0.26);
    border-radius: 11px;
    color: #ffb07a;
    background: linear-gradient(135deg, rgba(139, 40, 255, 0.16), rgba(255, 134, 64, 0.09));
}

.field-date__value {
    min-width: 0;
    flex: 1 1 auto;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-weight: 700;
}

.field-date__portal {
    position: fixed;
    z-index: 140;
    width: min(360px, calc(100vw - 24px));
    opacity: 0;
    pointer-events: none;
    transform: translateY(-8px) scale(0.985);
    transform-origin: top center;
    transition: opacity 0.16s ease, transform 0.16s ease;
}

.field-date__portal.is-above {
    transform: translateY(8px) scale(0.985);
    transform-origin: bottom center;
}

.field-date__portal.is-open {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0) scale(1);
}

.field-date__dialog {
    padding: 14px;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,0.16);
    border-radius: 24px;
    color: var(--text);
    background:
        radial-gradient(circle at 88% 0%, rgba(255, 134, 64, 0.15), transparent 35%),
        radial-gradient(circle at 6% 100%, rgba(139, 40, 255, 0.17), transparent 36%),
        linear-gradient(180deg, rgba(22, 27, 43, 0.995), rgba(8, 12, 23, 0.995));
    box-shadow: 0 28px 90px rgba(0,0,0,0.58), inset 0 1px 0 rgba(255,255,255,0.09);
}

.field-date__header {
    display: grid;
    grid-template-columns: 42px 1fr 42px;
    align-items: center;
    gap: 8px;
    margin-bottom: 10px;
}

.field-date__month {
    color: #fff;
    font-size: 16px;
    font-weight: 850;
    text-align: center;
    letter-spacing: -0.02em;
}

.field-date__nav {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(255,255,255,0.12);
    border-radius: 13px;
    color: rgba(237, 241, 255, 0.86);
    background: rgba(255,255,255,0.055);
    cursor: pointer;
    font-size: 20px;
    transition: color 0.16s ease, border-color 0.16s ease, background 0.16s ease, transform 0.16s ease;
}

.field-date__nav:hover,
.field-date__nav:focus-visible {
    color: #fff;
    border-color: rgba(169, 98, 255, 0.42);
    background: rgba(139, 40, 255, 0.16);
    outline: none;
    transform: translateY(-1px);
}

.field-date__weekdays,
.field-date__grid {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 5px;
}

.field-date__weekdays {
    margin-bottom: 5px;
}

.field-date__weekdays span {
    display: grid;
    place-items: center;
    min-height: 28px;
    color: rgba(222, 228, 247, 0.58);
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.07em;
}

.field-date__day {
    aspect-ratio: 1;
    min-width: 0;
    display: grid;
    place-items: center;
    border: 1px solid transparent;
    border-radius: 12px;
    color: rgba(237, 241, 255, 0.88);
    background: transparent;
    cursor: pointer;
    font-size: 13px;
    font-weight: 750;
    transition: color 0.14s ease, border-color 0.14s ease, background 0.14s ease, transform 0.14s ease;
}

.field-date__day:hover,
.field-date__day:focus-visible {
    color: #fff;
    border-color: rgba(169, 98, 255, 0.32);
    background: rgba(139, 40, 255, 0.14);
    outline: none;
    transform: translateY(-1px);
}

.field-date__day.is-outside {
    color: rgba(222, 228, 247, 0.3);
}

.field-date__day.is-today {
    border-color: rgba(255, 176, 122, 0.56);
    color: #ffc79f;
}

.field-date__day.is-selected {
    color: #fff;
    border-color: transparent;
    background: linear-gradient(135deg, #7b18ff, #d43cff 58%, #ff8640);
    box-shadow: 0 8px 20px rgba(139, 40, 255, 0.28);
}

.field-date__day:disabled {
    opacity: 0.24;
    cursor: not-allowed;
    transform: none;
}

.field-date__time {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-top: 12px;
    padding: 12px 13px;
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: 16px;
    background: rgba(255,255,255,0.045);
}

.field-date__time[hidden] {
    display: none;
}

.field-date__time-label {
    color: rgba(237, 241, 255, 0.78);
    font-size: 13px;
    font-weight: 750;
}

.field-date__time-inputs {
    display: flex;
    align-items: center;
    gap: 6px;
    color: rgba(237, 241, 255, 0.62);
    font-weight: 800;
}

.field-date__time-input {
    width: 48px;
    height: 40px;
    border: 1px solid rgba(255,255,255,0.13);
    border-radius: 12px;
    color: #fff;
    background: rgba(5, 9, 18, 0.66);
    text-align: center;
    font: inherit;
    font-weight: 800;
}

.field-date__time-input:focus {
    border-color: rgba(169, 98, 255, 0.62);
    box-shadow: 0 0 0 3px rgba(139, 40, 255, 0.14);
    outline: none;
}

.field-date__footer {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    margin-top: 12px;
}

.field-date__action {
    min-height: 42px;
    padding: 9px 10px;
    border: 1px solid rgba(255,255,255,0.11);
    border-radius: 13px;
    cursor: pointer;
    font-size: 12px;
    font-weight: 800;
    transition: border-color 0.16s ease, background 0.16s ease, transform 0.16s ease;
}

.field-date__action[hidden] {
    display: none;
}

.field-date__action--muted {
    color: rgba(237, 241, 255, 0.74);
    background: rgba(255,255,255,0.05);
}

.field-date__action--primary {
    color: #fff;
    border-color: transparent;
    background: linear-gradient(135deg, #7b18ff, #b42dff);
    box-shadow: 0 8px 22px rgba(139, 40, 255, 0.24);
}

.field-date__action:hover,
.field-date__action:focus-visible {
    border-color: rgba(169, 98, 255, 0.46);
    outline: none;
    transform: translateY(-1px);
}

.field-date__action--primary:hover,
.field-date__action--primary:focus-visible {
    border-color: transparent;
    background: linear-gradient(135deg, #8928ff, #c842ff);
}

body.theme-light .field-date__button {
    color: #64748b;
    border-color: rgba(15, 23, 42, 0.13);
    background: linear-gradient(180deg, #ffffff, #f8fafc);
    box-shadow: inset 0 1px 0 #ffffff, 0 10px 24px rgba(15, 23, 42, 0.07);
}

body.theme-light .field-date__button.has-value,
body.theme-light .field-date__button:hover,
body.theme-light .field-date__button:focus-visible,
body.theme-light .field-date.is-open .field-date__button {
    color: #111827;
}

body.theme-light .field-date__button-icon {
    color: #7c3aed;
    border-color: #ddd6fe;
    background: linear-gradient(135deg, #f3e8ff, #fff7ed);
}

body.theme-light .field-date__dialog {
    color: #111827;
    border-color: rgba(15, 23, 42, 0.12);
    background:
        radial-gradient(circle at 88% 0%, rgba(255, 134, 64, 0.1), transparent 35%),
        radial-gradient(circle at 6% 100%, rgba(139, 40, 255, 0.1), transparent 36%),
        linear-gradient(180deg, #ffffff, #f8fafc);
    box-shadow: 0 28px 80px rgba(15, 23, 42, 0.22), inset 0 1px 0 #ffffff;
}

body.theme-light .field-date__month {
    color: #111827;
}

body.theme-light .field-date__nav {
    color: #475569;
    border-color: rgba(15, 23, 42, 0.11);
    background: rgba(15, 23, 42, 0.04);
}

body.theme-light .field-date__weekdays span {
    color: #64748b;
}

body.theme-light .field-date__day {
    color: #334155;
}

body.theme-light .field-date__day.is-outside {
    color: #a8b1c0;
}

body.theme-light .field-date__day.is-today {
    color: #9a3412;
    border-color: #fdba74;
}

body.theme-light .field-date__day.is-selected {
    color: #fff;
}

body.theme-light .field-date__time {
    border-color: rgba(15, 23, 42, 0.1);
    background: rgba(15, 23, 42, 0.035);
}

body.theme-light .field-date__time-label,
body.theme-light .field-date__time-inputs {
    color: #475569;
}

body.theme-light .field-date__time-input {
    color: #111827;
    border-color: rgba(15, 23, 42, 0.14);
    background: #fff;
}

body.theme-light .field-date__action--muted {
    color: #475569;
    border-color: rgba(15, 23, 42, 0.1);
    background: rgba(15, 23, 42, 0.04);
}

@media (max-width: 620px) {
    .field-date__portal {
        width: auto !important;
        left: 10px !important;
        right: 10px;
        top: auto !important;
        bottom: max(10px, env(safe-area-inset-bottom));
        transform: translateY(16px) scale(0.99);
        transform-origin: bottom center;
    }

    .field-date__portal.is-open,
    .field-date__portal.is-above.is-open {
        transform: translateY(0) scale(1);
    }

    .field-date__dialog {
        padding: 12px;
        border-radius: 22px;
    }

    .field-date__day {
        min-height: 38px;
        aspect-ratio: auto;
    }
}

@media (prefers-reduced-motion: reduce) {
    .field-date__portal,
    .field-date__button,
    .field-date__nav,
    .field-date__day,
    .field-date__action {
        transition: none;
    }
}

.field__select-wrap {
    position: relative;
}

.field__select-wrap:not(.is-enhanced)::after {
    content: "";
    position: absolute;
    right: 18px;
    top: 50%;
    width: 9px;
    height: 9px;
    border-right: 2px solid rgba(255,255,255,0.72);
    border-bottom: 2px solid rgba(255,255,255,0.72);
    pointer-events: none;
    transform: translateY(-62%) rotate(45deg);
}

.field__control--select {
    padding-right: 44px;
    appearance: none;
    -webkit-appearance: none;
}

.field__select-wrap.is-enhanced .field__control--select {
    display: none !important;
    position: absolute;
    width: 1px;
    height: 1px;
    min-width: 0;
    min-height: 0;
    opacity: 0;
    pointer-events: none;
}

.field-select {
    position: relative;
    z-index: 5;
}

.field-select.is-open {
    z-index: 40;
}

.field-select__button {
    width: 100%;
    min-height: 58px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 16px 14px 18px;
    border: 1px solid rgba(255,255,255,0.14);
    border-radius: 16px;
    color: var(--text);
    background:
        linear-gradient(180deg, rgba(255,255,255,0.07), rgba(255,255,255,0.03)),
        rgba(7, 11, 20, 0.64);
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.06), 0 14px 32px rgba(0,0,0,0.16);
    cursor: pointer;
    text-align: left;
    transition: border-color 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
}

.field-select__button::before {
    content: "";
    width: 8px;
    height: 8px;
    flex: 0 0 auto;
    border-radius: 999px;
    background: linear-gradient(135deg, #ff8640, #a739ff);
    box-shadow: 0 0 0 4px rgba(255, 134, 64, 0.08);
}

.field-select__button::after {
    content: "";
    width: 10px;
    height: 10px;
    flex: 0 0 auto;
    border-right: 2px solid rgba(255,255,255,0.72);
    border-bottom: 2px solid rgba(255,255,255,0.72);
    transform: translateY(-2px) rotate(45deg);
    transition: transform 0.18s ease;
}

.field-select.is-open .field-select__button::after {
    transform: translateY(2px) rotate(225deg);
}

.field-select__button:focus-visible,
.field-select.is-open .field-select__button {
    border-color: rgba(169, 98, 255, 0.58);
    box-shadow: 0 0 0 4px rgba(139, 40, 255, 0.14), inset 0 1px 0 rgba(255,255,255,0.07);
}

.field-select__value {
    flex: 1 1 auto;
    min-width: 0;
    overflow: visible;
    text-overflow: clip;
    white-space: normal;
    line-height: 1.25;
}

.field-select__portal {
    position: fixed;
    z-index: 120;
    opacity: 0;
    pointer-events: none;
    transform: translateY(-6px) scale(0.985);
    transform-origin: top center;
    transition: opacity 0.16s ease, transform 0.16s ease;
}

.field-select__portal.is-open {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0) scale(1);
}

.field-select__portal.is-above {
    transform: translateY(6px) scale(0.985);
    transform-origin: bottom center;
}

.field-select__portal.is-above.is-open {
    transform: translateY(0) scale(1);
}

.field-select__list {
    display: grid;
    gap: 5px;
    max-height: var(--select-max-height, min(320px, 52vh));
    padding: 9px;
    overflow-y: auto;
    overscroll-behavior: contain;
    border: 1px solid rgba(255,255,255,0.16);
    border-radius: 20px;
    background:
        radial-gradient(circle at 88% 0%, rgba(255, 134, 64, 0.13), transparent 34%),
        linear-gradient(180deg, rgba(22, 27, 43, 0.99), rgba(8, 12, 23, 0.99));
    box-shadow: 0 26px 80px rgba(0,0,0,0.52), inset 0 1px 0 rgba(255,255,255,0.08);
    scrollbar-width: thin;
    scrollbar-color: rgba(167, 57, 255, 0.52) transparent;
}

.field-select__option {
    width: 100%;
    min-height: 44px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 12px 10px 14px;
    border: 1px solid transparent;
    border-radius: 13px;
    color: rgba(237, 241, 255, 0.84);
    background: transparent;
    cursor: pointer;
    text-align: left;
    line-height: 1.25;
    white-space: normal;
    transition: background 0.16s ease, border-color 0.16s ease, color 0.16s ease;
}

.field-select__option::after {
    content: "";
    width: 6px;
    height: 10px;
    flex: 0 0 auto;
    border-right: 2px solid transparent;
    border-bottom: 2px solid transparent;
    transform: rotate(45deg);
}

.field-select__option:hover,
.field-select__option:focus-visible,
.field-select__option.is-selected {
    color: #fff;
    border-color: rgba(169, 98, 255, 0.22);
    background: linear-gradient(135deg, rgba(139, 40, 255, 0.18), rgba(255, 134, 64, 0.08));
    outline: none;
}

.field-select__option.is-selected::after {
    border-color: #ffb07a;
}

.field__control--textarea {
    min-height: 132px;
    resize: vertical;
}

.form-section {
    margin-top: 28px;
    padding-top: 28px;
    border-top: 1px solid rgba(255,255,255,0.08);
}

.service-tool__form .form-section {
    margin-top: 18px;
    padding: 22px;
    border: 1px solid rgba(255,255,255,0.105);
    border-radius: 22px;
    background:
        radial-gradient(circle at 100% 0%, rgba(121, 184, 255, 0.08), transparent 34%),
        linear-gradient(180deg, rgba(255,255,255,0.055), rgba(255,255,255,0.022));
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.055), 0 18px 44px rgba(0,0,0,0.12);
}

.form-section__head {
    display: flex;
    gap: 14px;
    align-items: flex-start;
    margin-bottom: 18px;
}

.service-tool__form .form-section__head {
    margin-bottom: 20px;
}

.form-section__index {
    width: 40px;
    height: 40px;
    flex: 0 0 auto;
    display: grid;
    place-items: center;
    border-radius: 14px;
    background: linear-gradient(135deg, rgba(123, 24, 255, 0.24), rgba(74, 117, 255, 0.18));
    border: 1px solid rgba(255,255,255,0.12);
}

.service-tool__form .form-section__index {
    width: 42px;
    height: 42px;
    border-radius: 14px;
    color: #fff;
    font-weight: 800;
    background: linear-gradient(135deg, rgba(137, 40, 255, 0.86), rgba(255, 134, 64, 0.72));
    box-shadow: 0 12px 28px rgba(137, 40, 255, 0.22);
}

.form-section__title,
.simple-page__title {
    margin: 0 0 8px;
    font-size: 24px;
    font-weight: 800;
    letter-spacing: -0.03em;
}

.form-section__description {
    color: var(--muted);
    line-height: 1.5;
}

.service-tool__form .form-section__description {
    max-width: 720px;
    color: rgba(222, 228, 247, 0.76);
    font-size: 15px;
}

.result-grid,
.summary-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
}

.summary-grid {
    margin: 24px 0 0;
}

.summary-card,
.result-card {
    padding: 22px;
    border-radius: 22px;
    overflow: hidden;
    background: var(--bg-panel);
    border: 1px solid var(--stroke);
    box-shadow: var(--shadow);
}

.summary-card__value,
.result-card strong {
    display: block;
    font-size: clamp(24px, 3vw, 34px);
    font-weight: 800;
    letter-spacing: -0.04em;
}

.summary-card__label,
.result-card__label {
    display: block;
    margin-top: 8px;
    color: rgba(255,255,255,0.78);
    font-size: 14px;
}

.info-cards {
    display: grid;
    gap: 20px;
}

.info-cards--three {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.info-card {
    padding: 24px;
    overflow: hidden;
    border-radius: 28px;
    background: var(--bg-panel);
    border: 1px solid var(--stroke);
    box-shadow: var(--shadow);
}

.info-card__icon,
.reference-topic__icon {
    width: 46px;
    height: 46px;
    display: grid;
    place-items: center;
    border-radius: 14px;
    color: #ffffff;
    background: linear-gradient(135deg, rgba(147, 78, 255, 0.28), rgba(74, 117, 255, 0.2));
    border: 1px solid rgba(255,255,255,0.12);
}

.info-card__icon {
    margin-bottom: 18px;
}

.info-card__title,
.reference-topic__title {
    margin: 0;
    font-size: clamp(24px, 3vw, 32px);
    line-height: 1.05;
    letter-spacing: -0.035em;
    font-weight: 800;
}

.info-card__text,
.reference-topic__text {
    color: var(--muted);
    font-size: 18px;
    line-height: 1.58;
}

.reference-topics {
    display: grid;
    gap: 18px;
}

.reference-topic {
    position: relative;
    padding: 32px;
    overflow: hidden;
    border-radius: 28px;
    background:
        radial-gradient(circle at 100% 0%, rgba(255, 134, 64, 0.10), transparent 30%),
        radial-gradient(circle at 0% 0%, rgba(137, 40, 255, 0.14), transparent 32%),
        var(--bg-panel);
    border: 1px solid var(--stroke);
    box-shadow: var(--shadow);
}

.reference-topic__head {
    display: grid;
    grid-template-columns: 46px minmax(0, 1fr);
    gap: 18px;
    align-items: flex-start;
}

.reference-topic__body {
    display: grid;
    gap: 14px;
    min-width: 0;
}

.reference-topic__text {
    margin: 0;
    max-width: 980px;
}

.reference-topic__points {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin: 4px 0 0;
    padding: 0;
    list-style: none;
}

.reference-topic__points li {
    position: relative;
    min-height: 76px;
    padding: 14px 14px 14px 38px;
    border: 1px solid rgba(255,255,255,0.10);
    border-radius: 18px;
    color: rgba(232, 237, 255, 0.78);
    background: rgba(255,255,255,0.045);
    font-size: 14px;
    line-height: 1.45;
}

.reference-topic__points li::before {
    content: "";
    position: absolute;
    left: 15px;
    top: 20px;
    width: 9px;
    height: 9px;
    border-radius: 999px;
    background: linear-gradient(135deg, #79b8ff, #ff8640);
    box-shadow: 0 0 0 5px rgba(121, 184, 255, 0.10);
}

.reference-topic__link {
    width: fit-content;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-height: 42px;
    padding: 0 16px;
    border-radius: 999px;
    color: #ffffff;
    background: rgba(255,255,255,0.075);
    border: 1px solid rgba(255,255,255,0.12);
    font-size: 14px;
    font-weight: 800;
    transition: transform 0.2s ease, background 0.2s ease, border-color 0.2s ease;
}

.reference-topic__link:hover,
.reference-topic__link:focus-visible {
    transform: translateY(-1px);
    background: rgba(255, 134, 64, 0.15);
    border-color: rgba(255, 134, 64, 0.26);
    outline: none;
}

body.theme-light .reference-topic {
    background:
        radial-gradient(circle at 100% 0%, rgba(255, 134, 64, 0.11), transparent 30%),
        radial-gradient(circle at 0% 0%, rgba(124, 58, 237, 0.10), transparent 32%),
        linear-gradient(180deg, #ffffff, #f8faff);
}

body.theme-light .reference-topic__points li {
    color: #475569;
    background: rgba(248, 250, 252, 0.82);
    border-color: rgba(15, 23, 42, 0.08);
}

body.theme-light .reference-topic__link {
    color: #1e293b;
    background: rgba(15, 23, 42, 0.04);
    border-color: rgba(15, 23, 42, 0.08);
}

body.theme-light .reference-topic__link:hover,
body.theme-light .reference-topic__link:focus-visible {
    color: #7c3aed;
    background: rgba(124, 58, 237, 0.08);
    border-color: rgba(124, 58, 237, 0.16);
}

.qa-hero {
    padding-top: clamp(24px, 3vw, 34px);
    padding-bottom: clamp(28px, 3vw, 36px);
}

.qa-hero__panel {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(280px, 0.65fr);
    gap: clamp(18px, 2.4vw, 28px);
    align-items: center;
    padding: clamp(22px, 3vw, 38px);
    overflow: hidden;
    background:
        radial-gradient(circle at 96% 0%, rgba(255, 134, 64, 0.14), transparent 30%),
        radial-gradient(circle at 0% 10%, rgba(121, 184, 255, 0.16), transparent 34%),
        linear-gradient(180deg, rgba(55, 67, 107, 0.98), rgba(36, 45, 76, 0.96));
}

.qa-hero__eyebrow,
.qa-section-head span,
.qa-search-panel__head span,
.qa-toc__label {
    display: inline-flex;
    width: fit-content;
    align-items: center;
    min-height: 30px;
    padding: 0 12px;
    border: 1px solid rgba(255,255,255,0.12);
    border-radius: 999px;
    color: rgba(255,255,255,0.76);
    background: rgba(255,255,255,0.06);
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
}

.qa-hero__title {
    max-width: 980px;
    margin: 16px 0 0;
    font-size: clamp(38px, 5vw, 68px);
    line-height: 0.98;
    letter-spacing: -0.045em;
}

.qa-hero__lead {
    max-width: 880px;
    margin: 20px 0 0;
    color: var(--muted);
    font-size: 18px;
    line-height: 1.58;
}

.qa-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 24px;
}

.qa-hero__stats {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(124px, 1fr));
    gap: 10px;
}

.qa-hero__stat {
    min-height: 72px;
    min-width: 0;
    display: grid;
    align-content: center;
    gap: 4px;
    padding: 14px;
    border: 1px solid rgba(255,255,255,0.10);
    border-radius: 18px;
    background: rgba(255,255,255,0.055);
}

.qa-hero__stat strong {
    font-size: 28px;
    line-height: 1;
    font-weight: 900;
}

.qa-hero__stat span {
    color: rgba(226, 232, 255, 0.72);
    font-size: 13px;
    font-weight: 700;
}

.qa-section-head {
    display: grid;
    gap: 14px;
    margin-bottom: 22px;
}

.qa-section-head h2,
.qa-search-panel__head h2 {
    max-width: 820px;
    margin: 0;
    font-size: clamp(28px, 3vw, 42px);
    line-height: 1.05;
    letter-spacing: -0.04em;
}

.qa-category-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.qa-category-card {
    position: relative;
    min-height: 360px;
    display: grid;
    grid-template-rows: auto auto auto minmax(0, 1fr) auto;
    gap: 14px;
    padding: 24px;
    overflow: hidden;
    border-radius: 28px;
    background:
        radial-gradient(circle at 100% 0%, rgba(255, 134, 64, 0.11), transparent 30%),
        radial-gradient(circle at 0% 0%, rgba(137, 40, 255, 0.16), transparent 34%),
        var(--bg-panel);
    border: 1px solid var(--stroke);
    box-shadow: var(--shadow);
    transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.qa-category-card:hover,
.qa-category-card:focus-visible {
    transform: translateY(-3px);
    border-color: rgba(255,255,255,0.18);
    box-shadow: 0 32px 86px rgba(3, 7, 18, 0.55);
    outline: none;
}

.qa-category-card__icon,
.qa-tool-card__icon {
    width: 52px;
    height: 52px;
    display: grid;
    place-items: center;
    border-radius: 18px;
    color: #fff;
    background:
        linear-gradient(145deg, rgba(255,255,255,0.18), rgba(255,255,255,0.05)),
        linear-gradient(135deg, rgba(121, 184, 255, 0.78), rgba(255, 134, 64, 0.70));
    border: 1px solid rgba(255,255,255,0.16);
    box-shadow: 0 16px 34px rgba(121, 184, 255, 0.18), inset 0 1px 0 rgba(255,255,255,0.18);
}

.qa-category-card__count {
    position: absolute;
    top: 22px;
    right: 22px;
    padding: 7px 10px;
    border-radius: 999px;
    color: rgba(255,255,255,0.80);
    background: rgba(255,255,255,0.07);
    border: 1px solid rgba(255,255,255,0.11);
    font-size: 12px;
    font-weight: 800;
}

.qa-category-card__title {
    margin: 4px 0 0;
    max-width: 92%;
    font-size: 27px;
    line-height: 1.08;
    letter-spacing: -0.035em;
}

.qa-category-card__text {
    margin: 0;
    color: rgba(224, 230, 250, 0.76);
    font-size: 15px;
    line-height: 1.52;
}

.qa-category-card__list {
    display: grid;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.qa-category-card__list li {
    position: relative;
    padding-left: 20px;
    color: rgba(235, 239, 255, 0.78);
    font-size: 14px;
    line-height: 1.42;
}

.qa-category-card__list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 7px;
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: linear-gradient(135deg, #79b8ff, #ff8640);
}

.qa-category-card__more {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    justify-self: start;
    min-height: 40px;
    padding: 0 14px;
    border: 1px solid rgba(255,255,255,0.12);
    border-radius: 999px;
    background: rgba(255,255,255,0.07);
    font-size: 14px;
    font-weight: 800;
}

.qa-search-panel {
    padding: 28px;
    border-radius: 30px;
}

.qa-search-panel__head {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    align-items: end;
}

.qa-search-panel__head strong {
    min-width: 76px;
    text-align: right;
    font-size: 42px;
    line-height: 1;
    letter-spacing: -0.045em;
}

.qa-search-field {
    display: grid;
    gap: 8px;
    margin-top: 22px;
}

.qa-search-field span {
    color: rgba(224, 230, 250, 0.72);
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
}

.qa-search-field input {
    width: 100%;
    min-height: 60px;
    padding: 16px 18px;
    border: 1px solid rgba(255,255,255,0.12);
    border-radius: 20px;
    color: var(--text);
    background: rgba(8, 12, 23, 0.34);
    outline: none;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.qa-search-field input:focus {
    border-color: rgba(121, 184, 255, 0.44);
    box-shadow: 0 0 0 4px rgba(121, 184, 255, 0.10);
    background: rgba(8, 12, 23, 0.48);
}

.qa-index {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-top: 18px;
}

.qa-index__item {
    display: grid;
    gap: 7px;
    min-height: 94px;
    align-content: center;
    padding: 15px;
    border: 1px solid rgba(255,255,255,0.10);
    border-radius: 18px;
    background: rgba(255,255,255,0.045);
    transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.qa-index__item:hover,
.qa-index__item:focus-visible {
    transform: translateY(-1px);
    background: rgba(255,255,255,0.075);
    border-color: rgba(255,255,255,0.16);
    outline: none;
}

.qa-index__meta {
    color: rgba(224, 230, 250, 0.58);
    font-size: 12px;
    font-weight: 800;
}

.qa-index__item strong {
    color: #fff;
    font-size: 15px;
    line-height: 1.35;
}

.qa-search-empty {
    margin-top: 16px;
    padding: 16px;
    border: 1px solid rgba(255,255,255,0.10);
    border-radius: 18px;
    color: var(--muted);
    background: rgba(255,255,255,0.045);
}

.qa-chip-list {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.qa-category-nav {
    padding-bottom: 18px;
}

.qa-category-page {
    padding-top: 24px;
}

.qa-chip {
    display: inline-flex;
    align-items: center;
    min-height: 40px;
    padding: 0 14px;
    border: 1px solid rgba(255,255,255,0.10);
    border-radius: 999px;
    color: var(--muted);
    background: rgba(255,255,255,0.045);
    font-size: 14px;
    font-weight: 800;
}

.qa-chip:hover,
.qa-chip:focus-visible,
.qa-chip.is-active {
    color: #fff;
    background: rgba(255, 134, 64, 0.14);
    border-color: rgba(255, 134, 64, 0.28);
    outline: none;
}

.qa-related-section {
    padding-top: 28px;
}

.qa-related {
    width: 100%;
    max-width: 1120px;
    margin: 0 auto;
    padding-top: 24px;
    border-top: 1px solid rgba(255,255,255,0.10);
}

.qa-related__head {
    display: grid;
    gap: 8px;
    margin-bottom: 16px;
}

.qa-related__head span {
    width: fit-content;
    color: rgba(255, 134, 64, 0.92);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.qa-related__head h2 {
    margin: 0;
    font-size: clamp(24px, 2.4vw, 34px);
    line-height: 1.08;
    letter-spacing: -0.035em;
}

.qa-related__head p {
    max-width: 720px;
    margin: 0;
    color: var(--muted);
    font-size: 16px;
    line-height: 1.55;
}

.qa-chip-list--related {
    max-width: 900px;
}

.qa-category-layout {
    display: block;
}

.qa-toc {
    position: sticky;
    top: 100px;
    padding: 22px;
    border-radius: 24px;
}

.qa-toc ol {
    display: grid;
    gap: 8px;
    margin: 16px 0 0;
    padding: 0;
    list-style: none;
}

.qa-toc a {
    display: block;
    padding: 11px 12px;
    border-radius: 14px;
    color: rgba(224, 230, 250, 0.74);
    background: rgba(255,255,255,0.04);
    font-size: 13px;
    line-height: 1.35;
    transition: color 0.2s ease, background 0.2s ease;
}

.qa-toc a:hover,
.qa-toc a:focus-visible {
    color: #fff;
    background: rgba(255,255,255,0.08);
    outline: none;
}

.qa-question-list {
    display: grid;
    gap: 14px;
    width: 100%;
    max-width: 1120px;
    margin: 0 auto;
}

.qa-item {
    scroll-margin-top: 100px;
    overflow: hidden;
    border-radius: 24px;
}

.qa-item__question {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr) 36px;
    gap: 14px;
    align-items: center;
    min-height: 82px;
    padding: 18px 20px;
    cursor: pointer;
    list-style: none;
}

.qa-item__question::-webkit-details-marker {
    display: none;
}

.qa-item__number {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    border-radius: 16px;
    color: #fff;
    background: linear-gradient(135deg, rgba(121, 184, 255, 0.68), rgba(137, 40, 255, 0.72));
    font-size: 13px;
    font-weight: 900;
}

.qa-item__question > span:nth-child(2) {
    color: #fff;
    font-size: 20px;
    font-weight: 850;
    line-height: 1.18;
}

.qa-item__icon {
    width: 36px;
    height: 36px;
    display: grid;
    place-items: center;
    border-radius: 13px;
    color: rgba(255,255,255,0.72);
    background: rgba(255,255,255,0.06);
    border: 1px solid rgba(255,255,255,0.10);
    transition: transform 0.2s ease, color 0.2s ease, background 0.2s ease;
}

.qa-item[open] .qa-item__icon {
    transform: rotate(90deg);
    color: #fff;
    background: rgba(255, 134, 64, 0.14);
}

.qa-item__body {
    display: grid;
    gap: 16px;
    padding: 0 20px 22px 82px;
}

.qa-item__body [itemprop="text"] {
    display: grid;
    gap: 16px;
}

.qa-item__body p {
    max-width: 920px;
    margin: 0;
    color: var(--muted);
    font-size: 17px;
    line-height: 1.62;
}

.qa-answer-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 0.72fr);
    gap: 12px;
}

.qa-answer-box {
    padding: 18px;
    border: 1px solid rgba(255,255,255,0.10);
    border-radius: 20px;
    background: rgba(255,255,255,0.045);
}

.qa-answer-box--warning {
    background: rgba(255, 134, 64, 0.07);
    border-color: rgba(255, 134, 64, 0.14);
}

.qa-answer-box h3 {
    margin: 0 0 12px;
    font-size: 15px;
    line-height: 1.2;
}

.qa-answer-box ol,
.qa-answer-box ul {
    display: grid;
    gap: 9px;
    margin: 0;
    padding-left: 20px;
    color: rgba(235, 239, 255, 0.80);
    font-size: 14px;
    line-height: 1.46;
}

.qa-tool-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 18px;
    align-items: center;
    padding: 24px;
    border-radius: 28px;
}

.qa-tool-card h2 {
    margin: 0;
    font-size: 28px;
    line-height: 1.08;
    letter-spacing: -0.035em;
}

.qa-tool-card p {
    margin: 8px 0 0;
    color: var(--muted);
    font-size: 16px;
    line-height: 1.5;
}

body.theme-light .qa-hero__panel,
body.theme-light .qa-category-card {
    background:
        radial-gradient(circle at 96% 0%, rgba(255, 134, 64, 0.12), transparent 30%),
        radial-gradient(circle at 0% 10%, rgba(124, 58, 237, 0.09), transparent 34%),
        linear-gradient(180deg, #ffffff, #f7f9ff);
}

body.theme-light .qa-hero__eyebrow,
body.theme-light .qa-section-head span,
body.theme-light .qa-search-panel__head span,
body.theme-light .qa-toc__label,
body.theme-light .qa-category-card__count,
body.theme-light .qa-category-card__more,
body.theme-light .qa-chip {
    color: #64748b;
    background: rgba(15, 23, 42, 0.04);
    border-color: rgba(15, 23, 42, 0.08);
}

body.theme-light .qa-hero__lead,
body.theme-light .qa-category-card__text,
body.theme-light .qa-tool-card p,
body.theme-light .qa-related__head p {
    color: #5f6b82;
}

body.theme-light .qa-related {
    border-top-color: rgba(15, 23, 42, 0.10);
}

body.theme-light .qa-hero__stat,
body.theme-light .qa-index__item,
body.theme-light .qa-answer-box,
body.theme-light .qa-toc a,
body.theme-light .qa-search-empty {
    color: #475569;
    background: rgba(248, 250, 252, 0.86);
    border-color: rgba(15, 23, 42, 0.08);
}

body.theme-light .qa-hero__stat span,
body.theme-light .qa-search-field span,
body.theme-light .qa-index__meta {
    color: #64748b;
}

body.theme-light .qa-category-card__list li,
body.theme-light .qa-answer-box ol,
body.theme-light .qa-answer-box ul,
body.theme-light .qa-item__body p {
    color: #475569;
}

body.theme-light .qa-search-field input {
    color: #172033;
    background: #ffffff;
    border-color: rgba(15, 23, 42, 0.10);
}

body.theme-light .qa-index__item strong,
body.theme-light .qa-item__question > span:nth-child(2),
body.theme-light .qa-toc a:hover,
body.theme-light .qa-toc a:focus-visible,
body.theme-light .qa-chip:hover,
body.theme-light .qa-chip:focus-visible,
body.theme-light .qa-chip.is-active {
    color: #172033;
}

body.theme-light .qa-answer-box--warning {
    background: rgba(255, 134, 64, 0.08);
    border-color: rgba(255, 134, 64, 0.18);
}

.simple-page {
    padding: 32px;
    background: var(--bg-panel-soft);
    border: 1px solid var(--stroke);
    box-shadow: var(--shadow);
    border-radius: var(--radius-xl);
}

.simple-copy {
    color: var(--muted);
    font-size: 18px;
    line-height: 1.58;
}

.simple-page__section + .simple-page__section {
    margin-top: 28px;
    padding-top: 28px;
    border-top: 1px solid rgba(255,255,255,0.08);
}

.panel[data-trip-journal] {
    padding: 32px;
}

.empty-state {
    margin-top: 18px;
    min-height: 58px;
    display: flex;
    align-items: center;
    padding: 16px 18px;
    border: 1px solid var(--stroke);
    border-radius: 18px;
    box-shadow: var(--shadow);
    color: var(--muted);
    background: rgba(255,255,255,0.045);
    font-size: 18px;
    line-height: 1.58;
    overflow-wrap: anywhere;
}

.result-panel .empty-state {
    color: #ffffff;
    background:
        radial-gradient(circle at 100% 0%, rgba(255, 134, 64, 0.12), transparent 38%),
        rgba(255,255,255,0.06);
    font-weight: 800;
}

.service-tool {
    position: relative;
    padding: 32px;
    overflow: visible;
    background:
        radial-gradient(circle at 88% 8%, rgba(255, 134, 64, 0.12), transparent 24%),
        radial-gradient(circle at 6% 0%, rgba(137, 40, 255, 0.18), transparent 28%),
        linear-gradient(180deg, rgba(50, 62, 101, 0.96), rgba(31, 39, 66, 0.96));
}

.service-tool--commercial {
    border-color: rgba(255, 255, 255, 0.12);
    background:
        linear-gradient(135deg, rgba(255, 134, 64, 0.11), transparent 32%),
        linear-gradient(225deg, rgba(66, 180, 164, 0.10), transparent 34%),
        linear-gradient(180deg, rgba(28, 37, 59, 0.98), rgba(13, 19, 32, 0.98));
    box-shadow:
        0 30px 90px rgba(0, 0, 0, 0.42),
        inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.service-tool--commercial .service-tool__eyebrow {
    color: #ffd9b8;
    border-color: rgba(255, 190, 133, 0.24);
    background: rgba(255, 134, 64, 0.10);
}

.service-tool--commercial .service-tool__title {
    letter-spacing: 0;
}

.service-tool--commercial .service-tool__lead,
.service-tool--commercial .service-tool__result-head p {
    color: rgba(231, 236, 247, 0.82);
}

.service-tool--commercial .service-tool__stat {
    background:
        linear-gradient(180deg, rgba(255,255,255,0.065), rgba(255,255,255,0.025)),
        rgba(255,255,255,0.035);
    border-color: rgba(255, 255, 255, 0.13);
}

.service-tool--commercial .service-tool__stat strong {
    color: #fff4e8;
}

.service-tool--commercial .service-tool__form,
.service-tool--commercial .service-tool__result {
    background:
        linear-gradient(180deg, rgba(255,255,255,0.052), rgba(255,255,255,0.02)),
        rgba(5, 10, 18, 0.42);
    border-color: rgba(255,255,255,0.12);
}

.service-tool--commercial .service-tool__form .form-section {
    background:
        linear-gradient(135deg, rgba(255, 134, 64, 0.075), transparent 34%),
        linear-gradient(180deg, rgba(255,255,255,0.06), rgba(255,255,255,0.025));
    border-color: rgba(255, 190, 133, 0.16);
}

.service-tool--commercial .service-tool__form .form-section__index {
    background: linear-gradient(135deg, rgba(255, 134, 64, 0.88), rgba(66, 180, 164, 0.72));
    box-shadow: 0 14px 32px rgba(255, 134, 64, 0.16);
}

.service-tool--commercial .field-select__button::before {
    background: linear-gradient(135deg, #ff8640, #42b4a4);
    box-shadow: 0 0 0 4px rgba(66, 180, 164, 0.10);
}

.service-tool--commercial .field__control:focus,
.service-tool--commercial .field__control:focus-visible,
.service-tool--commercial .field-select__button:focus-visible,
.service-tool--commercial .field-select.is-open .field-select__button {
    border-color: rgba(255, 190, 133, 0.52);
    box-shadow: 0 0 0 4px rgba(255, 134, 64, 0.12), inset 0 1px 0 rgba(255,255,255,0.07);
}

.service-tool--commercial .service-result-card {
    background:
        linear-gradient(180deg, rgba(255,255,255,0.075), rgba(255,255,255,0.03)),
        rgba(255,255,255,0.035);
    border-color: rgba(255, 190, 133, 0.15);
}

.service-tool--commercial .service-result-card strong {
    color: #fff4e8;
}

.service-tool--commercial .service-status.is-good {
    background: linear-gradient(135deg, rgba(66, 180, 164, 0.18), rgba(255,255,255,0.045));
    border-color: rgba(66, 180, 164, 0.32);
}

.service-tool--commercial .service-status.is-warning {
    background: linear-gradient(135deg, rgba(255, 134, 64, 0.16), rgba(255,255,255,0.04));
    border-color: rgba(255, 190, 133, 0.30);
}

.service-tool--commercial .service-output__summary {
    background:
        linear-gradient(135deg, rgba(255, 134, 64, 0.13), rgba(66, 180, 164, 0.08)),
        rgba(255,255,255,0.045);
    border-color: rgba(255, 190, 133, 0.16);
}

body.theme-light .service-tool--commercial {
    background:
        linear-gradient(135deg, rgba(255, 134, 64, 0.10), transparent 30%),
        linear-gradient(225deg, rgba(30, 145, 132, 0.08), transparent 34%),
        linear-gradient(180deg, #ffffff, #f4f6fa);
    border-color: rgba(31, 41, 55, 0.08);
    box-shadow: 0 24px 70px rgba(31, 41, 55, 0.10), inset 0 1px 0 rgba(255,255,255,0.9);
}

body.theme-light .service-tool--commercial .service-tool__eyebrow {
    color: #9a4b16;
    border-color: rgba(224, 107, 32, 0.24);
    background: rgba(255, 134, 64, 0.10);
}

body.theme-light .service-tool--commercial .service-tool__lead,
body.theme-light .service-tool--commercial .service-tool__result-head p {
    color: #566176;
}

body.theme-light .service-tool--commercial .service-tool__stat,
body.theme-light .service-tool--commercial .service-tool__form,
body.theme-light .service-tool--commercial .service-tool__result,
body.theme-light .service-tool--commercial .service-tool__form .form-section,
body.theme-light .service-tool--commercial .service-result-card,
body.theme-light .service-tool--commercial .service-output__summary {
    background: linear-gradient(180deg, #ffffff, #f8fafc);
    border-color: rgba(31, 41, 55, 0.10);
}

body.theme-light .service-tool--commercial .service-tool__stat strong,
body.theme-light .service-tool--commercial .service-result-card strong {
    color: #172033;
}

.service-tool__illustration {
    margin: 28px 0 0;
    max-width: 540px;
}

.service-tool__illustration img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 18px;
}

.service-tool__head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(260px, 360px);
    gap: 24px;
    align-items: start;
    margin-bottom: 28px;
}

.service-tool__eyebrow {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 0 12px;
    border: 1px solid rgba(255,255,255,0.12);
    border-radius: 999px;
    color: rgba(255,255,255,0.78);
    background: rgba(255,255,255,0.06);
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
}

.service-tool__title {
    margin: 14px 0 0;
    font-size: clamp(28px, 3.4vw, 44px);
    line-height: 1;
    letter-spacing: -0.04em;
}

.service-tool__lead,
.service-tool__result-head p {
    margin: 14px 0 0;
    color: var(--muted);
    font-size: 17px;
    line-height: 1.58;
}

.service-tool__stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.service-tool__stat {
    min-height: 92px;
    padding: 16px 14px;
    border: 1px solid var(--stroke);
    border-radius: 20px;
    background: rgba(255,255,255,0.04);
}

.service-tool__stat span {
    display: block;
    color: var(--muted);
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
}

.service-tool__stat strong {
    display: block;
    margin-top: 8px;
    color: var(--text);
    font-size: 18px;
    line-height: 1.15;
    overflow-wrap: anywhere;
}

.service-tool__layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 22px;
    align-items: start;
}

.service-tool__form,
.service-tool__result {
    padding: 28px;
    border: 1px solid var(--stroke);
    border-radius: 24px;
    background: rgba(8, 12, 23, 0.34);
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.04);
}

.service-tool__form {
    background:
        linear-gradient(180deg, rgba(8, 12, 23, 0.44), rgba(8, 12, 23, 0.28)),
        rgba(8, 12, 23, 0.34);
}

.service-tool__form .form-section:first-child {
    margin-top: 0;
    padding-top: 22px;
    border-top: 1px solid rgba(255,255,255,0.105);
}

.service-tool__result {
    position: static;
}

.service-tool__result-head h3,
.service-output h4 {
    margin: 12px 0 0;
    font-size: 24px;
    line-height: 1.1;
    letter-spacing: 0;
}

.service-result-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-top: 22px;
}

.service-result-card {
    padding: 18px;
    border: 1px solid var(--stroke);
    border-radius: 18px;
    background: rgba(255,255,255,0.045);
}

.service-result-card span {
    display: block;
    color: var(--muted);
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
}

.service-result-card strong {
    display: block;
    margin-top: 8px;
    font-size: clamp(22px, 2.4vw, 30px);
    line-height: 1;
}

.service-status {
    margin-top: 16px;
    padding: 16px;
    border: 1px solid rgba(255,255,255,0.12);
    border-radius: 18px;
    color: var(--text);
    background: rgba(123, 24, 255, 0.12);
    line-height: 1.5;
}

.service-status.is-warning {
    background: rgba(255, 134, 64, 0.12);
}

.service-status.is-good {
    background: rgba(41, 190, 130, 0.12);
}

body.page--calculator .page-hero__title,
body.page--calculator .service-tool__title,
body.page--calculator .service-tool__result-head h3,
body.page--calculator .service-output h4 {
    letter-spacing: 0;
}

body.page--calculator .service-tool {
    background:
        linear-gradient(135deg, rgba(12, 18, 32, 0.98), rgba(31, 39, 60, 0.96) 52%, rgba(20, 42, 48, 0.94)),
        rgba(12, 18, 32, 0.98);
}

body.page--calculator .service-tool__eyebrow {
    border-color: rgba(255, 196, 87, 0.22);
    color: rgba(255, 230, 180, 0.86);
    background: rgba(255, 196, 87, 0.08);
}

body.page--calculator .service-tool__stat,
body.page--calculator .service-result-card {
    border-color: rgba(255, 255, 255, 0.14);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.07), rgba(255, 255, 255, 0.035)),
        rgba(255, 255, 255, 0.035);
}

body.page--calculator .service-result-card:first-child {
    border-color: rgba(255, 196, 87, 0.34);
    background:
        linear-gradient(180deg, rgba(255, 196, 87, 0.14), rgba(255, 196, 87, 0.045)),
        rgba(255, 255, 255, 0.04);
}

body.page--calculator .service-status.is-good {
    border-color: rgba(41, 190, 130, 0.26);
}

body.page--calculator .service-status.is-warning {
    border-color: rgba(255, 196, 87, 0.3);
}

body.page--calculator .service-output__body,
body.page--calculator .service-checklist {
    font-size: 14px;
    line-height: 1.62;
}

body.theme-light.page--calculator .service-tool {
    background:
        linear-gradient(135deg, rgba(255,255,255,0.98), rgba(241, 246, 252, 0.98) 54%, rgba(236, 247, 242, 0.98)),
        #fff;
}

body.theme-light.page--calculator .service-tool__eyebrow {
    border-color: rgba(185, 124, 28, 0.22);
    color: #8a5b11;
    background: rgba(255, 196, 87, 0.16);
}

body.theme-light.page--calculator .service-tool__stat,
body.theme-light.page--calculator .service-result-card {
    border-color: rgba(15, 23, 42, 0.1);
    background:
        linear-gradient(180deg, rgba(255,255,255,0.92), rgba(248,250,252,0.92)),
        #fff;
}

body.theme-light.page--calculator .service-result-card:first-child {
    border-color: rgba(185, 124, 28, 0.22);
    background:
        linear-gradient(180deg, rgba(255, 247, 226, 0.96), rgba(255, 255, 255, 0.92)),
        #fff;
}

body.page--avtodor-white .site-main {
    --text: #172033;
    --muted: #536174;
    --muted-soft: #667085;
    --stroke: rgba(23, 32, 51, 0.12);
    color: var(--text);
    background: #f4f7fb;
}

body.page--avtodor-white .site-main .section {
    background: #f4f7fb;
}

body.page--avtodor-white .page-hero__panel,
body.page--avtodor-white .service-tool--avtodor,
body.page--avtodor-white .route-index,
body.page--avtodor-white .info-card,
body.page--avtodor-white .feature-card,
body.page--avtodor-white .simple-page {
    border-color: rgba(23, 32, 51, 0.10);
    background: #ffffff;
    box-shadow: 0 20px 60px rgba(23, 32, 51, 0.08);
}

body.page--avtodor-white .page-hero__panel {
    position: relative;
    overflow: hidden;
    border-radius: 28px;
}

body.page--avtodor-white .page-hero__panel::after {
    content: "";
    position: absolute;
    left: 32px;
    right: 32px;
    bottom: 0;
    height: 5px;
    border-radius: 999px 999px 0 0;
    background: linear-gradient(90deg, #f2b705 0 38%, #1f7a5d 38% 68%, #2d67b1 68% 100%);
}

body.page--avtodor-white .page-hero__eyebrow,
body.page--avtodor-white .service-tool--avtodor .service-tool__eyebrow,
body.page--avtodor-white .route-index__eyebrow {
    color: #8a5b11;
    background: rgba(242, 183, 5, 0.16);
    border-color: rgba(191, 137, 0, 0.22);
    letter-spacing: 0;
}

body.page--avtodor-white .page-hero__title,
body.page--avtodor-white .service-tool--avtodor .service-tool__title,
body.page--avtodor-white .route-index__title,
body.page--avtodor-white .faq-heading,
body.page--avtodor-white .form-section__title,
body.page--avtodor-white .simple-page__title {
    color: #172033;
    letter-spacing: 0;
}

body.page--avtodor-white .page-hero__title {
    max-width: 1060px;
    font-size: 44px;
    line-height: 1.08;
}

body.page--avtodor-white .page-hero__lead,
body.page--avtodor-white .service-tool--avtodor .service-tool__lead,
body.page--avtodor-white .service-tool--avtodor .service-tool__result-head p,
body.page--avtodor-white .route-index__lead,
body.page--avtodor-white .simple-copy,
body.page--avtodor-white .feature-card__text,
body.page--avtodor-white .info-card__text {
    color: #536174;
}

body.page--avtodor-white .btn--primary {
    color: #ffffff;
    background: linear-gradient(135deg, #172033, #245c64);
    box-shadow: 0 16px 34px rgba(23, 32, 51, 0.18);
}

body.page--avtodor-white .btn--ghost {
    color: #172033;
    background: #ffffff;
    border-color: rgba(23, 32, 51, 0.14);
    box-shadow: 0 10px 24px rgba(23, 32, 51, 0.06);
}

body.page--avtodor-white .service-tool--avtodor {
    position: relative;
    overflow: hidden;
    padding: 30px;
    border-radius: 28px;
}

body.page--avtodor-white .service-tool--avtodor::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 6px;
    background: linear-gradient(90deg, #f2b705, #1f7a5d, #2d67b1);
}

body.page--avtodor-white .service-tool--avtodor .service-tool__stat,
body.page--avtodor-white .service-tool--avtodor .service-tool__form,
body.page--avtodor-white .service-tool--avtodor .service-tool__result,
body.page--avtodor-white .service-tool--avtodor .service-result-card,
body.page--avtodor-white .service-tool--avtodor .service-output__summary {
    border-color: rgba(23, 32, 51, 0.10);
    background: linear-gradient(180deg, #ffffff, #f8fafc);
    box-shadow: none;
}

body.page--avtodor-white .service-tool--avtodor .service-tool__form .form-section,
body.page--avtodor-white .service-tool--avtodor .service-tool__form .form-section:first-child {
    margin-top: 16px;
    padding: 20px;
    border: 1px solid rgba(23, 32, 51, 0.10);
    background: #ffffff;
    box-shadow: 0 12px 30px rgba(23, 32, 51, 0.05);
}

body.page--avtodor-white .service-tool--avtodor .form-section__index {
    color: #172033;
    background: linear-gradient(135deg, #f2b705, #ffcf4d);
    box-shadow: 0 12px 24px rgba(191, 137, 0, 0.18);
}

body.page--avtodor-white .service-tool--avtodor .field__label,
body.page--avtodor-white .service-tool--avtodor .service-result-card strong,
body.page--avtodor-white .service-tool--avtodor .service-tool__stat strong,
body.page--avtodor-white .service-tool--avtodor .service-output h4,
body.page--avtodor-white .route-index-card__title,
body.page--avtodor-white .route-index-card__facts dd {
    color: #172033;
}

body.page--avtodor-white .service-tool--avtodor .service-tool__stat strong,
body.page--avtodor-white .service-tool--avtodor .form-section__title,
body.page--avtodor-white .service-tool--avtodor .form-section__description,
body.page--avtodor-white .service-tool--avtodor .field__label {
    overflow-wrap: anywhere;
}

body.page--avtodor-white .service-tool--avtodor .form-section__head > div {
    min-width: 0;
}

body.page--avtodor-white .service-tool--avtodor .form-section__description,
body.page--avtodor-white .service-tool--avtodor .service-result-card span,
body.page--avtodor-white .service-tool--avtodor .service-tool__stat span,
body.page--avtodor-white .route-index-card__text,
body.page--avtodor-white .route-index-card__hint,
body.page--avtodor-white .route-index-card__facts dt {
    color: #667085;
}

body.page--avtodor-white .service-tool--avtodor .field__control,
body.page--avtodor-white .service-tool--avtodor .field-select__button {
    min-width: 0;
    color: #172033;
    background: #ffffff;
    border-color: rgba(23, 32, 51, 0.14);
    box-shadow: 0 8px 20px rgba(23, 32, 51, 0.05);
}

body.page--avtodor-white .service-tool--avtodor input.field__control {
    text-overflow: ellipsis;
}

body.page--avtodor-white .service-tool--avtodor .field__control::placeholder {
    color: #98a2b3;
}

body.page--avtodor-white .service-tool--avtodor .field__control:focus,
body.page--avtodor-white .service-tool--avtodor .field__control:focus-visible,
body.page--avtodor-white .service-tool--avtodor .field-select__button:focus-visible,
body.page--avtodor-white .service-tool--avtodor .field-select.is-open .field-select__button {
    border-color: rgba(45, 103, 177, 0.42);
    box-shadow: 0 0 0 4px rgba(45, 103, 177, 0.12);
}

body.page--avtodor-white .field-select__portal {
    color: #172033;
}

body.page--avtodor-white .field-select__list {
    background: #ffffff;
    border-color: rgba(23, 32, 51, 0.14);
    box-shadow: 0 20px 50px rgba(23, 32, 51, 0.18);
}

body.page--avtodor-white .field-select__option {
    color: #3f4a5c;
}

body.page--avtodor-white .field-select__option:hover,
body.page--avtodor-white .field-select__option:focus-visible,
body.page--avtodor-white .field-select__option.is-selected {
    color: #172033;
    background: rgba(242, 183, 5, 0.12);
    border-color: rgba(191, 137, 0, 0.18);
}

body.page--avtodor-white .service-tool--avtodor .service-status {
    color: #172033;
    background: rgba(45, 103, 177, 0.08);
    border-color: rgba(45, 103, 177, 0.18);
}

body.page--avtodor-white .service-tool--avtodor .service-status.is-good {
    background: rgba(31, 122, 93, 0.10);
    border-color: rgba(31, 122, 93, 0.24);
}

body.page--avtodor-white .service-tool--avtodor .service-status.is-warning {
    background: rgba(242, 183, 5, 0.14);
    border-color: rgba(191, 137, 0, 0.24);
}

body.page--avtodor-white .service-tool--avtodor .service-result-card:first-child {
    border-color: rgba(191, 137, 0, 0.26);
    background: linear-gradient(180deg, rgba(255, 250, 232, 0.98), #ffffff);
}

body.page--avtodor-white .roads-route-picker {
    background: linear-gradient(135deg, rgba(242, 183, 5, 0.11), rgba(45, 103, 177, 0.06)), #ffffff;
    border-color: rgba(23, 32, 51, 0.10);
    box-shadow: 0 12px 28px rgba(23, 32, 51, 0.06);
}

body.page--avtodor-white .roads-route-picker__top strong,
body.page--avtodor-white .roads-route-picker__field > span,
body.page--avtodor-white .roads-route-picker__suggestions button,
body.page--avtodor-white .roads-route-picker__popular button {
    color: #172033;
}

body.page--avtodor-white .roads-route-picker__eyebrow,
body.page--avtodor-white .roads-route-picker__badge,
body.page--avtodor-white .roads-route-picker__note,
body.page--avtodor-white .roads-route-picker__popular small {
    color: #667085;
}

body.page--avtodor-white .roads-route-picker__badge,
body.page--avtodor-white .roads-route-picker__popular button,
body.page--avtodor-white .roads-route-picker__clear {
    background: rgba(23, 32, 51, 0.04);
    border-color: rgba(23, 32, 51, 0.08);
}

body.page--avtodor-white .roads-route-picker__clear {
    color: #526070;
}

body.page--avtodor-white .roads-route-picker__suggestions {
    background: #ffffff;
    border-color: rgba(23, 32, 51, 0.12);
    box-shadow: 0 18px 44px rgba(23, 32, 51, 0.16);
}

body.page--avtodor-white .route-index-card {
    background: #ffffff;
    border-color: rgba(23, 32, 51, 0.10);
    box-shadow: 0 10px 26px rgba(23, 32, 51, 0.05);
}

body.page--avtodor-white .route-index-card__action {
    color: #245c64;
}

body.page--avtodor-white .feature-card__icon {
    overflow: hidden;
}

body.page--avtodor-white .faq-item {
    background: #ffffff;
    border-color: rgba(23, 32, 51, 0.10);
    box-shadow: 0 10px 26px rgba(23, 32, 51, 0.05);
}

body.page--avtodor-white .faq-item__question {
    color: #172033;
    background: #ffffff;
}

body.page--avtodor-white .faq-item__answer p {
    color: #536174;
}

@media (max-width: 720px) {
    body.page--avtodor-white .page-hero__title {
        font-size: 34px;
    }

    body.page--avtodor-white .service-tool--avtodor {
        padding: 20px;
        border-radius: 22px;
    }

    body.page--avtodor-white .service-tool--avtodor .service-tool__form,
    body.page--avtodor-white .service-tool--avtodor .service-tool__result {
        padding: 18px;
    }
}

@media (max-width: 420px) {
    body.page--avtodor-white .page-hero__title {
        font-size: 30px;
    }

    body.page--avtodor-white .page-hero__panel::after {
        left: 20px;
        right: 20px;
    }

    body.page--avtodor-white .service-tool--avtodor .service-tool__form .form-section,
    body.page--avtodor-white .service-tool--avtodor .service-tool__form .form-section:first-child,
    body.page--avtodor-white .roads-route-picker {
        padding: 14px;
    }

    body.page--avtodor-white .service-tool--avtodor .form-section__head {
        gap: 10px;
    }

    body.page--avtodor-white .service-tool--avtodor .field__control,
    body.page--avtodor-white .service-tool--avtodor .field-select__button {
        min-height: 52px;
        padding: 12px 14px;
    }

}

body.page--epd-readiness .page-hero__title,
body.page--epd-readiness .service-tool__title,
body.page--epd-readiness .service-tool__result-head h3,
body.page--epd-readiness .service-output h4 {
    letter-spacing: 0;
}

body.page--epd-readiness .page-hero__panel {
    background:
        radial-gradient(circle at 95% 8%, rgba(41, 190, 130, 0.16), transparent 34%),
        radial-gradient(circle at 0% 0%, rgba(255, 196, 87, 0.1), transparent 28%),
        linear-gradient(135deg, rgba(14, 22, 34, 0.96), rgba(26, 36, 55, 0.94));
}

body.page--epd-readiness .page-hero__eyebrow,
body.page--epd-readiness .service-tool__eyebrow {
    border-color: rgba(41, 190, 130, 0.24);
    color: rgba(205, 250, 232, 0.92);
    background: rgba(41, 190, 130, 0.1);
}

body.page--epd-readiness .service-tool {
    background:
        linear-gradient(135deg, rgba(9, 15, 26, 0.98), rgba(25, 38, 55, 0.97) 48%, rgba(24, 49, 46, 0.94)),
        rgba(9, 15, 26, 0.98);
}

body.page--epd-readiness .service-tool__form,
body.page--epd-readiness .service-tool__result {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.055), rgba(255, 255, 255, 0.026)),
        rgba(7, 12, 22, 0.38);
}

body.page--epd-readiness .service-tool__stat,
body.page--epd-readiness .service-result-card {
    border-color: rgba(255, 255, 255, 0.14);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.07), rgba(255, 255, 255, 0.035)),
        rgba(255, 255, 255, 0.035);
}

body.page--epd-readiness .service-result-card:first-child {
    border-color: rgba(41, 190, 130, 0.34);
    background:
        linear-gradient(180deg, rgba(41, 190, 130, 0.18), rgba(41, 190, 130, 0.045)),
        rgba(255, 255, 255, 0.04);
}

body.page--epd-readiness .service-status.is-good {
    border-color: rgba(41, 190, 130, 0.3);
}

body.page--epd-readiness .service-status.is-warning {
    border-color: rgba(255, 196, 87, 0.34);
}

body.page--epd-readiness .field-select__button::before {
    background: linear-gradient(135deg, #29be82, #ffc457);
    box-shadow: 0 0 0 4px rgba(41, 190, 130, 0.08);
}

body.theme-light.page--epd-readiness .page-hero__panel,
body.theme-light.page--epd-readiness .service-tool {
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(242, 248, 246, 0.98) 56%, rgba(252, 247, 231, 0.98)),
        #fff;
}

body.theme-light.page--epd-readiness .page-hero__eyebrow,
body.theme-light.page--epd-readiness .service-tool__eyebrow {
    border-color: rgba(24, 132, 92, 0.22);
    color: #126448;
    background: rgba(41, 190, 130, 0.12);
}

body.theme-light.page--epd-readiness .service-tool__form,
body.theme-light.page--epd-readiness .service-tool__result,
body.theme-light.page--epd-readiness .service-tool__stat,
body.theme-light.page--epd-readiness .service-result-card {
    border-color: rgba(15, 23, 42, 0.1);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(248, 250, 252, 0.92)),
        #fff;
}

body.theme-light.page--epd-readiness .service-result-card:first-child {
    border-color: rgba(24, 132, 92, 0.2);
    background:
        linear-gradient(180deg, rgba(231, 250, 243, 0.96), rgba(255, 255, 255, 0.94)),
        #fff;
}

body.page--document-service .page-hero__title,
body.page--document-service .service-tool__title,
body.page--document-service .service-tool__result-head h3,
body.page--document-service .service-output h4 {
    letter-spacing: 0;
}

body.page--document-service .page-hero__panel {
    background:
        radial-gradient(circle at 94% 0%, rgba(255, 196, 87, 0.13), transparent 32%),
        radial-gradient(circle at 0% 16%, rgba(41, 190, 130, 0.1), transparent 30%),
        linear-gradient(135deg, rgba(13, 18, 29, 0.97), rgba(30, 38, 53, 0.95));
}

body.page--document-service .page-hero__eyebrow,
body.page--document-service .service-tool__eyebrow {
    border-color: rgba(255, 196, 87, 0.24);
    color: rgba(255, 235, 190, 0.92);
    background: rgba(255, 196, 87, 0.09);
}

body.page--document-service .service-tool {
    background:
        linear-gradient(135deg, rgba(10, 14, 24, 0.98), rgba(27, 34, 48, 0.97) 50%, rgba(42, 34, 24, 0.94)),
        rgba(10, 14, 24, 0.98);
}

body.page--document-service .service-tool__form,
body.page--document-service .service-tool__result {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0.028)),
        rgba(7, 12, 22, 0.4);
}

body.page--document-service .service-tool__stat,
body.page--document-service .service-result-card {
    border-color: rgba(255, 255, 255, 0.14);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.07), rgba(255, 255, 255, 0.035)),
        rgba(255, 255, 255, 0.035);
}

body.page--document-service .service-result-card:first-child {
    border-color: rgba(255, 196, 87, 0.34);
    background:
        linear-gradient(180deg, rgba(255, 196, 87, 0.17), rgba(255, 196, 87, 0.045)),
        rgba(255, 255, 255, 0.04);
}

body.page--document-service .service-status.is-good {
    border-color: rgba(41, 190, 130, 0.28);
}

body.page--document-service .service-status.is-warning {
    border-color: rgba(255, 196, 87, 0.34);
}

body.page--document-service .field-select__button::before {
    background: linear-gradient(135deg, #ffc457, #29be82);
    box-shadow: 0 0 0 4px rgba(255, 196, 87, 0.08);
}

body.page--document-service .service-output__body,
body.page--document-service .service-checklist {
    font-size: 14px;
    line-height: 1.62;
}

body.theme-light.page--document-service .page-hero__panel,
body.theme-light.page--document-service .service-tool {
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.98) 55%, rgba(255, 249, 235, 0.98)),
        #fff;
}

body.theme-light.page--document-service .page-hero__eyebrow,
body.theme-light.page--document-service .service-tool__eyebrow {
    border-color: rgba(185, 124, 28, 0.22);
    color: #7a4d08;
    background: rgba(255, 196, 87, 0.16);
}

body.theme-light.page--document-service .service-tool__form,
body.theme-light.page--document-service .service-tool__result,
body.theme-light.page--document-service .service-tool__stat,
body.theme-light.page--document-service .service-result-card {
    border-color: rgba(15, 23, 42, 0.1);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(248, 250, 252, 0.92)),
        #fff;
}

body.theme-light.page--document-service .service-result-card:first-child {
    border-color: rgba(185, 124, 28, 0.22);
    background:
        linear-gradient(180deg, rgba(255, 248, 232, 0.96), rgba(255, 255, 255, 0.94)),
        #fff;
}

.service-output {
    margin-top: 18px;
    padding-top: 18px;
    border-top: 1px solid rgba(255,255,255,0.08);
}

.service-output__body {
    margin-top: 12px;
    padding: 16px;
    min-height: 110px;
    border: 1px solid var(--stroke);
    border-radius: 18px;
    color: var(--muted);
    background:
        radial-gradient(circle at 100% 0%, rgba(255, 196, 87, 0.08), transparent 34%),
        rgba(0,0,0,0.14);
    font-size: 15px;
    line-height: 1.55;
    white-space: normal;
}

.service-output__placeholder {
    margin: 0;
    color: var(--muted);
}

.service-output-view {
    display: grid;
    gap: 12px;
}

.service-output__summary {
    display: grid;
    gap: 6px;
    padding: 14px;
    border: 1px solid rgba(255,255,255,0.12);
    border-radius: 16px;
    background:
        linear-gradient(135deg, rgba(255,255,255,0.08), rgba(255,255,255,0.035)),
        rgba(255,255,255,0.035);
}

.service-output__summary-label,
.service-output__section-title {
    color: rgba(255, 230, 180, 0.82);
    font-size: 11px;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: 0;
    text-transform: uppercase;
}

.service-output__summary-title {
    color: var(--text);
    font-size: 18px;
    line-height: 1.22;
}

.service-output__section {
    padding: 14px;
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: 16px;
    background: rgba(255,255,255,0.032);
}

.service-output__section-title {
    margin: 0 0 10px;
}

.service-output__facts {
    display: grid;
    gap: 0;
    margin: 0;
}

.service-output__fact {
    display: grid;
    grid-template-columns: minmax(110px, 0.78fr) minmax(0, 1.22fr);
    gap: 12px;
    padding: 9px 0;
    border-top: 1px solid rgba(255,255,255,0.075);
}

.service-output__fact:first-child {
    border-top: 0;
    padding-top: 0;
}

.service-output__fact:last-child {
    padding-bottom: 0;
}

.service-output__fact-label,
.service-output__fact-value {
    margin: 0;
    min-width: 0;
}

.service-output__fact-label {
    color: rgba(209, 216, 236, 0.62);
    font-size: 12px;
    font-weight: 800;
    line-height: 1.35;
}

.service-output__fact-value {
    color: rgba(245, 248, 255, 0.94);
    font-weight: 700;
    line-height: 1.35;
    word-break: break-word;
}

.service-output__notes {
    display: grid;
    gap: 8px;
}

.service-output__note {
    margin: 0;
    color: rgba(226, 232, 247, 0.84);
}

.service-output__list {
    display: grid;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.service-output__list li {
    position: relative;
    padding-left: 22px;
    color: rgba(226, 232, 247, 0.86);
    line-height: 1.45;
}

.service-output__list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.62em;
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: linear-gradient(135deg, #ffc457, #a739ff);
    box-shadow: 0 0 0 4px rgba(255, 196, 87, 0.08);
}

body.theme-light .service-output__body {
    border-color: rgba(15, 23, 42, 0.1);
    background:
        radial-gradient(circle at 100% 0%, rgba(255, 196, 87, 0.12), transparent 36%),
        rgba(255,255,255,0.76);
}

body.theme-light .service-output__summary,
body.theme-light .service-output__section {
    border-color: rgba(15, 23, 42, 0.1);
    background: rgba(255,255,255,0.78);
}

body.theme-light .service-output__summary-label,
body.theme-light .service-output__section-title {
    color: #8a5b11;
}

body.theme-light .service-output__fact {
    border-top-color: rgba(15, 23, 42, 0.08);
}

body.theme-light .service-output__fact-label {
    color: rgba(51, 65, 85, 0.68);
}

body.theme-light .service-output__fact-value,
body.theme-light .service-output__summary-title {
    color: #0f172a;
}

body.theme-light .service-output__note,
body.theme-light .service-output__list li {
    color: rgba(30, 41, 59, 0.82);
}

.service-checklist {
    display: grid;
    gap: 10px;
    margin: 12px 0 0;
    padding: 0;
    list-style: none;
}

.service-checklist li {
    position: relative;
    padding: 12px 14px 12px 38px;
    border: 1px solid var(--stroke);
    border-radius: 16px;
    color: var(--muted);
    background: rgba(255,255,255,0.035);
    line-height: 1.4;
}

.service-checklist li::before {
    content: "";
    position: absolute;
    left: 15px;
    top: 17px;
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: #a739ff;
}

.page-grid {
    display: grid;
    gap: 20px;
}

.page-grid--two {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.page-grid--three {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

/* === Info blocks === */
.info-section { padding-top: 8px !important; }

.info-block {
    display: flex;
    gap: 18px;
    align-items: flex-start;
    padding: 22px 26px;
    background: rgba(255, 255, 255, .03);
    border: 1px solid var(--stroke);
    border-radius: 18px;
    margin-bottom: 14px;
}
.info-block__icon {
    flex-shrink: 0;
    width: 42px;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(139, 92, 246, .1);
    border-radius: 12px;
    color: #a78bfa;
}
.info-block__body { flex: 1; min-width: 0; }
.info-block__title {
    font-size: 20px;
    font-weight: 700;
    margin: 0 0 8px;
    letter-spacing: -.01em;
}
.info-block__body p {
    font-size: 15px;
    color: var(--muted);
    line-height: 1.65;
    margin: 0;
}
.info-block__list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    gap: 8px;
}
.info-block__list li {
    position: relative;
    padding-left: 20px;
    font-size: 15px;
    color: var(--muted);
    line-height: 1.5;
}
.info-block__list li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 8px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: linear-gradient(135deg, #8928ff, #06b6d4);
}

/* Info columns (pros/cons) */
.info-columns {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
    margin-bottom: 14px;
}
.info-col {
    padding: 22px 24px;
    border-radius: 18px;
    border: 1px solid var(--stroke);
}
.info-col--green { background: rgba(34, 197, 94, .04); border-left: 3px solid #22c55e; }
.info-col--orange { background: rgba(249, 115, 22, .04); border-left: 3px solid #f97316; }
.info-col__head {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 14px;
}
.info-col__icon {
    width: 34px;
    height: 34px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
}
.info-col--green .info-col__icon { background: rgba(34, 197, 94, .12); color: #22c55e; }
.info-col--orange .info-col__icon { background: rgba(249, 115, 22, .12); color: #f97316; }
.info-col__title {
    font-size: 17px;
    font-weight: 700;
    margin: 0;
}
.info-col__list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    gap: 10px;
}
.info-col__list li {
    position: relative;
    padding-left: 22px;
    font-size: 14px;
    color: var(--muted);
    line-height: 1.5;
}
.info-col--green .info-col__list li::before {
    content: '✓';
    position: absolute;
    left: 0;
    color: #22c55e;
    font-weight: 700;
}
.info-col--orange .info-col__list li::before {
    content: '!';
    position: absolute;
    left: 2px;
    width: 16px;
    height: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: rgba(249, 115, 22, .15);
    color: #f97316;
    font-size: 11px;
    font-weight: 700;
    top: 2px;
}

/* Info steps */
.info-steps {
    margin-bottom: 14px;
}
.info-steps__title {
    font-size: 22px;
    font-weight: 700;
    margin: 0 0 18px;
    letter-spacing: -.01em;
}
.info-steps__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
}
.info-step {
    padding: 22px 24px;
    background: rgba(255, 255, 255, .03);
    border: 1px solid var(--stroke);
    border-radius: 18px;
    display: flex;
    gap: 14px;
    align-items: flex-start;
}
.info-step__num {
    flex-shrink: 0;
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: linear-gradient(135deg, #8928ff, #06b6d4);
    color: #fff;
    font-weight: 800;
    font-size: 15px;
}
.info-step__label {
    font-size: 16px;
    font-weight: 700;
    margin-bottom: 6px;
}
.info-step__body p {
    font-size: 13px;
    color: var(--muted);
    line-height: 1.6;
    margin: 0;
}

/* Info light theme */
body.theme-light .info-block { background: #f8fafc; border-color: #e2e8f0; }
body.theme-light .info-block__icon { background: rgba(124, 58, 237, .08); color: #7c3aed; }
body.theme-light .info-block__body p, body.theme-light .info-block__list li { color: #475569; }
body.theme-light .info-col { border-color: #e2e8f0; }
body.theme-light .info-col--green { background: #f0fdf4; border-left-color: #22c55e; }
body.theme-light .info-col--orange { background: #fff7ed; border-left-color: #f97316; }
body.theme-light .info-col__list li { color: #475569; }
body.theme-light .info-step { background: #f8fafc; border-color: #e2e8f0; }
body.theme-light .info-step__body p { color: #475569; }

/* Info responsive */
@media (max-width: 880px) {
    .info-columns { grid-template-columns: 1fr; }
    .info-steps__grid { grid-template-columns: 1fr; }
    .info-block { padding: 18px 20px; }
    .info-block__title { font-size: 18px; }
    .info-steps__title { font-size: 20px; }
}

/* === FAQ === */
.faq-heading {
    font-size: 22px;
    font-weight: 700;
    margin: 0 0 16px;
    letter-spacing: -.01em;
}

.faq-list {
    display: grid;
    gap: 12px;
}

.faq-item {
    overflow: hidden;
    border-radius: 28px;
    border: 1px solid var(--stroke);
    box-shadow: var(--shadow);
    background: var(--bg-panel);
}

.faq-item__question {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 24px 26px;
    color: var(--text);
    background: transparent;
    border: 0;
    font-size: 22px;
    font-weight: 800;
    letter-spacing: -0.03em;
    text-align: left;
    cursor: pointer;
}

.faq-item__answer {
    display: none;
    padding: 0 26px 24px;
}
.faq-item__answer p {
    font-size: 15px;
    color: var(--muted-soft);
    line-height: 1.7;
    margin: 0;
}
body.theme-light .faq-item__answer p { color: #475569; }

.faq-item.is-open .faq-item__answer {
    display: block;
}

.faq-item.is-open .faq-item__icon {
    transform: rotate(90deg);
}

/* === Разделитель секций === */
.section-divider {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 1px;
    position: relative;
}

.section-divider__glow {
    display: block;
    width: min(50%, 600px);
    height: 1px;
    background: linear-gradient(90deg,
        transparent 0%,
        rgba(139, 92, 246, 0.2) 20%,
        rgba(167, 139, 250, 0.6) 50%,
        rgba(139, 92, 246, 0.2) 80%,
        transparent 100%
    );
    box-shadow: 0 0 16px rgba(139, 92, 246, 0.35), 0 0 48px rgba(139, 92, 246, 0.1);
}

body.theme-light .section-divider__glow {
    background: linear-gradient(90deg,
        transparent 0%,
        rgba(124, 58, 237, 0.12) 20%,
        rgba(124, 58, 237, 0.4) 50%,
        rgba(124, 58, 237, 0.12) 80%,
        transparent 100%
    );
    box-shadow: 0 0 12px rgba(124, 58, 237, 0.15), 0 0 36px rgba(124, 58, 237, 0.06);
}

/* === Секция 2: Возможности сервиса === */
.capabilities {
    padding: 80px 0;
    background: #191E28;
    border-radius: 32px;
}

.capabilities__header {
    text-align: center;
    margin-bottom: 56px;
}

.capabilities__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 18px;
    border-radius: 100px;
    background: rgba(139, 92, 246, 0.1);
    border: 1px solid rgba(139, 92, 246, 0.2);
    color: #a78bfa;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    margin-bottom: 20px;
}

.capabilities__title {
    font-size: clamp(32px, 4.5vw, 52px);
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: -0.04em;
    margin: 0;
    color: #fff;
}

.capabilities__title-gradient {
    background: linear-gradient(135deg, #a78bfa, #6366f1);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.capabilities__grid {
    display: grid;
    gap: 20px;
}

/* --- Карточка возможности (общее) --- */
.cap-card {
    display: flex;
    align-items: stretch;
    position: relative;
    border-radius: 28px;
    padding: 40px 44px;
    overflow: hidden;
    transition: transform 0.28s ease, box-shadow 0.28s ease;
    text-decoration: none;
    color: #fff;
}

.cap-card:hover {
    transform: translateY(-3px);
}

/* --- Яркая фиолетовая карточка --- */
.cap-card--vivid {
    background: linear-gradient(135deg, #7c3aed 0%, #9333ea 50%, #a855f7 100%);
    box-shadow:
        0 24px 64px rgba(124, 58, 237, 0.25),
        inset 0 1px 0 rgba(255, 255, 255, 0.15);
}

.cap-card--vivid:hover {
    box-shadow:
        0 32px 80px rgba(124, 58, 237, 0.35),
        inset 0 1px 0 rgba(255, 255, 255, 0.2);
}

.cap-card--vivid .cap-card__icon {
    background: rgba(255, 255, 255, 0.2);
    border: 1px solid rgba(255, 255, 255, 0.25);
    color: #fff;
}

.cap-card--vivid .cap-card__desc {
    color: rgba(255, 255, 255, 0.8);
}

.cap-card--vivid .cap-card__item span:last-child {
    color: rgba(255, 255, 255, 0.95);
}

/* --- Тёмная сланцевая карточка --- */
.cap-card--slate {
    background: linear-gradient(180deg, #3a4d72 0%, #324164 100%);
    border: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow:
        0 24px 64px rgba(0, 0, 0, 0.3),
        inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.cap-card--slate:hover {
    border-color: rgba(255, 255, 255, 0.14);
    box-shadow:
        0 32px 80px rgba(0, 0, 0, 0.4),
        inset 0 1px 0 rgba(255, 255, 255, 0.1);
}

.cap-card--slate .cap-card__icon {
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.15);
    color: #fff;
}

.cap-card--slate .cap-card__desc {
    color: rgba(255, 255, 255, 0.55);
}

.cap-card--slate .cap-card__item span:last-child {
    color: rgba(255, 255, 255, 0.8);
}

/* --- Внутренняя раскладка карточки --- */
.cap-card__body {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 32px;
    flex: 1;
    align-items: center;
}

.cap-card__intro {
    min-width: 0;
}

.cap-card__title {
    font-size: clamp(26px, 3vw, 36px);
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: -0.035em;
    margin: 0 0 14px;
}

.cap-card__desc {
    font-size: 16px;
    line-height: 1.6;
    margin: 0;
}

/* --- Список пунктов --- */
.cap-card__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px 24px;
}

.cap-card__item {
    display: flex;
    align-items: center;
    gap: 14px;
    font-size: 15px;
    font-weight: 600;
}

.cap-card__icon {
    width: 38px;
    height: 38px;
    flex-shrink: 0;
    display: grid;
    place-items: center;
    border-radius: 12px;
}

/* === Светлая тема — Возможности === */
body.theme-light .capabilities {
    background: #e8ecf2;
}

body.theme-light .capabilities__title {
    color: #1a1d26;
}

body.theme-light .capabilities__eyebrow {
    background: rgba(139, 92, 246, 0.08);
    border-color: rgba(139, 92, 246, 0.18);
    color: #7c3aed;
}

body.theme-light .cap-card--vivid {
    background: linear-gradient(135deg, #7c3aed 0%, #8b5cf6 50%, #a78bfa 100%);
}

body.theme-light .cap-card--slate {
    background: linear-gradient(180deg, #e8ecf4 0%, #dfe4ef 100%);
    border-color: rgba(0, 0, 0, 0.06);
    box-shadow: 0 16px 48px rgba(0, 0, 0, 0.06);
}

body.theme-light .cap-card--slate:hover {
    border-color: rgba(0, 0, 0, 0.1);
    box-shadow: 0 24px 64px rgba(0, 0, 0, 0.1);
}

body.theme-light .cap-card--slate .cap-card__title {
    color: #1a1d26;
}

body.theme-light .cap-card--slate .cap-card__desc {
    color: #5a6070;
}

body.theme-light .cap-card--slate .cap-card__item span:last-child {
    color: #2d3240;
}

body.theme-light .cap-card--slate .cap-card__icon {
    background: rgba(139, 92, 246, 0.1);
    border-color: rgba(139, 92, 246, 0.18);
    color: #7c3aed;
}

/* === Мобильная адаптация — Возможности === */
@media (max-width: 880px) {
    .capabilities {
        padding: 56px 0;
        border-radius: 24px;
    }

    .capabilities__header {
        margin-bottom: 40px;
    }

    .cap-card {
        padding: 32px 28px;
        border-radius: 24px;
    }

    .cap-card__body {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .cap-card__title {
        font-size: 24px;
    }

    .cap-card__desc {
        font-size: 15px;
    }

    .cap-card__list {
        grid-template-columns: 1fr;
    }

    .cap-card__icon {
        width: 34px;
        height: 34px;
        border-radius: 10px;
    }

    .cap-card__item {
        gap: 12px;
        font-size: 14px;
    }
}

@media (max-width: 480px) {
    .capabilities {
        padding: 40px 0;
        border-radius: 20px;
    }

    .cap-card {
        padding: 28px 22px;
        border-radius: 20px;
    }

    .cap-card__title {
        font-size: 22px;
    }

    .capabilities__title {
        font-size: 28px;
    }
}

/* === Секция 3: Преимущества === */
.advantages {
    padding: 80px 0;
    position: relative;
    overflow: hidden;
}

.advantages__inner {
    position: relative;
    z-index: 2;
}

.advantages__header {
    text-align: center;
    margin-bottom: 56px;
}

.advantages__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 18px;
    border-radius: 100px;
    background: rgba(139, 92, 246, 0.1);
    border: 1px solid rgba(139, 92, 246, 0.2);
    color: #a78bfa;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    margin-bottom: 20px;
}

.advantages__columns {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    position: relative;
    z-index: 2;
}

.advantages__col-title {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 18px;
    font-weight: 700;
    color: #a78bfa;
    margin: 0 0 28px;
    padding-bottom: 20px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.advantages__title {
    font-size: clamp(32px, 4.5vw, 48px);
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: -0.04em;
    margin: 0 0 16px;
    color: #fff;
}

.advantages__title-gradient {
    background: linear-gradient(135deg, #a78bfa, #6366f1);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.advantages__lead {
    font-size: 17px;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.5);
    margin: 0 0 40px;
}

.advantages__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 28px;
}

.advantages__item {
    display: flex;
    gap: 16px;
    align-items: flex-start;
}

.advantages__item strong {
    display: block;
    font-size: 17px;
    font-weight: 700;
    color: #fff;
    margin-bottom: 5px;
}

.advantages__item span {
    font-size: 15px;
    line-height: 1.55;
    color: rgba(255, 255, 255, 0.55);
}

.advantages__icon {
    width: 44px;
    height: 44px;
    flex-shrink: 0;
    display: grid;
    place-items: center;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.07);
    border: 1px solid rgba(255, 255, 255, 0.1);
    color: #a78bfa;
}

/* Градиентное свечение справа */
.advantages__glow {
    position: absolute;
    top: -20%;
    right: -10%;
    width: 65%;
    height: 140%;
    background:
        radial-gradient(ellipse at 70% 40%, rgba(124, 58, 237, 0.5) 0%, transparent 50%),
        radial-gradient(ellipse at 50% 70%, rgba(59, 130, 246, 0.35) 0%, transparent 45%),
        radial-gradient(ellipse at 85% 20%, rgba(167, 139, 250, 0.4) 0%, transparent 40%),
        radial-gradient(ellipse at 60% 90%, rgba(99, 102, 241, 0.3) 0%, transparent 50%);
    pointer-events: none;
    z-index: 1;
}

/* Светлая тема — преимущества */
body.theme-light .advantages__eyebrow {
    background: rgba(139, 92, 246, 0.08);
    border-color: rgba(139, 92, 246, 0.18);
    color: #7c3aed;
}

body.theme-light .advantages__col-title {
    color: #7c3aed;
    border-bottom-color: rgba(0, 0, 0, 0.06);
}

body.theme-light .advantages__title {
    color: #1a1d26;
}

body.theme-light .advantages__lead {
    color: #5a6070;
}

body.theme-light .advantages__item strong {
    color: #1a1d26;
}

body.theme-light .advantages__item span {
    color: #5a6070;
}

body.theme-light .advantages__icon {
    background: rgba(124, 58, 237, 0.08);
    border-color: rgba(124, 58, 237, 0.15);
    color: #7c3aed;
}

body.theme-light .advantages__glow {
    background:
        radial-gradient(ellipse at 70% 40%, rgba(124, 58, 237, 0.18) 0%, transparent 50%),
        radial-gradient(ellipse at 50% 70%, rgba(59, 130, 246, 0.12) 0%, transparent 45%),
        radial-gradient(ellipse at 85% 20%, rgba(167, 139, 250, 0.15) 0%, transparent 40%);
}

/* Мобильная — преимущества */
@media (max-width: 880px) {
    .advantages {
        padding: 56px 0;
    }

    .advantages__header {
        margin-bottom: 40px;
    }

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

    .advantages__col-title {
        justify-content: center;
    }

    .advantages__glow {
        width: 100%;
        height: 50%;
        top: auto;
        bottom: 0;
        right: 0;
        background:
            radial-gradient(ellipse at 50% 100%, rgba(124, 58, 237, 0.35) 0%, transparent 55%),
            radial-gradient(ellipse at 80% 90%, rgba(59, 130, 246, 0.2) 0%, transparent 50%);
    }
}

@media (max-width: 480px) {
    .advantages {
        padding: 40px 0;
    }

    .advantages__title {
        font-size: 28px;
    }

    .advantages__list {
        gap: 22px;
    }
}

/* === Секция 4: Как это работает === */
.howto {
    padding: 80px 0;
    background: #191E28;
    border-radius: 32px;
}

.howto__header {
    text-align: center;
    margin-bottom: 56px;
}

.howto__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 18px;
    border-radius: 100px;
    background: rgba(139, 92, 246, 0.1);
    border: 1px solid rgba(139, 92, 246, 0.2);
    color: #a78bfa;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    margin-bottom: 20px;
}

.howto__title {
    font-size: clamp(32px, 4.5vw, 52px);
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: -0.04em;
    margin: 0;
    color: #fff;
}

.howto__title-gradient {
    background: linear-gradient(135deg, #a78bfa, #6366f1);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* Сетка: 1 широкая сверху, 2 внизу */
.howto__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.howto__card--wide {
    grid-column: 1 / -1;
}

/* Общие стили карточки */
.howto__card {
    border-radius: 28px;
    padding: 40px 44px;
    position: relative;
    overflow: hidden;
}

.howto__step {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border-radius: 16px;
    font-size: 18px;
    font-weight: 800;
    margin-bottom: 24px;
}

.howto__card-title {
    font-size: clamp(24px, 3vw, 32px);
    font-weight: 800;
    line-height: 1.15;
    letter-spacing: -0.03em;
    margin: 0 0 16px;
    color: #fff;
}

.howto__card-text {
    font-size: 16px;
    line-height: 1.65;
    margin: 0;
    max-width: 720px;
}

/* Теги */
.howto__card-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 28px;
}

.howto__card-tags span {
    padding: 7px 16px;
    border-radius: 100px;
    font-size: 13px;
    font-weight: 600;
}

/* Список в карточке */
.howto__card-list {
    list-style: none;
    margin: 24px 0 0;
    padding: 0;
    display: grid;
    gap: 12px;
}

.howto__card-list li {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 15px;
    font-weight: 600;
}

/* --- Фиолетовая карточка --- */
.howto__card--vivid {
    background: linear-gradient(135deg, #7c3aed 0%, #9333ea 50%, #a855f7 100%);
    box-shadow: 0 24px 64px rgba(124, 58, 237, 0.2);
}

.howto__card--vivid .howto__step {
    background: rgba(255, 255, 255, 0.2);
    border: 1px solid rgba(255, 255, 255, 0.25);
    color: #fff;
}

.howto__card--vivid .howto__card-text {
    color: rgba(255, 255, 255, 0.8);
}

.howto__card--vivid .howto__card-tags span {
    background: rgba(255, 255, 255, 0.15);
    border: 1px solid rgba(255, 255, 255, 0.2);
    color: #fff;
}

/* --- Тёмная сланцевая карточка --- */
.howto__card--slate {
    background: linear-gradient(180deg, #3a4d72 0%, #324164 100%);
    border: 1px solid rgba(255, 255, 255, 0.08);
}

.howto__card--slate .howto__step {
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.15);
    color: #fff;
}

.howto__card--slate .howto__card-text {
    color: rgba(255, 255, 255, 0.65);
}

.howto__card--slate .howto__card-list li {
    color: rgba(255, 255, 255, 0.85);
}

.howto__card--slate .howto__card-list svg {
    color: #a78bfa;
}

/* --- Синяя градиентная карточка --- */
.howto__card--blue {
    background: linear-gradient(135deg, #2563eb 0%, #3b82f6 50%, #60a5fa 100%);
    box-shadow: 0 24px 64px rgba(37, 99, 235, 0.2);
}

.howto__card--blue .howto__step {
    background: rgba(255, 255, 255, 0.2);
    border: 1px solid rgba(255, 255, 255, 0.25);
    color: #fff;
}

.howto__card--blue .howto__card-text {
    color: rgba(255, 255, 255, 0.8);
}

.howto__card--blue .howto__card-list li {
    color: rgba(255, 255, 255, 0.95);
}

.howto__card--blue .howto__card-list svg {
    color: #fff;
}

/* Светлая тема — как это работает */
body.theme-light .howto {
    background: #e8ecf2;
}

body.theme-light .howto__eyebrow {
    background: rgba(139, 92, 246, 0.08);
    border-color: rgba(139, 92, 246, 0.18);
    color: #7c3aed;
}

body.theme-light .howto__title {
    color: #1a1d26;
}

body.theme-light .howto__card--vivid {
    background: linear-gradient(135deg, #7c3aed 0%, #8b5cf6 50%, #a78bfa 100%);
}

body.theme-light .howto__card--slate {
    background: linear-gradient(180deg, #dfe4ef 0%, #d4dae8 100%);
    border-color: rgba(0, 0, 0, 0.06);
}

body.theme-light .howto__card--slate .howto__card-title {
    color: #1a1d26;
}

body.theme-light .howto__card--slate .howto__card-text {
    color: #5a6070;
}

body.theme-light .howto__card--slate .howto__step {
    background: rgba(124, 58, 237, 0.1);
    border-color: rgba(124, 58, 237, 0.18);
    color: #7c3aed;
}

body.theme-light .howto__card--slate .howto__card-list li {
    color: #2d3240;
}

body.theme-light .howto__card--blue {
    background: linear-gradient(135deg, #2563eb 0%, #3b82f6 50%, #60a5fa 100%);
}

/* Мобильная — как это работает */
@media (max-width: 880px) {
    .howto {
        padding: 56px 0;
        border-radius: 24px;
    }

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

    .howto__card {
        padding: 32px 28px;
        border-radius: 24px;
    }

    .howto__header {
        margin-bottom: 40px;
    }
}

@media (max-width: 480px) {
    .howto {
        padding: 40px 0;
        border-radius: 20px;
    }

    .howto__card {
        padding: 28px 22px;
        border-radius: 20px;
    }

    .howto__card-title {
        font-size: 22px;
    }

    .howto__card-tags {
        gap: 6px;
    }

    .howto__card-tags span {
        font-size: 12px;
        padding: 6px 12px;
    }
}

/* === Секция 5: FAQ === */
.home-faq {
    padding: 80px 0;
}

.home-faq__header {
    text-align: center;
    margin-bottom: 56px;
}

.home-faq__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 18px;
    border-radius: 100px;
    background: rgba(139, 92, 246, 0.1);
    border: 1px solid rgba(139, 92, 246, 0.2);
    color: #a78bfa;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    margin-bottom: 20px;
}

.home-faq__title {
    font-size: clamp(32px, 4.5vw, 52px);
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: -0.04em;
    margin: 0;
    color: #fff;
}

.home-faq__title-gradient {
    background: linear-gradient(135deg, #a78bfa, #6366f1);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.home-faq__grid {
    max-width: 860px;
    margin: 0 auto;
    display: grid;
    gap: 12px;
}

/* Каждый FAQ-элемент */
.home-faq__item {
    border-radius: 20px;
    background: #191E28;
    border: 1px solid rgba(255, 255, 255, 0.05);
    overflow: hidden;
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.home-faq__item:hover {
    border-color: rgba(139, 92, 246, 0.15);
}

.home-faq__item.is-open {
    border-color: rgba(139, 92, 246, 0.2);
    box-shadow: 0 8px 32px rgba(139, 92, 246, 0.08);
}

/* Вопрос */
.home-faq__question {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 24px 28px;
    color: #fff;
    background: transparent;
    border: 0;
    font-size: 18px;
    font-weight: 700;
    letter-spacing: -0.02em;
    text-align: left;
    cursor: pointer;
    transition: color 0.2s ease;
}

.home-faq__question:hover {
    color: #a78bfa;
}

.home-faq__q-icon {
    flex-shrink: 0;
    width: 36px;
    height: 36px;
    display: grid;
    place-items: center;
    border-radius: 10px;
    background: rgba(139, 92, 246, 0.1);
    border: 1px solid rgba(139, 92, 246, 0.15);
    color: #a78bfa;
    transition: transform 0.3s ease, background 0.3s ease;
}

.home-faq__item.is-open .home-faq__q-icon {
    transform: rotate(90deg);
    background: rgba(139, 92, 246, 0.2);
}

/* Ответ */
.home-faq__answer {
    display: none;
    padding: 0 28px 28px;
}

.home-faq__item.is-open .home-faq__answer {
    display: block;
}

.home-faq__answer p {
    margin: 0;
    font-size: 16px;
    line-height: 1.7;
    color: rgba(255, 255, 255, 0.6);
    padding-top: 4px;
    border-top: 1px solid rgba(255, 255, 255, 0.05);
    padding-top: 20px;
}

/* Светлая тема — FAQ */
body.theme-light .home-faq__title {
    color: #1a1d26;
}

body.theme-light .home-faq__eyebrow {
    background: rgba(139, 92, 246, 0.08);
    border-color: rgba(139, 92, 246, 0.18);
    color: #7c3aed;
}

body.theme-light .home-faq__item {
    background: #fff;
    border-color: rgba(0, 0, 0, 0.06);
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04);
}

body.theme-light .home-faq__item:hover {
    border-color: rgba(124, 58, 237, 0.15);
}

body.theme-light .home-faq__item.is-open {
    border-color: rgba(124, 58, 237, 0.2);
    box-shadow: 0 8px 32px rgba(124, 58, 237, 0.06);
}

body.theme-light .home-faq__question {
    color: #1a1d26;
}

body.theme-light .home-faq__question:hover {
    color: #7c3aed;
}

body.theme-light .home-faq__q-icon {
    background: rgba(124, 58, 237, 0.08);
    border-color: rgba(124, 58, 237, 0.12);
    color: #7c3aed;
}

body.theme-light .home-faq__answer p {
    color: #5a6070;
    border-top-color: rgba(0, 0, 0, 0.06);
}

/* Мобильная — FAQ */
@media (max-width: 880px) {
    .home-faq {
        padding: 56px 0;
    }

    .home-faq__header {
        margin-bottom: 40px;
    }

    .home-faq__question {
        padding: 20px 22px;
        font-size: 16px;
    }

    .home-faq__answer {
        padding: 0 22px 22px;
    }

    .home-faq__item {
        border-radius: 16px;
    }
}

@media (max-width: 480px) {
    .home-faq {
        padding: 40px 0;
    }

    .home-faq__question {
        padding: 18px 18px;
        font-size: 15px;
        gap: 14px;
    }

    .home-faq__answer {
        padding: 0 18px 18px;
    }

    .home-faq__answer p {
        font-size: 14px;
    }

    .home-faq__q-icon {
        width: 32px;
        height: 32px;
        border-radius: 8px;
    }
}

/* === Подвал === */
.site-footer {
    padding: 40px 0 24px;
    background: #191E28;
    border-radius: 32px 32px 0 0;
    margin-top: -30px;
}

.site-footer__top {
    text-align: center;
}

.site-footer__logo {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 16px;
}

.site-footer__logo-image {
    width: 48px;
    height: 48px;
    object-fit: contain;
}

.site-footer__brand {
    font-size: 20px;
    font-weight: 800;
    letter-spacing: -0.03em;
    color: #fff;
}

.site-footer__description {
    max-width: 560px;
    margin: 0 auto;
    color: rgba(255, 255, 255, 0.45);
    font-size: 15px;
    line-height: 1.6;
}

.site-footer__divider {
    height: 1px;
    margin: 36px 0;
    background: linear-gradient(90deg,
        transparent 0%,
        rgba(139, 92, 246, 0.15) 20%,
        rgba(167, 139, 250, 0.3) 50%,
        rgba(139, 92, 246, 0.15) 80%,
        transparent 100%
    );
}

.site-footer__bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    flex-wrap: wrap;
}

.site-footer__links {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.site-footer__links a {
    display: inline-flex;
    padding: 8px 16px;
    border-radius: 10px;
    font-size: 13px;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.5);
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.06);
    transition: color 0.2s ease, background 0.2s ease, border-color 0.2s ease;
}

.site-footer__links a:hover {
    color: #fff;
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(255, 255, 255, 0.1);
}

.site-footer__link-current {
    display: inline-flex;
    padding: 8px 16px;
    border-radius: 10px;
    font-size: 13px;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.25);
    background: rgba(255, 255, 255, 0.02);
    border: 1px solid rgba(255, 255, 255, 0.04);
    cursor: default;
}

.site-footer__copy {
    display: flex;
    align-items: center;
    gap: 20px;
    font-size: 13px;
    color: rgba(255, 255, 255, 0.3);
}

.site-footer__ad-note {
    margin-top: 20px;
    padding-right: 72px;
    color: rgba(255, 255, 255, 0.32);
    font-size: 10px;
    line-height: 1.45;
    text-align: right;
}

.site-footer__email {
    color: rgba(139, 92, 246, 0.6);
    transition: color 0.2s ease;
}

.site-footer__email:hover {
    color: #a78bfa;
}

/* === Плавающие кнопки === */
.floating-btns {
    position: fixed;
    right: 20px;
    bottom: 24px;
    z-index: 25;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.floating-btn {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    cursor: pointer;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    border: none;
}

.floating-btn:hover {
    transform: translateY(-2px);
}

.floating-btn--top {
    background: #FF8640;
    color: #fff;
    box-shadow: 0 4px 20px rgba(255, 134, 64, 0.4);
}

.floating-btn--top svg {
    transform: rotate(-90deg);
}

.floating-btn--top:hover {
    box-shadow: 0 6px 28px rgba(255, 134, 64, 0.55);
}

.floating-btn--theme {
    background: #1a1f2e;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    color: #a78bfa;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.4);
    backdrop-filter: blur(12px);
}

.floating-btn--theme:hover {
    background: #252b3d;
    border-color: rgba(255, 255, 255, 0.18) !important;
    box-shadow: 0 6px 28px rgba(0, 0, 0, 0.5);
}

body.theme-light .floating-btn--theme {
    background: #ffffff;
    border-color: rgba(0, 0, 0, 0.1) !important;
    color: #5b21b6;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
}

body.theme-light .floating-btn--theme:hover {
    background: #f5f3ff;
    box-shadow: 0 6px 28px rgba(0, 0, 0, 0.14);
}

/* =============================================================================
   КОНТЕНТНЫЕ СТРАНИЦЫ (О сервисе, Контакты, Privacy, Terms, Sitemap)
   ============================================================================= */

.content-page {
    padding: 56px 0 96px;
}

.content-page__header {
    margin-bottom: 44px;
}

.content-page__title {
    font-size: clamp(28px, 4vw, 42px);
    font-weight: 800;
    line-height: 1.2;
    background: linear-gradient(135deg, #7c3aed 0%, #a855f7 50%, #c084fc 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.content-page__subtitle {
    margin-top: 12px;
    font-size: 17px;
    color: var(--muted);
    max-width: 640px;
    line-height: 1.5;
}

/* --- Контейнер контента --- */
.content-page__body {
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 28px;
    padding: clamp(28px, 5vw, 56px);
    position: relative;
    overflow: hidden;
}

.content-page__body::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 4px;
    height: 100%;
    background: linear-gradient(180deg, #7c3aed, #a855f7, rgba(168,85,247,0.15));
    border-radius: 4px 0 0 4px;
}

/* --- Типографика --- */
.content-page__body h2 {
    font-size: clamp(18px, 2.5vw, 22px);
    font-weight: 800;
    margin: 40px 0 16px;
    padding: 14px 18px 14px 22px;
    background: rgba(124, 58, 237, 0.06);
    border-radius: 12px;
    border-left: 4px solid #7c3aed;
    color: var(--text);
}

.content-page__body h2:first-child {
    margin-top: 0;
}

.content-page__body h3 {
    font-size: 17px;
    font-weight: 700;
    margin: 28px 0 12px;
    color: var(--text);
}

.content-page__body p {
    font-size: 15px;
    line-height: 1.75;
    color: var(--muted);
    margin: 0 0 16px;
}

/* --- Списки с кастомными маркерами --- */
.content-page__body ul {
    list-style: none;
    padding: 0;
    margin: 0 0 20px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.content-page__body ul li {
    position: relative;
    padding: 12px 16px 12px 44px;
    font-size: 15px;
    color: var(--muted);
    line-height: 1.65;
    background: rgba(255, 255, 255, 0.02);
    border: 1px solid rgba(255, 255, 255, 0.05);
    border-left: 4px solid #7c3aed;
    border-radius: 0 12px 12px 0;
    transition: all 0.25s ease;
}

.content-page__body ul li:hover {
    background: rgba(124, 58, 237, 0.04);
    border-left-color: #a855f7;
    transform: translateX(4px);
}

.content-page__body ul li::before {
    content: '';
    position: absolute;
    left: 18px;
    top: 50%;
    transform: translateY(-50%);
    width: 10px;
    height: 10px;
    background: #7c3aed;
    border-radius: 50%;
    box-shadow: 0 0 0 3px rgba(124, 58, 237, 0.15), 0 0 0 6px rgba(124, 58, 237, 0.06);
}

/* Нумерованные списки */
.content-page__body ol {
    list-style: none;
    padding: 0;
    margin: 0 0 20px;
    counter-reset: content-ol;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.content-page__body ol li {
    position: relative;
    padding: 12px 16px 12px 50px;
    font-size: 15px;
    color: var(--muted);
    line-height: 1.65;
    background: rgba(255, 255, 255, 0.02);
    border: 1px solid rgba(255, 255, 255, 0.05);
    border-left: 4px solid #7c3aed;
    border-radius: 0 12px 12px 0;
    transition: all 0.25s ease;
}

.content-page__body ol li:hover {
    background: rgba(124, 58, 237, 0.04);
    border-left-color: #a855f7;
    transform: translateX(4px);
}

.content-page__body ol li::before {
    content: counter(content-ol);
    counter-increment: content-ol;
    position: absolute;
    left: 12px;
    top: 50%;
    transform: translateY(-50%);
    width: 26px;
    height: 26px;
    background: linear-gradient(135deg, #7c3aed, #a855f7);
    color: #fff;
    font-weight: 800;
    font-size: 12px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 8px rgba(124, 58, 237, 0.3);
}

/* Ссылки */
.content-page__body a {
    color: #a855f7;
    text-decoration: none;
    font-weight: 600;
    background-image: linear-gradient(90deg, #7c3aed, #a855f7);
    background-repeat: no-repeat;
    background-size: 0% 2px;
    background-position: left bottom;
    padding-bottom: 2px;
    transition: background-size 0.3s ease, color 0.2s ease;
}

.content-page__body a:hover {
    color: #c084fc;
    background-size: 100% 2px;
}

.content-page__body strong {
    color: var(--text);
    font-weight: 700;
}

/* --- Контактные карточки --- */
.contact-cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 16px;
    margin-bottom: 36px;
}

.contact-card {
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 20px;
    padding: 28px;
    display: flex;
    gap: 16px;
    align-items: flex-start;
    transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    overflow: hidden;
}

.contact-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, #7c3aed, #a855f7);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

.contact-card:hover {
    border-color: rgba(124, 58, 237, 0.15);
    transform: translateY(-4px);
    box-shadow: 0 12px 32px rgba(124, 58, 237, 0.08);
}

.contact-card:hover::before {
    transform: scaleX(1);
}

.contact-card__icon {
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    background: rgba(124, 58, 237, 0.1);
    color: #a855f7;
    flex-shrink: 0;
    transition: all 0.35s ease;
}

.contact-card:hover .contact-card__icon {
    background: linear-gradient(135deg, #7c3aed, #a855f7);
    color: #fff;
    transform: scale(1.05);
    box-shadow: 0 6px 16px rgba(124, 58, 237, 0.3);
}

.contact-card__content {
    flex: 1;
    min-width: 0;
}

.contact-card__label {
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #a855f7;
    margin-bottom: 6px;
}

.contact-card__value {
    font-size: 16px;
    font-weight: 700;
    color: var(--text);
    line-height: 1.4;
}

.contact-card__hint {
    font-size: 13px;
    color: var(--muted);
    margin-top: 6px;
    line-height: 1.5;
}

/* --- Таймлайн (О сервисе) --- */
.about-timeline {
    position: relative;
    padding-left: 36px;
    margin: 32px 0;
    border-left: 3px solid #7c3aed;
}

.about-timeline__item {
    position: relative;
    margin-bottom: 28px;
}

.about-timeline__item:last-child {
    margin-bottom: 0;
}

.about-timeline__item::before {
    content: '';
    position: absolute;
    left: -42px;
    top: 4px;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: #7c3aed;
    border: 3px solid var(--bg, #0b0f19);
    box-shadow: 0 0 0 2px #7c3aed;
    transition: all 0.3s ease;
}

.about-timeline__item:hover::before {
    background: #a855f7;
    box-shadow: 0 0 0 2px #a855f7, 0 0 12px rgba(168, 85, 247, 0.4);
}

.about-timeline__year {
    font-size: 15px;
    font-weight: 800;
    color: #a855f7;
    margin-bottom: 6px;
}

.about-timeline__text {
    font-size: 15px;
    line-height: 1.65;
    color: var(--muted);
}

/* --- Статистика (О сервисе) --- */
.about-stats {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    margin: 36px 0;
}

.about-stat {
    text-align: center;
    padding: 28px 16px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 20px;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.about-stat:hover {
    transform: translateY(-4px);
    border-color: rgba(124, 58, 237, 0.15);
    box-shadow: 0 8px 24px rgba(124, 58, 237, 0.1);
}

.about-stat__number {
    font-size: 34px;
    font-weight: 900;
    background: linear-gradient(135deg, #7c3aed, #a855f7);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    line-height: 1.1;
}

.about-stat__label {
    font-size: 13px;
    color: var(--muted);
    margin-top: 8px;
    line-height: 1.3;
}

/* --- Callout-блоки --- */
.content-callout {
    display: flex;
    gap: 16px;
    padding: 22px 26px;
    border-radius: 16px;
    background: rgba(124, 58, 237, 0.06);
    border: 1px solid rgba(124, 58, 237, 0.12);
    margin: 24px 0;
    align-items: flex-start;
    position: relative;
    overflow: hidden;
}

.content-callout::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 4px;
    background: linear-gradient(180deg, #7c3aed, #a855f7);
    border-radius: 4px 0 0 4px;
}

.content-callout--warning {
    background: rgba(255, 134, 64, 0.06);
    border-color: rgba(255, 134, 64, 0.12);
}

.content-callout--warning::before {
    background: linear-gradient(180deg, #f59e0b, #FF8640);
}

.content-callout__icon {
    flex-shrink: 0;
    color: #a855f7;
    margin-top: 1px;
}

.content-callout--warning .content-callout__icon {
    color: #FF8640;
}

.content-callout__text {
    font-size: 14.5px;
    line-height: 1.65;
    color: var(--text);
}

.content-callout__text strong {
    color: var(--text);
    font-weight: 700;
}

/* --- Карта сайта --- */
.sitemap-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 20px;
    margin-top: 24px;
}

.sitemap-group {
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 20px;
    padding: 28px;
    transition: all 0.3s ease;
}

.sitemap-group:hover {
    border-color: rgba(124, 58, 237, 0.12);
}

.sitemap-group__title {
    font-size: 16px;
    font-weight: 700;
    color: var(--text);
    margin-bottom: 16px;
    padding-bottom: 12px;
    border-bottom: 2px solid rgba(255, 255, 255, 0.06);
    display: flex;
    align-items: center;
    gap: 10px;
}

.sitemap-group__title svg {
    color: #a855f7;
}

.sitemap-group__list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.sitemap-group__list li {
    padding: 0;
    background: none;
    border: none;
    border-left: none;
    border-radius: 0;
    margin: 0;
}

.sitemap-group__list li::before {
    display: none;
}

.sitemap-group__list li:hover {
    background: none;
    transform: none;
}

.sitemap-group__list li a {
    display: block;
    font-size: 14px;
    color: var(--muted);
    text-decoration: none;
    padding: 8px 12px;
    border-radius: 8px;
    transition: all 0.2s ease;
}

.sitemap-group__list li a:hover {
    color: #a855f7;
    background: rgba(124, 58, 237, 0.06);
    transform: translateX(4px);
}

/* --- 404 --- */
.content-page--404 {
    padding: 80px 0 120px;
}

.error-404 {
    text-align: center;
    max-width: 520px;
    margin: 0 auto;
}

.error-404__code {
    font-size: clamp(72px, 12vw, 120px);
    font-weight: 900;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    background: linear-gradient(135deg, #7c3aed 0%, #a855f7 40%, rgba(168,85,247,0.3) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    margin-bottom: 24px;
}

.error-404__code svg {
    width: clamp(48px, 8vw, 80px);
    height: clamp(48px, 8vw, 80px);
    stroke: #a855f7;
    -webkit-text-fill-color: initial;
    opacity: 0.7;
}

.error-404__title {
    font-size: clamp(22px, 3.5vw, 32px);
    font-weight: 700;
    color: var(--text);
    margin-bottom: 12px;
}

.error-404__text {
    font-size: 16px;
    line-height: 1.6;
    color: var(--muted);
    margin-bottom: 32px;
}

.error-404__btn {
    display: inline-flex;
}

/* =============================================================================
   СВЕТЛАЯ ТЕМА: Контентные страницы
   ============================================================================= */

body.theme-light .content-page__subtitle {
    color: #64748b;
}

body.theme-light .content-page__body {
    background: #fff;
    border-color: #e2e8f0;
    box-shadow: 0 2px 16px rgba(0, 0, 0, 0.04);
}

body.theme-light .content-page__body::before {
    background: linear-gradient(180deg, #7c3aed, #a855f7, rgba(168,85,247,0.2));
}

body.theme-light .content-page__body h2 {
    background: #f8f6ff;
    border-left-color: #7c3aed;
    color: #1e293b;
}

body.theme-light .content-page__body p {
    color: #475569;
}

body.theme-light .content-page__body strong {
    color: #1e293b;
}

/* Списки — светлая тема */
body.theme-light .content-page__body ul li {
    background: #f8fafc;
    border-color: #e2e8f0;
    border-left-color: #7c3aed;
    color: #475569;
}

body.theme-light .content-page__body ul li:hover {
    background: #f3f0ff;
    border-left-color: #a855f7;
}

body.theme-light .content-page__body ol li {
    background: #f8fafc;
    border-color: #e2e8f0;
    border-left-color: #7c3aed;
    color: #475569;
}

body.theme-light .content-page__body ol li:hover {
    background: #f3f0ff;
    border-left-color: #a855f7;
}

/* Контактные карточки — светлая */
body.theme-light .contact-card {
    background: #fff;
    border-color: #e2e8f0;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04);
}

body.theme-light .contact-card:hover {
    border-color: rgba(124, 58, 237, 0.2);
    box-shadow: 0 12px 32px rgba(124, 58, 237, 0.08);
}

body.theme-light .contact-card__icon {
    background: rgba(124, 58, 237, 0.07);
}

/* Таймлайн — светлая */
body.theme-light .about-timeline {
    border-left-color: #7c3aed;
}

body.theme-light .about-timeline__item::before {
    border-color: #fff;
    box-shadow: 0 0 0 2px #7c3aed;
}

body.theme-light .about-timeline__text {
    color: #475569;
}

/* Статистика — светлая */
body.theme-light .about-stat {
    background: #fff;
    border-color: #e2e8f0;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04);
}

body.theme-light .about-stat:hover {
    box-shadow: 0 8px 24px rgba(124, 58, 237, 0.1);
    border-color: rgba(124, 58, 237, 0.15);
}

body.theme-light .about-stat__label {
    color: #64748b;
}

/* Callout — светлая */
body.theme-light .content-callout {
    background: #f8f6ff;
    border-color: rgba(124, 58, 237, 0.15);
}

body.theme-light .content-callout--warning {
    background: #fffbeb;
    border-color: #fde68a;
}

body.theme-light .content-callout__text {
    color: #1e293b;
}

body.theme-light .content-callout--warning .content-callout__text {
    color: #92400e;
}

/* Карта сайта — светлая */
body.theme-light .sitemap-group {
    background: #fff;
    border-color: #e2e8f0;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04);
}

body.theme-light .sitemap-group__title {
    border-bottom-color: #e2e8f0;
}

body.theme-light .sitemap-group__list li {
    background: none;
    border: none;
}

body.theme-light .sitemap-group__list li a {
    color: #475569;
}

body.theme-light .sitemap-group__list li a:hover {
    color: #7c3aed;
    background: #f3f0ff;
}

/* Контакты — светлая */
body.theme-light .contact-card__label {
    color: #7c3aed;
}

body.theme-light .contact-card__value {
    color: #1e293b;
}

body.theme-light .contact-card__hint {
    color: #64748b;
}

/* Ссылки в контенте — светлая */
body.theme-light .content-page__body a {
    color: #7c3aed;
}

body.theme-light .content-page__body a:hover {
    color: #6d28d9;
}

/* H3 — светлая */
body.theme-light .content-page__body h3 {
    color: #1e293b;
}

/* 404 — светлая */
body.theme-light .error-404__title {
    color: #1e293b;
}

body.theme-light .error-404__text {
    color: #475569;
}

/* =============================================================================
   WZ — Wizard конструктор накладной (premium)
   ============================================================================= */

/* --- Hero --- */
.wz-hero {
    padding-top: 12px !important;
    padding-bottom: 8px !important;
}

.wz-hero__eyebrow {
    display: none;
}

.wz-hero__title {
    font-size: 34px;
    font-weight: 800;
    line-height: 1.15;
    margin: 0 0 16px;
    letter-spacing: -.02em;
}

.wz-hero__lead-card {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    background: rgba(139, 92, 246, .06);
    border: 1px solid rgba(139, 92, 246, .15);
    border-radius: 14px;
    padding: 18px 22px;
    border-left: 3px solid #8928ff;
}

.wz-hero__lead-icon {
    flex-shrink: 0;
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(139, 92, 246, .12);
    border-radius: 10px;
    color: #a78bfa;
}

.wz-hero__lead-card p {
    font-size: 14px;
    color: var(--muted-soft);
    margin: 0;
    line-height: 1.65;
}

/* Light theme */
body.theme-light .wz-hero__lead-card {
    background: #f5f3ff;
    border-color: #e9d5ff;
    border-left-color: #7c3aed;
}
body.theme-light .wz-hero__lead-icon { background: rgba(124, 58, 237, .1); color: #7c3aed; }
body.theme-light .wz-hero__lead-card p { color: #475569; }

@media (max-width: 880px) {
    .wz-hero__title { font-size: 26px; margin-bottom: 12px; }
    .wz-hero__lead-card { padding: 14px 16px; gap: 12px; }
    .wz-hero__lead-icon { width: 32px; height: 32px; }
    .wz-hero__lead-card p {
        font-size: 13px;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
        transition: all 0.3s;
    }
    .wz-hero__lead-card.is-expanded p {
        -webkit-line-clamp: unset;
    }
    .wz-hero__lead-more {
        display: inline-block;
        margin-top: 6px;
        font-size: 12px;
        color: #a78bfa;
        cursor: pointer;
        border: none;
        background: none;
        padding: 0;
        font-family: inherit;
    }
}
@media (min-width: 881px) {
    .wz-hero__lead-more { display: none; }
}

/* Breadcrumb trail: компактная карта разделов без декоративных стрелок */
.breadcrumb-trail {
    position: relative;
    z-index: 3;
    padding-top: 18px;
}
.breadcrumb {
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .085);
    border-radius: 16px;
    background:
        linear-gradient(100deg, rgba(139, 92, 246, .075), transparent 32%),
        rgba(14, 17, 25, .64);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .035), 0 12px 32px rgba(0, 0, 0, .12);
    backdrop-filter: blur(14px);
}
.breadcrumb::before {
    content: '';
    position: absolute;
    inset: 0 auto 0 0;
    width: 3px;
    background: linear-gradient(180deg, #a78bfa, #22d3ee);
}
.breadcrumb__list {
    display: flex;
    align-items: center;
    min-width: max-content;
    margin: 0;
    padding: 10px 14px 10px 17px;
    list-style: none;
}
.breadcrumb__item {
    display: inline-flex;
    align-items: center;
    min-width: 0;
}
.breadcrumb__item:not(:last-child)::after {
    content: '';
    width: 22px;
    height: 1px;
    margin: 0 8px;
    background: linear-gradient(90deg, rgba(167, 139, 250, .36), rgba(34, 211, 238, .18));
}
.breadcrumb__link,
.breadcrumb__current {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 30px;
    padding: 5px 9px;
    border-radius: 9px;
    font-size: 13px;
    line-height: 1.35;
    white-space: nowrap;
}
.breadcrumb__link {
    color: rgba(226, 232, 240, .72);
    text-decoration: none;
    transition: color .18s ease, background-color .18s ease;
}
.breadcrumb__link:hover,
.breadcrumb__link:focus-visible {
    color: #f5f3ff;
    background: rgba(139, 92, 246, .12);
    outline: none;
}
.breadcrumb__home {
    display: inline-grid;
    width: 25px;
    height: 25px;
    place-items: center;
    border: 1px solid rgba(167, 139, 250, .22);
    border-radius: 8px;
    color: #c4b5fd;
    background: rgba(139, 92, 246, .09);
}
.breadcrumb__current {
    padding-right: 12px;
    color: #fff;
    font-weight: 650;
    letter-spacing: -.01em;
}
.breadcrumb__current-mark {
    width: 7px;
    height: 7px;
    border: 2px solid rgba(34, 211, 238, .72);
    border-radius: 50%;
    box-shadow: 0 0 0 3px rgba(34, 211, 238, .08);
}
body.theme-light .breadcrumb {
    border-color: rgba(15, 23, 42, .09);
    background: linear-gradient(100deg, rgba(124, 58, 237, .06), transparent 34%), rgba(255, 255, 255, .82);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .8), 0 12px 30px rgba(15, 23, 42, .06);
}
body.theme-light .breadcrumb__link { color: #64748b; }
body.theme-light .breadcrumb__link:hover,
body.theme-light .breadcrumb__link:focus-visible { color: #6d28d9; background: rgba(124, 58, 237, .07); }
body.theme-light .breadcrumb__current { color: #1e293b; }
body.theme-light .breadcrumb__home { color: #7c3aed; background: #f5f3ff; border-color: #ddd6fe; }

@media (max-width: 720px) {
    .breadcrumb-trail { padding-top: 12px; }
    .breadcrumb {
        overflow-x: auto;
        border-radius: 13px;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
    }
    .breadcrumb::-webkit-scrollbar { display: none; }
    .breadcrumb__list { padding: 8px 12px 8px 14px; }
    .breadcrumb__item:not(:last-child)::after { width: 14px; margin: 0 5px; }
    .breadcrumb__link,
    .breadcrumb__current { min-height: 28px; padding: 4px 7px; font-size: 12px; }
    .breadcrumb__home { width: 23px; height: 23px; }
}

.wz-section {
    padding-top: 32px !important;
}

/* --- Main wrapper --- */
.wz {
    background: #2a2d35;
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 24px 80px rgba(0, 0, 0, .45);
}

/* --- Step tabs --- */
.wz__steps {
    display: flex;
    background: #23262d;
    border-bottom: 1px solid rgba(255, 255, 255, .08);
}

.wz__step {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 16px 12px;
    background: none;
    border: none;
    border-bottom: 2px solid transparent;
    color: rgba(255, 255, 255, .5);
    font-family: inherit;
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    transition: all .2s;
    white-space: nowrap;
}

.wz__step:hover {
    background: rgba(255, 255, 255, .05);
    color: rgba(255, 255, 255, .85);
}

.wz__step.is-active {
    color: #fff;
    border-bottom-color: #8b5cf6;
    background: rgba(139, 92, 246, .06);
}

.wz__step.is-done {
    color: #22c55e;
}

.wz__step.is-done .wz__step-num {
    background: rgba(34, 197, 94, .2);
    color: #22c55e;
    border-color: rgba(34, 197, 94, .3);
}

.wz__step-num {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .1);
    border: 1px solid rgba(255, 255, 255, .15);
    font-weight: 700;
    font-size: 12px;
    flex-shrink: 0;
    transition: all .25s;
}

.wz__step.is-active .wz__step-num {
    background: linear-gradient(135deg, #8b5cf6, #6d28d9);
    border-color: transparent;
    color: #fff;
    box-shadow: 0 0 12px rgba(139, 92, 246, .5);
}

.wz__step-title { font-weight: 500; }

/* --- Counter --- */
.wz__counter {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 8px 16px;
    font-size: 13px;
    color: rgba(255, 255, 255, .5);
    background: rgba(34, 197, 94, .05);
    border-bottom: 1px solid rgba(34, 197, 94, .1);
}

.wz__counter svg { color: #22c55e; flex-shrink: 0; }
.wz__counter strong { color: #22c55e; }

/* --- Panels --- */
.wz__panel {
    display: none;
    padding: 32px 36px;
}

.wz__panel.is-active {
    display: block;
    animation: wzFade .3s ease;
}

@keyframes wzFade {
    from { opacity: 0; transform: translateY(10px); }
    to   { opacity: 1; transform: translateY(0); }
}

.wz__panel-head {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 28px;
    padding-bottom: 20px;
    border-bottom: 1px solid rgba(255, 255, 255, .1);
}

.wz__panel-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 12px;
    background: linear-gradient(135deg, rgba(139, 92, 246, .2), rgba(109, 40, 217, .1));
    border: 1px solid rgba(139, 92, 246, .2);
    color: #a78bfa;
    flex-shrink: 0;
}

.wz__panel-title {
    font-size: 20px;
    font-weight: 700;
    margin: 0;
    color: #fff;
}

.wz__panel-desc {
    font-size: 13px;
    color: rgba(255, 255, 255, .55);
    margin: 3px 0 0;
}

/* --- Fieldsets --- */
.wz__fieldset {
    border: none;
    padding: 0;
    margin: 0 0 24px;
}

.wz__legend {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #fff;
    padding: 0 0 12px;
    margin-bottom: 16px;
    border-bottom: 1px solid rgba(255, 255, 255, .12);
    width: 100%;
}

.wz__legend > span:first-child { flex: 1; }

.wz__legend-actions {
    display: flex;
    gap: 6px;
}

.wz__legend-btn {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    background: rgba(255, 255, 255, .08);
    border: 1px solid rgba(255, 255, 255, .15);
    color: rgba(255, 255, 255, .6);
    padding: 4px 10px;
    border-radius: 6px;
    font-size: 11px;
    font-family: inherit;
    cursor: pointer;
    transition: all .2s;
}

.wz__legend-btn:hover {
    background: rgba(139, 92, 246, .18);
    border-color: rgba(139, 92, 246, .4);
    color: #a78bfa;
}

.wz__legend-btn--save:hover {
    background: rgba(34, 197, 94, .1);
    border-color: rgba(34, 197, 94, .3);
    color: #4ade80;
}

/* --- Fields grid --- */
.wz__fields {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px 24px;
}

.wz__field {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.wz__field--full { grid-column: 1 / -1; }

/* --- Label with icon --- */
.wz__label {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .05em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, .85);
    margin-bottom: 6px;
}

.wz__field-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    border-radius: 5px;
    background: rgba(255, 255, 255, .12);
    color: #fff;
    flex-shrink: 0;
}

.wz__req {
    color: #f87171;
    font-size: 13px;
    margin-left: 1px;
    letter-spacing: 0;
}

/* --- Tooltip --- */
.wz__hint {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    margin-left: 5px;
    color: #a78bfa;
    background: rgba(139, 92, 246, .1);
    border-radius: 50%;
    cursor: help;
    position: relative;
    vertical-align: middle;
    transition: all .15s;
    flex-shrink: 0;
}
.wz__hint:hover {
    color: #fff;
    background: #8928ff;
    transform: scale(1.1);
}
/* Tooltip popup — position:fixed, привязан к иконке через JS */
.wz-tooltip {
    position: fixed;
    width: min(380px, calc(100vw - 24px));
    padding: 14px 44px 14px 18px;
    background: #1a1e2e;
    border: 1px solid rgba(139, 92, 246, .3);
    border-radius: 14px;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.65;
    color: #d7dced;
    box-shadow: 0 12px 40px rgba(0, 0, 0, .5);
    z-index: 10000;
    white-space: normal;
    text-align: left;
    text-transform: none;
    letter-spacing: 0;
    animation: wzTtIn .1s ease-out;
}
@keyframes wzTtIn { from { opacity: 0; } to { opacity: 1; } }

/* Хвостик */
.wz-tooltip__arrow {
    position: fixed;
    width: 12px;
    height: 12px;
    background: #1a1e2e;
    border-right: 1px solid rgba(139, 92, 246, .3);
    border-bottom: 1px solid rgba(139, 92, 246, .3);
    transform: rotate(45deg);
    z-index: 10001;
}

.wz-tooltip__close {
    position: absolute;
    top: 8px;
    right: 8px;
    width: 26px;
    height: 26px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: none;
    background: rgba(255, 255, 255, .06);
    border-radius: 8px;
    color: rgba(255, 255, 255, .4);
    cursor: pointer;
    font-size: 18px;
    padding: 0;
    transition: all .12s;
    line-height: 1;
}
.wz-tooltip__close:hover { background: rgba(255, 255, 255, .12); color: #fff; }
.wz-tooltip-overlay {
    position: fixed;
    inset: 0;
    z-index: 9999;
}

body.theme-light .wz-tooltip {
    background: #fff;
    border-color: #e2e8f0;
    color: #334155;
    box-shadow: 0 12px 40px rgba(0, 0, 0, .1);
}
body.theme-light .wz-tooltip__arrow {
    background: #fff;
    border-color: #e2e8f0;
}
body.theme-light .wz-tooltip__close { background: #f1f5f9; color: #64748b; }
body.theme-light .wz-tooltip__close:hover { background: #e2e8f0; color: #1e293b; }

body.theme-light .wz__hint { color: #7c3aed; background: rgba(124, 58, 237, .08); }
body.theme-light .wz__hint:hover { color: #fff; background: #7c3aed; }

/* --- Select wrapper --- */
.wz__select-wrap {
    position: relative;
}
.wz__select-arrow {
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%) rotate(90deg);
    pointer-events: none;
    color: rgba(255, 255, 255, .3);
    transition: color .15s;
}
.wz__select-wrap:hover .wz__select-arrow { color: #a78bfa; }
.wz__input--select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    padding-right: 40px;
    cursor: pointer;
    background-image: none;
}
.wz__input--select option {
    background: #1e2028;
    color: #fff;
    padding: 8px;
}
body.theme-light .wz__input--select option {
    background: #fff;
    color: #1e293b;
}

body.theme-light .wz__select-arrow { color: #94a3b8; }
body.theme-light .wz__select-wrap:hover .wz__select-arrow { color: #7c3aed; }

/* --- Inputs --- */
.wz__input {
    width: 100%;
    padding: 11px 14px;
    background: #1e2028;
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 10px;
    color: #fff;
    font-family: inherit;
    font-size: 14px;
    line-height: 1.4;
    transition: border-color .2s, box-shadow .2s, background .2s;
    outline: none;
    box-sizing: border-box;
}

.wz__input::placeholder {
    color: rgba(255, 255, 255, .3);
}

.wz__input:focus {
    border-color: #8b5cf6;
    background: #24272f;
    box-shadow: 0 0 0 3px rgba(139, 92, 246, .18);
}

.wz__input--textarea {
    min-height: 80px;
    resize: vertical;
}

.wz__input--error {
    border-color: #f87171 !important;
    box-shadow: 0 0 0 3px rgba(248, 113, 113, .1) !important;
}

.wz__inn-hint {
    font-size: 11px;
    min-height: 14px;
}

.wz__inn-hint--ok { color: #4ade80; }
.wz__inn-hint--err { color: #f87171; }

/* --- Preview table --- */
.wz__preview {
    margin: 24px 0 0;
    border: 1px solid rgba(139, 92, 246, .15);
    border-radius: 12px;
    overflow: hidden;
}

.wz__preview-title {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    margin: 0;
    color: #a78bfa;
    padding: 14px 18px;
    background: rgba(139, 92, 246, .06);
    border-bottom: 1px solid rgba(139, 92, 246, .1);
}

.wz__preview-table {
    width: 100%;
    border-collapse: collapse;
}

.wz__preview-table td {
    padding: 8px 18px;
    border-bottom: 1px solid rgba(255, 255, 255, .04);
    vertical-align: top;
    font-size: 13px;
}

.wz__preview-table td:first-child {
    color: rgba(255, 255, 255, .35);
    font-size: 12px;
    width: 160px;
    white-space: nowrap;
}

.wz__preview-table td:last-child {
    color: #fff;
    font-weight: 500;
}

.wz__preview-table tr:last-child td {
    border-bottom: none;
}

/* --- Nav --- */
.wz__nav {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 28px;
    padding-top: 22px;
    border-top: 1px solid rgba(255, 255, 255, .06);
}

.wz__btn-prev {
    flex-direction: row-reverse;
}

.wz__btn-prev svg {
    transform: rotate(180deg);
}

.wz__actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.btn--accent {
    background: linear-gradient(135deg, #0e7490, #6d28d9);
    color: #fff;
    border: none;
}

.btn--accent:hover {
    background: linear-gradient(135deg, #155e75, #5b21b6);
}

/* --- Dialogs --- */
.wz__dialog {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    max-width: 420px;
    width: calc(100% - 24px);
    border: 1px solid rgba(139, 92, 246, .2);
    border-radius: 16px;
    background: #13172a;
    color: #fff;
    padding: 0;
    z-index: 1000;
    box-shadow: 0 32px 80px rgba(0, 0, 0, .5);
}

.wz__dialog::backdrop {
    background: rgba(0, 0, 0, .7);
    backdrop-filter: blur(6px);
}

.wz__dialog-inner { padding: 28px; }

.wz__dialog-inner h3 {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 17px;
    margin: 0 0 12px;
    color: #a78bfa;
}

.wz__dialog-inner p {
    font-size: 13px;
    line-height: 1.65;
    color: rgba(255, 255, 255, .5);
    margin: 0 0 10px;
}

.wz__dialog-note {
    padding: 10px 14px;
    background: rgba(139, 92, 246, .08);
    border-radius: 8px;
    border-left: 3px solid #8b5cf6;
    font-size: 12px !important;
}

.wz__dialog-btns {
    display: flex;
    gap: 10px;
    margin-top: 18px;
}

.wz__dialog-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 16px;
}

.wz__dialog-head h3 { margin: 0; }

.wz__dialog-close {
    background: none;
    border: none;
    color: rgba(255, 255, 255, .4);
    font-size: 24px;
    cursor: pointer;
    line-height: 1;
    padding: 0 6px;
    border-radius: 6px;
    transition: color .2s;
}

.wz__dialog-close:hover { color: #fff; }

/* AB list in dialog */
.wz__ab-list {
    display: flex;
    flex-direction: column;
    gap: 6px;
    max-height: 260px;
    overflow-y: auto;
}

.wz__ab-item {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    text-align: left;
    background: rgba(255, 255, 255, .04);
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 8px;
    padding: 10px 14px;
    color: #fff;
    cursor: pointer;
    font-family: inherit;
    font-size: 13px;
    transition: all .2s;
}

.wz__ab-item:hover {
    background: rgba(139, 92, 246, .1);
    border-color: rgba(139, 92, 246, .25);
}

.wz__ab-item strong { flex: 1; font-weight: 600; }
.wz__ab-item span { font-size: 11px; color: rgba(255, 255, 255, .4); }
.wz__ab-item-del { font-size: 18px; color: rgba(255, 255, 255, .3); cursor: pointer; transition: color .2s; }
.wz__ab-item-del:hover { color: #f87171; }

.wz__ab-empty {
    text-align: center;
    color: rgba(255, 255, 255, .35);
    font-size: 13px;
    padding: 20px 0;
}

/* Datepicker */
/* Datepicker */
.wz-dp {
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    z-index: 1000;
    width: 296px;
    background: #151a2e;
    border: 1px solid rgba(139, 92, 246, .15);
    border-radius: 18px;
    box-shadow: 0 16px 48px rgba(0, 0, 0, .45), 0 0 0 1px rgba(139, 92, 246, .08);
    padding: 18px;
    font-family: "Inter", sans-serif;
    color: #fff;
    animation: wzDpIn .15s ease-out;
}
@keyframes wzDpIn { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: translateY(0); } }
.wz-dp__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 14px;
    padding-bottom: 12px;
    border-bottom: 1px solid rgba(255, 255, 255, .06);
}
.wz-dp__title {
    font-size: 15px;
    font-weight: 700;
    text-transform: capitalize;
    letter-spacing: -.01em;
}
.wz-dp__nav {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    background: rgba(255, 255, 255, .05);
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 10px;
    color: rgba(255, 255, 255, .6);
    cursor: pointer;
    font-size: 16px;
    padding: 0;
    transition: all .15s;
}
.wz-dp__nav:hover { background: rgba(139, 92, 246, .15); border-color: rgba(139, 92, 246, .3); color: #fff; }
.wz-dp__weekdays {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    margin-bottom: 6px;
}
.wz-dp__wd {
    text-align: center;
    font-size: 10px;
    font-weight: 600;
    color: rgba(255, 255, 255, .3);
    padding: 4px 0;
    text-transform: uppercase;
    letter-spacing: .05em;
}
.wz-dp__days {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 3px;
}
.wz-dp__day {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    margin: 0 auto;
    border-radius: 10px;
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    border: none;
    background: none;
    color: rgba(255, 255, 255, .8);
    transition: all .12s;
    padding: 0;
}
.wz-dp__day:hover { background: rgba(139, 92, 246, .2); color: #fff; }
.wz-dp__day--other { color: rgba(255, 255, 255, .15); }
.wz-dp__day--today {
    border: 1.5px solid #8928ff;
    color: #c4b5fd;
    font-weight: 600;
}
.wz-dp__day--selected {
    background: linear-gradient(135deg, #6d28d9, #0e7490);
    color: #fff;
    font-weight: 700;
    border: none;
    box-shadow: 0 4px 12px rgba(137, 40, 255, .3);
}
.wz-dp__today-btn {
    display: block;
    width: 100%;
    margin-top: 12px;
    padding: 9px;
    border: 1px solid rgba(255, 255, 255, .06);
    border-radius: 10px;
    background: rgba(255, 255, 255, .04);
    color: rgba(255, 255, 255, .45);
    font-size: 12px;
    font-weight: 500;
    cursor: pointer;
    transition: all .15s;
}
.wz-dp__today-btn:hover { background: rgba(139, 92, 246, .1); border-color: rgba(139, 92, 246, .2); color: #c4b5fd; }

/* Datepicker light theme */
body.theme-light .wz-dp {
    background: #fff;
    border-color: #e2e8f0;
    box-shadow: 0 16px 48px rgba(0, 0, 0, .1), 0 0 0 1px rgba(0, 0, 0, .04);
    color: #1e293b;
}
body.theme-light .wz-dp__head { border-color: #f1f5f9; }
body.theme-light .wz-dp__title { color: #1e293b; }
body.theme-light .wz-dp__nav { background: #f8fafc; border-color: #e2e8f0; color: #64748b; }
body.theme-light .wz-dp__nav:hover { background: #f5f3ff; border-color: #ddd6fe; color: #7c3aed; }
body.theme-light .wz-dp__wd { color: #94a3b8; }
body.theme-light .wz-dp__day { color: #334155; }
body.theme-light .wz-dp__day:hover { background: rgba(124, 58, 237, .08); color: #7c3aed; }
body.theme-light .wz-dp__day--other { color: #cbd5e1; }
body.theme-light .wz-dp__day--today { border-color: #7c3aed; color: #7c3aed; }
body.theme-light .wz-dp__day--selected { background: linear-gradient(135deg, #6d28d9, #0e7490); color: #fff; box-shadow: 0 4px 12px rgba(124, 58, 237, .2); }
body.theme-light .wz-dp__today-btn { background: #f8fafc; border-color: #e2e8f0; color: #64748b; }
body.theme-light .wz-dp__today-btn:hover { background: #f5f3ff; border-color: #ddd6fe; color: #7c3aed; }

/* Print template */
.wz__print-tpl { display: none; }
.wz-print-sheet {
    width: min(210mm, 100%);
    margin: 0 auto;
    background: #fff;
}

.wz-print-doc {
    width: 100%;
    box-sizing: border-box;
    color: #000;
}

.wz-print-section,
.wz-print-note {
    break-inside: avoid;
    page-break-inside: avoid;
}

/* Related links */
.related-heading {
    max-width: 720px;
    margin-bottom: 18px;
}

.related-heading > span {
    display: block;
    margin-bottom: 6px;
    color: #a78bfa;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.related-heading h2 {
    margin: 0;
    color: var(--text);
    font-size: clamp(24px, 3vw, 34px);
    line-height: 1.12;
    letter-spacing: -.025em;
}

.related-heading p {
    margin: 8px 0 0;
    color: var(--muted-soft);
    font-size: 14px;
    line-height: 1.55;
}

.related-links {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 12px;
}

.related-card {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 16px 20px;
    background: rgba(255, 255, 255, .03);
    border: 1px solid var(--stroke);
    border-radius: 14px;
    text-decoration: none;
    transition: all .2s;
    cursor: pointer;
}

.related-card:hover {
    border-color: rgba(139, 92, 246, .35);
    background: rgba(139, 92, 246, .06);
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, .15);
}

.related-card__icon {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(139, 92, 246, .1);
    border-radius: 10px;
    color: #a78bfa;
    transition: all .2s;
}

.related-card:hover .related-card__icon {
    background: rgba(139, 92, 246, .2);
    color: #c4b5fd;
}

.related-card__body {
    flex: 1;
    min-width: 0;
}

.related-card__title {
    display: block;
    font-size: 15px;
    font-weight: 600;
    color: var(--text);
    margin-bottom: 2px;
}

.related-card__desc {
    display: block;
    font-size: 12px;
    color: var(--muted-soft);
    line-height: 1.4;
}

.related-card__arrow {
    flex-shrink: 0;
    color: rgba(255, 255, 255, .2);
    transition: all .2s;
}

.related-card:hover .related-card__arrow {
    color: #a78bfa;
    transform: translateX(3px);
}

/* Light theme */
body.theme-light .related-heading h2 { color: #1e293b; }
body.theme-light .related-heading p { color: #64748b; }
body.theme-light .related-heading > span { color: #7c3aed; }
body.theme-light .related-card { background: #f8fafc; border-color: #e2e8f0; }
body.theme-light .related-card:hover { background: #f5f3ff; border-color: #ddd6fe; box-shadow: 0 8px 24px rgba(0, 0, 0, .06); }
body.theme-light .related-card__icon { background: rgba(124, 58, 237, .08); color: #7c3aed; }
body.theme-light .related-card:hover .related-card__icon { background: rgba(124, 58, 237, .15); }
body.theme-light .related-card__title { color: #1e293b; }
body.theme-light .related-card__desc { color: #64748b; }
body.theme-light .related-card__arrow { color: #cbd5e1; }
body.theme-light .related-card:hover .related-card__arrow { color: #7c3aed; }

/* ===== WZ LIGHT THEME ===== */
body.theme-light .wz-hero__lead { color: #64748b; }

body.theme-light .wz {
    background: #fff;
    border-color: #e2e8f0;
    box-shadow: 0 4px 24px rgba(0, 0, 0, .08);
}

body.theme-light .wz__steps {
    background: #f8fafc;
    border-color: #e2e8f0;
}

body.theme-light .wz__step { color: #64748b; }
body.theme-light .wz__step:hover { background: #f1f5f9; color: #334155; }
body.theme-light .wz__step.is-active { color: #1e293b; background: rgba(139, 92, 246, .05); }
body.theme-light .wz__step-num { background: #e2e8f0; border-color: #cbd5e1; color: #64748b; }

body.theme-light .wz__panel { background: #fff; }
body.theme-light .wz__panel-head { border-color: #f1f5f9; }
body.theme-light .wz__panel-icon { background: rgba(139, 92, 246, .08); border-color: rgba(139, 92, 246, .15); }
body.theme-light .wz__panel-title { color: #1e293b; }
body.theme-light .wz__panel-desc { color: #64748b; }

body.theme-light .wz__legend { border-color: #e2e8f0; color: #7c3aed; }
body.theme-light .wz__legend-btn { background: #f3f0ff; border-color: #ddd6fe; color: #7c3aed; }

body.theme-light .wz__label { color: #64748b; }
body.theme-light .wz__field-icon { background: rgba(139, 92, 246, .08); color: #7c3aed; }

body.theme-light .wz__input { background: #f8fafc; border-color: #e2e8f0; color: #1e293b; }
body.theme-light .wz__input::placeholder { color: #cbd5e1; }
body.theme-light .wz__input:focus { border-color: #7c3aed; background: #fff; box-shadow: 0 0 0 3px rgba(124, 58, 237, .08); }

body.theme-light .wz__preview { border-color: #e2e8f0; }
body.theme-light .wz__preview-title { background: #f8f6ff; border-color: #e9d5ff; color: #7c3aed; }
body.theme-light .wz__preview-table td { border-color: #f1f5f9; }
body.theme-light .wz__preview-table td:first-child { color: #64748b; }
body.theme-light .wz__preview-table td:last-child { color: #1e293b; }

body.theme-light .wz__nav { border-color: #f1f5f9; }

body.theme-light .wz__dialog { background: #fff; border-color: #e2e8f0; box-shadow: 0 20px 60px rgba(0, 0, 0, .12); }
body.theme-light .wz__dialog-inner h3 { color: #7c3aed; }
body.theme-light .wz__dialog-inner p { color: #475569; }
body.theme-light .wz__dialog-note { background: #f8f6ff; border-color: #7c3aed; }
body.theme-light .wz__dialog-close { color: #94a3b8; }
body.theme-light .wz__dialog-close:hover { color: #1e293b; }

body.theme-light .wz__ab-item { background: #f8fafc; border-color: #e2e8f0; color: #1e293b; }
body.theme-light .wz__ab-item:hover { background: #f3f0ff; border-color: #ddd6fe; }
body.theme-light .wz__ab-item span { color: #64748b; }
body.theme-light .wz__ab-empty { color: #94a3b8; }

/* old related-link removed — using related-card now */

/* ===== WZ PRINT ===== */
@media print {
    @page {
        size: A4;
        margin: 10mm 10mm 10mm 10mm;
        /* Убрать браузерные колонтитулы (URL, дата, название) */
        margin-top: 0;
        margin-bottom: 0;
    }

    body.wz-printing {
        margin: 0 !important;
        padding: 0 !important;
        background: #fff !important;
    }

    /* Скрыть ВСЁ кроме print-шаблона */
    body.wz-printing > * {
        display: none !important;
    }

    body.wz-printing > .wz__print-tpl {
        display: block !important;
        position: static !important;
        width: auto !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        background: #fff !important;
        color: #000 !important;
        font-size: 14px !important;
        box-sizing: border-box;
    }

    body.wz-printing .wz__print-tpl * {
        visibility: visible !important;
        color: #000 !important;
    }

    /* Контрастные цвета для печати — не бледные */
    body.wz-printing .wz__print-tpl td,
    body.wz-printing .wz__print-tpl th {
        color: #000 !important;
        border-color: #666 !important;
    }

    body.wz-printing .wz-print-sheet {
        width: auto !important;
        margin: 0 !important;
        padding: 4px !important;
        box-shadow: none !important;
    }
}

/* ===== WZ RESPONSIVE ===== */
@media (max-width: 880px) {
    .wz__step-title { display: none; }
    .wz__panel { padding: 22px 20px; }
    .wz__fields { grid-template-columns: 1fr; }
    .wz__nav { flex-direction: column; gap: 10px; }
    .wz__actions { flex-direction: column !important; flex-wrap: nowrap !important; gap: 10px; width: 100%; }
    .wz__actions .btn { width: 100% !important; justify-content: center; }
    .wz__btn-prev, .wz__btn-next { width: 100%; justify-content: center; }
    .wz__legend { flex-wrap: wrap; }
    .wz__legend-actions { width: 100%; margin-top: 8px; }

    /* Предпросмотр — горизонтальная прокрутка */
    .wz__preview { overflow-x: auto; -webkit-overflow-scrolling: touch; }
    .wz__preview-table { min-width: 520px; }
    .wz__preview-table td:first-child { white-space: nowrap; }
}

@media (max-width: 480px) {
    .wz-hero__title { font-size: 26px; }
    .wz__panel { padding: 16px 14px; }
    .wz__step { padding: 12px 6px; }
    .wz__step-num { width: 23px; height: 23px; font-size: 11px; }
    .wz__panel-head { gap: 10px; }
    .wz__panel-icon { width: 36px; height: 36px; }
    .wz__actions { gap: 8px; }
}

/* =============================================================================
   АДАПТИВ
   ============================================================================= */

@media (max-width: 1180px) {
    .qa-category-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .qa-category-layout {
        grid-template-columns: 1fr;
    }

    .qa-toc {
        position: static;
    }

    .reference-topic__points {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .card-grid--five {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .card-grid--three {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .tool-layout,
    .service-tool__layout,
    .service-tool__head {
        grid-template-columns: 1fr;
    }

    .service-tool__result {
        position: static;
    }

    .info-cards--three,
    .page-grid--three {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 1024px) {
    .home-hero__inner {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .home-hero__media {
        order: -1;
    }

    .home-hero__image {
        max-width: 480px;
    }
}

@media (max-width: 880px) {
    .site-bg {
        display: none;
    }

    .site-header {
        backdrop-filter: none;
        background: rgba(7, 11, 21, 0.97);
    }

    .site-nav {
        display: none;
    }
}

@media (max-width: 720px) {
    .container {
        width: min(var(--container), calc(100% - 24px));
    }

    .site-header__inner {
        min-height: 76px;
        gap: 12px;
    }

    .site-logo {
        gap: 10px;
    }

    .site-logo__media {
        width: 46px;
        height: 46px;
        border-radius: 14px;
    }

    .site-logo__text strong,
    .site-footer__logo span {
        font-size: 16px;
        letter-spacing: 0;
    }

    .site-header__actions {
        gap: 8px;
    }

    .header-icon-btn {
        width: 44px;
        height: 44px;
        border-radius: 13px;
    }

    .header-icon-btn--search {
        display: none;
    }

    .content-page {
        padding: 36px 0 64px;
    }

    .content-page__body {
        padding: 22px 18px;
        border-radius: 20px;
    }

    .content-page__body ul li,
    .content-page__body ol li {
        padding: 10px 12px 10px 38px;
        font-size: 14px;
    }

    .content-page__body ul li::before {
        left: 14px;
        width: 8px;
        height: 8px;
    }

    .content-page__body ol li::before {
        left: 8px;
        width: 22px;
        height: 22px;
        font-size: 11px;
    }

    .contact-cards {
        grid-template-columns: 1fr;
    }

    .about-stats {
        grid-template-columns: repeat(2, 1fr);
    }

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

    .content-page--404 {
        padding: 48px 0 85px;
    }

    .section {
        padding: 16px 0;
    }

    .home-hero {
        padding: 48px 0 40px;
    }

    .home-hero__content {
        text-align: center;
    }

    .home-hero__badge {
        margin-left: auto;
        margin-right: auto;
    }

    .home-hero__title {
        font-size: clamp(32px, 9vw, 48px);
    }

    .home-hero__lead {
        font-size: 16px;
        max-width: 100%;
        margin-left: auto;
        margin-right: auto;
    }

    .home-hero__actions {
        flex-direction: column;
        align-items: center;
    }

    .btn--carrier,
    .btn--customer {
        min-width: 0;
        width: 100%;
    }

    .page-hero__panel,
    .tool-panel,
    .result-panel,
    .service-tool,
    .service-tool__form,
    .service-tool__result,
    .reference-topic,
    .info-card,
    .simple-page,
    .panel[data-trip-journal] {
        padding: 24px;
    }

    .page-hero__panel {
        border-radius: 26px;
    }

    .page-hero__title {
        font-size: clamp(30px, 10vw, 42px);
        letter-spacing: 0;
        text-wrap: balance;
    }

    .page-hero__lead,
    .info-card__text,
    .reference-topic__text,
    .simple-copy,
    .empty-state {
        font-size: 16px;
    }

    .reference-topic__head {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .reference-topic__points {
        grid-template-columns: 1fr;
    }

    .reference-topic__points li {
        min-height: 0;
    }

    .reference-topic__link {
        width: 100%;
        justify-content: center;
    }

    .page-hero__actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .page-hero__actions .btn {
        width: 100%;
    }

    .qa-hero__panel {
        grid-template-columns: 1fr;
        gap: 18px;
        padding: 20px;
        border-radius: 26px;
    }

    .qa-hero__title {
        font-size: clamp(26px, 7vw, 42px);
        line-height: 1.08;
        letter-spacing: 0;
    }

    .qa-hero__lead {
        font-size: 16px;
    }

    .qa-hero__actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .qa-hero__actions .btn {
        width: 100%;
    }

    .qa-hero__stats {
        grid-template-columns: repeat(auto-fit, minmax(112px, 1fr));
        gap: 8px;
    }

    .qa-hero__stat {
        min-height: 68px;
        padding: 12px 10px;
        border-radius: 17px;
    }

    .qa-hero__stat strong {
        font-size: 22px;
    }

    .qa-hero__stat span {
        font-size: 11px;
    }

    .qa-category-grid,
    .qa-index,
    .qa-answer-grid {
        grid-template-columns: 1fr;
    }

    .qa-category-card {
        min-height: auto;
        padding: 20px;
        border-radius: 24px;
    }

    .qa-search-panel {
        padding: 18px;
        border-radius: 24px;
    }

    .qa-search-panel__head {
        align-items: start;
    }

    .qa-search-panel__head h2 {
        font-size: 27px;
        letter-spacing: 0;
    }

    .qa-search-panel__head strong {
        font-size: 30px;
    }

    .qa-search-field input {
        min-height: 54px;
        border-radius: 16px;
        font-size: 15px;
    }

    .qa-toc {
        padding: 18px;
        border-radius: 22px;
    }

    .qa-toc ol {
        max-height: 360px;
        overflow: auto;
        padding-right: 4px;
    }

    .qa-item__question {
        grid-template-columns: 42px minmax(0, 1fr) 34px;
        min-height: 72px;
        gap: 12px;
        padding: 15px;
    }

    .qa-item__number {
        width: 42px;
        height: 42px;
        border-radius: 14px;
    }

    .qa-item__question > span:nth-child(2) {
        font-size: 17px;
    }

    .qa-item__body {
        padding: 0 15px 16px;
    }

    .qa-item__body p {
        font-size: 15px;
    }

    .qa-tool-card {
        grid-template-columns: 1fr;
        padding: 20px;
        border-radius: 24px;
    }

    .qa-tool-card .btn {
        width: 100%;
    }

    .card-grid,
    .card-grid--five,
    .card-grid--three {
        grid-template-columns: 1fr;
    }

    .feature-card {
        min-height: auto;
        grid-template-columns: auto minmax(0, 1fr) auto;
        grid-template-rows: auto;
        align-items: center;
        gap: 14px;
        padding: 16px;
        border-radius: 22px;
    }

    .feature-card:hover,
    .feature-card:focus-visible {
        transform: translateY(-2px);
    }

    .feature-card__icon {
        width: 46px;
        height: 46px;
        border-radius: 16px;
    }

    .feature-card__icon::after {
        inset: -5px;
        border-radius: 20px;
    }

    .feature-card__body {
        gap: 6px;
    }

    .feature-card__title {
        font-size: 17px;
        line-height: 1.2;
    }

    .feature-card__text {
        font-size: 14px;
        line-height: 1.38;
    }

    .feature-card__arrow {
        width: 34px;
        height: 34px;
        border-radius: 12px;
        align-self: center;
    }

    .feature-card__badge {
        position: static;
        grid-column: 2 / 4;
        justify-self: start;
        max-width: 100%;
        margin-top: -2px;
    }

    .service-tool {
        padding: 16px;
        border-radius: 26px;
    }

    .service-tool__head {
        gap: 18px;
        margin-bottom: 18px;
    }

    .service-tool__title {
        margin-top: 12px;
        font-size: 30px;
        line-height: 1.04;
        letter-spacing: 0;
        text-wrap: balance;
    }

    .service-tool__lead,
    .service-tool__result-head p {
        font-size: 15px;
        line-height: 1.55;
    }

    .service-tool__stats {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 8px;
    }

    .service-tool__stat {
        min-height: 74px;
        padding: 12px 10px;
        border-radius: 16px;
    }

    .service-tool__stat span {
        font-size: 10px;
        letter-spacing: 0;
    }

    .service-tool__stat strong {
        font-size: 14px;
        line-height: 1.2;
        word-break: break-word;
    }

    .service-tool__layout {
        gap: 14px;
    }

    .service-tool__form,
    .service-tool__result {
        padding: 12px;
        border-radius: 22px;
    }

    .service-tool__form .form-section,
    .service-tool__form .form-section:first-child {
        padding: 16px;
        border-radius: 20px;
    }

    .form-section__head {
        gap: 12px;
    }

    .service-tool__form .form-section__head {
        margin-bottom: 16px;
    }

    .service-tool__form .form-section__index {
        width: 38px;
        height: 38px;
        border-radius: 13px;
    }

    .form-section__title,
    .simple-page__title {
        font-size: 21px;
        letter-spacing: 0;
    }

    .service-tool__form .form-section__description {
        font-size: 14px;
        line-height: 1.45;
    }

    .form-grid {
        gap: 14px;
    }

    .field__label {
        margin-bottom: 8px;
        font-size: 13px;
    }

    .field__control,
    .field-select__button {
        min-height: 52px;
        border-radius: 15px;
        font-size: 15px;
    }

    .field__control {
        padding: 14px 15px;
    }

    .field-select__button {
        padding: 13px 14px 13px 15px;
    }

    .field-select__list {
        border-radius: 16px;
        max-height: min(260px, 48vh);
    }

    .service-result-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }

    .service-result-card {
        padding: 14px;
        border-radius: 16px;
    }

    .service-result-card span {
        font-size: 10px;
        letter-spacing: 0;
    }

    .service-result-card strong {
        font-size: 20px;
        line-height: 1.08;
        word-break: break-word;
    }

    .service-status,
    .service-output__body,
    .service-checklist li {
        border-radius: 16px;
    }

    .service-output__body {
        font-size: 14px;
    }

    .service-output__summary,
    .service-output__section {
        padding: 12px;
        border-radius: 14px;
    }

    .service-output__summary-title {
        font-size: 16px;
    }

    .service-output__fact {
        grid-template-columns: 1fr;
        gap: 4px;
        padding: 10px 0;
    }

    .tool-panel__actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .tool-panel__actions .btn {
        width: 100%;
    }

    .floating-btns {
        right: max(12px, env(safe-area-inset-right));
        bottom: max(14px, env(safe-area-inset-bottom));
        gap: 8px;
        opacity: 1;
        pointer-events: none;
        transform: none;
    }

    .floating-btns.is-visible {
        opacity: 1;
        pointer-events: none;
        transform: translateY(0);
    }

    .floating-btns .floating-btn--theme {
        pointer-events: auto;
    }

    .floating-btn--top {
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transform: translateY(12px);
        transition: opacity 0.18s ease, transform 0.18s ease, visibility 0s linear 0.18s;
    }

    .floating-btns.is-visible .floating-btn--top {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: translateY(0);
        transition-delay: 0s;
    }

    .floating-btn {
        width: 42px;
        height: 42px;
    }

    .site-footer {
        border-radius: 24px 24px 0 0;
        padding: 24px 0 20px;
        margin-top: -40px;
    }

    .site-footer__bottom {
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap: 20px;
    }

    .site-footer__links {
        justify-content: center;
    }

    .site-footer__copy {
        flex-direction: column;
        gap: 8px;
    }

    .form-grid,
    .result-grid,
    .summary-grid,
    .info-cards--three,
    .page-grid--two,
    .page-grid--three {
        grid-template-columns: 1fr;
    }

    .site-logo__text span {
        display: none;
    }

    .faq-item__question {
        padding: 20px;
        font-size: 19px;
    }

    .faq-item__answer {
        padding: 0 20px 20px;
    }

    .site-footer__bottom {
        display: grid;
        grid-template-columns: 1fr;
    }
}

@media (max-width: 360px) {
    .container {
        width: min(var(--container), calc(100% - 20px));
    }

    .site-header__inner {
        gap: 10px;
    }

    .site-logo {
        gap: 8px;
    }

    .site-logo__media {
        width: 42px;
        height: 42px;
    }

    .site-logo__text strong,
    .site-footer__logo span {
        font-size: 15px;
    }

    .page-hero__panel {
        padding: 20px;
    }

    .page-hero__title {
        font-size: 32px;
        letter-spacing: 0;
    }

    .service-tool {
        padding: 10px;
        border-radius: 22px;
    }

    .service-tool__form,
    .service-tool__result {
        padding: 8px;
    }

    .service-tool__form .form-section,
    .service-tool__form .form-section:first-child {
        padding: 12px;
        border-radius: 18px;
    }

    .service-tool__title {
        font-size: 27px;
    }

    .service-tool__stats {
        grid-template-columns: 1fr;
    }

    .service-tool__stat {
        min-height: 58px;
    }

    .field__control,
    .field-select__button {
        font-size: 14px;
    }

    .qa-hero__stats {
        grid-template-columns: 1fr;
    }

    .qa-category-card__count {
        position: static;
        justify-self: start;
        order: 2;
    }

    .qa-category-card__title {
        max-width: 100%;
        font-size: 23px;
        letter-spacing: 0;
    }

    .qa-index__item {
        min-height: 82px;
        padding: 13px;
    }

    .qa-chip-list {
        flex-wrap: nowrap;
        overflow-x: auto;
        padding-bottom: 4px;
    }

    .qa-chip {
        white-space: nowrap;
    }

    .qa-answer-box {
        padding: 14px;
        border-radius: 17px;
    }

    .qa-answer-box ol,
    .qa-answer-box ul {
        font-size: 13px;
    }

    .reference-topic {
        padding: 18px;
        border-radius: 22px;
    }

    .reference-topic__icon {
        width: 42px;
        height: 42px;
        border-radius: 14px;
    }

    .reference-topic__title {
        font-size: 23px;
        letter-spacing: 0;
    }

    .reference-topic__points li {
        padding: 13px 13px 13px 36px;
        font-size: 13px;
    }

    .reference-topic__points li::before {
        left: 14px;
    }

    .feature-card {
        grid-template-columns: 42px minmax(0, 1fr);
        gap: 12px;
        padding: 14px;
    }

    .feature-card__icon {
        width: 42px;
        height: 42px;
        border-radius: 15px;
    }

    .feature-card__arrow {
        display: none;
    }

    .feature-card__badge {
        grid-column: 2;
    }
}

body.theme-light .qa-search-panel .qa-search-field input {
    color: #172033;
    background: #ffffff;
    border-color: rgba(15, 23, 42, 0.12);
}

body.theme-light .qa-search-panel .qa-search-field input:focus {
    background: #ffffff;
    border-color: rgba(124, 58, 237, 0.34);
    box-shadow: 0 0 0 4px rgba(124, 58, 237, 0.08);
}

/* Каталог сервисов и официальные формы заявки */
.service-catalog {
    padding-top: 12px;
}

.service-catalog__group + .service-catalog__group {
    margin-top: clamp(42px, 6vw, 72px);
}

.service-catalog__head {
    max-width: 920px;
    margin-bottom: 20px;
}

.service-catalog__head h2 {
    margin: 0;
    font-size: clamp(28px, 3.6vw, 42px);
    line-height: 1.05;
    letter-spacing: -0.04em;
}

.service-catalog__head p {
    margin: 12px 0 0;
    color: var(--muted);
    font-size: 17px;
    line-height: 1.6;
}

.service-catalog__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.service-choice {
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 24px;
    border-radius: 26px;
    background:
        radial-gradient(circle at 100% 0%, rgba(255, 134, 64, 0.10), transparent 34%),
        linear-gradient(180deg, rgba(25, 31, 51, 0.92), rgba(13, 18, 31, 0.96));
    border: 1px solid rgba(255, 255, 255, 0.11);
}

.service-choice__tag {
    display: inline-flex;
    min-height: 30px;
    align-items: center;
    padding: 0 11px;
    border-radius: 999px;
    color: #f3edff;
    background: rgba(137, 40, 255, 0.16);
    border: 1px solid rgba(180, 110, 255, 0.2);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.service-choice h3 {
    margin: 18px 0 0;
    font-size: 24px;
    line-height: 1.12;
    letter-spacing: -0.035em;
}

.service-choice__fit,
.service-choice__text {
    margin: 12px 0 0;
    color: var(--muted);
    font-size: 15px;
    line-height: 1.55;
}

.service-choice__fit strong {
    color: var(--text);
}

.service-choice__link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: auto;
    padding-top: 20px;
    color: #cbb8ff;
    font-size: 14px;
    font-weight: 800;
}

.service-choice__link:hover,
.service-choice__link:focus-visible {
    color: #ffffff;
    outline: none;
}

.kontur-lead {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: clamp(28px, 4vw, 42px);
    align-items: start;
    padding: clamp(26px, 4vw, 44px);
    overflow: hidden;
    border-radius: 30px;
    background:
        radial-gradient(circle at 0% 0%, rgba(137, 40, 255, 0.18), transparent 34%),
        radial-gradient(circle at 100% 100%, rgba(255, 134, 64, 0.11), transparent 32%),
        var(--bg-panel);
}

.kontur-lead__copy {
    width: min(100%, 980px);
    margin-inline: auto;
}

.kontur-lead__eyebrow {
    display: inline-flex;
    min-height: 30px;
    align-items: center;
    padding: 0 11px;
    border-radius: 999px;
    color: #f3edff;
    background: rgba(137, 40, 255, 0.16);
    border: 1px solid rgba(180, 110, 255, 0.2);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.kontur-lead__title {
    margin: 16px 0 0;
    font-size: clamp(28px, 3.5vw, 42px);
    line-height: 1.05;
    letter-spacing: -0.04em;
}

.kontur-lead__text {
    margin: 14px 0 0;
    color: var(--muted);
    font-size: 17px;
    line-height: 1.6;
}

.kontur-lead__benefits {
    display: grid;
    gap: 10px;
    margin: 20px 0 0;
    padding: 0;
    list-style: none;
}

.kontur-lead__benefits li {
    position: relative;
    padding-left: 22px;
    color: var(--text);
    font-size: 14px;
    line-height: 1.5;
}

.kontur-lead__benefits li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.55em;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: linear-gradient(135deg, #79b8ff, #ff8640);
}

.kontur-lead__disclosure {
    margin: 22px 0 0;
    color: var(--muted);
    font-size: 12px;
    line-height: 1.55;
}

.kontur-lead__form {
    width: min(100%, 980px);
    min-width: 0;
    min-height: 300px;
    justify-self: center;
    padding: 20px;
    border-radius: 22px;
    color: #172033;
    background: #ffffff;
    box-shadow: 0 24px 70px rgba(0, 0, 0, 0.24);
}

.kontur-quick-cta {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: clamp(24px, 4vw, 56px);
    align-items: center;
    padding: clamp(24px, 4vw, 38px);
    border-radius: 28px;
    background:
        radial-gradient(circle at 100% 0%, rgba(255, 134, 64, 0.16), transparent 36%),
        linear-gradient(135deg, rgba(137, 40, 255, 0.15), rgba(22, 39, 63, 0.88));
}

.kontur-quick-cta__eyebrow {
    display: inline-block;
    color: #ffd4ad;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.kontur-quick-cta h2 {
    margin: 9px 0 0;
    font-size: clamp(25px, 3vw, 36px);
    line-height: 1.08;
    letter-spacing: -0.035em;
}

.kontur-quick-cta p {
    max-width: 760px;
    margin: 12px 0 0;
    color: var(--muted);
    font-size: 15px;
    line-height: 1.6;
}

.kontur-quick-cta__actions {
    display: grid;
    gap: 12px;
    justify-items: center;
}

.partner-action {
    display: inline-grid;
    gap: 7px;
    justify-items: center;
}

.wz-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 22px;
}

.kontur-quick-cta__actions .btn {
    min-width: 230px;
}

.kontur-quick-cta__form-button {
    min-width: 230px;
    color: #f4efff;
    background: rgba(255, 255, 255, 0.055);
    border-color: rgba(255, 255, 255, 0.16);
}

.kontur-quick-cta__form-button:hover,
.kontur-quick-cta__form-button:focus-visible {
    color: #ffffff;
    background: rgba(255, 255, 255, 0.1);
    border-color: rgba(255, 255, 255, 0.28);
}

.kontur-lead__noscript {
    display: block;
    color: #9f1239;
    font-size: 14px;
}

body.theme-light .service-choice {
    background:
        radial-gradient(circle at 100% 0%, rgba(255, 134, 64, 0.11), transparent 34%),
        linear-gradient(180deg, #ffffff, #f8faff);
    border-color: rgba(15, 23, 42, 0.08);
}

body.theme-light .service-choice__link {
    color: #6d28d9;
}

.decision-comparison__head {
    max-width: 900px;
    margin-bottom: 20px;
}

.decision-comparison__head h2 {
    margin: 0;
    font-size: clamp(28px, 3.6vw, 42px);
    line-height: 1.08;
    letter-spacing: -0.04em;
}

.decision-comparison__head p {
    margin: 12px 0 0;
    color: var(--muted);
    font-size: 16px;
    line-height: 1.65;
}

.decision-table-wrap {
    overflow-x: auto;
    border-radius: 26px;
}

.decision-table {
    width: 100%;
    min-width: 720px;
    border-collapse: collapse;
    text-align: left;
}

.decision-table th,
.decision-table td {
    padding: 18px 20px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.09);
    vertical-align: top;
    font-size: 14px;
    line-height: 1.55;
}

.decision-table thead th {
    color: #f3edff;
    background: rgba(137, 40, 255, 0.13);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.decision-table tbody th {
    width: 26%;
    color: var(--text);
    font-weight: 700;
}

.decision-table tbody td {
    color: var(--muted);
}

.decision-table tbody tr:last-child th,
.decision-table tbody tr:last-child td {
    border-bottom: 0;
}

.partner-offer {
    padding: clamp(22px, 4vw, 36px);
    border-radius: 28px;
    background:
        radial-gradient(circle at 100% 0%, rgba(255, 134, 64, 0.13), transparent 34%),
        var(--bg-panel);
}

.partner-offer__body {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 24px;
    align-items: end;
    margin-top: 0;
}

.partner-offer__body h2 {
    margin: 0;
    font-size: clamp(26px, 3vw, 38px);
    line-height: 1.08;
    letter-spacing: -0.035em;
}

.partner-offer__body p {
    max-width: 760px;
    margin: 12px 0 0;
    color: var(--muted);
    font-size: 15px;
    line-height: 1.6;
}

.partner-offer__button {
    white-space: nowrap;
}

.partner-offer__erid {
    margin-top: 16px;
    color: var(--muted);
    font-size: 11px;
}

body.theme-light .decision-table th,
body.theme-light .decision-table td {
    border-bottom-color: rgba(15, 23, 42, 0.08);
}

body.theme-light .decision-table thead th {
    color: #4c1d95;
    background: rgba(124, 58, 237, 0.08);
}

body.theme-light .service-catalog__head h2,
body.theme-light .service-choice h3,
body.theme-light .kontur-lead__title,
body.theme-light .kontur-quick-cta h2,
body.theme-light .decision-comparison__head h2,
body.theme-light .decision-table tbody th,
body.theme-light .partner-offer__body h2 {
    color: #1a1d26;
}

body.theme-light .service-catalog__head p,
body.theme-light .service-choice__fit,
body.theme-light .service-choice__text,
body.theme-light .kontur-lead__text,
body.theme-light .kontur-lead__disclosure,
body.theme-light .kontur-quick-cta p,
body.theme-light .decision-comparison__head p,
body.theme-light .decision-table tbody td,
body.theme-light .partner-offer__body p,
body.theme-light .partner-offer__erid {
    color: #5a6070;
}

body.theme-light .service-choice__fit strong,
body.theme-light .kontur-lead__benefits li {
    color: #273247;
}

body.theme-light .service-choice__tag,
body.theme-light .kontur-lead__eyebrow {
    color: #6d28d9;
    background: rgba(124, 58, 237, 0.09);
    border-color: rgba(124, 58, 237, 0.2);
}

body.theme-light .kontur-quick-cta {
    background:
        radial-gradient(circle at 100% 0%, rgba(255, 134, 64, 0.11), transparent 36%),
        linear-gradient(135deg, #ffffff, #f5f2ff);
}

body.theme-light .kontur-quick-cta__eyebrow {
    color: #9a4b0a;
}

body.theme-light .kontur-quick-cta__form-button {
    color: #4c1d95;
    background: rgba(124, 58, 237, 0.06);
    border-color: rgba(124, 58, 237, 0.22);
}

body.theme-light .kontur-quick-cta__form-button:hover,
body.theme-light .kontur-quick-cta__form-button:focus-visible {
    color: #35106f;
    background: rgba(124, 58, 237, 0.12);
    border-color: rgba(124, 58, 237, 0.34);
}

@media (max-width: 920px) {
    .service-catalog__grid {
        grid-template-columns: 1fr 1fr;
    }

    .kontur-lead {
        grid-template-columns: 1fr;
    }

    .kontur-quick-cta {
        grid-template-columns: 1fr;
        align-items: start;
    }

    .kontur-quick-cta__actions {
        justify-items: start;
    }
}

@media (max-width: 620px) {
    .page-hero__title {
        font-size: clamp(29px, 8.5vw, 34px);
        line-height: 1.04;
        overflow-wrap: normal;
        word-break: normal;
        hyphens: auto;
    }

    .service-catalog__grid {
        grid-template-columns: 1fr;
    }

    .service-choice {
        padding: 20px;
    }

    .kontur-lead {
        padding: 20px;
        border-radius: 24px;
    }

    .kontur-lead__form {
        min-height: 260px;
        padding: 14px;
    }

    .kontur-quick-cta {
        padding: 21px;
        border-radius: 23px;
    }

    .kontur-quick-cta__actions,
    .kontur-quick-cta__actions .btn,
    .kontur-quick-cta__actions .partner-action {
        width: 100%;
    }

    .decision-table-wrap {
        margin-right: -4px;
        border-radius: 20px;
    }

    .decision-table th,
    .decision-table td {
        padding: 15px 16px;
    }

    .partner-offer__body {
        grid-template-columns: 1fr;
        align-items: start;
    }

    .partner-offer__button {
        width: 100%;
        white-space: normal;
        text-align: center;
    }

    .wz-hero__actions,
    .wz-hero__actions .btn,
    .wz-hero__actions .partner-action {
        width: 100%;
    }
}

/* === Коммерческие страницы роста: индустриальный редакционный стиль === */
.growth-landing {
    --growth-accent: #62d9ff;
    --growth-accent-rgb: 98, 217, 255;
    --growth-warm: #ffb761;
    position: relative;
    isolation: isolate;
}

.growth-landing--regulation { --growth-accent: #57d9ff; --growth-accent-rgb: 87, 217, 255; --growth-warm: #b8ff6a; }
.growth-landing--finance { --growth-accent: #ffbd58; --growth-accent-rgb: 255, 189, 88; --growth-warm: #8af0ce; }
.growth-landing--protection { --growth-accent: #6ee7b7; --growth-accent-rgb: 110, 231, 183; --growth-warm: #71c7ff; }
.growth-landing--fleet { --growth-accent: #ff8658; --growth-accent-rgb: 255, 134, 88; --growth-warm: #ffd166; }
.growth-landing--system { --growth-accent: #7da7ff; --growth-accent-rgb: 125, 167, 255; --growth-warm: #8af0ce; }
.growth-landing--taxi { --growth-accent: #ffd84d; --growth-accent-rgb: 255, 216, 77; --growth-warm: #ff8658; }

.growth-hero {
    padding: 28px 0 32px;
}

.growth-hero__panel {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(330px, .65fr);
    gap: clamp(34px, 5vw, 78px);
    align-items: stretch;
    min-height: 560px;
    padding: clamp(34px, 5.5vw, 78px);
    overflow: hidden;
    border: 1px solid rgba(var(--growth-accent-rgb), .22);
    border-radius: 38px;
    background:
        linear-gradient(90deg, rgba(var(--growth-accent-rgb), .055) 1px, transparent 1px),
        linear-gradient(rgba(var(--growth-accent-rgb), .045) 1px, transparent 1px),
        radial-gradient(circle at 82% 14%, rgba(var(--growth-accent-rgb), .17), transparent 28%),
        linear-gradient(145deg, rgba(17, 24, 43, .98), rgba(8, 12, 24, .99));
    background-size: 58px 58px, 58px 58px, auto, auto;
    box-shadow: 0 34px 90px rgba(2, 5, 14, .52), inset 0 1px 0 rgba(255, 255, 255, .05);
}

.growth-hero__panel::before {
    content: "";
    position: absolute;
    left: 0;
    top: 58px;
    width: 4px;
    height: 170px;
    border-radius: 0 8px 8px 0;
    background: linear-gradient(180deg, var(--growth-accent), transparent);
    box-shadow: 0 0 32px rgba(var(--growth-accent-rgb), .55);
}

.growth-hero__route {
    position: absolute;
    right: 34px;
    top: 28px;
    display: flex;
    align-items: center;
    gap: 8px;
    opacity: .8;
}

.growth-hero__route::before {
    content: "";
    position: absolute;
    right: 8px;
    width: 88px;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(var(--growth-accent-rgb), .58));
}

.growth-hero__route span {
    position: relative;
    z-index: 1;
    width: 7px;
    height: 7px;
    border: 1px solid rgba(var(--growth-accent-rgb), .7);
    border-radius: 50%;
    background: #111827;
}

.growth-hero__route span:last-child {
    background: var(--growth-accent);
    box-shadow: 0 0 18px rgba(var(--growth-accent-rgb), .75);
}

.growth-hero__copy {
    position: relative;
    z-index: 1;
    align-self: center;
}

.growth-hero__eyebrow,
.growth-brief__eyebrow,
.growth-section-head > span,
.growth-action__eyebrow,
.growth-sources__panel > div:first-child > span {
    color: var(--growth-accent);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .095em;
    text-transform: uppercase;
}

.growth-hero__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 24px;
}

.growth-hero__eyebrow svg {
    flex: 0 0 auto;
}

.growth-hero__title {
    max-width: 880px;
    margin: 0;
    font-family: "Onest", sans-serif;
    font-size: clamp(46px, 5.1vw, 76px);
    line-height: .98;
    letter-spacing: -.058em;
    text-wrap: balance;
}

.growth-hero__lead {
    max-width: 830px;
    margin: 26px 0 0;
    color: #d5dced;
    font-size: clamp(17px, 1.55vw, 21px);
    line-height: 1.62;
}

.growth-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 32px;
}

.growth-hero__actions .btn--primary,
.growth-action__buttons .btn--primary {
    color: #081018;
    border-color: transparent;
    background: var(--growth-accent);
    box-shadow: 0 14px 34px rgba(var(--growth-accent-rgb), .2);
}

.growth-hero__actions .btn--primary:hover,
.growth-action__buttons .btn--primary:hover {
    color: #081018;
    background: color-mix(in srgb, var(--growth-accent) 86%, white);
    transform: translateY(-2px);
}

.growth-brief {
    position: relative;
    z-index: 1;
    align-self: center;
    padding: 26px;
    border: 1px solid rgba(255, 255, 255, .11);
    border-radius: 26px;
    background: rgba(7, 11, 21, .78);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .05), 0 24px 50px rgba(0, 0, 0, .22);
    backdrop-filter: blur(14px);
}

.growth-brief__title {
    margin: 11px 0 20px;
    font-family: "Onest", sans-serif;
    font-size: clamp(22px, 2.2vw, 30px);
    line-height: 1.12;
    letter-spacing: -.035em;
}

.growth-brief__list {
    display: grid;
    gap: 1px;
    margin: 0;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 18px;
    background: rgba(255, 255, 255, .08);
}

.growth-brief__item {
    display: grid;
    grid-template-columns: minmax(80px, .7fr) minmax(110px, 1fr);
    gap: 4px 12px;
    padding: 15px 16px;
    background: rgba(13, 19, 35, .94);
}

.growth-brief__item dt {
    color: #9fa9c2;
    font-size: 12px;
    font-weight: 700;
}

.growth-brief__item dd {
    margin: 0;
    color: #fff;
    font-family: "Onest", sans-serif;
    font-size: 15px;
    font-weight: 750;
    text-align: right;
}

.growth-brief__item > span {
    grid-column: 1 / -1;
    color: #7f8aa6;
    font-size: 11px;
    line-height: 1.4;
}

.growth-brief__note {
    margin: 18px 2px 0;
    color: #b7c0d4;
    font-size: 13px;
    line-height: 1.55;
}

.growth-section-head {
    max-width: 950px;
    margin-bottom: 28px;
}

.growth-section-head--compact {
    max-width: 820px;
}

.growth-section-head h2,
.growth-action__panel h2,
.growth-sources__panel h2 {
    margin: 10px 0 0;
    font-family: "Onest", sans-serif;
    font-size: clamp(32px, 4.2vw, 54px);
    line-height: 1.02;
    letter-spacing: -.052em;
    text-wrap: balance;
}

.growth-section-head p {
    max-width: 800px;
    margin: 15px 0 0;
    color: var(--muted);
    font-size: 17px;
    line-height: 1.65;
}

.growth-steps__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.growth-step {
    position: relative;
    min-height: 310px;
    padding: 24px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .09);
    border-radius: 24px;
    background:
        linear-gradient(160deg, rgba(var(--growth-accent-rgb), .08), transparent 46%),
        rgba(15, 21, 37, .9);
    transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}

.growth-step:hover {
    transform: translateY(-4px);
    border-color: rgba(var(--growth-accent-rgb), .3);
    box-shadow: 0 22px 50px rgba(2, 6, 17, .3);
}

.growth-step__index {
    position: absolute;
    right: 16px;
    top: 7px;
    color: rgba(var(--growth-accent-rgb), .12);
    font-family: "Onest", sans-serif;
    font-size: 72px;
    font-weight: 800;
    line-height: 1;
    letter-spacing: -.08em;
}

.growth-step__tag,
.growth-fit-card__tag {
    position: relative;
    z-index: 1;
    display: inline-flex;
    padding: 7px 10px;
    border: 1px solid rgba(var(--growth-accent-rgb), .2);
    border-radius: 999px;
    color: var(--growth-accent);
    background: rgba(var(--growth-accent-rgb), .075);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .045em;
    text-transform: uppercase;
}

.growth-step h3,
.growth-fit-card h3 {
    position: relative;
    z-index: 1;
    margin: 44px 0 12px;
    font-family: "Onest", sans-serif;
    font-size: 23px;
    line-height: 1.12;
    letter-spacing: -.035em;
}

.growth-step p,
.growth-fit-card p {
    position: relative;
    z-index: 1;
    margin: 0;
    color: #b9c2d7;
    font-size: 14px;
    line-height: 1.62;
}

.growth-step > a,
.growth-detail__body > a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 20px;
    color: var(--growth-accent);
    font-size: 13px;
    font-weight: 750;
}

.growth-fit__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.growth-fit-card {
    padding: clamp(24px, 3vw, 34px);
    border: 1px solid rgba(255, 255, 255, .09);
    border-radius: 28px;
    background:
        radial-gradient(circle at 100% 0%, rgba(var(--growth-accent-rgb), .12), transparent 32%),
        linear-gradient(180deg, rgba(30, 39, 64, .9), rgba(15, 21, 37, .92));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .04);
}

.growth-fit-card__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
}

.growth-fit-card__icon {
    width: 46px;
    height: 46px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(var(--growth-accent-rgb), .22);
    border-radius: 15px;
    color: var(--growth-accent);
    background: rgba(var(--growth-accent-rgb), .08);
}

.growth-fit-card h3 {
    margin-top: 28px;
    font-size: 25px;
}

.growth-fit-card ul,
.growth-detail__body ul {
    display: grid;
    gap: 10px;
    margin: 22px 0 0;
    padding: 0;
    list-style: none;
}

.growth-fit-card li,
.growth-detail__body li {
    position: relative;
    padding-left: 20px;
    color: #d1d8e8;
    font-size: 13px;
    line-height: 1.5;
}

.growth-fit-card li::before,
.growth-detail__body li::before {
    content: "";
    position: absolute;
    left: 0;
    top: .55em;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--growth-accent);
    box-shadow: 0 0 12px rgba(var(--growth-accent-rgb), .45);
}

.growth-landing .decision-comparison__head h2,
.growth-landing .faq-heading,
.growth-landing .related-heading h2 {
    font-family: "Onest", sans-serif;
}

.growth-landing .decision-table thead th {
    color: var(--growth-accent);
    background: rgba(var(--growth-accent-rgb), .09);
}

.growth-action__panel {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 34px;
    align-items: center;
    padding: clamp(30px, 5vw, 58px);
    overflow: hidden;
    border: 1px solid rgba(var(--growth-accent-rgb), .25);
    border-radius: 32px;
    background:
        radial-gradient(circle at 90% 10%, rgba(var(--growth-accent-rgb), .2), transparent 32%),
        linear-gradient(120deg, rgba(var(--growth-accent-rgb), .1), rgba(18, 24, 42, .96) 42%);
}

.growth-action__panel::after {
    content: "";
    position: absolute;
    right: -70px;
    bottom: -85px;
    width: 260px;
    height: 260px;
    border: 1px solid rgba(var(--growth-accent-rgb), .2);
    border-radius: 50%;
    box-shadow: inset 0 0 0 34px rgba(var(--growth-accent-rgb), .025), inset 0 0 0 70px rgba(var(--growth-accent-rgb), .025);
}

.growth-action__panel > * {
    position: relative;
    z-index: 1;
}

.growth-action__panel h2 {
    max-width: 870px;
    font-size: clamp(30px, 3.8vw, 48px);
}

.growth-action__panel p {
    max-width: 800px;
    margin: 15px 0 0;
    color: #c7cede;
    font-size: 16px;
    line-height: 1.65;
}

.growth-action__buttons {
    display: grid;
    gap: 10px;
    min-width: 250px;
}

.growth-details__list {
    display: grid;
    gap: 10px;
}

.growth-detail {
    border: 1px solid rgba(255, 255, 255, .09);
    border-radius: 22px;
    background: rgba(18, 24, 41, .88);
    transition: border-color .2s ease, background .2s ease;
}

.growth-detail[open] {
    border-color: rgba(var(--growth-accent-rgb), .25);
    background: linear-gradient(135deg, rgba(var(--growth-accent-rgb), .07), rgba(18, 24, 41, .94) 38%);
}

.growth-detail summary {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr) 20px;
    gap: 14px;
    align-items: center;
    padding: 18px 22px;
    cursor: pointer;
    list-style: none;
    font-family: "Onest", sans-serif;
    font-size: 18px;
    font-weight: 720;
}

.growth-detail summary::-webkit-details-marker { display: none; }

.growth-detail summary:focus-visible {
    outline: 2px solid var(--growth-accent);
    outline-offset: 3px;
}

.growth-detail summary > svg {
    color: var(--muted-soft);
    transition: transform .2s ease;
}

.growth-detail[open] summary > svg {
    color: var(--growth-accent);
    transform: rotate(90deg);
}

.growth-detail__icon {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border-radius: 13px;
    color: var(--growth-accent);
    background: rgba(var(--growth-accent-rgb), .09);
}

.growth-detail__body {
    padding: 0 24px 24px 80px;
}

.growth-detail__body p {
    max-width: 920px;
    margin: 0;
    color: #c3cadb;
    font-size: 15px;
    line-height: 1.7;
}

.growth-detail__body ul {
    max-width: 900px;
}

.growth-sources__panel {
    display: grid;
    grid-template-columns: minmax(250px, .7fr) minmax(0, 1.3fr);
    gap: 30px;
    align-items: start;
    padding: clamp(26px, 4vw, 42px);
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 28px;
    background: rgba(15, 21, 37, .78);
}

.growth-sources__panel h2 {
    font-size: clamp(26px, 3vw, 38px);
}

.growth-sources__links {
    display: grid;
    gap: 9px;
}

.growth-sources__links a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 15px 17px;
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 15px;
    color: #dce3f2;
    background: rgba(255, 255, 255, .035);
    font-size: 13px;
    font-weight: 650;
    transition: .2s ease;
}

.growth-sources__links a:hover {
    color: var(--growth-accent);
    border-color: rgba(var(--growth-accent-rgb), .28);
    background: rgba(var(--growth-accent-rgb), .065);
}

body.theme-light .growth-hero__panel {
    color: #111827;
    border-color: rgba(var(--growth-accent-rgb), .42);
    background:
        linear-gradient(90deg, rgba(var(--growth-accent-rgb), .08) 1px, transparent 1px),
        linear-gradient(rgba(var(--growth-accent-rgb), .07) 1px, transparent 1px),
        radial-gradient(circle at 82% 14%, rgba(var(--growth-accent-rgb), .2), transparent 28%),
        linear-gradient(145deg, #fbfdff, #eef3fa);
    background-size: 58px 58px, 58px 58px, auto, auto;
    box-shadow: 0 24px 64px rgba(37, 53, 82, .13), inset 0 1px 0 #fff;
}

body.theme-light .growth-hero__lead,
body.theme-light .growth-section-head p,
body.theme-light .growth-action__panel p,
body.theme-light .growth-detail__body p,
body.theme-light .growth-step p,
body.theme-light .growth-fit-card p {
    color: #526078;
}

body.theme-light .growth-brief {
    color: #111827;
    border-color: rgba(15, 23, 42, .09);
    background: rgba(255, 255, 255, .86);
    box-shadow: 0 20px 45px rgba(51, 65, 85, .1);
}

body.theme-light .growth-brief__list {
    border-color: rgba(15, 23, 42, .08);
    background: rgba(15, 23, 42, .08);
}

body.theme-light .growth-brief__item { background: rgba(255, 255, 255, .96); }
body.theme-light .growth-brief__item dd { color: #111827; }
body.theme-light .growth-brief__note { color: #5f6c83; }

body.theme-light .growth-step,
body.theme-light .growth-fit-card,
body.theme-light .growth-detail,
body.theme-light .growth-sources__panel {
    color: #162033;
    border-color: rgba(15, 23, 42, .09);
    background: linear-gradient(160deg, rgba(var(--growth-accent-rgb), .09), #fff 48%);
    box-shadow: 0 16px 40px rgba(51, 65, 85, .07);
}

body.theme-light .growth-fit-card li,
body.theme-light .growth-detail__body li { color: #45536b; }

body.theme-light .growth-action__panel {
    color: #162033;
    border-color: rgba(var(--growth-accent-rgb), .38);
    background: linear-gradient(120deg, rgba(var(--growth-accent-rgb), .18), #fff 45%);
}

body.theme-light .growth-sources__links a {
    color: #354258;
    border-color: rgba(15, 23, 42, .08);
    background: rgba(248, 250, 252, .9);
}

@media (max-width: 1120px) {
    .growth-hero__panel {
        grid-template-columns: minmax(0, 1.1fr) minmax(300px, .7fr);
        padding: 46px;
    }

    .growth-steps__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .growth-step {
        min-height: 270px;
    }
}

@media (max-width: 860px) {
    .growth-hero__panel,
    .growth-action__panel,
    .growth-sources__panel {
        grid-template-columns: 1fr;
    }

    .growth-hero__panel {
        min-height: 0;
        padding: 38px;
    }

    .growth-hero__title {
        font-size: clamp(42px, 8vw, 62px);
    }

    .growth-brief {
        width: 100%;
    }

    .growth-fit__grid {
        grid-template-columns: 1fr;
    }

    .growth-action__buttons {
        display: flex;
        flex-wrap: wrap;
    }
}

@media (max-width: 620px) {
    .growth-hero {
        padding-top: 16px;
    }

    .growth-hero__panel {
        gap: 28px;
        padding: 28px 22px 22px;
        border-radius: 27px;
        background-size: 42px 42px, 42px 42px, auto, auto;
    }

    .growth-hero__panel::before {
        top: 36px;
        height: 120px;
    }

    .growth-hero__route {
        right: 20px;
        top: 18px;
    }

    .growth-hero__eyebrow {
        max-width: calc(100% - 58px);
        margin-bottom: 18px;
        font-size: 10px;
        line-height: 1.4;
    }

    .growth-hero__title {
        font-size: clamp(34px, 10.2vw, 43px);
        line-height: 1.02;
        overflow-wrap: break-word;
        hyphens: auto;
    }

    .growth-hero__lead {
        margin-top: 20px;
        font-size: 16px;
        line-height: 1.56;
    }

    .growth-hero__actions,
    .growth-hero__actions .btn,
    .growth-action__buttons,
    .growth-action__buttons .btn {
        width: 100%;
    }

    .growth-brief {
        padding: 19px;
        border-radius: 21px;
    }

    .growth-brief__item {
        grid-template-columns: 1fr;
    }

    .growth-brief__item dd {
        text-align: left;
    }

    .growth-steps__grid {
        grid-template-columns: 1fr;
    }

    .growth-step {
        min-height: 0;
        padding: 21px;
    }

    .growth-step h3 {
        margin-top: 36px;
    }

    .growth-fit-card {
        padding: 22px;
        border-radius: 23px;
    }

    .growth-action__panel {
        gap: 24px;
        padding: 26px 22px;
        border-radius: 25px;
    }

    .growth-detail summary {
        grid-template-columns: 38px minmax(0, 1fr) 18px;
        gap: 11px;
        padding: 16px;
        font-size: 16px;
    }

    .growth-detail__icon {
        width: 38px;
        height: 38px;
    }

    .growth-detail__body {
        padding: 0 18px 20px;
    }

    .growth-sources__panel {
        padding: 22px;
        border-radius: 23px;
    }

    .growth-sources__links a {
        padding: 13px 14px;
    }
}

/* Приоритетные исправления после компонентных стилей */
.breadcrumb {
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: none;
}

.breadcrumb::-webkit-scrollbar { display: none; }

.btn--orange {
    color: #fff;
    background-color: #c2410c;
    box-shadow: 0 4px 15px rgba(194, 65, 12, .3);
}

.btn--orange:hover,
.btn--orange:focus-visible {
    background-color: #9a3412;
    box-shadow: 0 6px 20px rgba(154, 52, 18, .35);
}

.site-footer__copy {
    color: rgba(255, 255, 255, .66);
}

.site-footer__ad-note {
    color: rgba(255, 255, 255, .62);
    font-size: 12px;
}

body.theme-light .site-footer__copy { color: #5b6472; }
body.theme-light .site-footer__ad-note { color: #626b78; }

/* Light theme contrast safeguards */
body.theme-light :where(input, textarea)::placeholder {
    color: var(--placeholder);
    opacity: 1;
}

body.theme-light .service-tool__form,
body.theme-light .service-tool__result {
    border-color: rgba(15, 23, 42, 0.10);
    background: linear-gradient(180deg, #ffffff, #f8fafc);
    box-shadow: inset 0 1px 0 #ffffff;
}

body.theme-light .service-tool__form .form-section,
body.theme-light .service-tool__form .form-section:first-child {
    border-color: rgba(15, 23, 42, 0.10);
    background:
        radial-gradient(circle at 100% 0%, rgba(121, 184, 255, 0.08), transparent 34%),
        linear-gradient(180deg, #ffffff, #f8fafc);
    box-shadow: 0 14px 34px rgba(15, 23, 42, 0.07);
}

body.theme-light .service-tool__eyebrow {
    color: #5b21b6;
    background: #ede9fe;
    border-color: #c4b5fd;
}

body.theme-light .service-tool__form .form-section__index {
    color: #ffffff;
    background: linear-gradient(135deg, #5b21b6, #9a3412);
    border-color: transparent;
}

body.theme-light .field__control::placeholder {
    color: var(--placeholder);
    opacity: 1;
}

body.theme-light .growth-brief__item dt,
body.theme-light .growth-brief__item > span {
    color: #475569;
}

body.theme-light .info-card__icon,
body.theme-light .reference-topic__icon,
body.theme-light .qa-category-card__icon,
body.theme-light .qa-tool-card__icon,
body.theme-light .qa-item__number,
body.theme-light .feature-card__icon {
    color: #5b21b6;
    background: linear-gradient(145deg, #ede9fe, #dbeafe);
    border-color: #c4b5fd;
}

body.theme-light .field__label,
body.theme-light .roads-route-picker__field > span,
body.theme-light .service-tool__stat strong,
body.theme-light .service-status,
body.theme-light .route-index__title,
body.theme-light .route-index-card__title,
body.theme-light .route-index-card__facts dd,
body.theme-light .city-index__title,
body.theme-light .city-index__name,
body.theme-light .sitemap-group__title {
    color: var(--text);
}

body.theme-light .form-section__description,
body.theme-light .service-tool__lead,
body.theme-light .service-tool__result-head p,
body.theme-light .service-tool__stat span,
body.theme-light .service-result-card span,
body.theme-light .service-output__body,
body.theme-light .service-output__placeholder,
body.theme-light .service-checklist li,
body.theme-light .route-index__lead,
body.theme-light .city-index__lead,
body.theme-light .info-card__text,
body.theme-light .reference-topic__text,
body.theme-light .simple-copy,
body.theme-light .empty-state {
    color: var(--muted);
}

body.theme-light .route-index-card__facts dt,
body.theme-light .route-index-card__text,
body.theme-light .route-index-card__hint,
body.theme-light .city-index__eyebrow,
body.theme-light .city-index__region {
    color: var(--muted-soft);
}

body.theme-light .qa-chip {
    color: #475569;
}

body.theme-light .qa-related__head > span {
    color: #9a3412;
}

body.theme-light .qa-item__icon {
    color: #475569;
    background: #f1f5f9;
    border-color: #cbd5e1;
}

body.theme-light .qa-item[open] .qa-item__icon {
    color: #7c2d12;
    background: #ffedd5;
    border-color: #fed7aa;
}

body.theme-light .related-heading p,
body.theme-light .related-card__desc {
    color: #526078;
}

body.theme-light .related-card__arrow {
    color: #475569;
}

body.theme-light .capabilities__eyebrow,
body.theme-light .howto__eyebrow {
    color: #6d28d9;
}

body.theme-light .site-footer__link-current {
    color: #475569;
    background: rgba(15, 23, 42, 0.04);
    border-color: rgba(15, 23, 42, 0.10);
}

body.theme-light .site-footer__copy,
body.theme-light .site-footer__ad-note {
    color: #475569;
}

body.theme-light .wz-hero__lead-more {
    color: #5b21b6;
}

body.theme-light .wz__step,
body.theme-light .wz__panel-desc,
body.theme-light .wz__label,
body.theme-light .wz__counter {
    color: #475569;
}

body.theme-light .wz__step-num {
    color: #334155;
}

body.theme-light .wz__step.is-done,
body.theme-light .wz__step.is-done .wz__step-num,
body.theme-light .wz__counter svg,
body.theme-light .wz__counter strong,
body.theme-light .wz__inn-hint--ok {
    color: var(--state-success);
}

body.theme-light .wz__req,
body.theme-light .wz__inn-hint--err {
    color: var(--state-danger);
}

body.theme-light .wz__input::placeholder {
    color: var(--placeholder);
    opacity: 1;
}

body.theme-light .wz__select-arrow,
body.theme-light .wz__dialog-close,
body.theme-light .wz__ab-empty,
body.theme-light .wz-dp__wd,
body.theme-light .wz-dp__day--other {
    color: #475569;
}

body.theme-light .growth-landing {
    --growth-accent-text: #075985;
}

body.theme-light .growth-landing--regulation { --growth-accent-text: #075985; }
body.theme-light .growth-landing--finance { --growth-accent-text: #92400e; }
body.theme-light .growth-landing--protection { --growth-accent-text: #047857; }
body.theme-light .growth-landing--fleet { --growth-accent-text: #9a3412; }
body.theme-light .growth-landing--system { --growth-accent-text: #4338ca; }
body.theme-light .growth-landing--taxi { --growth-accent-text: #854d0e; }

body.theme-light .growth-hero__eyebrow,
body.theme-light .growth-brief__eyebrow,
body.theme-light .growth-section-head > span,
body.theme-light .growth-action__eyebrow,
body.theme-light .growth-sources__panel > div:first-child > span,
body.theme-light .growth-step__tag,
body.theme-light .growth-fit-card__tag,
body.theme-light .growth-step > a,
body.theme-light .growth-detail__body > a,
body.theme-light .growth-detail__icon,
body.theme-light .growth-fit-card__icon,
body.theme-light .growth-detail[open] summary > svg {
    color: var(--growth-accent-text);
}

body.theme-light .growth-detail summary:focus-visible {
    outline-color: var(--growth-accent-text);
}

body.theme-light .capabilities__title-gradient,
body.theme-light .advantages__title-gradient,
body.theme-light .howto__title-gradient,
body.theme-light .home-faq__title-gradient {
    background-image: linear-gradient(135deg, #5b21b6, #4338ca);
}

body.theme-light .content-page__title {
    background-image: linear-gradient(135deg, #5b21b6, #6d28d9);
}

body.theme-light .site-footer__email {
    color: #6d28d9;
}

body.theme-light .kontur-lead__form .skb-order-form__label,
body.theme-light .kontur-lead__form .skb-comment-terms-of-use,
body.theme-light .kontur-lead__form .skb-comment-terms-of-use a,
body.theme-light .kontur-lead__form #FocusLink {
    color: #475569 !important;
}

body.theme-light .kontur-lead__form .skb-comment-terms-of-use a,
body.theme-light .kontur-lead__form #FocusLink {
    color: #5b21b6 !important;
}

body.theme-light .kontur-lead__form [id^="OrderForm_"]::placeholder {
    color: #526078 !important;
    opacity: 1 !important;
}

body.theme-light .kontur-lead__form :is(
    input:not([type]),
    input[type="text"],
    input[type="email"],
    input[type="tel"],
    input[type="search"],
    input[type="number"],
    textarea,
    select
) {
    color: #172033 !important;
    background-color: #ffffff !important;
    border-color: #7c899b !important;
}

body.theme-light .kontur-lead__form :is(
    input:not([type]),
    input[type="text"],
    input[type="email"],
    input[type="tel"],
    input[type="search"],
    input[type="number"],
    textarea,
    select
):focus {
    border-color: #6d28d9 !important;
    box-shadow: 0 0 0 3px rgba(109, 40, 217, 0.16) !important;
    outline: none !important;
}

body.theme-light .kontur-lead__form .button.button_size-large {
    color: #ffffff !important;
    background: #6d28d9 !important;
    border-color: #6d28d9 !important;
}

body.theme-light .kontur-lead__form .button.button_size-large:hover,
body.theme-light .kontur-lead__form .button.button_size-large:focus-visible {
    background: #5b21b6 !important;
    border-color: #5b21b6 !important;
}

body.theme-light .page-hero__eyebrow {
    color: #5b21b6;
    background: #ede9fe;
    border-color: #c4b5fd;
}

body.theme-light .summary-card__label,
body.theme-light .result-card__label,
body.theme-light .service-output__fact-label {
    color: #475569;
}

body.theme-light .field__control,
body.theme-light .field-select__button,
body.theme-light .wz__input,
body.theme-light .qa-search-field input {
    border-color: #7c899b;
}

body.theme-light .btn--ghost {
    color: #273247;
    background: #f1f5f9;
    border-color: #7c899b;
}

.btn:focus-visible {
    outline: 3px solid #8b5cf6;
    outline-offset: 3px;
}

body.theme-light .btn--ghost:hover,
body.theme-light .btn--ghost:focus-visible {
    color: #111827;
    background: #ede9fe;
    border-color: #6d28d9;
}

body.theme-light .kontur-quick-cta__form-button {
    color: #4c1d95;
    background: #ede9fe;
    border-color: #7c3aed;
}

body.theme-light .kontur-quick-cta__form-button:hover,
body.theme-light .kontur-quick-cta__form-button:focus-visible {
    color: #3b0764;
    background: #ddd6fe;
    border-color: #5b21b6;
}

body.theme-light .btn:disabled {
    color: #475569;
    background: #e2e8f0;
    border-color: #94a3b8;
    opacity: 1;
}

body.theme-light .floating-btn--top {
    color: #ffffff;
    background: #c2410c;
    box-shadow: 0 4px 20px rgba(154, 52, 18, 0.30);
}

body.theme-light .feature-card__badge {
    color: #475569;
}

body.theme-light .content-page__subtitle,
body.theme-light .qa-section-head > span {
    color: #475569;
}

body.theme-light .cap-card--vivid {
    background: linear-gradient(135deg, #5b21b6 0%, #6d28d9 52%, #7c3aed 100%);
}

body.theme-light .cap-card--vivid .cap-card__desc,
body.theme-light .cap-card--vivid .cap-card__item span:last-child {
    color: #ffffff;
}

body.theme-light .howto__card--vivid {
    background: linear-gradient(135deg, #5b21b6 0%, #6d28d9 52%, #7c3aed 100%);
}

body.theme-light .howto__card--blue {
    background: linear-gradient(135deg, #1e3a8a 0%, #1e40af 52%, #1d4ed8 100%);
}

body.theme-light .howto__card--vivid .howto__card-text,
body.theme-light .howto__card--blue .howto__card-text,
body.theme-light .howto__card--blue .howto__card-list li {
    color: #ffffff;
}

body.theme-light .error-404__code {
    background: linear-gradient(135deg, #5b21b6 0%, #6d28d9 50%, #7e22ce 100%);
    -webkit-background-clip: text;
    background-clip: text;
}

body.theme-light .error-404__code svg {
    stroke: #6d28d9;
    opacity: 1;
}

@media (max-width: 340px) {
    .home-hero__title {
        font-size: 29px;
        letter-spacing: -.025em;
    }
}

.invoice-copy-source { display: none; }
.invoice-downloads { margin: 22px 0; }
.invoice-downloads h4 { margin: 0 0 8px; font-size: 18px; }
.invoice-downloads p { line-height: 1.55; }
.invoice-downloads .tool-panel__actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 14px; }
.invoice-downloads .btn { flex: 1 1 140px; min-height: 48px; padding: 12px 16px; white-space: normal; }
.invoice-download-status:empty { display: none; }
.invoice-download-status { font-size: 14px; margin: 12px 0 0; overflow-wrap: anywhere; }
.service-tool--invoice .invoice-check-help { color: var(--muted); font-size: 14px; line-height: 1.6; margin: 18px 0 12px; }
.service-tool--invoice .invoice-field-error { display: block; color: #ffb9b9; font-size: 14px; line-height: 1.5; margin-top: 8px; }
.service-tool--invoice [aria-invalid="true"] { border: 2px solid #ef8888; }
.service-tool--invoice [data-invoice-status]:not(:empty) { padding: 14px; border: 1px solid #8996b4; border-radius: 12px; color: #e9edf6; background: #20283b; }
.service-tool--invoice [data-invoice-status][data-state="error"] { border-color: #ef8888; }
.service-tool--invoice [data-invoice-status]:focus, .service-tool--invoice [data-service-status]:focus { outline: 2px solid #bfa4ff; outline-offset: 4px; }
.service-tool--invoice .invoice-file-retry { display: inline-flex; align-items: center; min-height: 44px; padding: 8px 0; color: #d4c5ff; text-decoration: underline; font-weight: 600; }
.service-tool--invoice .invoice-file-retry[hidden] { display: none; }
body.theme-light .service-tool--invoice .invoice-check-help { color: #374151; }
body.theme-light .service-tool--invoice .invoice-field-error { color: #a31324; }
body.theme-light .service-tool--invoice [aria-invalid="true"] { border-color: #b42335; }
body.theme-light .service-tool--invoice [data-invoice-status]:not(:empty) { color: #172033; background: #f1f4fb; border-color: #77839b; }
body.theme-light .service-tool--invoice [data-invoice-status][data-state="error"] { border-color: #b42335; }
body.theme-light .service-tool--invoice [data-invoice-status]:focus, body.theme-light .service-tool--invoice [data-service-status]:focus { outline-color: #6632be; }
body.theme-light .service-tool--invoice .invoice-file-retry { color: #5925a1; }
.invoice-preview { min-width: 0; margin: 20px 0; }
.invoice-sheet { color: #172033; background: #fff; padding: 22px; border: 1px solid #a5afbc; border-radius: 12px; font-size: 14px; line-height: 1.5; }
.invoice-sheet h4 { color: #111827; margin: 0 0 14px; font-size: 20px; line-height: 1.3; overflow-wrap: anywhere; }
.invoice-sheet p, .invoice-sheet strong, .invoice-sheet dt, .invoice-sheet dd { color: #172033; overflow-wrap: anywhere; }
.invoice-sheet p { margin: 10px 0; }
.invoice-sheet table { width: 100%; table-layout: fixed; border-collapse: collapse; margin: 16px 0; }
.invoice-sheet caption { color: #374151; text-align: left; margin-bottom: 8px; }
.invoice-sheet td, .invoice-sheet th { color: #172033; border: 1px solid #a5afbc; padding: 8px; overflow-wrap: anywhere; vertical-align: top; }
.invoice-sheet th { background: #f1f5f9; text-align: left; }
.invoice-sheet th:first-child { width: 28px; padding: 8px 4px; text-align: center; }
.invoice-sheet th:last-child { width: 116px; }
.invoice-sheet__number { text-align: right; font-variant-numeric: tabular-nums; }
.invoice-sheet dl { margin: 16px 0; }
.invoice-sheet dl > div { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 10px; margin: 8px 0; }
.invoice-sheet dd { margin: 0; text-align: right; font-variant-numeric: tabular-nums; }
.invoice-sheet dl > div:last-child { font-weight: 700; }
body.theme-light .invoice-downloads p { color: #374151; }
body.theme-light .invoice-downloads h4 { color: #172033; }
@media (max-width: 600px) {
    .invoice-sheet { padding: 14px; font-size: 13px; }
    .invoice-sheet h4 { font-size: 18px; }
    .invoice-sheet th:last-child { width: 86px; }
    .invoice-sheet td, .invoice-sheet th { padding: 6px; }
    .invoice-sheet th:first-child { width: 22px; padding: 6px 2px; }
}
@media (max-width: 360px) {
    .service-tool--invoice .service-result-grid { grid-template-columns: minmax(0, 1fr); }
}

/* Document check and reset feedback. */
.document-field-error {display:block;margin-top:8px;color:#ffb9b9;font-size:14px;line-height:1.5}
.document-check-help {font-size:14px;line-height:1.6;margin:18px 0;color:var(--text-muted,#aeb9cb)}
.document-feedback[hidden]{display:none}
.service-tool [aria-invalid="true"],form[data-doc-form] [aria-invalid="true"]{border:2px solid #ef8888}
body.theme-light .document-field-error{color:#a31324}
body.theme-light .document-check-help{color:#46576b}
body.theme-light .service-tool [aria-invalid="true"],body.theme-light form[data-doc-form] [aria-invalid="true"]{border-color:#b42335}
[data-service-result]:focus-visible,[data-document-check-result]:focus-visible{outline:2px solid #b979ff;outline-offset:4px}

.service-tool [data-service-result][hidden]{display:none!important}

/* Power of attorney: one full-width workspace, with the result below the form. */
body .service-tool[data-service-tool] .service-tool__head,
body .service-tool[data-service-tool] .service-tool__layout {
    grid-template-columns: minmax(0, 1fr);
    width: 100%;
    max-width: 1160px;
    margin-inline: auto;
}
.service-tool .service-tool__head { gap: 22px; }
.service-tool .service-tool__lead { max-width: 960px; }
.service-tool .service-tool__stats { gap: 12px; }
.service-tool .service-tool__stat { min-height: 80px; padding: 16px 20px; }
.service-tool .service-tool__stat strong { line-height: 1.35; overflow-wrap: normal; word-break: normal; }
body .service-tool[data-service-tool] .service-tool__result { position: static; }
.field__select-wrap.is-enhanced > select { display: none !important; }
.wz__select-wrap.is-enhanced > .wz__select-arrow { display: none; }
.pc-sort .field__select-wrap { min-width: 230px; }
.pc-sort .field-select__button { min-height: 46px; font-size: 13px; }
.field-select__button:disabled { opacity: .55; cursor: not-allowed; }
.field-time { display: grid; grid-template-columns: minmax(0, 1fr) 54px; gap: 8px; }
.field-time__button { border: 1px solid var(--stroke); border-radius: 16px; background: var(--bg-panel); color: var(--text); cursor: pointer; font-size: 23px; }
.field-time__button:focus-visible { outline: 2px solid #b979ff; outline-offset: 3px; }
.field-time__dialog { padding: 18px; }
.field-time__dialog h3 { margin: 0 0 16px; font-size: 18px; }
.field-time__inputs { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.field-time__inputs label { display: grid; gap: 8px; font-size: 14px; }
.field-time__inputs input { width: 100%; min-width: 0; min-height: 48px; padding: 10px; border-radius: 12px; border: 1px solid var(--stroke); background: var(--bg-panel); color: var(--text); font-size: 20px; }
.field-time__actions { display: flex; gap: 10px; margin-top: 16px; }
.field-time__actions .btn { flex: 1; min-height: 44px; padding: 10px; }
body.theme-light .field__control { background: #fff; color: #172033; border-color: #cbd3df; }
body.theme-light .field__control::placeholder { color: #526078; opacity: 1; }
body.theme-light .field-date__button,
body.theme-light .field-date__button.has-value { color: #334155; background: linear-gradient(180deg, #fff, #f8fafc); }
body.theme-light .service-tool .btn--ghost { color: #334155; background: #fff; border-color: #cbd3df; }
@media (max-width: 600px) {
    .service-tool .service-tool__stats { grid-template-columns: minmax(0, 1fr); gap: 8px; }
    .service-tool .service-tool__stat { min-height: 0; display: flex; align-items: baseline; justify-content: space-between; gap: 14px; padding: 12px 16px; }
    .service-tool .service-tool__stat strong { margin: 0; text-align: right; font-size: 15px; }
    .service-tool .service-tool__stat span { flex-shrink: 0; font-size: 10px; }
    .pc-sort { width: 100%; }
    .pc-sort .field__select-wrap { flex: 1; min-width: 0; }
}
.service-tool--power .service-tool__head,
.service-tool--power .service-tool__layout {
    grid-template-columns: minmax(0, 1fr);
    max-width: 1160px;
    margin-inline: auto;
}
.service-tool--power .service-tool__head { gap: 22px; }
.service-tool--power .service-tool__lead { max-width: 900px; }
.service-tool--power .service-tool__stats { gap: 12px; }
.service-tool--power .service-tool__stat {
    min-height: 88px;
    padding: 18px 22px;
    border-radius: 18px;
    border-top-color: rgba(182, 147, 246, .5);
}
.service-tool--power .service-tool__stat strong {
    font-size: clamp(16px, 1.4vw, 20px);
    line-height: 1.35;
    overflow-wrap: normal;
}
.service-tool--power .service-tool__form,
.service-tool--power .service-tool__result { min-width: 0; }
.service-tool--power .service-tool__result { position: static; }
.service-tool--power .service-tool__form .form-section { padding: 26px; }
.service-tool--power .form-section__head { margin-bottom: 24px; }
.service-tool--power .form-section__description { max-width: 780px; }
.service-tool--power .form-section:first-child .field--text { grid-column: auto; }
.service-tool--power .form-section:nth-child(3) .form-grid {
    grid-template-columns: minmax(0, 1.5fr) repeat(2, minmax(0, 1fr));
}
.service-tool--power .document-check-help { max-width: 850px; }
.service-tool--power .tool-panel__actions { justify-content: flex-start; gap: 12px; }
.service-tool--power .service-output { max-width: 100%; }
@media (max-width: 900px) {
    .service-tool--power .form-section:nth-child(3) .form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .service-tool--power .form-section:nth-child(3) .field--select { grid-column: 1 / -1; }
    .service-tool--power .service-tool__stat { padding: 16px; }
}
@media (max-width: 600px) {
    .service-tool--power .service-tool__stats { grid-template-columns: minmax(0, 1fr); gap: 8px; }
    .service-tool--power .service-tool__stat { min-height: 0; display: flex; align-items: baseline; justify-content: space-between; gap: 14px; padding: 12px 16px; }
    .service-tool--power .service-tool__stat strong { margin: 0; text-align: right; font-size: 15px; }
    .service-tool--power .service-tool__stat span { flex-shrink: 0; font-size: 10px; }
    .service-tool--power .service-tool__form,
    .service-tool--power .service-tool__result { padding: 14px; }
    .service-tool--power .service-tool__form .form-section { padding: 18px 14px; }
    .service-tool--power .form-section__head { margin-bottom: 20px; }
    .service-tool--power .form-grid,
    .service-tool--power .form-section:nth-child(3) .form-grid { grid-template-columns: minmax(0, 1fr); }
}
