/* ==========================================================================
   База знаний — дизайн-система 2026 (перенос согласованного прототипа
   redesign-2026/03-article.html).

   Бумажный фон, чернильный текст, тёмно-зелёный акцент и кислотный лайм для
   действий. Гротеск для чтения, моноширинный — для служебных подписей.

   Страницы раздела грузят ТОЛЬКО этот файл: старая тёмная тема здесь не
   участвует, поэтому все нужные базовые правила заданы явно.
   ========================================================================== */

:root {
    --paper: #EDEDEA;
    --ink: #08090B;
    --soft: #4E525A;
    --green: #0F3628;
    --lit: #1B5C44;
    --acid: #C8F53F;
    --grotesk: system-ui, -apple-system, "Segoe UI Variable Display", "Segoe UI", Roboto, sans-serif;
    --mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;
    --gut: clamp(1rem, 3.5vw, 3.5rem);
    --col: 68ch;
    --max: 1280px;
}

@media (min-width: 1500px) {
    :root { --col: 72ch; --max: 1400px; }
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }

body.kb2026 {
    margin: 0;
    background: var(--paper);
    color: var(--ink);
    font-family: var(--grotesk);
    font-size: 18px;
    line-height: 1.68;
    -webkit-font-smoothing: antialiased;
    overflow-x: hidden;
}

body.kb2026 ::selection { background: var(--acid); color: var(--ink); }
body.kb2026 a { color: inherit; }
body.kb2026 img { max-width: 100%; height: auto; }

/* прогресс чтения */
#kbProg {
    position: fixed;
    top: 0; left: 0;
    z-index: 50;
    width: 0;
    height: 2px;
    background: var(--green);
}

/* ── верхняя строка навигации ── */
.bar {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: clamp(.75rem, 2vw, 2rem);
    width: 100%;
    max-width: var(--max);
    margin: 0 auto;
    padding: var(--gut);
    font-family: var(--mono);
    font-size: .75rem;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.bar .mk {
    margin-right: auto;
    font-family: var(--grotesk);
    font-size: 1.0625rem;
    font-weight: 800;
    letter-spacing: -.03em;
    text-transform: none;
    text-decoration: none;
}

.bar a { text-decoration: none; opacity: .5; transition: opacity .2s; }
.bar a:hover, .bar a:focus-visible { opacity: 1; }
.bar .here { opacity: 1; color: var(--green); font-weight: 600; }
.bar .tel { opacity: 1; }

/* ── шапка материала ── */
.head {
    padding: clamp(1rem, 3vw, 2rem) var(--gut) clamp(2rem, 5vw, 3.5rem);
    border-bottom: 1px solid #08090b1f;
}

.head > * { max-width: var(--max); margin-inline: auto; }

.crumb {
    margin-bottom: clamp(1rem, 3vw, 1.75rem);
    font-family: var(--mono);
    font-size: .6875rem;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--soft);
}

.crumb a { text-decoration: none; }
.crumb a:hover { color: var(--green); }
.crumb span { opacity: .5; }

.head h1 {
    margin: 0 0 clamp(1rem, 2.5vw, 1.75rem);
    max-width: 20ch;
    font-weight: 800;
    font-size: clamp(2rem, 6.5vw, 5.25rem);
    line-height: .92;
    letter-spacing: -.045em;
    text-wrap: balance;
}

.meta {
    display: flex;
    flex-wrap: wrap;
    gap: clamp(1rem, 3vw, 2.5rem);
    font-family: var(--mono);
    font-size: .6875rem;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--soft);
}

.meta b { color: var(--green); font-weight: 400; }

/* ── раскладка: колонка текста + прилипшее оглавление ── */
.body {
    display: grid;
    grid-template-columns: minmax(0, var(--col)) minmax(200px, 260px);
    gap: clamp(2rem, 5vw, 4.5rem);
    align-items: start;
    justify-content: center;
    max-width: var(--max);
    margin: 0 auto;
    padding: clamp(2rem, 5vw, 4rem) var(--gut) clamp(3rem, 7vw, 6rem);
}

@media (max-width: 900px) {
    .body { grid-template-columns: 1fr; }
    .toc { display: none; }
}

.toc { position: sticky; top: clamp(1rem, 3vw, 2.5rem); }

.toc h4 {
    margin: 0 0 .875rem;
    font-family: var(--mono);
    font-weight: 400;
    font-size: .6875rem;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--soft);
}

.toc ol { margin: 0; padding: 0; list-style: none; counter-reset: t; }
.toc li { counter-increment: t; border-top: 1px solid #08090b1f; }

.toc a {
    position: relative;
    display: block;
    padding: .5625rem 0 .5625rem 2rem;
    font-size: .875rem;
    line-height: 1.4;
    color: var(--soft);
    text-decoration: none;
    transition: color .2s;
}

.toc a::before {
    content: counter(t, decimal-leading-zero);
    position: absolute;
    left: 0;
    font-family: var(--mono);
    font-size: .6875rem;
    opacity: .5;
}

.toc a:hover, .toc a.on { color: var(--ink); }
.toc a.on::before { color: var(--green); opacity: 1; }

/* ── текст ── */
.kb-body h2 {
    margin: clamp(2.25rem, 5vw, 3.5rem) 0 .875rem;
    font-size: clamp(1.5rem, 3.2vw, 2.375rem);
    font-weight: 800;
    letter-spacing: -.032em;
    line-height: 1.08;
    text-wrap: balance;
    scroll-margin-top: 2rem;
}

.kb-body h2:first-child { margin-top: 0; }

.kb-body h3 {
    margin: 2rem 0 .625rem;
    font-size: clamp(1.125rem, 2vw, 1.375rem);
    font-weight: 700;
    letter-spacing: -.02em;
}

.kb-body p { margin: 0 0 1.125rem; }
.kb-body strong { font-weight: 700; }
.kb-body ul, .kb-body ol { margin: 0 0 1.25rem; padding-left: 1.25rem; }
.kb-body li { margin-bottom: .5rem; }

.kb-body a:not(.btn) {
    color: var(--green);
    text-decoration: underline;
    text-underline-offset: 3px;
    text-decoration-thickness: 1px;
}

.kb-body a:not(.btn):hover { background: var(--acid); text-decoration: none; }

/* врезка «Коротко»: прямой ответ, который цитируют ассистенты */
.kb-answer {
    margin: 0 0 2rem;
    padding-left: clamp(1rem, 2vw, 1.5rem);
    border-left: 2px solid var(--green);
    font-size: clamp(1.0625rem, 1.6vw, 1.3125rem);
    line-height: 1.55;
}

.kb-answer p { margin: 0; }
.kb-answer p + p { margin-top: .75rem; }

.kb-answer strong:first-child {
    display: block;
    margin-bottom: .375rem;
    font-family: var(--mono);
    font-size: .6875rem;
    font-weight: 400;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--green);
}

