
/* ===== kb:tokens ====================================================== */
@font-face{font-family:"KB Sans";font-style:normal;font-weight:300 800;font-display:swap;
 src:url(/x/kb/os-lat.v27k.woff2) format("woff2");
 unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"KB Sans";font-style:normal;font-weight:300 800;font-display:swap;
 src:url(/x/kb/os-ext.v27k.woff2) format("woff2");
 unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
:root{
 --kb-deep:#0B3A45; --kb-deep2:#11525F; --kb-deep3:#072832;
 --kb-ink:#152026; --kb-ink2:#3A4E56; --kb-ink3:#5B6E76;
 --kb-paper:#FFFFFF; --kb-canvas:#E8EEF0; --kb-tint:#F2F7F8;
 --kb-line:#C6D6DA; --kb-line2:#E0EAEC;
 --kb-amber:#F5A524; --kb-amber2:#D98E0B; --kb-amber3:#7A5200;
 --kb-cta:#D6412B; --kb-cta2:#B4331F;
 --kb-ok:#1E7A5F; --kb-ok2:#E4F1EC; --kb-warn:#B3261E;
 --kb-sans:"KB Sans","Segoe UI",system-ui,-apple-system,Arial,sans-serif;
 --kb-serif:Georgia,"Times New Roman","Liberation Serif",serif;
 --kb-pad:20px; --kb-gap:24px; --kb-sp:36px;
}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body.kb-page{margin:0;background:#E8EEF0;color:#152026;
 font:400 17px/1.72 var(--kb-sans);
 -webkit-font-smoothing:antialiased;overflow-x:hidden}
body.kb-page *,body.kb-page *::before,body.kb-page *::after{box-sizing:border-box}
body.kb-page img,body.kb-page svg{max-width:100%}
body.kb-page img{height:auto;border:0}
/* ⛔ БАЗОВАЯ ссылка. Вся левая часть тоже в :where(), иначе вес правила (0,1,1)
   БЬЁТ классы компонентов (0,1,0) — и белый текст на кнопках .kbv-cta,
   .kb-mini__go, в шапке, подвале и .kb-skip уезжает в #11525F поверх
   красного и тёмно-зелёного: 21–28 узлов ниже пола контраста, замер 27.09.2026.
   Здесь вес (0,0,1): бьёт голый a, проигрывает любому классу. Не поднимать. */
body:where(.kb-page) :where(a){color:#11525F;text-decoration:underline;
 text-underline-offset:2px;
 text-decoration-thickness:1px;text-decoration-color:#C6D6DA}
body:where(.kb-page) :where(a:hover){color:#B4331F;text-decoration-color:#D6412B}
body.kb-page a:focus-visible,body.kb-page label:focus-visible,
body.kb-page summary:focus-visible{outline:3px solid #F5A524;outline-offset:2px}
body:where(.kb-page) :where(h1,h2,h3,h4){  /* вес (0,0,1) — см. ⛔ выше */
 font-family:var(--kb-serif);font-weight:700;color:#072832;
 hyphens:auto;-webkit-hyphens:auto;overflow-wrap:break-word;word-break:normal}
.kb-i{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:butt;
 stroke-linejoin:miter;flex:0 0 auto;vertical-align:-4px}
.kb-skip{position:absolute;left:-9999px;top:0;z-index:99;background:#072832;
 color:#FFFFFF;padding:12px 18px;font-weight:700;text-decoration:none;
 border-bottom:3px solid #F5A524}
.kb-skip:focus{left:0}

/* ===== kb:header-mast ================================================= */
.kb-hd{background:#0B3A45;color:#FFFFFF;position:relative}
.kb-hd__bx{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none;
 margin:0;padding:0;border:0}
.kb-hd__in{max-width:1160px;margin:0 auto;padding-left:var(--kb-pad);
 padding-right:var(--kb-pad)}
.kb-hd__mast{position:relative;z-index:3;background:#0B3A45}
.kb-hd__mast>.kb-hd__in{display:flex;align-items:center;gap:16px;
 min-height:76px;position:relative}
.kb-hd__logo{display:inline-flex;align-items:center;gap:11px;text-decoration:none;
 color:#FFFFFF;flex:0 0 auto;padding:6px 0}
.kb-hd__logo:hover{color:#FFFFFF;text-decoration:none}
.kb-hd__flag{display:block;border:1px solid rgba(255,255,255,.55);flex:0 0 auto}
.kb-hd__word{font:700 27px/1 var(--kb-serif);letter-spacing:-.01em;white-space:nowrap}
.kb-hd__word i{font-style:normal;color:#F5A524}
.kb-hd__tag{margin:0;padding-left:16px;border-left:1px solid rgba(255,255,255,.22);
 display:flex;flex-wrap:wrap;align-items:center;gap:4px 14px;
 font-size:12.5px;line-height:1.5;color:rgba(255,255,255,.82);letter-spacing:.02em}
.kb-hd__tag>span{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}
.kb-hd__tag>span+span::before{content:"";width:3px;height:3px;background:#F5A524;
 margin-right:9px;flex:0 0 auto}
.kb-hd__upd{color:#F5A524}
.kb-hd__upd .kb-i{width:15px;height:15px;stroke-width:1.5}
.kb-hd__pick{margin-left:auto;align-self:stretch;display:inline-flex;align-items:center;
 gap:9px;background:#B4331F;color:#FFFFFF;text-decoration:none;
 padding:10px 18px 14px;margin-bottom:-14px;position:relative;z-index:5;
 max-width:224px;border-bottom:3px solid #F5A524}
.kb-hd__pick:hover{background:#D6412B;color:#FFFFFF;text-decoration:none}
.kb-hd__pick .kb-i{width:22px;height:22px;stroke-width:1.5;color:#F5A524}
.kb-hd__pk{display:block;font-size:14px;line-height:1.28;font-weight:700}
/* ⛔ надпись-ярлык БЕЛАЯ, не янтарная: янтарь на вермильоне даёт 2.23 — R3 валит
   плашку «Our top rated» на всех 230 страницах одной строкой. */
.kb-hd__pk b{display:block;font-size:10.5px;font-weight:700;letter-spacing:.14em;
 text-transform:uppercase;color:rgba(255,255,255,.92)}
.kb-hd__bt{display:none}

/* ===== kb:nav ========================================================= */
.kb-nav{background:#11525F;position:relative;border-top:1px solid rgba(255,255,255,.1)}
.kb-nav>.kb-hd__in{position:relative}
/* ⛔ полоса рубрик — РОВНО ОДНА СТРОКА. Перенос шестого пункта во вторую строку
   даёт сразу два дефекта приёмки: «ряд рубрик в 2 строки» и R20 «строки шапки не по
   одной линии» (левый край строки начинает мерить скрытая панель перенесённого
   пункта). Запас справа = ширина «Our top rated» + 14; меняешь одно — считай второе. */
.kb-nav__l{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;
 padding-right:238px}
.kb-nav__i{position:relative;margin:0;padding:0}
.kb-nav__i::before{content:none}
.kb-nav__i+.kb-nav__i{border-left:1px solid rgba(255,255,255,.14)}
.kb-nav__a{display:flex;align-items:center;gap:6px;min-height:48px;
 padding:0 11px;color:#FFFFFF;text-decoration:none;
 font-size:11.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;
 border-bottom:3px solid transparent}
.kb-nav__a>span{white-space:nowrap}
.kb-nav__a .kb-i{width:16px;height:16px;color:#F5A524;stroke-width:1.5}
.kb-nav__c{fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:butt;
 stroke-linejoin:miter;opacity:.7;flex:0 0 auto}
.kb-nav__i:hover>.kb-nav__a,.kb-nav__i:focus-within>.kb-nav__a{
 background:#072832;border-bottom-color:#F5A524;color:#FFFFFF}
.kb-nav__p{list-style:none;margin:0;padding:8px 0;position:absolute;top:100%;left:0;
 min-width:274px;background:#FFFFFF;border:1px solid #C6D6DA;
 border-top:3px solid #F5A524;box-shadow:0 18px 34px rgba(7,40,50,.22);
 visibility:hidden;opacity:0;z-index:60}
.kb-nav__i:hover>.kb-nav__p,.kb-nav__i:focus-within>.kb-nav__p{
 visibility:visible;opacity:1}
.kb-nav__i:nth-last-child(1)>.kb-nav__p,
.kb-nav__i:nth-last-child(2)>.kb-nav__p{left:auto;right:0}
.kb-nav__p li{margin:0;padding:0}
.kb-nav__p li::before{content:none}
.kb-nav__ph{display:flex;align-items:center;min-height:44px;padding:6px 18px;
 color:#152026;font-size:15px;font-weight:600;text-decoration:none;
 border-left:3px solid transparent}
.kb-nav__ph:hover{background:#F2F7F8;color:#072832;border-left-color:#D6412B;
 text-decoration:none}

/* ===== kb:frame ======================================================= */
.kb-main{display:block;padding:0 0 42px}
.kb-band{max-width:1160px;margin:0 auto;padding-left:var(--kb-pad);
 padding-right:var(--kb-pad)}
.kb-grid{display:grid;grid-template-columns:minmax(0,1fr) 260px;
 gap:var(--kb-gap);align-items:start;padding:26px 0 0}
.kb-sheet{min-width:0;background:#FFFFFF;border:1px solid #C6D6DA;
 box-shadow:0 1px 0 #E0EAEC,0 14px 30px rgba(11,58,69,.06);
 padding:var(--kb-sp);overflow:visible}
.kb-rail{min-width:0;display:grid;gap:16px;position:sticky;top:12px}

/* ===== kb:ptype ======================================================= */
/* Класс типа страницы на <body> — не декорация: он и задаёт разницу между
   витриной, обзором, статьёй и служебной страницей (05.0р). */
body.kb-t-home .kb-h1{font-size:40px;letter-spacing:-.02em}
body.kb-t-home .kb-crumb{display:none}
body.kb-t-home .kb-sheet{border-top:3px solid #F5A524}
body.kb-t-hub .kb-sheet{border-top:3px solid #0B3A45}
body.kb-t-hub .kb-kicker::before{width:34px}
body.kb-t-review .kb-sheet{border-top:3px solid #D6412B}
body.kb-t-review .kb-facts{border-left-color:#D6412B}
body.kb-t-review .kb-kicker{color:#B4331F}
body.kb-t-review .kb-kicker::before{background:#D6412B}
body.kb-t-blog .kb-sheet{border-top:3px solid #11525F}
body.kb-t-blog .kb-h1{font-size:33px}
body.kb-t-blog .kb-kicker{color:#11525F}
body.kb-t-blog .kb-kicker::before{background:#11525F}
body.kb-t-service .kb-sheet{border-top:3px solid #C6D6DA}
body.kb-t-service .kb-h1{font-size:30px}
body.kb-t-service .kb-kicker{color:#5B6E76}
body.kb-t-service .kb-kicker::before{background:#5B6E76}

/* ===== kb:crumbs ====================================================== */
.kb-crumb{display:block;font-size:12.5px;line-height:1.5;color:#5B6E76;
 margin:0 0 18px;padding-bottom:12px;border-bottom:1px solid #E0EAEC}
.kb-crumb a{color:#3A4E56;text-decoration:none;border-bottom:1px solid #C6D6DA}
.kb-crumb a:hover{color:#B4331F;border-bottom-color:#D6412B}
.kb-crumb__s{margin:0 8px;color:#C6D6DA;font-weight:700}
/* Ступень крошек БЕЗ ссылки: печатает `kb_build.crumbs()` (ветка `else` после проверки
   `href not in exists`) — сегмент, у которого нет ни своей страницы, ни хаба в сборке.
   На сегодняшнем наборе адресов ветка молчит, поэтому C09.31 видит класс мёртвым;
   правило остаётся ПОД ЖИВУЮ ВЕТКУ и без него первый же такой сегмент встанет чёрным
   текстом вида «ссылка, которая не ссылка». */
.kb-crumb__x{color:#5B6E76}
.kb-crumb__here{color:#152026;font-weight:600}

/* ===== kb:head ======================================================== */
.kb-head{margin:0 0 22px}
.kb-kicker{display:flex;align-items:center;gap:10px;margin:0 0 10px;
 font-size:11.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
 color:#7A5200}
.kb-kicker::before{content:"";width:26px;height:3px;background:#F5A524;flex:0 0 auto}
.kb-h1{margin:0 0 14px;font-size:35px;line-height:1.16;letter-spacing:-.015em}
.kb-byline{display:flex;flex-wrap:wrap;align-items:center;gap:6px 18px;margin:0;
 font-size:13.5px;color:#3A4E56}
.kb-byline__who{font-weight:700;color:#152026}
.kb-byline__d{display:inline-flex;align-items:center;gap:7px;color:#5B6E76}
.kb-byline__d .kb-i{width:16px;height:16px;color:#D98E0B}
.kb-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
 gap:1px;margin:20px 0 0;padding:0;background:#E0EAEC;
 border:1px solid #C6D6DA;border-left:4px solid #F5A524}
.kb-facts>div{margin:0;padding:12px 18px;background:#F2F7F8;min-width:0}
.kb-facts dt{margin:0 0 4px;font-size:11px;font-weight:700;letter-spacing:.11em;
 text-transform:uppercase;color:#5B6E76}
.kb-facts dd{margin:0;font-size:15.5px;font-weight:700;color:#152026;line-height:1.35;
 overflow-wrap:break-word}

/* ===== kb:toc ========================================================= */
.kb-toc{margin:24px 0;background:#F2F7F8;border:1px solid #C6D6DA}
.kb-toc>summary{display:flex;align-items:center;gap:10px;cursor:pointer;
 padding:13px 18px;font-size:13px;font-weight:700;letter-spacing:.1em;
 text-transform:uppercase;color:#072832;list-style:none}
.kb-toc>summary::-webkit-details-marker{display:none}
.kb-toc>summary::after{content:"";margin-left:auto;width:10px;height:10px;
 border-right:2px solid #5B6E76;border-bottom:2px solid #5B6E76;
 transform:rotate(45deg);flex:0 0 auto}
.kb-toc[open]>summary::after{transform:rotate(-135deg)}
.kb-toc__n{display:inline-flex;align-items:center;justify-content:center;
 min-width:24px;height:22px;padding:0 6px;background:#F5A524;color:#072832;
 font-size:12px;font-weight:700;letter-spacing:0}
.kb-toc ol{margin:0;padding:4px 18px 16px 34px;font-size:15.5px;line-height:1.6}
.kb-toc li{margin:0 0 6px}
.kb-toc a{color:#11525F;text-decoration:none;border-bottom:1px solid #C6D6DA}
.kb-toc a:hover{color:#B4331F;border-bottom-color:#D6412B}

/* ===== kb:prose ======================================================= */
.kb-prose{max-width:760px;min-width:0}
.kb-prose>*:first-child{margin-top:0}
.kb-prose p{margin:0 0 17px}
.kb-prose h2,.kb-fh{clear:both;margin:34px 0 14px;padding:0 0 9px 14px;
 font-family:var(--kb-serif);font-weight:700;font-size:26px;line-height:1.24;
 color:#072832;border-bottom:1px solid #E0EAEC;border-left:4px solid #F5A524}
.kb-prose h3{margin:28px 0 11px;font-size:13.5px;font-weight:700;letter-spacing:.11em;
 text-transform:uppercase;font-family:var(--kb-sans);color:#11525F}
.kb-prose h4{margin:22px 0 9px;font-size:18px;font-family:var(--kb-serif)}
/* ⛔ Маркеры списка — ТОЛЬКО донорским спискам. Наши блоки (витрина `kbv-list`,
   кластеры `kb-clus`, `kb-mini`, `kb-rpop`) вставляются ВНУТРЬ `kb-prose`, и без
   `:not()` они получают чужую нумерацию: `.kb-prose ol>li::before` (0,1,3) перебивает
   и `.kbv-row::before{content:none}`, и `.kbv-row{padding:14px}` (0,1,0) — у карточки
   витрины выходило ДВА номера (тёмный квадрат счётчика плюс свой `kbv-rank`) и лишний
   отступ слева, а у карточки кластера — янтарный квадратик сбоку. Гасить каждый блок
   отдельно бесполезно: побеждает специфичность, а не порядок ([[css-where-specificity]]). */
.kb-prose ul:not([class*="kb-"]):not([class*="kbv-"]),
.kb-prose ol:not([class*="kb-"]):not([class*="kbv-"]){margin:0 0 18px;padding-left:0;
 list-style:none}
.kb-prose ol:not([class*="kb-"]):not([class*="kbv-"]){counter-reset:kb-n}
.kb-prose ul:not([class*="kb-"]):not([class*="kbv-"])>li,
.kb-prose ol:not([class*="kb-"]):not([class*="kbv-"])>li{position:relative;
 margin:0 0 9px;padding-left:28px}
.kb-prose ul:not([class*="kb-"]):not([class*="kbv-"])>li::before{content:"";
 position:absolute;left:4px;top:11px;width:8px;height:8px;background:#F5A524;border:0}
.kb-prose ol:not([class*="kb-"]):not([class*="kbv-"])>li{counter-increment:kb-n}
.kb-prose ol:not([class*="kb-"]):not([class*="kbv-"])>li::before{
 content:counter(kb-n);position:absolute;left:0;top:2px;
 width:21px;height:21px;display:flex;align-items:center;justify-content:center;
 background:#0B3A45;color:#FFFFFF;font:700 12px/1 var(--kb-sans)}
.kb-prose li>ul,.kb-prose li>ol{margin:9px 0 0}
.kb-prose blockquote{margin:22px 0;padding:16px 20px;background:#F2F7F8;
 border-left:4px solid #11525F;font-size:17px;color:#3A4E56}
.kb-prose blockquote p:last-child{margin:0}
.kb-prose strong,.kb-prose b{font-weight:700;color:#152026}
.kb-prose hr{margin:28px 0;border:0;border-top:1px solid #C6D6DA}
.kb-prose figure{margin:24px 0}
.kb-prose figcaption{margin:9px 0 0;font-size:13px;line-height:1.55;
 color:#5B6E76}
.kb-prose img{display:block;border:1px solid #C6D6DA}
/* ⛔ Снято на этапе 11 как мёртвое (C09.31): `.kb-shot` — врезка-скриншот, которую ни один
   сборщик не печатает (скриншотов в снапшоте нет, в карточку идёт логотип бренда), а
   `.kb-upd` — вторая запись видимой даты: дату печатает `kb_build.upd_tag()` внутри
   `.kb-byline__d`. Вернётся скриншот — вернуть и правило, вместе с тем, кто его печатает. */

/* ===== kb:tables ====================================================== */
.kb-tw{margin:24px 0;overflow-x:auto;-webkit-overflow-scrolling:touch;
 border:1px solid #C6D6DA;background:#FFFFFF}
.kb-tw--x{border-left:4px solid #F5A524}
.kb-tw table,.kb-prose table{width:100%;border-collapse:collapse;
 font-size:15px;line-height:1.5}
.kb-prose table{margin:24px 0}
.kb-tw th,.kb-prose th{background:#0B3A45;color:#FFFFFF;text-align:left;
 padding:11px 16px;font-size:12px;font-weight:700;letter-spacing:.08em;
 text-transform:uppercase;border:0;border-right:1px solid rgba(255,255,255,.14)}
.kb-tw td,.kb-prose td{padding:11px 16px;border-top:1px solid #E0EAEC;
 border-right:1px solid #E0EAEC;vertical-align:top}
.kb-tw tr:nth-child(even) td,.kb-prose tr:nth-child(even) td{background:#F2F7F8}
.kb-tw th:last-child,.kb-tw td:last-child{border-right:0}

/* ===== kb:rail ======================================================== */
.kb-rb{background:#FFFFFF;border:1px solid #C6D6DA;border-top:3px solid #0B3A45;
 padding:16px 18px}
.kb-rb--top{border-top-color:#F5A524}
.kb-rb__h{display:flex;align-items:center;gap:9px;margin:0 0 12px;
 font-family:var(--kb-sans);font-size:12px;font-weight:700;letter-spacing:.12em;
 text-transform:uppercase;color:#072832}
.kb-rb__h .kb-i{width:18px;height:18px;color:#D98E0B}
.kb-rb__f{margin:12px 0 0;font-size:13.5px}
.kb-rb__f a{color:#B4331F;font-weight:700;text-decoration:none;
 border-bottom:1px solid #D6412B}
.kb-mini{list-style:none;margin:0;padding:0;counter-reset:none}
.kb-mini__r{display:grid;grid-template-columns:22px minmax(0,1fr) auto;
 gap:2px 9px;align-items:center;margin:0;padding:9px 0;
 border-top:1px solid #E0EAEC}
.kb-mini__r:first-child{border-top:0;padding-top:0}
.kb-mini__r::before{content:none}
.kb-mini__n{grid-row:span 2;display:flex;align-items:center;justify-content:center;
 width:22px;height:22px;background:#F2F7F8;border:1px solid #C6D6DA;
 font:700 12px/1 var(--kb-sans);color:#072832}
.kb-mini__b{font-size:14.5px;font-weight:700;color:#152026;min-width:0;
 overflow-wrap:break-word}
.kb-mini__o{grid-column:2;font-size:12.5px;color:#5B6E76;line-height:1.4;min-width:0}
.kb-mini__go{grid-row:span 2;grid-column:3;display:inline-flex;align-items:center;
 justify-content:center;min-width:52px;min-height:32px;padding:0 10px;
 background:#D6412B;color:#FFFFFF;font-size:12.5px;font-weight:700;
 letter-spacing:.06em;text-transform:uppercase;text-decoration:none}
.kb-mini__go:hover{background:#B4331F;color:#FFFFFF;text-decoration:none}
.kb-rsec{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#E0EAEC;
 border:1px solid #E0EAEC}
.kb-rsec__i{display:flex;flex-direction:column;align-items:flex-start;gap:6px;
 padding:11px 16px;background:#FFFFFF;color:#152026;text-decoration:none;
 font-size:13px;font-weight:600;line-height:1.3;min-height:44px;justify-content:center}
.kb-rsec__i .kb-i{width:20px;height:20px;color:#11525F}
.kb-rsec__i:hover{background:#F2F7F8;color:#B4331F;text-decoration:none}
.kb-rsec__i:hover .kb-i{color:#B4331F}
.kb-rpop{list-style:none;margin:0;padding:0;counter-reset:kb-p}
.kb-rpop li{position:relative;margin:0;padding:9px 0 9px 24px;
 border-top:1px solid #E0EAEC;counter-increment:kb-p;font-size:13.5px;
 line-height:1.45}
.kb-rpop li:first-child{border-top:0;padding-top:0}
.kb-rpop li::before{content:counter(kb-p) ".";position:absolute;left:0;
 top:9px;color:#D98E0B;font-weight:700;font-size:13px}
.kb-rpop li:first-child::before{top:0}
.kb-rpop a{color:#152026;text-decoration:none;border-bottom:1px solid #E0EAEC}
.kb-rpop a:hover{color:#B4331F;border-bottom-color:#D6412B}
.kb-rp{background:#F2F7F8;border-top-color:#11525F}
.kb-rp__k{margin:0 0 8px;font-size:12px;font-weight:700;letter-spacing:.12em;
 text-transform:uppercase;color:#072832}
.kb-rp__t{margin:0;font-size:13.5px;line-height:1.55;color:#3A4E56}
.kb-rp__a{display:inline-flex;align-items:center;gap:7px;margin-top:11px;
 font-size:13.5px;font-weight:700;color:#11525F;text-decoration:none;
 border-bottom:1px solid #C6D6DA}
.kb-rp__a .kb-i{width:16px;height:16px}
.kb-rp__a:hover{color:#B4331F;border-bottom-color:#D6412B}

/* ===== kb:helpbox ===================================================== */
.kb-help{margin:26px 0 0;padding:24px;background:#072832;color:#FFFFFF;
 border-top:3px solid #F5A524}
.kb-help__h{display:flex;align-items:center;gap:11px;margin:0 0 10px;
 font-family:var(--kb-serif);font-size:23px;line-height:1.25;color:#FFFFFF}
.kb-help__h .kb-i{width:24px;height:24px;color:#F5A524}
.kb-help__t{margin:0 0 16px;max-width:760px;font-size:15.5px;line-height:1.66;
 color:rgba(255,255,255,.86)}
.kb-help__l{list-style:none;margin:0 0 14px;padding:0;display:flex;flex-wrap:wrap;
 gap:10px}
.kb-help__l li{margin:0;padding:11px 16px;background:rgba(255,255,255,.07);
 border-left:3px solid #F5A524;font-size:14.5px;line-height:1.45}
.kb-help__l li::before{content:none}
.kb-help__l b{display:block;color:#FFFFFF}
.kb-help__l a{color:#F5A524;font-weight:700;text-decoration:none;
 border-bottom:1px solid #F5A524}
.kb-help__l em{display:block;font-style:normal;font-size:12.5px;
 color:rgba(255,255,255,.7)}
.kb-help__n{margin:0;max-width:760px;font-size:12.5px;color:rgba(255,255,255,.62)}

/* ===== kb:clusters ==================================================== */
.kb-clw{margin:32px 0 0;padding:22px;background:#F2F7F8;border:1px solid #C6D6DA}
.kb-clw__t{display:flex;align-items:center;gap:10px;margin:0 0 16px;
 font-family:var(--kb-serif);font-size:22px;line-height:1.28;color:#072832}
.kb-clw__t .kb-i{width:22px;height:22px;color:#D98E0B}
.kb-clw__t b{font-weight:400;color:#5B6E76;font-size:15px;
 font-family:var(--kb-sans)}
.kb-clus{list-style:none;margin:0;padding:0;
 display:grid;grid-template-columns:repeat(auto-fill,minmax(228px,1fr));gap:10px}
.kb-clus>li{margin:0;padding:0}
.kb-clus>li::before{content:none}
.kb-cl{display:flex;align-items:center;gap:12px;height:100%;padding:11px 14px;
 background:#FFFFFF;border:1px solid #C6D6DA;color:#152026;text-decoration:none;
 min-height:66px}
.kb-cl:hover{border-color:#11525F;color:#072832;text-decoration:none;
 background:#FFFFFF}
.kb-cl__b{display:block;min-width:0;font-size:14.5px;line-height:1.35}
.kb-cl__b b{display:block;font-weight:700;overflow-wrap:break-word}
/* ⛔ Описание карточки — `span`, метка — `em` (kb_clus.block). Правило стояло на `i`,
   которого в разметке нет: оба узла оставались строчными и слипались в одну строку
   («…what that clause covers…Betting basics» одной строкой на 390 px). Мёртвый селектор
   видно только глазом — ни один гейт про него не знает. */
.kb-cl__b>span{display:block;font-size:12.5px;line-height:1.35;color:#3A4E56;
 margin-top:3px;overflow-wrap:break-word}
.kb-cl__b em{display:block;margin-top:5px;font-style:normal;font-size:10.5px;
 letter-spacing:.08em;text-transform:uppercase;color:#5B6E76}
.kb-ctile{display:flex;align-items:center;justify-content:center;flex:0 0 auto;
 width:46px;height:46px;background:#F2F7F8;border:1px solid #E0EAEC;overflow:hidden}
.kb-ctile img{max-width:38px;max-height:34px;object-fit:contain}
.kb-ctile--ltr{font:700 20px/1 var(--kb-serif);color:#11525F;background:#FFFFFF;
 border-color:#C6D6DA}
.kb-ctile--ico{background:#0B3A45;border-color:#0B3A45}
.kb-ctile--ico .kb-i{width:24px;height:24px;color:#F5A524;stroke-width:1.5}

/* ===== kb:opcard ====================================================== */
.kb-oc{margin:26px 0;background:#FFFFFF;border:1px solid #C6D6DA;
 border-top:3px solid #F5A524;padding:20px}
.kb-oc__top{display:grid;grid-template-columns:132px minmax(0,1fr) 190px;
 gap:18px;align-items:start}
.kb-oc__plate{display:flex;align-items:center;justify-content:center;
 width:132px;height:88px;padding:10px;background:#FFFFFF;border:1px solid #C6D6DA}
.kb-oc__logo{display:block;width:108px;height:auto;object-fit:contain;border:0}
.kb-oc__ltr{font:700 36px/1 var(--kb-serif);color:#11525F}
.kb-oc__who{min-width:0}
.kb-oc__name{display:block;font:700 24px/1.2 var(--kb-serif);color:#072832;
 overflow-wrap:break-word}
.kb-oc__lic{display:block;margin-top:7px;font-size:13.5px;line-height:1.5;
 color:#3A4E56}
.kb-oc__cta{display:flex;align-items:center;justify-content:center;min-height:48px;
 padding:0 18px;background:#D6412B;color:#FFFFFF;font-size:15px;font-weight:700;
 letter-spacing:.03em;text-decoration:none;text-align:center}
.kb-oc__cta:hover{background:#B4331F;color:#FFFFFF;text-decoration:none}
.kb-oc__tc{display:block;margin-top:7px;font-size:11.5px;color:#5B6E76;
 text-align:center}
.kb-oc__fx{display:grid;grid-template-columns:repeat(auto-fit,minmax(142px,1fr));
 gap:1px;margin:18px 0 0;padding:0;background:#E0EAEC;border:1px solid #E0EAEC}
.kb-oc__fx>div{margin:0;padding:10px 14px;background:#F2F7F8;min-width:0;
 border-left:2px solid #F5A524}
.kb-oc__fx dt{margin:0 0 3px;font-size:10.5px;font-weight:700;letter-spacing:.11em;
 text-transform:uppercase;color:#5B6E76}
.kb-oc__fx dd{margin:0;font-size:14.5px;font-weight:700;color:#152026;line-height:1.35;
 overflow-wrap:break-word}
.kb-oc__pc{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}
.kb-oc__col{padding:14px 18px;background:#E4F1EC;border-left:3px solid #1E7A5F}
.kb-oc__col--m{background:#F2F7F8;border-left-color:#B3261E}
.kb-oc__col b{display:block;margin-bottom:8px;font-size:11.5px;font-weight:700;
 letter-spacing:.11em;text-transform:uppercase;color:#3A4E56}
.kb-oc__col ul{list-style:none;margin:0;padding:0}
.kb-oc__col li{position:relative;margin:0 0 7px;padding-left:18px;font-size:14.5px;
 line-height:1.5}
.kb-oc__col li::before{content:"";position:absolute;left:0;top:9px;width:7px;
 height:7px;background:#1E7A5F}
.kb-oc__col--m li::before{background:#B3261E}
.kb-oc__src{margin:14px 0 0;font-size:12.5px;line-height:1.55;color:#5B6E76}

/* ===== kb:author ====================================================== */
.kb-abio{margin:0 0 18px;padding:16px 20px;background:#F2F7F8;
 border-left:4px solid #11525F;font-size:16px;line-height:1.65;color:#3A4E56}
.kb-alist{list-style:none;margin:0 0 22px;padding:0}
.kb-alist__i{position:relative;margin:0;padding:11px 0 11px 22px;
 border-top:1px solid #E0EAEC;font-size:15.5px;line-height:1.55}
.kb-alist__i:first-child{border-top:0}
.kb-alist__i::before{content:"";position:absolute;left:2px;top:19px;width:8px;
 height:8px;background:#F5A524}
.kb-alist__i:first-child::before{top:8px}
.kb-alist__s{display:block;font-size:12.5px;color:#5B6E76;margin-top:2px}

/* ===== kb:wire ======================================================== */
.kb-wire{margin:22px 0 0;padding:0}
.kb-wire ul,.kb-wire ol{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.kb-wire li{position:relative;margin:0;padding:14px 18px;background:#FFFFFF;
 border:1px solid #C6D6DA;border-left:3px solid #11525F}
.kb-wire li::before{content:none}
.kb-wire a{color:#072832;font-weight:700;text-decoration:none;
 border-bottom:1px solid #C6D6DA}
.kb-wire a:hover{color:#B4331F;border-bottom-color:#D6412B}
.kb-wire time,.kb-wire small{display:block;margin-top:5px;font-size:12.5px;
 color:#5B6E76}
.kb-wire p{margin:6px 0 0;font-size:14.5px;line-height:1.6;color:#3A4E56}

/* ===== kbv:showcase =================================================== */
.kbv-wrap{margin:30px calc(var(--kb-sp) * -1);padding:22px 20px 20px;
 background:#F2F7F8;border-top:3px solid #0B3A45;border-bottom:1px solid #C6D6DA}
.kbv-h2{margin:0 0 6px;font-family:var(--kb-serif);font-size:26px;line-height:1.24;
 color:#072832;border:0;padding:0}
.kbv-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 16px;
 margin:0 0 16px}
.kbv-lead{margin:0;font-size:14.5px;line-height:1.6;color:#3A4E56;flex:1 1 320px;
 min-width:0}
.kbv-how{flex:0 0 auto;font-size:13px;font-weight:700;color:#11525F;
 text-decoration:none;border-bottom:1px solid #C6D6DA}
.kbv-how:hover{color:#B4331F;border-bottom-color:#D6412B}
.kbv-chk{position:absolute;width:1px;height:1px;opacity:0;margin:0;padding:0;
 border:0;pointer-events:none}
.kbv-fil{display:flex;flex-wrap:wrap;align-items:center;gap:4px 2px;margin:0 0 14px;
 padding:0 0 0;border-bottom:2px solid #C6D6DA}
.kbv-flab{margin-right:12px;font-size:11px;font-weight:700;letter-spacing:.13em;
 text-transform:uppercase;color:#5B6E76;padding-bottom:9px}
.kbv-pill{display:inline-flex;align-items:center;min-height:38px;padding:0 14px;
 margin-bottom:-2px;font-size:13.5px;font-weight:700;color:#3A4E56;cursor:pointer;
 border-bottom:3px solid transparent;-webkit-user-select:none;user-select:none}
.kbv-pill:hover{color:#072832}
.kbv-list{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.kbv-row{margin:0;padding:14px;background:#FFFFFF;border:1px solid #C6D6DA;
 border-left:3px solid #C6D6DA}
.kbv-row::before{content:none}
.kbv-row:nth-child(-n+3){border-left-color:#F5A524}
.kbv-top{display:grid;grid-template-columns:34px 124px minmax(0,1fr) 196px 152px;
 gap:14px;align-items:center}
.kbv-rank{display:flex;flex-direction:column;align-items:center;gap:5px;
 font-family:var(--kb-serif)}
.kbv-rank b{font-size:23px;font-weight:700;line-height:1;color:#072832}
.kbv-rank::after{content:"";width:18px;height:3px;background:#C6D6DA}
.kbv-row:nth-child(-n+3) .kbv-rank b{color:#B4331F}
.kbv-row:nth-child(-n+3) .kbv-rank::after{background:#F5A524}
/* ⛔ ЗНАК В ПЛИТКЕ — длинная сторона НЕ МЕНЬШЕ 100 px на десктопе и 90 px на мобиле
   (владелец, 25.09.2026). Меряется НАРИСОВАННЫЙ размер: квадратный мастер 300x300
   в рамке 104x100 рисуется 100x100, поэтому запас держим по МЕНЬШЕЙ стороне рамки,
   а рамка обязана влезать в поле плитки (ширина − padding − border), иначе R15
   пишет «вылез за плитку». */
.kbv-tile{display:flex;align-items:center;justify-content:center;
 width:124px;height:124px;padding:9px;background:#FFFFFF;border:1px solid #C6D6DA;
 text-decoration:none}
.kbv-tile:hover{border-color:#11525F}
.kbv-tile img{display:block;width:104px;height:auto;max-height:104px;
 object-fit:contain;border:0}
.kbv-who{min-width:0}
.kbv-role{display:inline-block;margin-bottom:6px;padding:3px 9px;background:#F5A524;
 color:#072832;font-size:10.5px;font-weight:700;letter-spacing:.11em;
 text-transform:uppercase}
.kbv-name{display:block;font:700 21px/1.2 var(--kb-serif);color:#072832;
 overflow-wrap:break-word}
.kbv-lic{display:block;margin-top:6px;font-size:12.5px;line-height:1.5;
 color:#5B6E76}
.kbv-rev{display:inline-block;margin-top:8px;font-size:13px;font-weight:700;
 color:#11525F;text-decoration:none;border-bottom:1px solid #C6D6DA}
.kbv-rev:hover{color:#B4331F;border-bottom-color:#D6412B}
.kbv-off{min-width:0;padding:12px 14px;background:#F2F7F8;
 border-left:3px solid #F5A524}
.kbv-olab{display:block;font-size:10.5px;font-weight:700;letter-spacing:.12em;
 text-transform:uppercase;color:#7A5200}
.kbv-ofig{display:block;margin-top:4px;font:700 19px/1.25 var(--kb-serif);
 color:#072832;overflow-wrap:break-word}
.kbv-omech{display:block;margin-top:5px;font-size:12.5px;line-height:1.5;
 color:#3A4E56}
.kbv-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.kbv-chips em{font-style:normal;padding:4px 9px;background:#FFFFFF;
 border:1px solid #C6D6DA;font-size:11.5px;font-weight:700;color:#11525F;
 white-space:nowrap}
.kbv-act{display:flex;flex-direction:column;align-items:stretch;gap:8px;
 min-width:0}
.kbv-sc{display:inline-flex;align-items:baseline;justify-content:center;gap:2px;
 padding:5px 0;background:#0B3A45;color:#FFFFFF}
/* ⛔ цвет ЯВНО: витрина стоит внутри `.kb-prose`, а там `.kb-prose b{color:#152026}`
   (0,1,1) перебивает наследование от `.kbv-sc` — цифра оценки уезжала в чернила
   на тёмном, контраст 1.35. */
.kbv-sc b{font:700 19px/1 var(--kb-serif);color:#FFFFFF}
.kbv-sc i{font-style:normal;font-size:12px;color:#F5A524}
.kbv-cta{display:flex;align-items:center;justify-content:center;min-height:48px;
 padding:0 14px;background:#D6412B;color:#FFFFFF;font-size:15px;font-weight:700;
 letter-spacing:.03em;text-align:center;text-decoration:none}
.kbv-cta:hover{background:#B4331F;color:#FFFFFF;text-decoration:none}
.kbv-tc{font-size:11px;line-height:1.4;color:#5B6E76;text-align:center}
.kbv-fx{display:grid;grid-template-columns:repeat(auto-fit,minmax(136px,1fr));
 gap:1px;margin:14px 0 0;padding:0;background:#E0EAEC;border:1px solid #E0EAEC}
/* ⛔ 16 по горизонтали, не 14: у ячейки признаков зазор до текста меряется гейтом
   padding как «≥16», и 14 его валит (замер 27.09.2026, /betting-sites/safest/). */
.kbv-fx>div{margin:0;padding:9px 16px;background:#F2F7F8;min-width:0}
.kbv-fx dt{margin:0 0 3px;font-size:10.5px;font-weight:700;letter-spacing:.1em;
 text-transform:uppercase;color:#5B6E76}
.kbv-fx dd{margin:0;font-size:14px;font-weight:700;color:#152026;line-height:1.35;
 overflow-wrap:break-word}
.kbv-more{display:flex;align-items:center;justify-content:center;gap:9px;
 min-height:48px;margin:14px 0 0;padding:0 18px;background:#FFFFFF;
 border:1px solid #11525F;color:#11525F;font-size:14.5px;font-weight:700;
 letter-spacing:.04em;cursor:pointer;-webkit-user-select:none;user-select:none}
.kbv-more::after{content:"";width:9px;height:9px;border-right:2px solid #11525F;
 border-bottom:2px solid #11525F;transform:rotate(45deg)}
.kbv-more:hover{background:#11525F;color:#FFFFFF}
.kbv-more:hover::after{border-color:#FFFFFF}
.kbv-disc{margin:14px 0 0;font-size:12px;line-height:1.6;color:#5B6E76}
.kbv-disc a{color:#3A4E56}

/* ===== kbv:showcase-state ============================================= */
/* Порядок правил: хвост → «показать все» → чип добирает → чип режет.
   Состояние ловится по КЛАССАМ инпутов (id страницы в общий CSS попасть не
   может — shared-showcase-css-cannot-use-page-ids). */
.kbv-hid{display:none}
.kbv-mck:checked ~ .kbv-list > .kbv-hid{display:block}
.kbv-mck:checked ~ .kbv-more{display:none}
/* ⛔ Слотов фильтра РОВНО ТРИ, а не шесть: `kb_show.axes_for()` заканчивается
   `return out[:3]` — чипы складываются по И, и четвёртый почти всегда даёт пустой
   список. Правила на `f4`–`f6` применяться не к чему, и C09.31 считал их мёртвыми
   (6 правил из 9 в первом прогоне этапа 11). Появится четвёртый слот в
   `kb_show.axes_for` — дописать сюда, а не наоборот. */
.kbv-f1:checked ~ .kbv-list > .kbv-row,
.kbv-f2:checked ~ .kbv-list > .kbv-row,
.kbv-f3:checked ~ .kbv-list > .kbv-row{display:none}
.kbv-f1:checked ~ .kbv-list > .kbv-row[data-f1="1"],
.kbv-f2:checked ~ .kbv-list > .kbv-row[data-f2="1"],
.kbv-f3:checked ~ .kbv-list > .kbv-row[data-f3="1"]{display:block}
.kbv-f1:checked ~ .kbv-fil .kbv-p1,
.kbv-f2:checked ~ .kbv-fil .kbv-p2,
.kbv-f3:checked ~ .kbv-fil .kbv-p3{color:#072832;
 border-bottom-color:#D6412B;background:#FFFFFF}
.kbv-chk:focus-visible ~ .kbv-fil .kbv-pill{outline:0}
.kbv-f1:focus-visible ~ .kbv-fil .kbv-p1,
.kbv-f2:focus-visible ~ .kbv-fil .kbv-p2,
.kbv-f3:focus-visible ~ .kbv-fil .kbv-p3{outline:3px solid #F5A524;
 outline-offset:1px}
.kbv-mck:focus-visible ~ .kbv-more{outline:3px solid #F5A524;outline-offset:2px}

/* ===== kb:footer ====================================================== */
.kb-ft{margin:0;background:#0B3A45;color:#FFFFFF;border-top:4px solid #D6412B;
 font-size:14.5px;line-height:1.65}
.kb-ft__in{max-width:1160px;margin:0 auto;padding-left:var(--kb-pad);
 padding-right:var(--kb-pad)}
.kb-ft__top{background:#072832;padding:28px 0}
.kb-ft__top>.kb-ft__in{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);
 gap:26px;align-items:start}
.kb-ft__about{min-width:0}
.kb-ft__brand{display:inline-flex;align-items:center;gap:10px;margin-bottom:12px;
 color:#FFFFFF;text-decoration:none}
.kb-ft__brand:hover{color:#FFFFFF;text-decoration:none}
.kb-ft__flag{display:block;border:1px solid rgba(255,255,255,.5);flex:0 0 auto}
.kb-ft__brand span{font:700 22px/1 var(--kb-serif)}
.kb-ft__brand i{font-style:normal;color:#F5A524}
.kb-ft__trust{margin:0;font-size:13.5px;line-height:1.7;color:rgba(255,255,255,.76)}
.kb-ft__reg{margin:0;padding:16px 18px;background:rgba(255,255,255,.06);
 border-left:3px solid #F5A524;font-size:13px;line-height:1.66;
 color:rgba(255,255,255,.78)}
.kb-ft__reg b{display:block;margin-bottom:5px;color:#F5A524;font-size:13.5px}
.kb-ft__reg .kb-i{display:block;width:22px;height:22px;margin-bottom:8px;
 color:#F5A524}
.kb-ft__nav{background:#0B3A45;padding:26px 0}
.kb-ft__nav>.kb-ft__in{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
 gap:22px}
.kb-ft__col{min-width:0}
.kb-ft__ct{margin:0 0 10px;padding-bottom:8px;font-family:var(--kb-sans);
 font-size:11.5px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;
 color:#F5A524;border-bottom:1px solid rgba(255,255,255,.16)}
.kb-ft__col ul{list-style:none;margin:0;padding:0}
.kb-ft__col li{margin:0 0 7px;padding:0}
.kb-ft__col li::before{content:none}
.kb-ft__col a{color:rgba(255,255,255,.84);font-size:13.5px;text-decoration:none;
 border-bottom:1px solid transparent}
.kb-ft__col a:hover{color:#FFFFFF;border-bottom-color:#F5A524}
.kb-ft__bot{background:#072832;padding:20px 0 26px;
 border-top:1px solid rgba(255,255,255,.12)}
.kb-ft__help{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;
 margin:0 0 14px;font-size:13.5px}
.kb-ft__help>.kb-i{width:20px;height:20px;color:#F5A524}
.kb-ft__hl{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}
.kb-ft__hl b{font-weight:600;color:rgba(255,255,255,.8)}
.kb-ft__hl a{color:#F5A524;font-weight:700;text-decoration:none;
 border-bottom:1px solid #F5A524}
.kb-ft__badges{list-style:none;display:flex;flex-wrap:wrap;gap:8px 16px;
 margin:0 0 14px;padding:0}
.kb-ft__badges li{display:inline-flex;align-items:center;gap:7px;margin:0;
 font-size:12.5px;color:rgba(255,255,255,.74)}
.kb-ft__badges li::before{content:none}
.kb-ft__badges .kb-i{width:18px;height:18px;color:#F5A524}
.kb-ft__b18{padding:3px 10px;border:2px solid #F5A524;color:#F5A524;
 font-weight:700;font-size:13px;letter-spacing:.04em}
.kb-ft__cr{margin:0;max-width:760px;font-size:12.5px;line-height:1.65;
 color:rgba(255,255,255,.58)}

/* ===== kb:donor-reset ================================================= */
/* `!important` только на width, max-width, float и margin — на display и
   padding его ставить нельзя (donor-grid-reset-kills-our-blocks). */
body.kb-page .main-container,body.kb-page .content-area,
body.kb-page .sidebar_list,body.kb-page #sidebar,
body.kb-page .post-info,body.kb-page .listing-item{
 width:auto!important;max-width:100%!important;float:none!important;margin:0!important}
body.kb-page .alignleft,body.kb-page .alignright,body.kb-page .aligncenter{
 float:none!important;margin:0 0 14px!important}
body.kb-page .theauthor,body.kb-page .thetime{color:#5B6E76;font-size:13px}
body.kb-page .listing-item{padding:13px 16px;background:#F2F7F8;
 border-left:3px solid #11525F;margin-bottom:10px!important}
body.kb-page .listing-item::before{content:none}
body.kb-page .tablepress{width:100%!important;border-collapse:collapse;font-size:15px}
body.kb-page .tablepress th{background:#0B3A45;color:#FFFFFF;padding:11px 14px;
 text-align:left;font-size:12px;letter-spacing:.08em;text-transform:uppercase}
body.kb-page .tablepress td{padding:11px 14px;border-top:1px solid #E0EAEC}
body.kb-page .tablepress tr:nth-child(even) td{background:#F2F7F8}
body.kb-page .cb-pros-cons{padding:14px 18px;background:#F2F7F8;
 border-left:3px solid #1E7A5F;margin:0 0 12px!important}
body.kb-page .cb-pros-cons.cb-con{border-left-color:#B3261E}
/* виджет fortunida — проданный блок, разметка не наша: правим только читаемость,
   контейнер ловим по id родителя (paid-widget-must-survive-rebuild) */
body.kb-page [id*="fortunida"],body.kb-page [class*="fortunida"]{
 max-width:100%!important;margin:22px 0!important}
body.kb-page [id*="fortunida"] *{color:#3A4E56}
body.kb-page [id*="fortunida"] a{color:#11525F}

/* ===== kb:mq-1080 ===================================================== */
@media (max-width:1080px){
 .kb-grid{grid-template-columns:minmax(0,1fr) 236px;gap:18px}
 /* ⛔ Ниже 1080 полоса рубрик уже сжата до предела (последний пункт кончается на
    803 при любой ширине), запас справа держать нечем — поэтому плашка «Our top
    rated» ПЕРЕСТАЁТ свисать в полосу: margin-bottom:0. Иначе её нижние 14 px
    ложатся на последний пункт рубрик (замер 27.09.2026, 980 px: наезд 67×13). */
 .kb-nav__l{padding-right:0}
 .kb-hd__pick{max-width:224px;padding:9px 14px 10px;margin-bottom:0;
  border-bottom-width:2px}
 .kbv-top{grid-template-columns:30px 116px minmax(0,1fr) 170px 138px;gap:11px}
 .kbv-tile{width:116px;height:116px;padding:6px}
 .kbv-tile img{width:102px;max-height:102px}
}

/* ===== kb:mq-900 ====================================================== */
@media (max-width:900px){
 body.kb-page{font-size:16.5px;line-height:1.7}
 :root{--kb-pad:14px;--kb-gap:14px;--kb-sp:20px}
 .kb-hd__mast>.kb-hd__in{min-height:64px;gap:12px}
 .kb-hd__tag{display:none}
 .kb-hd__pick{display:none}
 .kb-hd__bt{display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:4px;margin-left:auto;min-width:56px;min-height:48px;padding:6px 8px;
  background:#11525F;color:#FFFFFF;cursor:pointer;
  -webkit-user-select:none;user-select:none}
 .kb-hd__bt span{display:block;width:22px;height:2px;background:#F5A524}
 .kb-hd__bt em{font-style:normal;font-size:9.5px;font-weight:700;letter-spacing:.12em;
  text-transform:uppercase}
 .kb-hd__bx:focus-visible ~ .kb-hd__mast .kb-hd__bt{outline:3px solid #F5A524;
  outline-offset:2px}
 .kb-nav{max-height:0;overflow:hidden;visibility:hidden;border-top:0}
 .kb-hd__bx:checked ~ .kb-nav{max-height:none;overflow:visible;visibility:inherit;
  border-top:1px solid rgba(255,255,255,.14)}
 .kb-nav>.kb-hd__in{padding-left:0;padding-right:0}
 .kb-nav__l{display:block;padding-right:0}
 .kb-nav__i+.kb-nav__i{border-left:0;border-top:1px solid rgba(255,255,255,.12)}
 .kb-nav__a{min-height:52px;padding:0 var(--kb-pad);border-bottom:0;font-size:13px}
 .kb-nav__c{display:none}
 .kb-nav__p{position:static;min-width:0;visibility:inherit;opacity:1;display:block;
  background:#072832;border:0;border-top:1px solid rgba(255,255,255,.1);
  box-shadow:none;padding:0}
 .kb-nav__ph{min-height:46px;display:flex;align-items:center;
  padding:6px var(--kb-pad) 6px calc(var(--kb-pad) + 16px);
  color:rgba(255,255,255,.88);font-size:14.5px;font-weight:400;
  border-left:3px solid transparent;border-top:1px solid rgba(255,255,255,.07)}
 .kb-nav__ph:hover{background:rgba(255,255,255,.06);color:#FFFFFF;
  border-left-color:#F5A524}
 .kb-grid{grid-template-columns:minmax(0,1fr);padding-top:16px}
 .kb-rail{position:static;top:auto}
 .kb-sheet{box-shadow:none}
 .kb-h1{font-size:27px}
 body.kb-t-home .kb-h1{font-size:29px}
 body.kb-t-blog .kb-h1{font-size:26px}
 body.kb-t-service .kb-h1{font-size:25px}
 .kb-prose h2,.kb-fh{font-size:22px;margin-top:28px}
 .kb-help{padding:20px 18px;margin-top:18px}
 .kb-help__h{font-size:20px}
 .kb-clw{padding:18px 16px}
 .kb-oc__top{grid-template-columns:minmax(0,1fr);gap:14px}
 .kb-oc__plate{width:118px;height:80px}
 .kb-oc__logo{width:96px}
 .kb-oc__pc{grid-template-columns:minmax(0,1fr)}
 .kb-ft__top>.kb-ft__in{grid-template-columns:minmax(0,1fr)}
 .kb-ft__nav>.kb-ft__in{grid-template-columns:repeat(2,minmax(0,1fr))}
 .kbv-wrap{margin-left:calc(var(--kb-sp) * -1);margin-right:calc(var(--kb-sp) * -1);
  padding:18px 16px}
 .kbv-h2{font-size:22px}
 .kbv-top{grid-template-columns:26px 112px minmax(0,1fr);gap:10px 12px;
  align-items:start}
 .kbv-rank{flex-direction:row;align-items:center;gap:6px}
 .kbv-rank::after{width:3px;height:14px}
 .kbv-tile{width:112px;height:112px;padding:6px}
 .kbv-tile img{width:98px;max-height:98px}
 .kbv-off{padding:10px 12px}
 .kbv-who{grid-column:3}
 .kbv-off{grid-column:1 / -1;margin-top:2px}
 .kbv-act{grid-column:1 / -1;flex-direction:row;flex-wrap:wrap;align-items:center;
  gap:10px}
 .kbv-sc{padding:6px 12px;flex:0 0 auto}
 .kbv-cta{flex:1 1 160px}
 .kbv-tc{flex:1 1 100%;text-align:left}
}

/* ===== kb:mq-620 ====================================================== */
@media (max-width:620px){
 .kb-h1{font-size:24px}
 body.kb-t-home .kb-h1{font-size:26px}
 body.kb-t-blog .kb-h1{font-size:23px}
 body.kb-t-service .kb-h1{font-size:22px}
 .kb-kicker{font-size:11px;letter-spacing:.13em}
 .kb-facts{grid-template-columns:minmax(0,1fr)}
 .kb-facts>div{padding:10px 16px}
 .kb-rsec{grid-template-columns:minmax(0,1fr)}
 .kb-clus{grid-template-columns:minmax(0,1fr)}
 .kb-tw th,.kb-tw td,.kb-prose th,.kb-prose td{padding:10px 12px;
  font-size:14px}
 .kb-help__l{display:grid;gap:8px}
 .kb-ft__nav>.kb-ft__in{grid-template-columns:minmax(0,1fr);gap:16px}
 .kb-ft__hl{white-space:normal}
 /* ⛔ На телефоне строка витрины = знак, имя, бонус, оценка, кнопка (высота строки
    ≈200 px, как у портала-эталона). Полоса фактов и чипы в один столбец давали
    463 px — полтора экрана на одну строку. Факты никуда не деваются: они стоят
    в карточке оператора на странице обзора и в полосе `.kb-oc__fx`. */
 .kbv-fx{display:none}
 .kbv-chips{display:none}
 .kbv-top{gap:8px 12px}
 .kbv-act{gap:8px}
 .kbv-role{margin-bottom:4px}
 .kb-oc__fx{grid-template-columns:minmax(0,1fr)}
}

/* ===== kb:mq-420 ====================================================== */
@media (max-width:420px){
 .kb-hd__word{font-size:23px}
 .kb-sheet{padding:var(--kb-sp) 14px}
 .kbv-wrap{margin-left:-14px;margin-right:-14px;padding:16px 14px}
 .kbv-top{grid-template-columns:24px 108px minmax(0,1fr);gap:8px 10px}
 .kbv-tile{width:108px;height:108px;padding:5px}
 .kbv-tile img{width:96px;max-height:96px}
 .kbv-name{font-size:18px}
 .kbv-ofig{font-size:17px}
 .kbv-chips em{font-size:11px;padding:3px 7px}
 .kbv-flab{margin-right:8px}
 .kbv-pill{padding:0 10px;font-size:13px}
}