/* таблицы */
.tw { margin: 0 0 1.75rem; overflow-x: auto; border: 1px solid #08090b1f; }

.kb-body table {
    width: 100%;
    min-width: 520px;
    border-collapse: collapse;
    font-size: .9375rem;
}

.kb-body th, .kb-body td {
    padding: .75rem 1rem;
    text-align: left;
    border-bottom: 1px solid #08090b14;
}

.kb-body th {
    background: #08090b08;
    font-family: var(--mono);
    font-weight: 400;
    font-size: .6875rem;
    letter-spacing: .09em;
    text-transform: uppercase;
    color: var(--soft);
}

.kb-body td { font-variant-numeric: tabular-nums; }
.kb-body tr:last-child td { border-bottom: 0; }
.kb-body tbody tr:hover { background: #08090b06; }
.kb-body td strong { color: var(--green); }

.kb-body blockquote {
    margin: 0 0 1.75rem;
    padding-left: clamp(1rem, 2vw, 1.5rem);
    border-left: 2px solid var(--soft);
    color: var(--soft);
}

/* FAQ — раскрывающиеся вопросы */
.kb-body details { border-top: 1px solid #08090b1f; }
.kb-body details:last-of-type { border-bottom: 1px solid #08090b1f; margin-bottom: 1.75rem; }

.kb-body summary {
    display: flex;
    align-items: baseline;
    gap: .875rem;
    padding: .9375rem 0;
    font-size: 1.0625rem;
    font-weight: 700;
    letter-spacing: -.015em;
    list-style: none;
    cursor: pointer;
}

.kb-body summary::-webkit-details-marker { display: none; }

.kb-body summary::before {
    content: "+";
    font-family: var(--mono);
    font-weight: 400;
    color: var(--green);
}

.kb-body details[open] summary::before { content: "−"; }

.kb-body details p {
    padding-left: 1.5rem;
    font-size: .9375rem;
    color: var(--soft);
}

/* врезка с предложением */
.inset {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1.5rem;
    margin: clamp(2rem, 4vw, 3rem) 0 0;
    padding: clamp(1.5rem, 3vw, 2.25rem);
    background: var(--ink);
    color: var(--paper);
}

.inset__t { flex: 1 1 260px; }
.inset h2, .inset h4 {
    margin: 0 0 .375rem;
    font-size: 1.25rem;
    font-weight: 800;
    letter-spacing: -.025em;
}
.inset p { margin: 0; font-size: .9375rem; opacity: .72; }

.btn {
    display: inline-block;
    padding: .875rem 1.5rem;
    border: 1.5px solid var(--acid);
    border-radius: 0;
    background: var(--acid);
    color: var(--ink);
    font: inherit;
    font-size: .875rem;
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
    cursor: pointer;
    transition: background .18s, color .18s;
}

.btn:hover { background: transparent; color: var(--acid); }
.btn:focus-visible { outline: 3px solid var(--paper); outline-offset: 3px; }

/* ── связанные материалы ── */
.more {
    padding: clamp(2.5rem, 6vw, 5rem) var(--gut);
    background: var(--green);
    color: var(--paper);
}

.more > * { max-width: var(--max); margin-inline: auto; }

.more h2 {
    margin: 0 0 clamp(1.5rem, 3vw, 2.5rem);
    font-size: clamp(1.5rem, 4.5vw, 3rem);
    font-weight: 800;
    letter-spacing: -.04em;
    line-height: .95;
    text-transform: uppercase;
}

.more h2 em { font-style: normal; color: var(--acid); }

.mg {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 1px;
    background: #EDEDEA26;
    border: 1px solid #EDEDEA26;
}

.mg a {
    display: flex;
    flex-direction: column;
    gap: .5rem;
    min-height: 140px;
    padding: clamp(1.125rem, 2.2vw, 1.5rem);
    background: var(--green);
    color: inherit;
    text-decoration: none;
    transition: background .2s;
}

.mg a:hover { background: #EDEDEA14; }

.mg .k {
    font-family: var(--mono);
    font-size: .6875rem;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--acid);
}

.mg .t { font-size: 1.0625rem; font-weight: 700; letter-spacing: -.02em; line-height: 1.25; }
.mg .r { margin-top: auto; font-family: var(--mono); font-size: .6875rem; opacity: .6; }

/* ── подвал ── */
.kb-foot {
    display: flex;
    flex-wrap: wrap;
    gap: 1.5rem;
    width: 100%;
    max-width: var(--max);
    margin: 0 auto;
    padding: 1.25rem var(--gut) 2.5rem;
    border-top: 1px solid #08090b1f;
    font-family: var(--mono);
    font-size: .6875rem;
    letter-spacing: .09em;
    text-transform: uppercase;
    color: var(--soft);
}

.kb-foot a { text-decoration: none; }
.kb-foot a:hover { color: var(--green); }
.kb-foot .sp { margin-left: auto; }

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    .btn, .toc a, .bar a, .mg a { transition: none; }
}

/* ── раздел базы знаний: вводный текст + перечень материалов ── */
.hub {
    max-width: var(--max);
    margin: 0 auto;
    padding: clamp(2rem, 5vw, 4rem) var(--gut) clamp(3rem, 7vw, 5rem);
}

.hub__intro { max-width: var(--col); margin: 0 0 clamp(2rem, 5vw, 3.5rem); }
.hub__intro p { margin: 0 0 1.125rem; font-size: clamp(1.0625rem, 1.5vw, 1.1875rem); }
.hub__empty { color: var(--soft); font-family: var(--mono); font-size: .875rem; }

/* перечень, а не карточки: материалов в разделе бывает сорок,
   плитка на таком объёме превращается в кашу */
.idx { border-top: 1px solid #08090b1f; }

.idx__i {
    display: grid;
    grid-template-columns: 3rem minmax(0, 1fr) auto;
    gap: clamp(.75rem, 2vw, 1.5rem);
    align-items: baseline;
    padding: clamp(1rem, 2vw, 1.375rem) 0;
    border-bottom: 1px solid #08090b1f;
    text-decoration: none;
    color: inherit;
    transition: background .18s, padding-left .18s;
}

.idx__i:hover { background: #08090b06; padding-left: .5rem; }
.idx__i:focus-visible { outline: 2px solid var(--green); outline-offset: -2px; }

.idx__n {
    font-family: var(--mono);
    font-size: .75rem;
    color: var(--soft);
    opacity: .6;
}

.idx__b { display: flex; flex-direction: column; gap: .25rem; }

.idx__t {
    font-size: clamp(1.0625rem, 1.8vw, 1.3125rem);
    font-weight: 700;
    letter-spacing: -.022em;
    line-height: 1.25;
    text-wrap: balance;
}

.idx__i:hover .idx__t { color: var(--green); }

.idx__d { font-size: .9375rem; line-height: 1.5; color: var(--soft); }

.idx__r {
    font-family: var(--mono);
    font-size: .6875rem;
    letter-spacing: .09em;
    text-transform: uppercase;
    color: var(--soft);
    white-space: nowrap;
}

@media (max-width: 640px) {
    .idx__i { grid-template-columns: 2.25rem minmax(0, 1fr); }
    .idx__r { grid-column: 2; }
}

/* ==========================================================================
   Шапка и подвал системы 2026 — общие для всех страниц нового дизайна.
   ========================================================================== */

.skip {
    position: absolute;
    left: -9999px;
    padding: .75rem 1.25rem;
    background: var(--ink);
    color: var(--paper);
    text-decoration: none;
}
.skip:focus { left: 1rem; top: 1rem; z-index: 100; }

/* ── шапка ── */
.nav {
    position: sticky;
    top: 0;
    z-index: 40;
    background: var(--paper);
    border-bottom: 1px solid #08090b1f;
}

.nav__in {
    display: flex;
    align-items: center;
    gap: clamp(1rem, 2.5vw, 2.25rem);
    max-width: var(--max);
    margin: 0 auto;
    padding: .875rem var(--gut);
}

.nav__mk {
    margin-right: auto;
    font-size: 1.0625rem;
    font-weight: 800;
    letter-spacing: -.03em;
    text-decoration: none;
    white-space: nowrap;
}

.nav__dot { color: var(--acid); -webkit-text-stroke: .5px var(--green); }

.nav__menu { display: flex; gap: clamp(.875rem, 1.8vw, 1.75rem); }

.nav__a {
    font-family: var(--mono);
    font-size: .75rem;
    letter-spacing: .09em;
    text-transform: uppercase;
    text-decoration: none;
    opacity: .55;
    white-space: nowrap;
    transition: opacity .2s, color .2s;
}

.nav__a:hover, .nav__a:focus-visible { opacity: 1; }
.nav__a.is-on { opacity: 1; color: var(--green); font-weight: 600; }

.nav__act { display: flex; align-items: center; gap: 1rem; }

.nav__tel {
    font-family: var(--mono);
    font-size: .75rem;
    letter-spacing: .06em;
    text-decoration: none;
    white-space: nowrap;
}

.nav__tel:hover { color: var(--green); }

.btn--sm { padding: .625rem 1.125rem; font-size: .75rem; }

/* бургер — только на узком экране */
.nav__chk, .nav__burger { display: none; }

@media (max-width: 1000px) {
    .nav__burger {
        display: flex;
        flex-direction: column;
        justify-content: center;
        gap: 5px;
        width: 34px;
        height: 34px;
        cursor: pointer;
        order: 3;
    }
    .nav__burger span {
        display: block;
        height: 2px;
        background: var(--ink);
        transition: transform .2s, opacity .2s;
    }
    .nav__chk:checked ~ .nav__burger span:first-child { transform: translateY(3.5px) rotate(45deg); }
    .nav__chk:checked ~ .nav__burger span:last-child { transform: translateY(-3.5px) rotate(-45deg); }

    .nav__menu {
        order: 4;
        flex-direction: column;
        gap: 0;
        width: 100%;
        max-height: 0;
        overflow: hidden;
        transition: max-height .28s ease;
    }
    .nav__chk:checked ~ .nav__menu { max-height: 60vh; }
    .nav__a { padding: .875rem 0; border-top: 1px solid #08090b1f; opacity: 1; }

    .nav__act { order: 5; width: 100%; }
    .nav__chk:checked ~ .nav__act { padding-bottom: .875rem; }
    .nav__tel { margin-right: auto; }
}

@media (max-width: 560px) {
    .nav__act .btn--sm { display: none; }
}

/* ── подвал ── */
.ft {
    margin-top: clamp(3rem, 7vw, 6rem);
    background: var(--ink);
    color: var(--paper);
}

.ft__in {
    display: grid;
    grid-template-columns: minmax(240px, 1.4fr) repeat(3, minmax(150px, 1fr));
    gap: clamp(1.75rem, 4vw, 3.5rem);
    max-width: var(--max);
    margin: 0 auto;
    padding: clamp(2.5rem, 5vw, 4rem) var(--gut) clamp(2rem, 4vw, 3rem);
}

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

@media (max-width: 520px) {
    .ft__in { grid-template-columns: minmax(0, 1fr); }
}

.ft__mk {
    display: inline-block;
    margin-bottom: .875rem;
    font-size: 1.25rem;
    font-weight: 800;
    letter-spacing: -.03em;
    color: var(--paper);
    text-decoration: none;
}

.ft__note { margin: 0 0 1.25rem; font-size: .9375rem; line-height: 1.6; opacity: .62; }

.ft__h {
    margin: 0 0 .875rem;
    font-family: var(--mono);
    font-size: .6875rem;
    letter-spacing: .14em;
    text-transform: uppercase;
    opacity: .5;
}

.ft__col { display: flex; flex-direction: column; gap: .625rem; }

.ft__col a {
    font-size: .9375rem;
    color: var(--paper);
    text-decoration: none;
    opacity: .78;
    transition: opacity .18s, color .18s;
}

.ft__col a:hover, .ft__col a:focus-visible { opacity: 1; color: var(--acid); }

.ft__small { margin: .5rem 0 0; font-size: .8125rem; line-height: 1.5; opacity: .5; }

.ft__bot {
    display: flex;
    flex-wrap: wrap;
    gap: 1.25rem;
    max-width: var(--max);
    margin: 0 auto;
    padding: 1.125rem var(--gut) 2rem;
    border-top: 1px solid #EDEDEA1f;
    font-family: var(--mono);
    font-size: .6875rem;
    letter-spacing: .09em;
    text-transform: uppercase;
    opacity: .55;
}

.ft__bot a { color: inherit; text-decoration: none; }
.ft__bot a:hover { color: var(--acid); }
.ft__bot .sp { margin-left: auto; }

/* заголовок секции в каталоге */
.kb-sec {
    margin: clamp(2rem, 4vw, 3rem) 0 clamp(1rem, 2vw, 1.5rem);
    font-size: clamp(1.25rem, 2.4vw, 1.75rem);
    font-weight: 800;
    letter-spacing: -.03em;
}

.kb-sec:first-child { margin-top: 0; }

/* сетка разделов на бумажном фоне */
.mg--paper { background: #08090b1f; border-color: #08090b1f; }
.mg--paper a { background: var(--paper); color: var(--ink); }
.mg--paper a:hover { background: #08090b08; }
.mg--paper .k { color: var(--green); }
.mg--paper .r { opacity: .55; }

/* Разделы на бумаге: рамку рисуем на самих карточках, а не фоном
   контейнера. Иначе незаполненный хвост последнего ряда светится
   серым прямоугольником — сетка auto-fit почти никогда не делится нацело. */
.mg--paper {
    background: transparent;
    border: 0;
    gap: 0;
}

.mg--paper a {
    border: 1px solid #08090b1f;
    margin: -1px 0 0 -1px;   /* смежные рамки схлопываются в одну линию */
    background: var(--paper);
}

/* ── каталог: поиск и плотная сетка материалов ──
   Двести с лишним заголовков в один столбец читаются как простыня.
   Три колонки + живой поиск: человек ищет тему, а не листает всё. */

.kb-all {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: space-between;
    gap: 1rem;
    margin: clamp(2rem, 4vw, 3rem) 0 clamp(1rem, 2vw, 1.5rem);
}

.kb-all .kb-sec { margin: 0; }

.kb-find {
    position: relative;
    display: flex;
    align-items: center;
    min-width: min(320px, 100%);
}

.kb-find input {
    width: 100%;
    padding: .625rem 3.25rem .625rem .875rem;
    border: 1px solid #08090b2e;
    border-radius: 0;
    background: transparent;
    color: var(--ink);
    font: inherit;
    font-size: .9375rem;
}

.kb-find input::placeholder { color: var(--soft); opacity: .8; }
.kb-find input:focus { outline: 2px solid var(--green); outline-offset: -1px; }

.kb-find__n {
    position: absolute;
    right: .75rem;
    font-family: var(--mono);
    font-size: .6875rem;
    letter-spacing: .06em;
    color: var(--soft);
    pointer-events: none;
}

.cols {
    columns: 3;
    column-gap: clamp(1.25rem, 3vw, 2.5rem);
    border-top: 1px solid #08090b1f;
    padding-top: .5rem;
}

@media (max-width: 1000px) { .cols { columns: 2; } }
@media (max-width: 620px)  { .cols { columns: 1; } }

.cols__i {
    display: block;
    break-inside: avoid;
    padding: .5rem 0;
    font-size: .9375rem;
    line-height: 1.4;
    color: var(--ink);
    text-decoration: none;
    border-bottom: 1px solid #08090b0f;
    transition: color .15s, padding-left .15s;
}

.cols__i:hover, .cols__i:focus-visible { color: var(--green); padding-left: .25rem; }
.cols__i[hidden] { display: none; }

.kb-none {
    margin: 1.5rem 0 0;
    font-family: var(--mono);
    font-size: .8125rem;
    color: var(--soft);
}

/* ==========================================================================
   Универсальная страница: контент свёрстан секциями под старую тёмную тему.
   Переписывать вёрстку четырнадцати услуг руками — четырнадцать шансов
   что-то сломать, поэтому старые секции приводим к бумажной палитре здесь.
   ========================================================================== */

.page2026 {
    max-width: var(--max);
    margin: 0 auto;
    padding: clamp(2rem, 5vw, 3.5rem) var(--gut) clamp(2rem, 4vw, 3rem);
}

.page2026__in { max-width: none; }

/* Секции старой темы: снимаем тёмные фоны и скруглённые «карточки»,
   оставляем ритм. Внутренние отступы у них были рассчитаны на full-width. */
.page2026 .service-hero,
.page2026 .up-hero,
.page2026 section {
    padding: 0;
    margin: 0 0 clamp(1.75rem, 4vw, 3rem);
    background: transparent;
    color: inherit;
    border-radius: 0;
}

.page2026 .container {
    width: 100%;
    max-width: none;
    padding: 0;
    margin: 0;
}

.page2026 h1 {
    margin: 0 0 clamp(1rem, 2.5vw, 1.75rem);
    font-size: clamp(2rem, 5.5vw, 4rem);
    font-weight: 800;
    line-height: .96;
    letter-spacing: -.04em;
    text-wrap: balance;
}

.page2026 h2 {
    margin: clamp(2rem, 4vw, 3rem) 0 .875rem;
    font-size: clamp(1.375rem, 3vw, 2.125rem);
    font-weight: 800;
    letter-spacing: -.03em;
    line-height: 1.1;
}

.page2026 h3 { margin: 1.75rem 0 .5rem; font-size: 1.1875rem; font-weight: 700; }

.page2026 p { margin: 0 0 1.125rem; max-width: 72ch; }
.page2026 ul, .page2026 li { max-width: 72ch; }

/* Карточки старой темы: тёмная заливка → бумажная плашка с рамкой */
.page2026 [class*="card"],
.page2026 [class*="tile"],
.page2026 [class*="box"],
.page2026 [class*="item"] {
    background: transparent;
    color: inherit;
    box-shadow: none;
}

.page2026 [class*="grid"] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 1px;
    background: #08090b1f;
    border: 1px solid #08090b1f;
    margin: 0 0 1.75rem;
}

.page2026 [class*="grid"] > * {
    background: var(--paper);
    padding: clamp(1rem, 2vw, 1.5rem);
    margin: 0;
}

/* инлайновые цвета старой темы иногда светлые на светлом — принудительно
   возвращаем читаемость там, где текст задан белым */
.page2026 [style*="color:#fff"],
.page2026 [style*="color: #fff"],
.page2026 [style*="color:#FFF"] { color: var(--ink) !important; }

.page2026 a:not(.btn) {
    color: var(--green);
    text-decoration: underline;
    text-underline-offset: 3px;
}

.page2026 .inset { max-width: none; }

.kb2026--page .inset { margin-top: clamp(2rem, 4vw, 3rem); }

/* ── вёрстка старых страниц услуг (семейство sp-*) в бумажной палитре ──
   Одинакова на всех четырнадцати услугах, поэтому правится одним набором. */

.page2026 .sp-megacards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 0;
    margin: 0 0 clamp(1.75rem, 4vw, 2.5rem);
}

.page2026 .sp-megacard {
    display: flex;
    flex-direction: column;
    gap: .5rem;
    padding: clamp(1.25rem, 2.5vw, 1.75rem);
    border: 1px solid #08090b1f;
    margin: -1px 0 0 -1px;      /* смежные рамки в одну линию */
    background: var(--paper);
}

.page2026 .sp-megacard__icon { font-size: 1.5rem; line-height: 1; opacity: .85; }

.page2026 .sp-megacard__title {
    font-size: 1.125rem;
    font-weight: 700;
    letter-spacing: -.02em;
    line-height: 1.25;
}

.page2026 .sp-megacard__desc { font-size: .9375rem; line-height: 1.6; color: var(--soft); }
.page2026 .sp-megacard ul { margin: .25rem 0 0; padding-left: 1.125rem; }
.page2026 .sp-megacard li { font-size: .9375rem; margin-bottom: .375rem; max-width: none; }

/* этапы */
.page2026 .sp-timeline {
    display: grid;
    gap: 0;
    margin: 0 0 clamp(1.75rem, 4vw, 2.5rem);
    border-top: 1px solid #08090b1f;
}

.page2026 .sp-timeline__item {
    display: grid;
    grid-template-columns: 3.5rem minmax(0, 1fr);
    gap: 1rem;
    align-items: baseline;
    padding: clamp(1rem, 2vw, 1.375rem) 0;
    border-bottom: 1px solid #08090b1f;
}

.page2026 .sp-timeline__num {
    font-family: var(--mono);
    font-size: 1.5rem;
    font-weight: 400;
    color: var(--green);
    line-height: 1;
}

.page2026 .sp-timeline__title {
    grid-column: 2;
    font-size: 1.0625rem;
    font-weight: 700;
    letter-spacing: -.015em;
    margin-bottom: .25rem;
}

.page2026 .sp-timeline__desc {
    grid-column: 2;
    font-size: .9375rem;
    color: var(--soft);
    max-width: 68ch;
}

/* метка-плашка */
.page2026 .sp-label {
    display: inline-block;
    margin: 0 0 1rem;
    padding: .375rem .75rem !important;
    border-radius: 0 !important;
    background: var(--acid) !important;
    color: var(--ink) !important;
    font-family: var(--mono);
    font-size: .6875rem !important;
    font-weight: 600;
    letter-spacing: .12em !important;
    text-transform: uppercase;
}

/* вопросы */
.page2026 .faq-item {
    padding: 1.125rem 0;
    border-bottom: 1px solid #08090b1f;
}

.page2026 .faq-item:first-of-type { border-top: 1px solid #08090b1f; }

.page2026 .faq-item__q {
    display: flex;
    align-items: baseline;
    gap: .75rem;
    font-size: 1.0625rem;
    font-weight: 700;
    letter-spacing: -.015em;
    margin-bottom: .5rem;
}

.page2026 .faq-item__icon { color: var(--green); font-family: var(--mono); }
.page2026 .faq-item__a { color: var(--soft); font-size: .9375rem; max-width: 72ch; }
.page2026 .faq-item__a p { margin: 0 0 .625rem; }

/* форма */
.page2026 .contact-form {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 1rem;
    padding: clamp(1.5rem, 3vw, 2rem);
    border: 1px solid #08090b1f;
    margin: 0 0 1.75rem;
}

.page2026 .contact-form__field { display: flex; flex-direction: column; gap: .375rem; }

.page2026 .contact-form__label {
    font-family: var(--mono);
    font-size: .6875rem;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--soft);
}

.page2026 .contact-form input,
.page2026 .contact-form textarea,
.page2026 .contact-form select {
    padding: .6875rem .875rem;
    border: 1px solid #08090b2e;
    border-radius: 0;
    background: var(--paper);
    color: var(--ink);
    font: inherit;
    font-size: .9375rem;
}

.page2026 .contact-form input:focus,
.page2026 .contact-form textarea:focus,
.page2026 .contact-form select:focus {
    outline: 2px solid var(--green);
    outline-offset: -1px;
}

.page2026 .contact-form button,
.page2026 button[type="submit"] {
    padding: .875rem 1.5rem;
    border: 1.5px solid var(--acid);
    border-radius: 0;
    background: var(--acid);
    color: var(--ink);
    font: inherit;
    font-weight: 700;
    font-size: .875rem;
    cursor: pointer;
}

.page2026 .contact-form button:hover { background: transparent; color: var(--green); }

/* ==========================================================================
   Движение и полировка.

   Правило простое: анимация обслуживает чтение, а не развлекает. Появление
   при скролле — только для крупных блоков, футер и подвал не трогаем
   (наблюдатель у нижнего края даёт мерцание). Всё выключается при
   prefers-reduced-motion.
   ========================================================================== */

@media (prefers-reduced-motion: no-preference) {

    /* появление блоков */
    .rv {
        opacity: 0;
        transform: translateY(14px);
        transition: opacity .55s cubic-bezier(.16,1,.3,1),
                    transform .55s cubic-bezier(.16,1,.3,1);
        will-change: opacity, transform;
    }
    .rv.in { opacity: 1; transform: none; }

    /* лёгкая задержка внутри группы — читается как последовательность,
       а не как одновременный «прыжок» всей сетки */
    .rv:nth-child(2) { transition-delay: .05s; }
    .rv:nth-child(3) { transition-delay: .1s; }
    .rv:nth-child(4) { transition-delay: .15s; }

    /* заголовок страницы въезжает сразу при загрузке */
    .head h1 { animation: rise .6s cubic-bezier(.16,1,.3,1) both; }
    .head .crumb { animation: rise .5s cubic-bezier(.16,1,.3,1) both .05s; }
    .head .meta { animation: rise .5s cubic-bezier(.16,1,.3,1) both .12s; }

    @keyframes rise {
        from { opacity: 0; transform: translateY(16px); }
        to   { opacity: 1; transform: none; }
    }

    /* кнопка тянется к курсору — сдвиг задаёт скрипт через --mx/--my */
    .btn {
        transform: translate(calc(var(--mx, 0) * 1px), calc(var(--my, 0) * 1px));
        transition: background .18s, color .18s, transform .18s cubic-bezier(.16,1,.3,1);
    }
}

/* подчёркивание ссылок в тексте растёт слева направо */
.kb-body a:not(.btn) {
    background-image: linear-gradient(var(--green), var(--green));
    background-size: 0% 1px;
    background-position: 0 100%;
    background-repeat: no-repeat;
    text-decoration-color: #0f362840;
    transition: background-size .28s cubic-bezier(.16,1,.3,1), text-decoration-color .2s;
}

.kb-body a:not(.btn):hover {
    background-size: 100% 1px;
    background-color: transparent;
    text-decoration-color: transparent;
}

/* карточки разделов: подпись уезжает вправо, как указатель */
.mg a, .mg--paper a { position: relative; overflow: hidden; }

.mg a .t, .mg--paper a .t {
    transition: transform .28s cubic-bezier(.16,1,.3,1);
}

.mg a:hover .t, .mg--paper a:hover .t { transform: translateX(4px); }

.mg--paper a::after {
    content: "→";
    position: absolute;
    right: clamp(1.125rem, 2.2vw, 1.5rem);
    bottom: clamp(1.125rem, 2.2vw, 1.5rem);
    font-family: var(--mono);
    color: var(--green);
    opacity: 0;
    transform: translateX(-6px);
    transition: opacity .24s, transform .24s cubic-bezier(.16,1,.3,1);
}

.mg--paper a:hover::after { opacity: 1; transform: none; }

/* строки перечня: тонкая линия слева при наведении */
.idx__i { position: relative; }

.idx__i::before {
    content: "";
    position: absolute;
    left: 0; top: 0; bottom: 0;
    width: 2px;
    background: var(--green);
    transform: scaleY(0);
    transform-origin: 50% 0;
    transition: transform .24s cubic-bezier(.16,1,.3,1);
}

.idx__i:hover::before { transform: scaleY(1); }

/* оглавление: активный пункт получает засечку */
.toc a.on { position: relative; }

.toc a.on::after {
    content: "";
    position: absolute;
    left: -.75rem; top: 50%;
    width: 4px; height: 4px;
    margin-top: -2px;
    background: var(--acid);
    border: 1px solid var(--green);
}

/* акцентная цифра в шапке материала */
.meta b { font-variant-numeric: tabular-nums; }

/* постраничная навигация архивов */
.pager {
    display: flex;
    flex-wrap: wrap;
    gap: .375rem;
    margin: clamp(1.5rem, 3vw, 2.5rem) 0 0;
    font-family: var(--mono);
    font-size: .8125rem;
}

.pager .page-numbers {
    padding: .5rem .875rem;
    border: 1px solid #08090b1f;
    color: var(--ink);
    text-decoration: none;
    transition: background .18s, color .18s, border-color .18s;
}

.pager .page-numbers:hover { background: #08090b08; }
.pager .page-numbers.current { background: var(--green); color: var(--paper); border-color: var(--green); }
.pager .page-numbers.dots { border-color: transparent; }

/* ═══════════════════════════════════════════════════════════
   CASES 2026-08-14 — стили страниц кейсов под каркас kb2026
   Разметка живёт в post_content (case-hero / case-task /
   case-solution / case-results / case-extras / case-stack).
   До этого блока у .case-* не было НИ ОДНОГО селектора.
   ═══════════════════════════════════════════════════════════ */

/* wpautop-артефакты: <br> между тегами и пустые p */
.case-hero__scope br,
.case-stack__tags br { display: none; }
.kb-body .case-hero p:empty,
.kb-body .case-stack p:empty { display: none; }

/* ── hero-плита ── */
.kb-body .case-hero {
    background: var(--green);
    color: var(--paper);
    padding: clamp(1.5rem, 4vw, 2.75rem);
    margin: 0 0 2rem;
}
.case-hero .container { max-width: none; padding: 0; margin: 0; }
.case-hero__tag {
    display: inline-block;
    font-family: var(--mono);
    font-size: .6875rem;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--acid);
    border: 1px solid #C8F53F59;
    padding: .35rem .65rem;
    margin: 0 0 1.25rem;
}
.kb-body .case-hero .case-hero__title {
    margin: 0 0 .875rem;
    font-size: clamp(2rem, 5.5vw, 3.25rem);
    font-weight: 800;
    line-height: .95;
    letter-spacing: -.025em;
    text-transform: uppercase;
    color: var(--paper);
}
.case-hero__desc {
    max-width: 58ch;
    margin: 0 0 1.25rem;
    font-size: 1rem;
    line-height: 1.6;
    color: #EDEDEAd6;
}
.case-hero__desc strong { color: var(--acid); }
.case-hero__links { margin: 0 0 .5rem; }
.kb-body a.case-hero__url,
.kb-body a.case-hero__url:not(.btn) {
    display: inline-block;
    font-family: var(--mono);
    font-size: .875rem;
    font-weight: 600;
    color: var(--ink);
    background: var(--acid);
    padding: .55rem .9rem;
    text-decoration: none;
}
.kb-body a.case-hero__url:hover { background: var(--paper); color: var(--ink); }
.case-hero__scope {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    margin-top: 1.25rem;
}
.case-hero__scope-tag {
    font-family: var(--mono);
    font-size: .6875rem;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: #EDEDEAc4;
    border: 1px solid #EDEDEA30;
    padding: .35rem .65rem;
    white-space: nowrap;
}

/* ── рендер проекта: браузер-мокап со скриншотом ── */
.kb-body a.case-shot,
.kb-body a.case-shot:not(.btn) {
    display: block;
    margin: 0 0 2.25rem;
    border: 1px solid #08090b24;
    background: #fff;
    text-decoration: none;
    box-shadow: 0 24px 48px -28px #08090b52;
    transition: transform .25s ease, box-shadow .25s ease;
}
.kb-body a.case-shot:hover {
    background: #fff;
    transform: translateY(-3px);
    box-shadow: 0 32px 56px -28px #08090b66;
}
.case-shot__bar {
    display: flex;
    align-items: center;
    gap: .65rem;
    padding: .55rem .85rem;
    border-bottom: 1px solid #08090b14;
    background: var(--paper);
}
.case-shot__dots { display: flex; gap: .3rem; }
.case-shot__dots span {
    width: 8px; height: 8px;
    border-radius: 50%;
    background: #08090b26;
}
.case-shot__addr {
    font-family: var(--mono);
    font-size: .71875rem;
    letter-spacing: .05em;
    color: var(--soft);
}
.case-shot__img {
    display: block;
    width: 100%;
    height: auto;
    min-height: 200px;
    background: #DDDDD8;
}

/* ── секции ── */
.case-task, .case-solution, .case-results,
.case-extras, .case-stack { margin: 0 0 1rem; }
.case-solution li { margin-bottom: .8125rem; }

/* ── метрики «было → стало» ── */
.metrics-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
    gap: 1px;
    background: #08090b1f;
    border: 1px solid #08090b1f;
    margin: 1.25rem 0 .5rem;
}
.metric {
    background: var(--paper);
    padding: .9rem 1rem;
}
.metric-label {
    display: block;
    margin: 0 0 .4rem;
    font-family: var(--mono);
    font-size: .65625rem;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--soft);
}
.metric-before {
    font-family: var(--mono);
    font-size: .8125rem;
    color: var(--soft);
    margin-right: .3rem;
}
.metric-arrow {
    color: var(--lit);
    font-weight: 700;
    margin-right: .3rem;
}
.metric-after {
    font-family: var(--mono);
    font-size: .9375rem;
    font-weight: 700;
    color: var(--ink);
}

/* ── особенности проекта ── */
.case-extras__grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    gap: .875rem;
    margin: 1.25rem 0 .5rem;
}
.case-extras__item {
    border: 1px solid #08090b1f;
    background: #08090b05;
    padding: 1.1rem 1.2rem;
}
.kb-body .case-extras__item h3 {
    margin: 0 0 .5rem;
    font-size: 1rem;
}
.case-extras__item p {
    margin: 0;
    font-size: .90625rem;
    line-height: 1.55;
    color: #08090bd0;
}

/* ── стек ── */
.case-stack__tags {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    margin: 1.25rem 0 .5rem;
}
.case-stack__tag {
    font-family: var(--mono);
    font-size: .71875rem;
    letter-spacing: .04em;
    border: 1px solid #08090b2b;
    background: var(--paper);
    padding: .4rem .7rem;
    white-space: nowrap;
}

/* ── превью в списке кейсов /cases/ ── */
.idx__i--case {
    grid-template-columns: 3rem 148px minmax(0, 1fr) auto;
    align-items: center;
}
.idx__shot {
    width: 148px;
    height: 96px;
    overflow: hidden;
    border: 1px solid #08090b1f;
    background: #DDDDD8;
}
.idx__shot img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top;
    display: block;
    transition: transform .3s ease;
}
.idx__i--case:hover .idx__shot img { transform: scale(1.04); }
@media (max-width: 640px) {
    .idx__shot { display: none; }
    .idx__i--case {
        grid-template-columns: 3rem minmax(0, 1fr) auto;
        align-items: baseline;
    }
    .metrics-grid { grid-template-columns: 1fr 1fr; }
}

/* ═══════════ SITEWIDE ADAPT 2026-08-14: service+sp+up+forms+misc ═══════════ */
/* ═══════════════════════════════════════════════════════════
   SERVICE 2026-08-14 — секции страниц услуг под каркас kb2026.
   Семейство: service-label / service-what / service-types /
   service-process / service-pricing / service-cta / service-faq /
   service-crosslinks / faq-list.
   Разметка живёт в post_content старой тёмной темы — HTML не
   трогаем, приводим к бумаге и чернилам только каскадом.
   ═══════════════════════════════════════════════════════════ */

/* ── общий ритм секций ──
   Generic-правило .page2026 section уже обнуляет padding, но у части
   секций padding задан инлайном (padding:100px 0 и т.п.) и побеждает
   каскад — гасим адресно, только на своих классах. */
.page2026 .service-what,
.page2026 .service-types,
.page2026 .service-process,
.page2026 .service-pricing,
.page2026 .service-faq {
    margin: 0 0 clamp(2.25rem, 5vw, 3.5rem);
}

.page2026 .service-what[style],
.page2026 .service-types[style],
.page2026 .service-process[style],
.page2026 .service-pricing[style],
.page2026 .service-faq[style],
.page2026 .service-crosslinks[style],
.kb-body .service-crosslinks[style] { padding: 0 !important; }

/* wpautop-артефакты: висячие </p> после моно-меток дают пустые абзацы */
.page2026 .service-what p:empty,
.page2026 .service-types p:empty,
.page2026 .service-process p:empty,
.page2026 .service-pricing p:empty,
.page2026 .service-cta p:empty,
.page2026 .service-faq p:empty,
.page2026 .service-crosslinks p:empty,
.kb-body .service-crosslinks p:empty { display: none; }

/* заголовок идёт сразу за меткой секции — верхний зазор не нужен,
   ритм держит отступ самой секции */
.page2026 .service-what h2,
.page2026 .service-types h2,
.page2026 .service-process h2,
.page2026 .service-pricing h2,
.page2026 .service-faq h2 { margin-top: 0; }

/* ── моно-метка секции ──
   Тот же «ярлык», что и sp-label: кислотная плашка + моношрифт,
   чтобы на одной странице не жили два разных вида меток. */
.page2026 .service-label {
    display: inline-block;
    margin: 0 0 1rem;
    padding: .375rem .75rem;
    background: var(--acid);
    color: var(--ink);
    font-family: var(--mono);
    font-size: .6875rem;
    font-weight: 600;
    letter-spacing: .12em;
    text-transform: uppercase;
}

/* ── FAQ: чистый список вопрос/ответ с рамками-разделителями ──
   Сами .faq-item / .faq-item__q / .faq-item__a уже описаны в системе;
   здесь контейнер + вариант на details/summary, если встретится. */
.page2026 .faq-list {
    max-width: 72ch;
    margin: 1.5rem 0 0;
}

/* центрирующая инлайн-обёртка (max-width:800px;margin:32px auto 0)
   уводит список от левой оси набора — возвращаем к краю */
.page2026 .service-types div[style*="max-width:800px"],
.page2026 .service-faq div[style*="max-width:800px"] { margin-inline: 0 !important; }

.page2026 .service-faq details,
.page2026 .faq-list details {
    max-width: 72ch;
    border-top: 1px solid #08090b1f;
}

.page2026 .service-faq details:last-of-type,
.page2026 .faq-list details:last-of-type {
    border-bottom: 1px solid #08090b1f;
}

.page2026 .service-faq summary,
.page2026 .faq-list summary {
    display: flex;
    align-items: baseline;
    gap: .875rem;
    padding: 1rem 0;
    font-size: 1.0625rem;
    font-weight: 700;
    letter-spacing: -.015em;
    list-style: none;
    cursor: pointer;
}

.page2026 .service-faq summary::-webkit-details-marker,
.page2026 .faq-list summary::-webkit-details-marker { display: none; }

.page2026 .service-faq summary::before,
.page2026 .faq-list summary::before {
    content: "+";
    font-family: var(--mono);
    font-weight: 400;
    color: var(--green);
}

.page2026 .service-faq details[open] summary::before,
.page2026 .faq-list details[open] summary::before { content: "−"; }

.page2026 .service-faq details p,
.page2026 .faq-list details p {
    padding-left: 1.5rem;
    font-size: .9375rem;
    color: var(--soft);
}

/* ── конверсионная секция: тёмно-зелёная плита с acid-кнопкой ── */
.page2026 .service-cta {
    background: var(--green);
    color: var(--paper);
    padding: clamp(1.75rem, 4.5vw, 3rem);
    margin: 0 0 clamp(2.25rem, 5vw, 3.5rem);
}

/* страховка от инлайновых padding старой темы на самой секции */
.page2026 .service-cta[style] { padding: clamp(1.75rem, 4.5vw, 3rem) !important; }

.page2026 .service-cta h2,
.page2026 .service-cta h3 {
    margin: 0 0 .625rem;
    font-size: clamp(1.5rem, 3.5vw, 2.375rem);
    font-weight: 800;
    letter-spacing: -.03em;
    line-height: 1.05;
    color: var(--paper);
    text-wrap: balance;
}

.page2026 .service-cta p {
    margin: 0 0 1.5rem;
    max-width: 58ch;
    font-size: 1rem;
    color: #EDEDEAd6;
}

.page2026 .service-cta p:last-of-type { margin-bottom: 0; }

/* единственная ссылка внутри плиты — это и есть кнопка (btn-primary
   старой темы без единого правила); рисуем как системную .btn */
.page2026 .service-cta a {
    display: inline-block;
    padding: .875rem 1.5rem;
    border: 1.5px solid var(--acid);
    border-radius: 0;
    background: var(--acid);
    color: var(--ink);
    font-size: .875rem;
    font-weight: 700;
    letter-spacing: .02em;
    text-decoration: none;
    white-space: nowrap;
    cursor: pointer;
    transition: background .18s, color .18s;
}

.page2026 .service-cta a:hover {
    background: transparent;
    color: var(--acid);
}

.page2026 .service-cta a:focus-visible {
    outline: 3px solid var(--paper);
    outline-offset: 3px;
}

/* ── кросс-ссылки на другие услуги ──
   Секция целиком на инлайн-стилях тёмной темы. Инлайновые цвета заданы
   через var(--accent,#818CF8) / var(--text,#EEEEF0) / var(--text2,#a8a8b8):
   определяем эти токены на предке — и фиолетовый fallback с белым текстом
   гаснут без единого !important. Радиусы, тёмные плашки и JS-ховеры
   (onmouseover пишет в element.style) добиваем адресными !important. */
.page2026 .service-crosslinks,
.kb-body .service-crosslinks {
    --accent: var(--lit);
    --text: var(--ink);
    --text2: var(--soft);
    --ease: cubic-bezier(.16, 1, .3, 1);
    margin: 0 0 clamp(2.25rem, 5vw, 3.5rem);
}

/* инлайн-контейнер с max-width:1240px и боковыми 32px сбивает ось —
   ширину уже держит .page2026 */
.page2026 .service-crosslinks > div[style],
.kb-body .service-crosslinks > div[style] {
    max-width: none !important;
    padding: 0 !important;
}

/* разделитель сверху был белым rgba(255,255,255,.06) — на бумаге невидим */
.page2026 .service-crosslinks [style*="border-top"],
.kb-body .service-crosslinks [style*="border-top"] {
    border-top-color: #08090b1f !important;
}

/* сетка плиток: инлайновый gap:14px → грид «в одну линию» */
.page2026 .service-crosslinks [style*="grid-template-columns"],
.kb-body .service-crosslinks [style*="grid-template-columns"] {
    gap: 0 !important;
}

.page2026 .service-crosslinks a,
.kb-body .service-crosslinks a {
    margin: -1px 0 0 -1px;              /* смежные рамки в одну линию */
    background: var(--paper) !important; /* тёмная плашка + анимированное подчёркивание kb-body */
    border: 1px solid #08090b1f !important;
    border-radius: 0 !important;
    box-shadow: none !important;         /* JS-ховер старой темы */
    transform: none !important;
    color: var(--ink) !important;
    text-decoration: none !important;
}

.page2026 .service-crosslinks a:hover,
.page2026 .service-crosslinks a:focus-visible,
.kb-body .service-crosslinks a:hover,
.kb-body .service-crosslinks a:focus-visible {
    background: #08090b06 !important;
    border-color: #08090b1f !important;  /* JS красит в фиолетовый — держим рамку */
}

.page2026 .service-crosslinks a:focus-visible,
.kb-body .service-crosslinks a:focus-visible {
    outline: 2px solid var(--green);
    outline-offset: -2px;
}

/* эмодзи-квадрат: синяя плашка со скруглением → бумажная с рамкой */
.page2026 .service-crosslinks a > span[style],
.kb-body .service-crosslinks a > span[style] {
    background: #08090b08 !important;
    border: 1px solid #08090b1f !important;
    border-radius: 0 !important;
}

/* ── мобильная версия ── */
@media (max-width: 640px) {
    .page2026 .service-crosslinks [style*="grid-template-columns"],
    .kb-body .service-crosslinks [style*="grid-template-columns"] {
        grid-template-columns: 1fr !important;
    }

    .page2026 .service-cta { padding: 1.5rem 1.25rem; }
    .page2026 .service-cta[style] { padding: 1.5rem 1.25rem !important; }

    .page2026 .service-cta a {
        display: block;
        text-align: center;
        white-space: normal;
    }
}

@media (prefers-reduced-motion: reduce) {
    .page2026 .service-cta a { transition: none; }
    /* инлайновый transition:all .3s на плитках гасим только с !important */
    .page2026 .service-crosslinks a,
    .kb-body .service-crosslinks a { transition: none !important; }
}
/* ═══════════════════════════════════════════════════════════
   SP-КОМПОНЕНТЫ 2026-08-14 — семейство sp-* (страницы услуг)
   в бумажной палитре kb2026. Продолжение блока .sp-megacards /
   .sp-timeline: та же плотность, те же рамки #08090b1f, приём
   «-1px margin» для схлопывания смежных рамок в одну линию.
   Классы: sp-stats, sp-audience, sp-checklist, sp-compare,
   sp-stepper, sp-brands, sp-megacard__list, sp-cta-banner.
   ═══════════════════════════════════════════════════════════ */

/* wpautop-артефакты: <br> между тегами и пустые p внутри компонентов */
.page2026 .sp-brands br { display: none; }
.page2026 .sp-stats p:empty,
.page2026 .sp-audience p:empty,
.page2026 .sp-compare p:empty,
.page2026 .sp-stepper p:empty,
.page2026 .sp-brands p:empty,
.page2026 .sp-cta-banner p:empty { display: none; }

/* p-обёртки вокруг иконок/номеров/бейджей — снимаем вертикальный ритм */
.page2026 .sp-audience__item p,
.page2026 .sp-stepper__item p { margin: 0; }

/* ── статы: крупные моно-цифры в одну линию рамок ── */
.page2026 .sp-stats {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 0;
    margin: 0 0 clamp(1.75rem, 4vw, 2.5rem);
}

.page2026 .sp-stat {
    border: 1px solid #08090b1f;
    margin: -1px 0 0 -1px;      /* смежные рамки в одну линию */
    background: var(--paper);
    padding: clamp(1.125rem, 2.5vw, 1.75rem);
}

.page2026 .sp-stat__num {
    font-family: var(--mono);
    font-size: clamp(1.875rem, 4.5vw, 3rem);
    font-weight: 800;
    line-height: 1;
    letter-spacing: -.02em;
    color: var(--green);
    font-variant-numeric: tabular-nums;
}

.page2026 .sp-stat__label {
    margin-top: .5625rem;
    font-family: var(--mono);
    font-size: .6875rem;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--soft);
}

/* ── для кого: карточки-аудитории, копия ритма .sp-megacard ── */
.page2026 .sp-audience {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 0;
    margin: 0 0 clamp(1.75rem, 4vw, 2.5rem);
}

.page2026 .sp-audience__item {
    display: flex;
    flex-direction: column;
    gap: .5rem;
    padding: clamp(1.25rem, 2.5vw, 1.75rem);
    border: 1px solid #08090b1f;
    margin: -1px 0 0 -1px;
    background: var(--paper);
}

.page2026 .sp-audience__icon { font-size: 1.5rem; line-height: 1; opacity: .85; }

.page2026 .sp-audience__title {
    font-size: 1.125rem;
    font-weight: 700;
    letter-spacing: -.02em;
    line-height: 1.25;
}

.page2026 .sp-audience__desc { font-size: .9375rem; line-height: 1.6; color: var(--soft); }

/* ── чеклист работ: две плотные колонки со строками-линейками ── */
.page2026 .sp-checklist {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: clamp(1.5rem, 4vw, 3rem);
    row-gap: 0;
    margin: 0 0 1.75rem;
    padding: 0;
    border-top: 1px solid #08090b1f;
    list-style: none;
    max-width: none;
}

.page2026 .sp-checklist li {
    position: relative;
    margin: 0;
    padding: .5625rem 0 .5625rem 1.625rem;
    border-bottom: 1px solid #08090b14;
    font-size: .9375rem;
    line-height: 1.5;
    max-width: none;
}

.page2026 .sp-checklist li::before {
    content: "✓";
    position: absolute;
    left: 0;
    font-family: var(--mono);
    font-size: .8125rem;
    color: var(--lit);
}

/* ── сравнение «до/после»: две ячейки в общей рамке ── */
.page2026 .sp-compare {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 1px;
    background: #08090b1f;
    border: 1px solid #08090b1f;
    margin: 0 0 clamp(1.75rem, 4vw, 2.5rem);
}

.page2026 .sp-compare__col {
    background: var(--paper);
    padding: clamp(1.25rem, 2.5vw, 1.75rem);
}

/* «до» — приглушённая, «после» — с зелёной верхней засечкой */
.page2026 .sp-compare__col--before { border-top: 2px solid #08090b33; color: var(--soft); }
.page2026 .sp-compare__col--after  { border-top: 2px solid var(--green); }

.page2026 .sp-compare__badge {
    display: inline-block;
    margin: 0 0 1rem;
    padding: .35rem .65rem;
    border: 1px solid #08090b24;
    font-family: var(--mono);
    font-size: .6875rem;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--soft);
}

.page2026 .sp-compare__col--after .sp-compare__badge {
    background: var(--green);
    border-color: var(--green);
    color: var(--paper);
}

.page2026 .sp-compare__list {
    margin: 0;
    padding: 0;
    list-style: none;
    max-width: none;
}

.page2026 .sp-compare__list li {
    position: relative;
    margin: 0;
    padding: .4375rem 0 .4375rem 1.5rem;
    font-size: .9375rem;
    line-height: 1.5;
    max-width: none;
}

.page2026 .sp-compare__list li::before {
    position: absolute;
    left: 0;
    font-family: var(--mono);
}

.page2026 .sp-compare__col--before .sp-compare__list li::before { content: "−"; color: #08090b59; }
.page2026 .sp-compare__col--after  .sp-compare__list li::before { content: "+"; color: var(--lit); }

/* ── степпер процесса: тот же ритм, что .sp-timeline ── */
.page2026 .sp-stepper {
    display: grid;
    gap: 0;
    margin: 0 0 clamp(1.75rem, 4vw, 2.5rem);
    border-top: 1px solid #08090b1f;
}

.page2026 .sp-stepper__item {
    display: grid;
    grid-template-columns: 3.5rem minmax(0, 1fr);
    gap: 0 1rem;
    align-items: baseline;
    padding: clamp(1rem, 2vw, 1.375rem) 0;
    border-bottom: 1px solid #08090b1f;
    background: transparent;
}

.page2026 .sp-stepper__num {
    font-family: var(--mono);
    font-size: 1.5rem;
    font-weight: 400;
    color: var(--green);
    line-height: 1;
}

.page2026 .sp-stepper__title {
    grid-column: 2;
    font-size: 1.0625rem;
    font-weight: 700;
    letter-spacing: -.015em;
    margin-bottom: .25rem;
}

.page2026 .sp-stepper__desc {
    grid-column: 2;
    font-size: .9375rem;
    color: var(--soft);
    max-width: 68ch;
}

/* ── стек технологий: моно-плашки, копия .case-stack__tag ── */
.page2026 .sp-brands {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    margin: 0 0 1.75rem;
}

.page2026 .sp-brand {
    font-family: var(--mono);
    font-size: .71875rem;
    letter-spacing: .04em;
    border: 1px solid #08090b2b;
    background: var(--paper);
    padding: .4rem .7rem;
    white-space: nowrap;
}

/* ── список внутри мегакарточки: «+»-маркеры вместо буллетов
   (ul.—: перебивает .page2026 .sp-megacard ul по специфичности) ── */
.page2026 ul.sp-megacard__list {
    margin: .375rem 0 0;
    padding: 0;
    list-style: none;
}

.page2026 ul.sp-megacard__list li {
    position: relative;
    margin: 0 0 .375rem;
    padding-left: 1.125rem;
    font-size: .9375rem;
    line-height: 1.55;
    max-width: none;
}

.page2026 ul.sp-megacard__list li::before {
    content: "+";
    position: absolute;
    left: 0;
    font-family: var(--mono);
    color: var(--lit);
}

/* ── CTA: тёмно-зелёная плита с acid-кнопкой ── */
.page2026 .sp-cta-banner {
    background: var(--green);
    color: var(--paper);
    padding: clamp(1.75rem, 4vw, 2.75rem);
    margin: clamp(2rem, 4vw, 3rem) 0;
}

.page2026 .sp-cta-banner h3 {
    margin: 0 0 .625rem;
    font-size: clamp(1.5rem, 3.5vw, 2.375rem);
    font-weight: 800;
    line-height: .98;
    letter-spacing: -.03em;
    text-transform: uppercase;
    text-wrap: balance;
    color: var(--paper);
}

.page2026 .sp-cta-banner p {
    margin: 0 0 1.125rem;
    max-width: 58ch;
    color: #EDEDEAd6;
}

.page2026 .sp-cta-banner p:last-child { margin-bottom: 0; }

/* страховка: без этих правил .page2026 a:not(.btn) даёт зелёную
   ссылку на зелёной плите; канон кнопки — как .btn системы */
.page2026 .sp-cta-banner .btn-primary {
    display: inline-block;
    padding: .875rem 1.5rem;
    border: 1.5px solid var(--acid);
    border-radius: 0;
    background: var(--acid);
    color: var(--ink);
    font-family: var(--grotesk);
    font-size: .875rem;
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
    cursor: pointer;
    transition: background .18s, color .18s;
}

.page2026 .sp-cta-banner .btn-primary:hover,
.page2026 .sp-cta-banner .btn-primary:focus-visible {
    background: transparent;
    color: var(--acid);
}

/* ── мобильная вёрстка (auto-fit сам складывает audience/compare) ── */
@media (max-width: 640px) {
    .page2026 .sp-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .page2026 .sp-stat__num { font-size: clamp(1.625rem, 8vw, 2.25rem); }
    .page2026 .sp-checklist { grid-template-columns: minmax(0, 1fr); }
    .page2026 .sp-stepper__item { grid-template-columns: 2.75rem minmax(0, 1fr); }
    .page2026 .sp-stepper__num { font-size: 1.25rem; }
    .page2026 .sp-cta-banner .btn-primary { white-space: normal; }
}

@media (prefers-reduced-motion: reduce) {
    .page2026 .sp-cta-banner .btn-primary { transition: none; }
}
/* ═══════════════════════════════════════════════════════════
   UPAKOVKA 2026-08-14 — семейство up-* (/upakovka-brenda/)
   под каркас kb2026: бумага, чернила, тёмно-зелёный, лайм.
   Разметка старой тёмной темы живёт в post_content — не
   переверстываем, приводим цветом/сеткой/типографикой.
   Все селекторы с префиксом .page2026 и идут ПОСЛЕ generic-
   правил блока .page2026 → перебивают их каскадом.
   ═══════════════════════════════════════════════════════════ */

/* ── декор старой тёмной темы: орбы-свечения и фоновые сетки.
      В бумажной системе им места нет — глушим целиком. */
.page2026 .up-orb,
.page2026 .up-orb--1,
.page2026 .up-orb--2,
.page2026 .up-orb--3,
.page2026 .up-hero-grid,
.page2026 .up-cta-final__grid { display: none; }

/* ── ритм крупных секций лендинга: чуть больше воздуха,
      чем у generic section, — страница длинная. */
.page2026 .up-stats,
.page2026 .up-problem,
.page2026 .up-modules,
.page2026 .up-process,
.page2026 .up-pricing,
.page2026 .up-audience,
.page2026 .up-faq { margin: 0 0 clamp(2.5rem, 6vw, 4.5rem); }

/* ── типографика hero и секционных заголовков ── */

.page2026 .up-h1 {
    max-width: 18ch;
    margin: 0 0 clamp(1rem, 2.5vw, 1.5rem);
    font-size: clamp(2.125rem, 6vw, 4.5rem);
    font-weight: 800;
    line-height: .94;
    letter-spacing: -.045em;
    text-wrap: balance;
}

/* em в заголовках — кислотное подчёркивание, текст остаётся чернильным
   (лайм как цвет текста на бумаге нечитаем) */
.page2026 .up-h1 em,
.page2026 .up-h2 em {
    font-style: normal;
    background: linear-gradient(var(--acid), var(--acid)) 0 92% / 100% .14em no-repeat;
}

/* .up-h2 — это div, generic-правило для h2 его не ловит: задаём всё сами */
.page2026 .up-h2 {
    margin: 0 0 1.25rem;
    max-width: 26ch;
    font-size: clamp(1.5rem, 3.2vw, 2.375rem);
    font-weight: 800;
    letter-spacing: -.032em;
    line-height: 1.08;
    text-wrap: balance;
}

/* моно-лейбл над заголовком секции */
.page2026 .up-label {
    margin: 0 0 .875rem;
    font-family: var(--mono);
    font-size: .6875rem;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--soft);
}

/* бейдж в hero («упаковка бренда под ключ» и т.п.) */
.page2026 .up-badge {
    display: inline-block;
    margin: 0 0 1.25rem;
    padding: .375rem .75rem;
    border: 1px solid #08090b24;
    font-family: var(--mono);
    font-size: .6875rem;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--green);
}

/* подзаголовок hero */
.page2026 .up-desc {
    max-width: 58ch;
    margin: 0 0 1.5rem;
    font-size: clamp(1.0625rem, 1.6vw, 1.25rem);
    line-height: 1.6;
    color: var(--soft);
}

/* строка-приписка (под CTA / под статами) */
.page2026 .up-sub {
    margin: 1rem 0 0;
    font-family: var(--mono);
    font-size: .8125rem;
    line-height: 1.55;
    color: var(--soft);
}

.page2026 .up-sub-strong { color: var(--ink); font-weight: 700; }

/* ряд кнопок; в старой разметке кнопки разделены <br> — глушим */
.page2026 .up-ctas {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .875rem;
    margin: 1.75rem 0 0;
}

.page2026 .up-ctas br { display: none; }

/* ── статы «цифрами»: сетка в одну линию ── */

.page2026 .up-stats__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 1px;
    background: #08090b1f;
    border: 1px solid #08090b1f;
    margin: 1.75rem 0;
}

.page2026 .up-stats__item {
    display: flex;
    flex-direction: column;
    gap: .375rem;
    padding: clamp(1.125rem, 2.5vw, 1.625rem);
    background: var(--paper);
    margin: 0;
}

/* старая тема красила каждую цифру своим градиентом (--1..--4) —
   теперь один зелёный, поэтому модификаторы складываем в базу */
.page2026 .up-stats__num,
.page2026 .up-stats__num--1,
.page2026 .up-stats__num--2,
.page2026 .up-stats__num--3,
.page2026 .up-stats__num--4 {
    font-family: var(--mono);
    font-size: clamp(1.75rem, 3.8vw, 2.625rem);
    font-weight: 800;
    line-height: 1;
    letter-spacing: -.02em;
    font-variant-numeric: tabular-nums;
    color: var(--green);
    background: none;
    -webkit-text-fill-color: currentColor;
}

.page2026 .up-stats__label {
    font-family: var(--mono);
    font-size: .6875rem;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--soft);
}

/* ── «проблемы»: карточки в одну линию с призрачным номером ── */

.page2026 .up-problem__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 1px;
    background: #08090b1f;
    border: 1px solid #08090b1f;
    margin: 1.75rem 0;
}

.page2026 .up-problem__card {
    position: relative;
    background: var(--paper);
    padding: clamp(1.125rem, 2.5vw, 1.625rem);
    margin: 0;
}

.page2026 .up-problem__card h3 { margin: 0 0 .5rem; font-size: 1.0625rem; }
.page2026 .up-problem__card p { margin: 0; font-size: .9375rem; line-height: 1.55; color: var(--soft); }

.page2026 .up-problem__card-icon {
    display: block;
    margin: 0 0 .875rem;
    font-size: 1.5rem;
    line-height: 1;
}

/* крупный номер-призрак в углу карточки */
.page2026 .up-problem__card-num {
    position: absolute;
    top: .875rem;
    right: 1.125rem;
    font-family: var(--mono);
    font-size: 2rem;
    font-weight: 800;
    line-height: 1;
    color: #08090b1a;
}

/* ── модули услуги: бенто-сетка up-bento / up-mod ── */

/* фазовый заголовок перед каждой бенто-плитой */
.page2026 .up-phase { margin: 0 0 clamp(2rem, 4vw, 3rem); }

.page2026 .up-phase__head {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: .875rem 1rem;
    margin: 0 0 1.25rem;
    padding-top: 1.25rem;
    border-top: 1px solid #08090b1f;
}

/* бейджи фаз в старой теме различались градиентами — теперь одна
   зелёная плита с лаймовой подписью, модификаторы в базе */
.page2026 .up-phase__badge,
.page2026 .up-phase__badge--1,
.page2026 .up-phase__badge--2,
.page2026 .up-phase__badge--3 {
    padding: .375rem .75rem;
    background: var(--green);
    color: var(--acid);
    font-family: var(--mono);
    font-size: .65rem;
    letter-spacing: .14em;
    text-transform: uppercase;
    white-space: nowrap;
}

.page2026 .up-phase__title {
    margin: 0;
    font-size: clamp(1.375rem, 3vw, 2rem);
    font-weight: 800;
    letter-spacing: -.03em;
    line-height: 1.05;
}

.page2026 .up-phase__sub {
    flex-basis: 100%;
    margin: 0;
    max-width: 68ch;
    font-size: .9375rem;
    color: var(--soft);
}

/* бенто: 3 колонки, --wide занимает две; рамки — приёмом gap:1px */
.page2026 .up-bento {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1px;
    background: #08090b1f;
    border: 1px solid #08090b1f;
    margin: 0 0 clamp(1.75rem, 3vw, 2.5rem);
}

/* фазовые варианты: набор модулей меняется, колонки подбираются сами */
.page2026 .up-bento--phase2,
.page2026 .up-bento--phase3 {
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}

.page2026 .up-mod {
    display: flex;
    flex-direction: column;
    gap: .625rem;
    padding: clamp(1.25rem, 2.5vw, 1.75rem);
    background: var(--paper);
    margin: 0;
}

.page2026 .up-mod--wide { grid-column: span 2; }

.page2026 .up-mod h3 { margin: .25rem 0 0; font-size: 1.125rem; letter-spacing: -.02em; }
.page2026 .up-mod p { margin: 0; font-size: .9375rem; line-height: 1.6; color: var(--soft); max-width: 60ch; }

/* номер модуля: значение + линия до края */
.page2026 .up-mod__num {
    display: flex;
    align-items: center;
    gap: .75rem;
}

.page2026 .up-mod__num-val {
    font-family: var(--mono);
    font-size: .75rem;
    letter-spacing: .08em;
    color: var(--green);
}

.page2026 .up-mod__num-line {
    flex: 1;
    height: 1px;
    background: #08090b1f;
}

/* иконка: инлайновый border-color старой темы (синий/фиолетовый)
   перебиваем осознанно — цветным рамкам в системе места нет */
.page2026 .up-mod__icon {
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    font-size: 1.25rem;
    line-height: 1;
    background: #08090b06;
    border: 1px solid #08090b1f !important;
}

/* ── помесячный план: вертикальная линия ── */

.page2026 .up-timeline {
    position: relative;
    max-width: 760px;
    margin: 1.75rem 0;
}

/* сама линия — через все месяцы */
.page2026 .up-timeline::before {
    content: "";
    position: absolute;
    left: 4px;
    top: 6px;
    bottom: 6px;
    width: 1px;
    background: #08090b24;
}

.page2026 .up-month {
    position: relative;
    padding-left: clamp(1.75rem, 3vw, 2.25rem);
    margin: 0 0 clamp(1.375rem, 2.5vw, 1.75rem);
}

.page2026 .up-month:last-child { margin-bottom: 0; }

/* засечка на линии: лаймовый квадрат с зелёной рамкой, без скруглений */
.page2026 .up-month__dot {
    position: absolute;
    left: 0;
    top: .3em;
    width: 9px;
    height: 9px;
    background: var(--acid);
    border: 1px solid var(--green);
}

.page2026 .up-month__num {
    margin: 0 0 .25rem;
    font-family: var(--mono);
    font-size: .6875rem;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--green);
}

.page2026 .up-month__title {
    margin: 0 0 .25rem;
    font-size: 1.0625rem;
    font-weight: 700;
    letter-spacing: -.015em;
}

.page2026 .up-month__desc {
    margin: 0;
    max-width: 62ch;
    font-size: .9375rem;
    line-height: 1.55;
    color: var(--soft);
}

/* ── тарифы ── */

/* карточки с собственными рамками и обычным gap: у featured рамка
   2px --green, в линию 1px её не вписать */
.page2026 .up-pricing__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: clamp(1rem, 2vw, 1.5rem);
    align-items: stretch;
    background: transparent;
    border: 0;
    margin: 1.75rem 0;
}

.page2026 .up-plan {
    position: relative;
    display: flex;
    flex-direction: column;
    padding: 0;
    margin: 0;
    border: 1px solid #08090b24;
    background: var(--paper);
}

/* выделенный тариф */
.page2026 .up-plan--featured { border: 2px solid var(--green); }

/* бейдж «популярный» — лаймовая плашка на верхней кромке */
.page2026 .up-plan__popular {
    position: absolute;
    top: 0;
    right: clamp(1rem, 2vw, 1.5rem);
    transform: translateY(-50%);
    padding: .375rem .75rem;
    background: var(--acid);
    color: var(--ink);
    font-family: var(--mono);
    font-size: .65rem;
    font-weight: 600;
    letter-spacing: .12em;
    text-transform: uppercase;
    white-space: nowrap;
}

.page2026 .up-plan__inner {
    display: flex;
    flex-direction: column;
    flex: 1;
    padding: clamp(1.5rem, 3vw, 2rem);
}

.page2026 .up-plan__tier {
    margin: 0 0 .75rem;
    font-family: var(--mono);
    font-size: .6875rem;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--soft);
}

.page2026 .up-plan__price {
    margin: 0;
    font-family: var(--mono);
    font-size: clamp(1.625rem, 3vw, 2.25rem);
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: -.02em;
    font-variant-numeric: tabular-nums;
    color: var(--green);
}

.page2026 .up-plan__time {
    margin: .375rem 0 0;
    font-family: var(--mono);
    font-size: .6875rem;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--soft);
}

.page2026 .up-plan__list {
    list-style: none;
    margin: 1.25rem 0;
    padding: 0;
    border-top: 1px solid #08090b14;
}

.page2026 .up-plan__list li {
    padding: .5625rem 0;
    border-bottom: 1px solid #08090b14;
    font-size: .9375rem;
    line-height: 1.5;
    max-width: none;
}

.page2026 .up-plan__check {
    margin-right: .5rem;
    font-family: var(--mono);
    font-weight: 700;
    color: var(--lit);
}

/* низ карточки прижат: кнопка на одном уровне во всех тарифах */
.page2026 .up-plan__foot { margin-top: auto; padding-top: 1rem; }

.page2026 .up-plan__foot-hint {
    margin: .625rem 0 0;
    font-family: var(--mono);
    font-size: .6875rem;
    letter-spacing: .04em;
    color: var(--soft);
}

/* ремарка под тарифами */
.page2026 .up-remark {
    max-width: 72ch;
    margin: 0 0 1.75rem;
    padding-left: clamp(1rem, 2vw, 1.5rem);
    border-left: 2px solid var(--green);
    font-size: .9375rem;
    line-height: 1.6;
    color: var(--soft);
}

/* ── «для кого»: карточки иконка + текст в одну линию ── */

.page2026 .up-audience__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 1px;
    background: #08090b1f;
    border: 1px solid #08090b1f;
    margin: 1.75rem 0 0;
}

.page2026 .up-audience__card {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    padding: clamp(1.125rem, 2.5vw, 1.625rem);
    background: var(--paper);
    margin: 0;
}

.page2026 .up-audience__card h3 { margin: 0 0 .375rem; font-size: 1.0625rem; }
.page2026 .up-audience__card p { margin: 0; font-size: .9375rem; line-height: 1.55; color: var(--soft); }

/* инлайновые синие/фиолетовые подложки старой темы перебиваем осознанно */
.page2026 .up-audience__card-icon {
    display: grid;
    place-items: center;
    flex: none;
    width: 44px;
    height: 44px;
    font-size: 1.25rem;
    line-height: 1;
    background: #08090b06 !important;
    border: 1px solid #08090b1f !important;
}

/* ── финальный CTA: тёмно-зелёная плита ── */

.page2026 .up-cta-final {
    margin: 0 0 clamp(2rem, 4vw, 3rem);
    padding: clamp(2rem, 5vw, 3.5rem);
    background: var(--green);
    color: var(--paper);
}

.page2026 .up-cta-final__h {
    margin: 0 0 1rem;
    max-width: 22ch;
    font-size: clamp(1.75rem, 4.5vw, 3rem);
    font-weight: 800;
    line-height: .95;
    letter-spacing: -.04em;
    text-transform: uppercase;
    text-wrap: balance;
}

/* на зелёной плите em — лаймовый текст, как в .more */
.page2026 .up-cta-final__h em {
    font-style: normal;
    color: var(--acid);
    background: none;
}

.page2026 .up-cta-final__sub {
    max-width: 58ch;
    margin: 0 0 1.5rem;
    font-size: 1.0625rem;
    line-height: 1.6;
    color: #EDEDEAd6;
}

.page2026 .up-cta-final .up-ctas { margin-top: .5rem; }

/* ── мобильные раскладки ── */

@media (max-width: 900px) {
    .page2026 .up-bento { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 640px) {
    .page2026 .up-bento,
    .page2026 .up-bento--phase2,
    .page2026 .up-bento--phase3 { grid-template-columns: 1fr; }

    .page2026 .up-mod--wide { grid-column: auto; }

    .page2026 .up-stats__grid { grid-template-columns: repeat(2, 1fr); }

    .page2026 .up-problem__grid,
    .page2026 .up-audience__grid,
    .page2026 .up-pricing__grid { grid-template-columns: 1fr; }

    .page2026 .up-plan--featured { order: -1; }   /* выделенный тариф — первым */

    .page2026 .up-cta-final { padding: clamp(1.5rem, 6vw, 2rem); }

    .page2026 .up-ctas { gap: .75rem; }
    .page2026 .up-ctas > a,
    .page2026 .up-ctas > button { width: 100%; text-align: center; }
}

/* ═══════════════════════════════════════════════════════════
   FORMS/PRICING/FOUNDER/CONTACT 2026-08-14 — адаптация старых
   компонентов post_content к дизайн-системе kb2026.
   Семейство: pricing-* / founder-card* / contact-grid /
   contact-info* / contact-form__(input|textarea|submit|note) /
   hp-field. Файл подключается ПОСЛЕ generic-блока .page2026 —
   равная специфичность решается порядком в каскаде.
   ═══════════════════════════════════════════════════════════ */

/* ── honeypot: глушим ВЕЗДЕ, без привязки к шаблону ──
   Chrome автозаполняет off-screen ловушку из профиля, и заявки
   молча дохнут. Только display:none, никаких left:-9999px. */
.hp-field,
input.hp-field,
.page2026 .hp-field {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
}

/* ── тарифы: сетка «в одну линию» ── */
.page2026 .pricing-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 1px;
    background: #08090b1f;
    border: 1px solid #08090b1f;
    margin: 0 0 1.75rem;
    align-items: stretch;
}

.page2026 .pricing-card {
    display: flex;
    flex-direction: column;
    gap: .5rem;
    background: var(--paper);
    color: inherit;
    padding: clamp(1.25rem, 2.5vw, 1.75rem);
    margin: 0;
    border-radius: 0;
    box-shadow: none;
}

/* имя тарифа — моно-лейбл системы */
.page2026 .pricing-card__name {
    margin: 0 0 .5rem;
    font-family: var(--mono);
    font-size: .6875rem;
    font-weight: 600;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--soft);
}

/* цена — крупная моно-цифра, как статы системы */
.page2026 .pricing-card__price {
    margin: 0;
    font-family: var(--mono);
    font-size: clamp(1.625rem, 3vw, 2.25rem);
    font-weight: 800;
    letter-spacing: -.02em;
    line-height: 1.05;
    color: var(--green);
    font-variant-numeric: tabular-nums;
}

.page2026 .pricing-card__period {
    margin: 0 0 .625rem;
    font-family: var(--mono);
    font-size: .6875rem;
    letter-spacing: .09em;
    text-transform: uppercase;
    color: var(--soft);
}

/* перечень включённого — компактнее основного текста */
.page2026 .pricing-card ul {
    margin: .25rem 0 0;
    padding-left: 1.125rem;
}
.page2026 .pricing-card li {
    font-size: .9375rem;
    line-height: 1.55;
    margin-bottom: .375rem;
    max-width: none;
}

/* CTA прижимается к низу карточки */
.page2026 .pricing-card .btn,
.page2026 .pricing-card a[class*="btn"] { margin-top: auto; align-self: flex-start; }

/* выделенный тариф — тёмно-зелёная плита с acid-акцентами */
.page2026 .pricing-card.featured {
    background: var(--green);
    color: var(--paper);
}
.page2026 .pricing-card.featured .pricing-card__name { color: var(--acid); }
.page2026 .pricing-card.featured .pricing-card__price { color: var(--paper); }
.page2026 .pricing-card.featured .pricing-card__period { color: #EDEDEAa3; }
.page2026 .pricing-card.featured li { color: #EDEDEAd6; }
.page2026 .pricing-card.featured a:not(.btn) { color: var(--acid); }

/* ── карточка основателя (страница about) ── */
.page2026 .founder-card {
    position: relative;
    max-width: 40rem;
    margin: 0 0 1.75rem;
    padding: clamp(1.5rem, 3vw, 2.25rem);
    border: 1px solid #08090b1f;   /* статичная рамка вместо старого декора */
    background: var(--paper);
    border-radius: 0;
    box-shadow: none;
}

/* декор старой тёмной темы: свечение и анимированная рамка — в утиль */
.page2026 .founder-card__glow,
.page2026 .founder-card__border,
.founder-card__glow,
.founder-card__border {
    display: none !important;
}

.page2026 .founder-card__name {
    margin: 0 0 .25rem;
    font-size: clamp(1.375rem, 2.5vw, 1.75rem);
    font-weight: 800;
    letter-spacing: -.03em;
    line-height: 1.1;
}

.page2026 .founder-card__role {
    margin: 0 0 1.125rem;
    font-family: var(--mono);
    font-size: .6875rem;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--soft);
}

.page2026 .founder-card__text {
    margin: 0 0 .875rem;
    font-size: .9375rem;
    line-height: 1.65;
    color: #08090bd0;
    max-width: 60ch;
}

/* почта — моно-ссылка с кислотным подчёркиванием;
   a.класс перебивает .page2026 a:not(.btn) при равной специфичности */
.page2026 a.founder-card__email,
.page2026 .founder-card__email {
    display: inline-block;
    font-family: var(--mono);
    font-size: .875rem;
    font-weight: 600;
    color: var(--green);
    text-decoration: none;
    border-bottom: 2px solid var(--acid);
    padding-bottom: .125rem;
    transition: background .18s, color .18s;
}
.page2026 a.founder-card__email:hover,
.page2026 a.founder-card__email:focus-visible {
    background: var(--acid);
    color: var(--ink);
}

/* ── страница контактов: обёртка формы ──
   Generic-правило превращает её в бордерную auto-fit-сетку —
   осознанно гасим: это форма, а не плитка карточек. */
.page2026 .contact-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.125rem;
    background: transparent;
    border: 0;
    padding: 0;
    margin: 0 0 1.75rem;
    max-width: none;
}

.page2026 .contact-grid > * {
    background: transparent;
    padding: 0;
    margin: 0;
}

/* поле = колонка «лейбл → контрол» */
.page2026 .contact-grid > div {
    display: flex;
    flex-direction: column;
    gap: .375rem;
    max-width: 44rem;
}

.page2026 .contact-grid label {
    font-family: var(--mono);
    font-size: .6875rem;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--soft);
}

/* wpautop-артефакты внутри формы */
.page2026 .contact-grid label + br,
.page2026 .contact-form__field > br { display: none; }
.page2026 .contact-grid p:empty { display: none; }

/* контролы контактной формы — бумага и чернила, без свечений */
.page2026 .contact-grid input:not(.hp-field),
.page2026 .contact-grid select,
.page2026 .contact-grid textarea {
    width: 100%;
    padding: .6875rem .875rem;
    border: 1px solid #08090b2b;
    border-radius: 0;
    background: var(--paper);
    color: var(--ink);
    font: inherit;
    font-size: .9375rem;
}

.page2026 .contact-grid input:focus,
.page2026 .contact-grid select:focus,
.page2026 .contact-grid textarea:focus {
    border-color: var(--green);
    outline: 2px solid var(--green);
    outline-offset: -1px;
    box-shadow: none;
}

/* ── инпуты семейства contact-form__* (audit и др. страницы) ── */
.page2026 .contact-form__input,
.page2026 .contact-form__textarea {
    width: 100%;
    padding: .6875rem .875rem;
    border: 1px solid #08090b2b;
    border-radius: 0;
    background: var(--paper);
    color: var(--ink);
    font: inherit;
    font-size: .9375rem;
}

.page2026 .contact-form__input::placeholder,
.page2026 .contact-form__textarea::placeholder,
.page2026 .contact-grid input::placeholder,
.page2026 .contact-grid textarea::placeholder {
    color: var(--soft);
    opacity: .75;
}

.page2026 .contact-form__textarea {
    min-height: 9rem;
    resize: vertical;
}

.page2026 .contact-form__input:focus,
.page2026 .contact-form__textarea:focus {
    border-color: var(--green);
    outline: 2px solid var(--green);
    outline-offset: -1px;
    box-shadow: none;
}

/* сабмит — тот же голос, что .btn (кислота) */
.page2026 .contact-form__submit {
    display: inline-block;
    justify-self: start;
    padding: .875rem 1.5rem;
    border: 1.5px solid var(--acid);
    border-radius: 0;
    background: var(--acid);
    color: var(--ink);
    font: inherit;
    font-size: .875rem;
    font-weight: 700;
    white-space: nowrap;
    cursor: pointer;
    transition: background .18s, color .18s;
    box-shadow: none;
    text-shadow: none;
}
.page2026 .contact-form__submit:hover { background: transparent; color: var(--green); }
.page2026 .contact-form__submit:focus-visible { outline: 2px solid var(--green); outline-offset: 2px; }

/* приписка про ПДн под кнопкой */
.page2026 .contact-form__note {
    margin: .625rem 0 0;
    font-family: var(--mono);
    font-size: .71875rem;
    line-height: 1.5;
    letter-spacing: .02em;
    color: var(--soft);
    max-width: 52ch;
}
.page2026 .contact-form__note a { color: var(--green); }

/* ── контактные данные: плитка «в одну линию» ── */
.page2026 .contact-info {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 1px;
    background: #08090b1f;
    border: 1px solid #08090b1f;
    margin: 0 0 1.75rem;
}

/* внутри contact-grid плитка идёт после формы — небольшой отступ сверху */
.page2026 .contact-grid .contact-info { margin: .75rem 0 0; max-width: none; }

.page2026 .contact-info__item {
    background: var(--paper);
    color: inherit;
    padding: clamp(1rem, 2vw, 1.375rem);
    margin: 0;
    border-radius: 0;
    box-shadow: none;
}

.page2026 .contact-info__item h3 {
    margin: 0 0 .5rem;
    font-family: var(--mono);
    font-size: .6875rem;
    font-weight: 400;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--soft);
}

.page2026 .contact-info__item p {
    margin: 0 0 .25rem;
    font-size: .9375rem;
    line-height: 1.55;
    max-width: none;
}
.page2026 .contact-info__item p:last-child { margin-bottom: 0; }

.page2026 .contact-info__item a {
    color: var(--green);
    text-decoration: underline;
    text-underline-offset: 3px;
    text-decoration-thickness: 1px;
}
.page2026 .contact-info__item a:hover { background: var(--acid); text-decoration: none; }

/* ── мобильная версия ── */
@media (max-width: 640px) {
    .page2026 .pricing-grid,
    .page2026 .contact-info { grid-template-columns: 1fr; }

    .page2026 .pricing-card { padding: 1.125rem 1rem; }
    .page2026 .pricing-card__price { font-size: 1.625rem; }

    .page2026 .founder-card { padding: 1.25rem 1rem; }

    .page2026 .contact-form__submit {
        width: 100%;
        text-align: center;
        white-space: normal;
    }
}

/* ═══════════════════════════════════════════════════════════
   MISC 2026-08-14 — разное из старой разметки под язык kb2026:
   кнопки btn-primary / btn-outline, утилиты font-display /
   font-mono / gradient-text, блок «Читайте также»
   (related-articles), лид kb-intro, case-extras__card
   (синоним case-extras__item) и колонка бренда в футере
   (ft__brand). Файл грузится ПОСЛЕ kb-2026-current.css —
   при равной специфичности выигрывает каскадом.
   ═══════════════════════════════════════════════════════════ */

/* ── btn-primary: та же кислотная плита, что .btn, но с моно-голосом ──
   Встречается и как <button type="submit">, и как <a> внутри .kb-body,
   поэтому селекторы перекрывают:
   - .page2026 button[type="submit"] и .page2026 .contact-form button
   - .kb-body a:not(.btn) с его анимированным подчёркиванием */
.kb2026 .btn-primary,
.kb-body a.btn-primary,
.page2026 .btn-primary,
.page2026 button.btn-primary,
.page2026 .contact-form button.btn-primary {
    display: inline-block;
    padding: .875rem 1.5rem;
    border: 1.5px solid var(--acid);
    border-radius: 0;
    background: var(--acid);
    background-image: none;          /* сброс градиент-подчёркивания .kb-body a */
    color: var(--ink);
    font-family: var(--mono);
    font-size: .8125rem;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: .08em;
    text-transform: uppercase;
    text-decoration: none;
    white-space: nowrap;
    cursor: pointer;
    -webkit-appearance: none;
    appearance: none;
    box-shadow: none;
    transition: background .18s, color .18s, border-color .18s;
}

/* инверсия в чернила — читается и на бумаге, и на зелёной плите */
.kb2026 .btn-primary:hover,
.kb-body a.btn-primary:hover,
.page2026 .btn-primary:hover,
.page2026 button.btn-primary:hover,
.page2026 .contact-form button.btn-primary:hover {
    background: var(--ink);
    background-image: none;
    border-color: var(--ink);
    color: var(--acid);
}

.kb2026 .btn-primary:focus-visible,
.page2026 .btn-primary:focus-visible {
    outline: 3px solid var(--green);
    outline-offset: 3px;
}

/* ── btn-outline: прозрачная, рамка 1px чернилами ── */
.kb2026 .btn-outline,
.kb-body a.btn-outline,
.page2026 .btn-outline {
    display: inline-block;
    padding: .875rem 1.5rem;
    border: 1px solid var(--ink);
    border-radius: 0;
    background: transparent;
    background-image: none;
    color: var(--ink);
    font-family: var(--mono);
    font-size: .8125rem;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: .08em;
    text-transform: uppercase;
    text-decoration: none;
    white-space: nowrap;
    cursor: pointer;
    -webkit-appearance: none;
    appearance: none;
    transition: background .18s, color .18s, box-shadow .18s;
}

/* в старой разметке на кнопке инлайновый background:transparent —
   он перебивает background из класса, поэтому заливку на ховере
   дублируем внутренней сплошной box-shadow (это заливка, не свечение) */
.kb2026 .btn-outline:hover,
.kb-body a.btn-outline:hover,
.page2026 .btn-outline:hover {
    background: var(--ink);
    background-image: none;
    box-shadow: inset 0 0 0 100vmax var(--ink);
    color: var(--paper);
}

.kb2026 .btn-outline:focus-visible,
.page2026 .btn-outline:focus-visible {
    outline: 3px solid var(--green);
    outline-offset: 3px;
}

/* ── типографские утилиты старой разметки ── */
.kb2026 .font-display,
.page2026 .font-display {
    font-family: var(--grotesk);
    font-weight: 800;
    letter-spacing: -.03em;
}

.kb2026 .font-mono,
.page2026 .font-mono {
    font-family: var(--mono);
}

/* gradient-text: никаких градиентов в тексте — акцентное слово получает
   кислотный маркер-подчёркивание (linear-gradient тут — сплошная линия,
   тот же приём, что у ссылок .kb-body). Заодно страхуемся от clip:text
   из старых инлайновых стилей. */
.kb2026 .gradient-text,
.page2026 .gradient-text {
    color: inherit;
    -webkit-text-fill-color: currentColor;
    -webkit-background-clip: initial;
    background-clip: initial;
    background-image: linear-gradient(var(--acid), var(--acid));
    background-size: 100% .2em;
    background-position: 0 92%;
    background-repeat: no-repeat;
}

/* ── «Читайте также» в постах: перечень в духе .idx, не карточки ── */
.kb2026 .related-articles,
.kb-body .related-articles {
    margin: clamp(2.5rem, 5vw, 4rem) 0 0;
    padding-top: clamp(1.125rem, 2.5vw, 1.5rem);
    border-top: 1px solid #08090b1f;
}

.kb2026 .related-articles h2,
.kb-body .related-articles h2 {
    margin: 0 0 .5rem;
    font-family: var(--mono);
    font-weight: 400;
    font-size: .6875rem;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--soft);
}

.kb2026 .related-articles ul,
.kb-body .related-articles ul {
    margin: 0;
    padding: 0;
    list-style: none;
    counter-reset: ra;
    max-width: none;
}

.kb2026 .related-articles li,
.kb-body .related-articles li {
    margin: 0;
    counter-increment: ra;
    max-width: none;
}

/* строка = ссылка: номер, заголовок, стрелка (как .idx__i) */
.kb2026 .related-articles li a,
.kb-body .related-articles li a {
    display: grid;
    grid-template-columns: 2.5rem minmax(0, 1fr) auto;
    gap: clamp(.75rem, 2vw, 1.25rem);
    align-items: baseline;
    padding: clamp(.875rem, 2vw, 1.125rem) 0;
    border-bottom: 1px solid #08090b1f;
    font-size: clamp(1rem, 1.7vw, 1.1875rem);
    font-weight: 700;
    letter-spacing: -.02em;
    line-height: 1.3;
    color: var(--ink);
    text-decoration: none;
    background: none;                /* сброс подчёркивания .kb-body a:not(.btn) */
    transition: background-color .18s, color .18s, padding-left .18s;
}

.kb2026 .related-articles li a::before,
.kb-body .related-articles li a::before {
    content: counter(ra, decimal-leading-zero);
    font-family: var(--mono);
    font-size: .75rem;
    color: var(--soft);
    opacity: .6;
}

.kb2026 .related-articles li a::after,
.kb-body .related-articles li a::after {
    content: "→";
    font-family: var(--mono);
    color: var(--lit);
    opacity: 0;
    transform: translateX(-6px);
    transition: opacity .2s, transform .24s cubic-bezier(.16,1,.3,1);
}

.kb2026 .related-articles li a:hover,
.kb-body .related-articles li a:hover {
    background-color: #08090b06;
    color: var(--green);
    padding-left: .5rem;
}

.kb2026 .related-articles li a:hover::after,
.kb-body .related-articles li a:hover::after {
    opacity: 1;
    transform: none;
}

.kb2026 .related-articles li a:focus-visible,
.kb-body .related-articles li a:focus-visible {
    outline: 2px solid var(--green);
    outline-offset: -2px;
}

/* ── kb-intro: лид-абзац раздела знаний ── */
.kb2026 .kb-intro,
.page2026 .kb-intro {
    margin: 0 0 clamp(1.5rem, 3vw, 2rem);
    max-width: var(--col);
    font-size: clamp(1.125rem, 1.8vw, 1.375rem);
    line-height: 1.55;
    letter-spacing: -.012em;
    text-wrap: pretty;
}

/* ── case-extras__card: синоним case-extras__item (см. блок CASES) ──
   .page2026-вариант перебивает жадные [class*="card"] / [class*="grid"] > * */
.case-extras__card,
.page2026 .case-extras__card,
.case-extras__item {
    border: 1px solid #08090b1f;
    background: #08090b05;
    color: inherit;
    padding: 1.1rem 1.2rem;
    margin: 0;
    box-shadow: none;
}

.kb-body .case-extras__card h3,
.page2026 .case-extras__card h3 {
    margin: 0 0 .5rem;
    font-size: 1rem;
    font-weight: 700;
}

.case-extras__card p,
.page2026 .case-extras__card p {
    margin: 0;
    font-size: .90625rem;
    line-height: 1.55;
    color: #08090bd0;
    max-width: none;
}

/* ── ft__brand: колонка бренда в тёмном футере ── */
.kb2026 .ft__brand {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    font-size: .9375rem;
    line-height: 1.6;
}

.kb2026 .ft__brand p {
    margin: 0 0 1rem;
    max-width: 36ch;
    opacity: .62;
}

.kb2026 .ft__brand a {
    color: var(--paper);
    text-decoration: none;
    transition: color .18s, opacity .18s;
}

.kb2026 .ft__brand a:hover,
.kb2026 .ft__brand a:focus-visible { color: var(--acid); }

.kb2026 .ft__brand small {
    display: block;
    margin-top: .25rem;
    font-family: var(--mono);
    font-size: .6875rem;
    letter-spacing: .09em;
    text-transform: uppercase;
    opacity: .5;
}

/* ── мобильная версия ── */
@media (max-width: 640px) {
    .kb2026 .btn-primary,
    .kb2026 .btn-outline,
    .page2026 .btn-primary,
    .page2026 .btn-outline {
        display: block;
        width: 100%;
        text-align: center;
        white-space: normal;
    }

    .kb2026 .related-articles li a,
    .kb-body .related-articles li a {
        grid-template-columns: 2rem minmax(0, 1fr);
    }

    /* стрелке в двухколоночной сетке места нет — авторазмещение
       уронило бы её на новую строку */
    .kb2026 .related-articles li a::after,
    .kb-body .related-articles li a::after { display: none; }
}

@media (prefers-reduced-motion: reduce) {
    .kb2026 .btn-primary,
    .kb2026 .btn-outline,
    .page2026 .btn-primary,
    .page2026 .btn-outline,
    .kb2026 .related-articles li a,
    .kb-body .related-articles li a,
    .kb2026 .related-articles li a::after,
    .kb-body .related-articles li a::after,
    .kb2026 .ft__brand a { transition: none; }
}

/* ── SEARCH FORM 2026-08-14 (search.php) ── */
.idx-search-form {
    display: flex;
    gap: .5rem;
    margin: 0 0 1.75rem;
    max-width: 560px;
}
.idx-search {
    flex: 1;
    font: inherit;
    font-size: .9375rem;
    color: var(--ink);
    background: var(--paper);
    border: 1px solid #08090b2b;
    padding: .6rem .85rem;
    border-radius: 0;
}
.idx-search:focus {
    outline: 2px solid var(--green);
    outline-offset: -1px;
    border-color: var(--green);
}

/* ── INLINE CLEANUP 2026-08-14: добив инлайн-стилей старой тёмной темы ──
   Элементы БЕЗ классов с inline linear-gradient / синими подложками
   (бейджи NEW, розовые промо-плашки, pill-кнопки, квадраты иконок). */
.page2026 [style*="linear-gradient"],
.page2026 [style*="radial-gradient"] {
    background: transparent !important;
    border-color: #08090b1f !important;
    border-radius: 0 !important;
}
/* градиентные бейджи и pill-CTA с белым текстом → зелёная плита */
.page2026 span[style*="linear-gradient"][style*="color:#fff"],
.page2026 a[style*="linear-gradient"][style*="color:#fff"] {
    background: var(--green) !important;
    color: var(--paper) !important;
}
/* синие квадраты-иконки 48x48 */
.page2026 span[style*="rgba(59,130,246"] {
    background: #08090b05 !important;
    border-color: #08090b1f !important;
    border-radius: 0 !important;
}
/* прочие цветные inline-рамки (розовые/фиолетовые) */
.page2026 [style*="rgba(236,72,153"],
.page2026 [style*="rgba(139,92,246"],
.page2026 [style*="rgba(34,197,94"] {
    border-color: #08090b1f !important;
    border-radius: 0 !important;
}

/* ═══════════════════════════════════════════════════════════
   LIVE 2026-08-14: dropdown-меню, подвал v2, полировка услуг
   ═══════════════════════════════════════════════════════════ */

/* ── выпадающее меню «Услуги» ── */
.nav__item { position: relative; display: flex; }

.nav__a--dd {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
}
.nav__a--dd::after {
    content: "";
    width: 5px;
    height: 5px;
    border-right: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;
    transform: rotate(45deg) translate(-1px, -1px);
    transition: transform .2s;
}
.nav__item:hover .nav__a--dd::after,
.nav__item:focus-within .nav__a--dd::after {
    transform: rotate(225deg) translate(-2px, -2px);
}

.nav__dd {
    position: absolute;
    top: calc(100% + .95rem);
    left: 50%;
    transform: translate(-50%, 10px);
    min-width: 340px;
    padding: .5rem;
    background: var(--paper);
    border: 1px solid #08090b1f;
    box-shadow: 0 32px 64px -32px #08090b59;
    opacity: 0;
    visibility: hidden;
    transition: opacity .18s ease, transform .25s cubic-bezier(.16,1,.3,1),
                visibility 0s linear .2s;
    z-index: 60;
}
/* невидимый мостик — курсор не проваливается между ссылкой и панелью */
.nav__dd::before {
    content: "";
    position: absolute;
    top: -1rem;
    left: 0;
    right: 0;
    height: 1rem;
}
.nav__item:hover .nav__dd,
.nav__item:focus-within .nav__dd {
    opacity: 1;
    visibility: visible;
    transform: translate(-50%, 0);
    transition-delay: 0s;
}

.nav__dd-a {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 1.5rem;
    padding: .55rem .75rem;
    text-decoration: none;
    color: var(--ink);
    font-size: .875rem;
    font-weight: 600;
    letter-spacing: -.01em;
}
.nav__dd-a b {
    font-family: var(--mono);
    font-weight: 400;
    font-size: .71875rem;
    color: var(--soft);
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}
.nav__dd-a:hover,
.nav__dd-a:focus-visible { background: #08090b08; color: var(--green); }
.nav__dd-a:hover b { color: var(--green); }

.nav__dd-all {
    display: block;
    margin-top: .25rem;
    padding: .7rem .75rem;
    border-top: 1px solid #08090b1f;
    font-family: var(--mono);
    font-size: .6875rem;
    letter-spacing: .12em;
    text-transform: uppercase;
    text-decoration: none;
    color: var(--ink);
}
.nav__dd-all:hover,
.nav__dd-all:focus-visible { background: var(--acid); }

@media (max-width: 1000px) {
    /* в бургер-меню — плоский список, «Услуги» ведёт на /uslugi/ */
    .nav__item { display: contents; }
    .nav__a--dd::after { display: none; }
    .nav__dd { display: none; }
}

/* ── подвал v2 ── */
.ft { position: relative; overflow: hidden; }

/* CTA-строка над колонками */
.ft__cta { border-bottom: 1px solid #EDEDEA1f; background: var(--green); }
.ft__cta-in {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1.25rem 2.5rem;
    max-width: var(--max);
    margin: 0 auto;
    padding: clamp(1.5rem, 3.5vw, 2.5rem) var(--gut);
}
.ft__cta-t {
    margin: 0;
    font-size: clamp(1.375rem, 3vw, 2.25rem);
    font-weight: 800;
    letter-spacing: -.03em;
    line-height: 1.05;
}
.ft__cta-t em { font-style: normal; color: var(--acid); }
.ft__cta-act { display: flex; align-items: center; gap: 1.25rem; margin-left: auto; }
.ft__cta-tel {
    font-family: var(--mono);
    font-size: .875rem;
    color: var(--paper);
    text-decoration: none;
    opacity: .8;
}
.ft__cta-tel:hover { opacity: 1; color: var(--acid); }

.ft__in { position: relative; z-index: 1; }
.ft__mk { font-size: 1.5rem; }
.ft__note { max-width: 30ch; }

/* ссылки колонок: кислотное подчёркивание слева направо */
.ft__col a {
    width: fit-content;
    background-image: linear-gradient(var(--acid), var(--acid));
    background-repeat: no-repeat;
    background-size: 0% 1px;
    background-position: 0 100%;
    transition: background-size .25s, color .2s, opacity .2s;
}
.ft__col a:hover { background-size: 100% 1px; }

/* услуги с ценами */
.ft__svc { display: flex; justify-content: space-between; gap: 1rem; align-items: baseline; }
.ft__svc b {
    font-family: var(--mono);
    font-weight: 400;
    font-size: .6875rem;
    opacity: .45;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}
.ft__svc:hover b { opacity: .9; }

/* гигантский контурный вордмарк */
.ft__giant {
    margin: clamp(1.5rem, 4vw, 3rem) 0 0;
    font-weight: 800;
    font-size: clamp(3.5rem, 12.5vw, 15rem);
    line-height: .82;
    letter-spacing: -.05em;
    text-transform: uppercase;
    text-align: center;
    color: transparent;
    -webkit-text-stroke: 1px #EDEDEA30;
    user-select: none;
    pointer-events: none;
    white-space: nowrap;
    transform: translateY(12%);
}

.ft__bot { position: relative; z-index: 1; border-top: 1px solid #EDEDEA1f; }

@media (max-width: 700px) {
    .ft__cta-act { margin-left: 0; }
    .ft__svc b { display: none; }
}

/* ── услуги/страницы: карточкам — жизнь ── */
.page2026 .sp-megacard,
.page2026 .sp-audience__item,
.page2026 .up-plan,
.page2026 .pricing-card,
.page2026 .case-extras__item {
    transition: transform .25s cubic-bezier(.16,1,.3,1), border-color .2s,
                background .2s, box-shadow .25s;
}
.page2026 .sp-megacard:hover,
.page2026 .up-plan:hover,
.page2026 .pricing-card:hover {
    transform: translateY(-4px);
    border-color: var(--green);
    box-shadow: 0 18px 36px -22px #08090b40;
    z-index: 1;
    position: relative;
}

/* ═══════════════════════════════════════════════════════════
   MEGACARD FIX 2026-08-14: карточки услуг без эмодзи-зоопарка
   ═══════════════════════════════════════════════════════════ */

/* эмодзи-иконки старой темы — вон; вместо них моно-номера 01–07 */
.page2026 .sp-megacard__icon,
.page2026 .sp-audience__icon { display: none !important; }

.page2026 .sp-megacard > p:empty { display: none; }
.page2026 .sp-megacard br { display: none; }

.page2026 .sp-megacards { counter-reset: dzsvc; }
.page2026 .sp-megacard { position: relative; counter-increment: dzsvc; }
.page2026 .sp-megacard::before {
    content: "0" counter(dzsvc);
    font-family: var(--mono);
    font-size: .75rem;
    letter-spacing: .12em;
    color: var(--lit);
}

.page2026 .sp-audience { counter-reset: dzaud; }
.page2026 .sp-audience__item { position: relative; counter-increment: dzaud; }
.page2026 .sp-audience__item::before {
    content: "0" counter(dzaud);
    display: block;
    margin-bottom: .5rem;
    font-family: var(--mono);
    font-size: .75rem;
    letter-spacing: .12em;
    color: var(--lit);
}

/* бейджи NEW/FREE: компактный чип в правом верхнем углу, никаких полос */
.page2026 .sp-megacard .sp-label,
.page2026 .sp-megacard .sp-label[style] {
    position: absolute;
    top: 1.1rem;
    right: 1.1rem;
    display: inline-block;
    width: auto;
    margin: 0;
    padding: .3rem .55rem !important;
    background: var(--green) !important;
    color: var(--acid) !important;
    border: 0 !important;
    border-radius: 0 !important;
    font-family: var(--mono);
    font-size: .625rem !important;
    font-weight: 600;
    letter-spacing: .14em !important;
    text-transform: uppercase;
    line-height: 1;
}

/* заголовок карточки: крупный, без подчёркивания */
.page2026 .sp-megacard__title { margin-top: .25rem; }
.page2026 .sp-megacard__title a,
.page2026 .sp-megacard__title a:not(.btn) {
    color: var(--ink) !important;
    font-size: 1.1875rem;
    font-weight: 700;
    letter-spacing: -.02em;
    line-height: 1.2;
    text-decoration: none;
    background: none;
}
.page2026 .sp-megacard__title a:hover { color: var(--green) !important; }

/* цена в первой строке списка — акцент */
.page2026 ul.sp-megacard__list li:first-child {
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}

/* кнопка — к нижней кромке, полнее */
.page2026 .sp-megacard > p:last-child { margin-top: auto !important; padding-top: 1rem; }
.page2026 .sp-megacard .btn-outline,
.page2026 .sp-megacard .btn-primary {
    display: inline-block;
    padding: .7rem 1.2rem;
}

/* выделенные карточки (NEW/FREE, инлайн-стили старой темы) */
.page2026 .sp-megacard[style*="139,92,246"],
.page2026 .sp-megacard[style*="34,197,94"] {
    border: 2px solid var(--green) !important;
    background: #0F36280a !important;
}

/* ── TESTFIX 2026-08-14: классы без стилей, найденные тест-сьютом ── */

/* крошки шаблона page-2026 (dz_breadcrumbs выводит .breadcrumbs, а система знает .crumb) */
.breadcrumbs {
    margin: 0 0 clamp(.75rem, 2vw, 1.25rem);
    font-family: var(--mono);
    font-size: .6875rem;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--soft);
}
.breadcrumbs a { color: inherit; text-decoration: none; }
.breadcrumbs a:hover { color: var(--green); }
.breadcrumbs__sep { margin: 0 .4rem; opacity: .5; }

/* заголовок hero внутри контента (когда h1 рисует шаблон) */
.page2026 .service-hero__title {
    margin: 0 0 1rem;
    font-size: clamp(1.5rem, 3.4vw, 2.5rem);
    font-weight: 800;
    letter-spacing: -.03em;
    line-height: 1.06;
    text-wrap: balance;
}

/* сообщение об успешной отправке формы */
.form-success {
    margin: 1rem 0 0;
    padding: .9rem 1.1rem;
    background: var(--green);
    color: var(--paper);
    font-size: .9375rem;
    border-left: 4px solid var(--acid);
}
.form-success[hidden] { display: none !important; }

/* CTA-кнопки старой темы: обработчик в JS, курсор — здесь */
.open-header-form { cursor: pointer; }
