/* Local preview only: the accepted landing palette, existing page structure. */
:root{--bg:#e4e7ea;--panel:#f2f4f6;--panel-2:#edf0f2;--border:#d1d7dc;--border-2:#d1d7dc;--text:#252a30;--ink:#252a30;--title:#252a30;--muted:#61686f;--muted-2:#61686f;--accent:var(--red-ui);--accent2:var(--red-ui);--pilot-dark:#17191d;--pilot-graphite:#252a30;}
body.local-redesign{background:var(--bg);color:var(--text);}
/* Заголовки h1/h2 — исходные размеры, насыщенность и разрядка из app.css: правило редизайна, менявшее их (48,9/34,9 px, вес 200/300), снято 11.09.2026 по указанию владельца. Цвет остаётся из палитры (--title). */
.local-redesign .wc-num,.local-redesign .m-val{font-weight:900;}
.local-redesign .hero{padding-top:48px;padding-bottom:24px;}
.local-redesign .lead-zone,.local-redesign .page-lead{max-width:1000px;}
.local-redesign .wc{background:#f2f4f6;border:0;box-shadow:none;}
.local-redesign .wc-head,.local-redesign .wc-foot{border-color:#d1d7dc;}
.local-redesign .wc:hover{box-shadow:0 8px 24px #252a3010;}

.local-redesign .wc-metrics{background:transparent;}
/* Лист кейса белый, как карточки каталога (11.09.2026): #F2F4F6 сливался с фоном (1,09:1), красные числа теряли контраст 4,63 → 4,20. Тени нет — по образцу титульной. */
.local-redesign .sheet{background:#fff;box-shadow:none;}
.local-redesign .sh-panel,.local-redesign .sh-concl{background:#edf0f3;}
/* Блок «Современный аналог» (.rec) без заливки — белый, как лист (владелец, 11.09.2026). */
.local-redesign .rec{background:#fff;}
.local-redesign .sh-metrics{padding-top:18px;padding-bottom:18px;}
.local-redesign .foot{background:#17191d;color:#c3c7cc;padding-top:48px;margin-top:48px;border:0;}
.local-redesign .foot a,.local-redesign .foot p,.local-redesign .foot-c,.local-redesign .foot-note{color:#c3c7cc;}
.local-redesign .foot a:hover{color:#fff;}
.local-redesign .foot-deco{opacity:.09;}
.local-redesign .foot-train{mask-image:linear-gradient(to right,transparent,black 9%,black 91%,transparent);}
.local-redesign a:focus-visible,.local-redesign button:focus-visible{outline:2px solid var(--red-ui);outline-offset:4px;}
@media(max-width:760px){.local-redesign .sheet{padding:24px 18px;}.local-redesign .hero{padding-top:30px;}}
@media(prefers-reduced-motion:reduce){.local-redesign *{scroll-behavior:auto!important;transition:none!important;}}
.local-redesign img.hero{padding:0;object-fit:contain;}
.local-redesign .sh-lab{color:var(--red-ui);}
.local-redesign .sh-sub,.local-redesign .sh-meta,.local-redesign .sh-meta2{color:#61686f;}

.local-redesign .tag.on,.local-redesign .tag.on .tag-l{background:var(--graphite-light);color:white;}

/* Accepted cool base and original light footer, local-only. */
.local-redesign .foot{background:#e4e7ea;color:#252a30;border-top:1px solid #c5ccd2;}
.local-redesign .foot a,.local-redesign .foot p,.local-redesign .foot-c,.local-redesign .foot-note{color:#56616a;}
.local-redesign .foot a:hover{color:var(--red-ui);}
.local-redesign .foot-deco{opacity:.4;}
/* Тёмный герой страницы проблемы — раздел «Страница проблемы: первый экран» в конце файла (T11, 14.09.2026). */

/* Preserve the original white catalogue cards. */
.local-redesign .wc{background:#fff;}

.local-redesign .btn-p{background:#dfe4e9;color:#191c1f;border-color:#d1d7dc;}
/* Кнопки «PDF-отчёт» и им подобные при наведении/нажатии — красные (владелец, 11.09.2026; заменяет прежнее «графит»). */
.local-redesign .btn-p:hover{background:var(--red-ui);color:#fff;}

.local-redesign .lead-zone{max-width:none;}
.local-redesign .lead-zone .lead{max-width:1000px;}
.local-redesign .lead-zone .f-head{padding-right:0;margin-top:32px;}
.local-redesign .lead-zone + .fx{margin-top:24px;}
.local-redesign #q{background:#f2f4f6;border:0;border-bottom:2px solid #8c969e;padding:18px 22px;font-size:18px;box-shadow:none;}
.local-redesign #q:focus{outline:0;border-bottom-color:#252a30;background:#fff;}
.local-redesign [data-fx="rating"]{display:none;}
.local-redesign.show-evidence [data-fx="rating"]{display:block;}
.local-redesign .btn-p:active{background:var(--red-ui);color:#fff;}
.local-redesign .tag.on:hover{background:var(--graphite-light);color:white;}
/* HERO кейса: разделители — рамки ячеек (border-left у чётных, border-top у второго ряда), и любой row-gap разрывает вертикальную линию на высоту зазора (замечание владельца 11.09.2026). Зазор снят; интервал между рядами даёт собственный отступ ячеек из app.css: 22+22 px на десктопе, 14+14 на телефоне — линии сходятся. */
.local-redesign .sh-metrics{row-gap:0;}
/* На телефоне (одна колонка) линия над второй ячейкой терялась: базовое правило `.m-cell:nth-child(-n+2){border-top:0}` для двух колонок перебивало мобильное `.m-cell{border-top:1px}`. Замер 11.09.2026: линии над 3-й и 4-й есть, над 2-й нет. Здесь выравнивается; то же правило нужно перенести в app.css при сведении. */
@media(max-width:640px){.local-redesign .sh-metrics .m-cell:nth-child(2){border-top:1px solid #D8DDE2;}}
.local-redesign .sh-metrics .m-cell{border-right:0;}
.local-redesign .sh-metrics .m-cell:first-child{border-left:0;}

/* Colour belongs to case chips; filter controls remain neutral. */
.local-redesign .fx .tag{background:#dfe4e8;color:#424950;border-color:transparent;}
.local-redesign .fx .tag .tag-l{color:inherit;background:transparent;}
.local-redesign .fx .tag:hover{background:#cdd4da;color:#252a30;}
.local-redesign .fx .tag.on,.local-redesign .fx .tag.on:hover{background:var(--graphite-light);color:#fff;border-color:var(--graphite-light);}
.local-redesign .fx .tag.on .tag-l{background:transparent;color:inherit;}

.local-redesign .wc .wc-pdf,.local-redesign .wc .wc-btns a,.local-redesign .wc button,.local-redesign .wc summary,.local-redesign .btn-p{border-radius:0!important;}
/* Кнопки каталога (PDF-отчёт в карточках, поиск) при наведении — --graphite-light (владелец, 12.09.2026, вечер-2); кнопки листа кейса и «поделиться» — --red-ui. Выбранный фильтр и текущая страница — --graphite-light. */
.local-redesign .wc .wc-pdf:hover,.local-redesign .wc .wc-pdf:active,.local-redesign .wc .wc-btns a:hover,.local-redesign .wc .wc-btns a:active{background:var(--graphite-light)!important;color:#fff!important;border-color:var(--graphite-light)!important;}
.local-redesign .btn-p:hover,.local-redesign .btn-p:active{background:var(--red-ui)!important;color:#fff!important;border-color:var(--red-ui)!important;}
/* Exact landing search treatment, shared shape and interaction. */
.local-redesign .f-head .search-field{display:flex;width:430px;max-width:100%;min-width:0;border:3px solid #555c66;overflow:hidden;align-items:stretch;background:rgba(28,32,37,.88);transition:background-color .25s,border-color .25s,box-shadow .25s;}
.local-redesign .f-head .search-field:hover{border-color:#9099a6;background:rgba(39,44,51,.92);}
.local-redesign .f-head .search-field:focus-within{border-color:#c1c8d2;background:rgba(39,44,51,.96);box-shadow:0 0 0 2px #c1c8d225;}
.local-redesign .f-head .search-field #q{width:100%;min-width:0;max-width:none;padding:16px 14px;border:0;color:white;background:transparent;font-size:14px;line-height:18px;text-overflow:ellipsis;outline:none!important;box-shadow:none!important;}
.local-redesign .f-head .search-field #q::placeholder{color:#b8bec8;}
.local-redesign .f-head .search-field button{display:flex;align-items:center;width:52px;min-width:52px;min-height:52px;justify-content:center;padding:0;border:0;border-left:1px solid #555c66;border-radius:0;color:white;background:transparent;transition:background-color .25s,color .25s;}
.local-redesign .f-head .search-field button:hover{background:var(--red-ui);color:#fff;}
.local-redesign .f-head .search-field button:focus-visible{outline:2px solid white;outline-offset:-5px;}
.local-redesign .search-arrow{width:24px;height:24px;}

/* Square button group as well as its children: the parent clips the corners. */
.local-redesign :is(.wc-btns,.wc-pdf,.wc-more,.wc-no,.wc-lg,.btn-p,.btn-s,.ic-b,.share-b){border-radius:0!important;}
.local-redesign :is(.wc-pdf,.wc-more):is(:hover,:active){background:var(--graphite-light)!important;border-color:var(--graphite-light)!important;color:#fff!important;}
.local-redesign :is(.btn-p,.btn-s):is(:hover,:active){background:var(--red-ui)!important;border-color:var(--red-ui)!important;color:#fff!important;}

/* Таблицы светлее (владелец, 11.09.2026): шапка и чётные строки на полтона ближе к белому, чтобы лист не дробился на серые полосы. */
.local-redesign .c-tab th{background:#EDF0F2;}
.local-redesign .c-tab.zebra tbody tr:nth-child(even){background:#F5F6F8;}
.local-redesign .fx .tag{background:#f2f4f6;color:#424950;}
.local-redesign .fx .tag:hover{background:#fff;color:#252a30;}
.local-redesign .fx .tag.on,.local-redesign .fx .tag.on:hover{background:var(--graphite-light);color:#fff;}

/* More space between rows of catalogue metrics. */
.local-redesign .wc-metrics{row-gap:28px;}

.local-redesign .wc-metrics{row-gap:20px;}
.local-redesign .f-head .search-field{background:#f2f4f6;border-color:#b5bec6;}
.local-redesign .f-head .search-field:hover{background:#fff;border-color:#929da7;}
.local-redesign .f-head .search-field:focus-within{background:#fff;border-color:#737f8a;box-shadow:none;}
.local-redesign .f-head .search-field #q{flex:1 1 0;width:0;color:#252a30;}
.local-redesign .f-head .search-field #q::placeholder{color:#61686f;}
.local-redesign .f-head .search-field button{flex:0 0 52px;margin:0!important;color:#252a30;border-left-color:#b5bec6;}
.local-redesign .f-head .search-field button:hover{background:#252a30;color:#fff;}
/* Строка поиска: поле + кнопка + флажок «страна» в одну линию (11.09.2026). На телефоне поле ужимается, флажок остаётся справа. */
.local-redesign .f-head{display:flex;align-items:center;flex-wrap:wrap;gap:12px 20px;}
.local-redesign .f-head .f-chk{margin:0;white-space:nowrap;}
@media(max-width:700px){.local-redesign .f-head{flex-wrap:nowrap;gap:12px;}.local-redesign .f-head .search-field{flex:1 1 0;width:auto;}}

.local-redesign .f-head .search-field{position:relative;padding-right:52px;box-sizing:border-box;}
.local-redesign .f-head .search-field button{position:absolute;right:0;top:0;bottom:0;width:52px;max-width:52px;min-height:0;}
.local-redesign .f-head .search-field button .search-arrow{position:absolute;left:calc(50% - 12px);top:calc(50% - 12px);margin:0;transform:none;}
.local-redesign .f-head .search-field button:hover,.local-redesign .f-head .search-field button:active{background:var(--graphite-light);color:#fff;}

/* Зазор поиск → фильтры: ручная поправка −15 px под отдельную строку флажка снята вместе с ней (11.09.2026). */
.local-redesign .lead-zone + .fx{margin-top:24px;}

/* Catalogue decoration reuses the footer artwork and treatment. */
body.local-redesign{position:relative;isolation:isolate;}
.catalog-top-pattern{position:absolute;right:-40px;top:var(--catalog-pattern-top,88px);width:min(892px,65vw);height:310px;display:flex;align-items:flex-start;justify-content:flex-end;gap:51px;opacity:.4;pointer-events:none;z-index:-1;filter:brightness(0) invert(1) drop-shadow(0 1px 1px #191c1f2e);overflow:hidden;}
.catalog-top-pattern img{height:auto;display:block;}
.catalog-top-pattern img:first-child{width:57%;}.catalog-top-pattern img:last-child{width:43%;}
body.local-redesign:has(.catalog-top-pattern){overflow-x:clip;}
@media(max-width:700px){.catalog-top-pattern{width:75vw;height:260px;gap:20px;}}

.catalog-pattern-clip{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:-1;}
.catalog-pattern-clip .catalog-top-pattern{z-index:auto;}

.catalog-top-pattern{transform:scale(.88);transform-origin:top right;}

.catalog-top-pattern{transform:scale(.9064);}

/* ── Аудит стилей 11.09.2026: два красных на весь сайт ──────────────
   Интерфейс (ярлыки, ссылки, кнопки, наведение) — #b00018; числа
   данных и их стрелки/единицы — #eb0000, как HERO листа кейса. Ранее
   в ходу были пять оттенков (#ae0016, #a90019, #d0021b, #eb0000,
   #b00018). */
.local-redesign .fx-off:hover{color:var(--red-ui)!important;}
/* Подпись показателя (.wc-label) — второстепенный текст, серый #61686F, как в app.css; в красное правило попала по ошибке 11.09, снята 12.09.2026 по замечанию владельца. */
.local-redesign .wc-label{color:#61686f;}
.local-redesign .wc-num,.local-redesign .wc-arrow,.local-redesign .wc-unit{color:var(--red-hero);}
.local-redesign .wc-scans a:hover{color:var(--red-ui);}
.local-redesign .geo{--tone-fg:var(--red-ui);--tone-bg-h:var(--red-ui);}
/* Один компонент чипсов: .wc-tag листа кейса — тот же кегль и отступы, что .tag каталога. */
.local-redesign .wc-tag{font-size:13px;padding:3px 12px;}
/* h2 листа кейса (.sh-h) — как общий h2 сайта (200, разрядка .036em), а не 300/−0,42 px. Откат — удалить строку. */
.local-redesign .sh-h{font-weight:200;letter-spacing:.036em;}

/* Разделитель показателей — только между колонками (12.09.2026). Генератор не ставил `eol` широким ячейкам (`wc-m-wide`), и линия рисовалась по правому краю карточки; в web_ui.py исправлено, здесь — для уже собранных страниц. */
.local-redesign .wc-metrics[style*="repeat(2"] .wc-m:nth-child(even)::after,.local-redesign .wc-metrics .wc-m:last-child::after{display:none;}

/* Значения «до → после» в подписи — своей строкой, без разрыва (12.09.2026). */
.local-redesign .wc-label .m-vals,.local-redesign .m-lab .m-vals{display:block;}

/* ── Без тонких контуров (владелец, 12.09.2026): состояния — заливками ──
   Пагинация: страницы и стрелки — светлая заливка #E3E6E9 с графитовым
   текстом (контраст 11:1), текущая — графит с белым, недоступная стрелка —
   приглушённый текст без заливки; наведение — #D1D7DC. Красной заливки
   у текущей страницы больше нет — каталог и так насыщен красным.
   Кнопки «поделиться» (.ic-b, .share-b) и ярлык языка скана (.wc-lg) — та же светлая заливка. */
.local-redesign .pg-num,.local-redesign .pg-arrow{border:0;background:#e3e6e9;color:#252a30;box-shadow:none;}
.local-redesign .pg-num:hover,.local-redesign .pg-arrow:hover:not(:disabled){background:#d1d7dc;color:#252a30;}
.local-redesign .pg-num.on,.local-redesign .pg-num.on:hover{background:var(--graphite-light);color:#fff;}
.local-redesign .pg-arrow:disabled{background:transparent;color:#8a9299;opacity:1;}
.local-redesign :is(.ic-b,.share-b){border:0;background:#e3e6e9;box-shadow:none;}
.local-redesign :is(.ic-b,.share-b):hover{background:var(--red-ui);color:#fff;}
.local-redesign .wc-lg{border:0;background:#e3e6e9;}

/* ── Решение 12.09.2026: три красных и интервалы токенами ────────────
   Шапка карточки (вариант 1 сравнения): тип документа и капитель —
   серые, плашка серии — --red-ui (владелец 12.09: как кнопки); красным остаётся
   результат. Текстовые HERO (`wc-m-txt`) — яркий, 900, как числа.
   Трекинг и интерлиньяж — по TYPO-2026-09-12.md. */
:root{--red-hero:#eb0000;--red-ui:#bf0016;--red-light:#ff2643;--graphite-dark:#1b1e23;--graphite:#252a30;--graphite-light:#3d454e;--track-num:.025em;--track-unit:.04em;--track-caps:.06em;--track-chip:.04em;--track-sub:.03em;--track-h4:.02em;--lh-text:1.6}
.local-redesign .wc-eyebrow,.local-redesign .wc-type,.local-redesign .sh-eye{color:#61686f!important;}
.local-redesign .wc-ser,.local-redesign .sh-ser{background:var(--red-ui)!important;color:#fff!important;font-weight:700;letter-spacing:var(--track-chip);}
.local-redesign .wc-m-txt > div:first-child{color:var(--red-hero);font-weight:900;}
.local-redesign .m-val,.local-redesign .wc-num{letter-spacing:var(--track-num);}
.local-redesign .m-un,.local-redesign .wc-unit{letter-spacing:var(--track-unit);}
.local-redesign :is(.wc-type,.wc-eyebrow,.sh-eye,.sh-lab,.prod-lab,.c-tab th,.sh-cls,.rec-t){letter-spacing:var(--track-caps);}
.local-redesign :is(.wc-no,.wc-pdf,.btn-p,.fx-name,.wc-lg){letter-spacing:var(--track-chip);}
.local-redesign :is(.wc-org,.wc-company-name,.page h3){letter-spacing:var(--track-sub);}
.local-redesign :is(.sh-p,.sh-concl,li,p.lead,p.page-lead,td,.m-list){line-height:var(--lh-text);}
.local-redesign .wc-lg{font-size:11px;}

/* ══════════════════════════════════════════════════════════════════════════
   КОНТРАКТ 13.09.2026 (ред. 2) — вспомогательные страницы.
   Все селекторы под .local-redesign. Разделы 1, 3–11, 13 действуют только внутри main.page
   (каталог /ru/cases — main.wrap без .page, лист кейса — main.case-wrap; их вид не меняется,
   кроме крошки, раздел 2). Цвета — только перечень DESIGN_RULES; новых оттенков нет.
   Ширина текста — один токен --page-text-w = 1000px (лид /ru/cases).
   Прежнее правило полей `.local-redesign input…,select{border-color:#d1d7dc}` удалено — его заменяет раздел 9.
   ══════════════════════════════════════════════════════════════════════════ */
:root{--page-text-w:1000px;}

/* ── 1. Шапка страницы: крошки → h1 → лид → (ряд кнопок), как на /ru/cases. Только .page ── */
.local-redesign .page .lead-zone{max-width:none;margin:0 0 8px;}
.local-redesign .page .lead-zone :is(h1,.site-h1){font-size:36px;line-height:1.22;font-weight:200;letter-spacing:.036em;color:var(--graphite);margin:26px 0 16px;}
@media(max-width:720px){.local-redesign .page .lead-zone :is(h1,.site-h1){font-size:27px;}}   /* как app.css и каталог на телефоне; замер без правила: 36 px, h1 в три строки на 390 */
.local-redesign .page .lead-zone :is(.lead,.page-lead){max-width:var(--page-text-w);font-size:16px;line-height:var(--lh-text);color:#61686f;margin:0 0 8px;min-height:0;}
.local-redesign .page .page-lead:where(:not(.local-symptom-hero *)){font-size:16px;line-height:var(--lh-text);}   /* лид вне .lead-zone у старых генераторов — тот же кегль, что в каталоге; лид тёмного героя проблем — прежний 15 px (принятый компонент) */
.local-redesign .page .lead-zone .lead-actions{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center;margin:20px 0 0;}
/* Паттерн без поля поиска: shared-shell.js ставит класс no-search и left = левый край .lead-zone + 444 px
   (430 + 14 = правый край поиска каталога + 14: на 1440 → x=586, на 768 → x=464). На ≤700 px якорь — правый край окна. */
@media(max-width:700px){.local-redesign:has(main.page) .catalog-top-pattern.no-search{left:auto!important;right:-40px!important;}}   /* паттерн вне main: ограничение .page через :has */

/* ── 2. Крошки (замечание 3). Разметка crumb_html() из generator; действует и на /ru/cases ── */
.local-redesign .crumb{display:flex;flex-wrap:wrap;align-items:center;gap:0;margin:26px 0 0;font-size:14px;line-height:1.5;max-width:none;color:#61686f;}
.local-redesign .crumb a{color:#61686f;text-decoration:none!important;display:inline-block;padding:6px 0;}   /* цель касания 33 px; навигационные ссылки без подчёркивания — link-style.js исключает .crumb */
.local-redesign .crumb a:hover,.local-redesign .crumb a:focus-visible{color:var(--red-ui);}
.local-redesign .crumb [aria-current="page"]{color:var(--graphite);}
.local-redesign .crumb-sep{display:inline-block;color:var(--red-ui);font-size:22px;font-weight:700;line-height:14px;margin:0 8px;position:relative;top:-1px;}
/* --red-ui #BF0016 на #E4E7EA — 5,24:1 (расчёт WCAG); разделитель aria-hidden, порог к нему не применяется. */
.local-redesign .lead-zone .crumb+:is(h1,.site-h1){margin-top:10px;}              /* крошка внутри .lead-zone: h1 ниже на 10 px, и в каталоге, и на страницах */
.local-redesign .crumb+.local-symptom-hero,.local-redesign .crumb+.m-hero{margin-top:14px;}   /* крошка над тёмным героем проблем и над шапкой методики; сами компоненты не меняются */
.local-redesign .case-wrap>.crumb:not(.crumb-b){margin-bottom:26px;}
.local-redesign .case-wrap>.crumb.crumb-b{margin-top:22px;}   /* нижняя крошка листа: 34 − (33 − 21) = 22, подвал на прежней высоте */   /* лист кейса остаётся на прежней высоте: крошка 21 → 33 px, верх 30 → 26, зазор 34 → 26 (замер: верх .sheet 153 px на 1440) */
/* Доработка 13.09 (день), C5. Телефон: крошка в одну строку. Промежуточные ссылки свёрнуты в «…» (текст ссылки остаётся её доступным именем,
   у «…» пустой альтернативный текст), последнее звено обрезается многоточием. Замер до: 54 и 75 px, h1 на 164–185 вместо 143 у /ru/cases. */
@media(max-width:640px){
 .local-redesign .crumb{flex-wrap:nowrap;min-width:0;}
 .local-redesign .crumb>*{flex:none;}
 .local-redesign .crumb a:not(:first-child):not([aria-current]){font-size:0;min-width:24px;text-align:center;}
 .local-redesign .crumb a:not(:first-child):not([aria-current])::before{content:"…";content:"…"/"";font-size:14px;}
 .local-redesign .crumb [aria-current="page"]{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
}

/* ── 3. Ширина текстовой колонки (замечание 4). Только .page ── */
/* :where(:not(.pilot *,.local-symptom-hero *)) — зелёный блок .pilot (замечание 5) и тёмный герой проблем (доработка 1: у p.m-cases менялись line-height 21→22,4 и max-width) исключены из общих правил абзацев; :where не меняет специфичность (замер: без исключения у .pilot-cta a менялся line-height). */
.local-redesign .page :is(p,ul,ol,.m-list,.page-lead,.reco,.legacy,.note,.lg-note,.m-src,.pl-check,.pl-next,.pl-rows,.pl-form):where(:not(.pilot *,.local-symptom-hero *)){max-width:var(--page-text-w);}
.local-redesign .page li{max-width:none;}                                              /* ширину списка задаёт ul/ol */
.local-redesign .page :is(.two-col,.role-cards,.tiles,.c-tw,.wc,.sh-panel) :is(p,ul,ol){max-width:none;}   /* внутри колонок и карточек ширину задаёт колонка */
.local-redesign .page p:where(:not(.pilot *,.local-symptom-hero *)){line-height:var(--lh-text);}                                   /* токен 1,6 на абзацы; раньше только li и лиды */
.local-redesign .page .sheet.p-nums.p-wide{width:auto;max-width:var(--page-text-w);margin-left:0;}   /* лист чисел /ru/evidence по левой кромке текста */

/* ── 4. Заголовки разделов. Кегли h1–h3 внутренних страниц не меняются (DESIGN_RULES) ── */
.local-redesign .page h2:not(.wc-org){display:flex;align-items:center;gap:12px;margin:56px 0 14px;}
.local-redesign .page .lead-zone+h2:not(.wc-org),.local-redesign .page h2:not(.wc-org):first-child{margin-top:28px;}
/* Значки h2 сохраняются до ответа владельца (вопрос 15): фиксированное поле 28×28, чтобы начало текста не гуляло (было 27–33 px). */
.local-redesign .page h2 .h-ico{width:28px!important;height:28px!important;flex:none;color:var(--red-ui);}
.local-redesign .page h3{font-size:19px;font-weight:300;letter-spacing:var(--track-sub);margin:24px 0 8px;}
.local-redesign .page h4{font-size:22px;font-weight:700;letter-spacing:var(--track-h4);line-height:1.3;margin:0 0 12px;color:var(--graphite);}
@media(max-width:720px){.local-redesign .page h4{font-size:19px;}}

/* ── 5. Таблицы .c-tab (замечания 8–9): белая подложка, контрастная шапка, зебра, числа полужирным. Только .page ── */
.local-redesign .page :is(.c-tw,.pl-tw){overflow-x:auto;margin:16px 0 26px;
 background:linear-gradient(to right,#fff 30%,rgba(255,255,255,0)),linear-gradient(to left,#fff 30%,rgba(255,255,255,0)) 100% 0,
  radial-gradient(farthest-side at 0 50%,rgba(37,42,48,.28),rgba(37,42,48,0)),radial-gradient(farthest-side at 100% 50%,rgba(37,42,48,.28),rgba(37,42,48,0)) 100% 0;
 background-repeat:no-repeat;background-size:40px 100%,40px 100%,14px 100%,14px 100%;background-attachment:local,local,scroll,scroll;}   /* тень у края — признак прокрутки на телефоне */
.local-redesign .page .c-tab{background:#fff;width:100%;font-size:15px;color:var(--graphite);border-collapse:collapse;}
.local-redesign .page .c-tab th,.local-redesign .page .c-tab td{border:0;padding:12px 14px;vertical-align:top;line-height:var(--lh-text);text-align:left;background:#fff;}
.local-redesign .page .c-tab th{background:#dfe4e9;color:#4a5157;font-size:12px;font-weight:700;letter-spacing:var(--track-caps);text-transform:uppercase;white-space:normal;}   /* к белому 1,28; текст 6,5:1 */
.local-redesign .page .c-tab tbody tr:nth-child(even) td{background:#f2f4f6;}         /* зебра на белом; класс .zebra не нужен */
.local-redesign .page .c-tab.zebra tbody tr:nth-child(even){background:transparent;}
.local-redesign .page .c-tab td b,.local-redesign .page .c-tab td.num,.local-redesign .page .c-tab th.num{font-weight:700;font-variant-numeric:tabular-nums;}
.local-redesign .page .c-tab td.num,.local-redesign .page .c-tab th.num{text-align:right;white-space:nowrap;}   /* класс num ставит generator (числовые столбцы) и pages */
.local-redesign .page .c-tab :is(th,td).num{width:1%;}   /* круг 2: числовой столбец по содержимому (nowrap), остальное — тексту; /ru/pilot .pl-econ было 152 + 394 px */
.local-redesign .page .c-tab td:first-child b{color:var(--graphite);}
.local-redesign .page .c-tab:is([data-cols="5"],[data-cols="6"],[data-cols="7"]){min-width:720px;}   /* ≥5 столбцов — прокрутка, не сжатие */
.local-redesign .page .c-tab.ap-tab{table-layout:auto;min-width:640px;}
.local-redesign .page .pl-tw .c-tab{min-width:0;}
/* Телефон: таблицы ≤4 столбцов складываются строками «ярлык — значение» (data-stacked и data-th ставит generator) */
@media(max-width:640px){
 .local-redesign .page .c-tab[data-stacked]{min-width:0;}
 .local-redesign .page .c-tab[data-stacked] thead{position:absolute;left:-9999px;}
 .local-redesign .page .c-tab[data-stacked] tr,.local-redesign .page .c-tab[data-stacked] td{display:block;}
 .local-redesign .page .c-tab[data-stacked] tr{padding:8px 14px 12px;}
 .local-redesign .page .c-tab[data-stacked] tbody tr:nth-child(even){background:#f2f4f6;}
 .local-redesign .page .c-tab[data-stacked] tbody tr:nth-child(even) td{background:transparent;}
 .local-redesign .page .c-tab[data-stacked] td{padding:6px 0;}
 .local-redesign .page .c-tab[data-stacked] td::before{content:attr(data-th);display:block;font-size:12px;font-weight:700;letter-spacing:var(--track-caps);text-transform:uppercase;color:#4a5157;margin-bottom:2px;}
 .local-redesign .page .c-tab[data-stacked] td:first-child::before{display:none;}
 .local-redesign .page .c-tab[data-stacked] td:first-child{font-size:16px;font-weight:700;}
 .local-redesign .page .c-tab[data-stacked] td.num{text-align:left;}
 .local-redesign .page .c-tab[data-stacked] :is(th,td).num{width:auto;}   /* круг 2: сброс width:1% в сложенном виде */
}
/* Доработка 13.09 (день), C4. Планшет 641–900 px: таблица от 5 столбцов с data-stacked (/ru/pilot «Сроки и замеры») не помещается — минимум 782 px
   задают длинные слова. Строка таблицы — блок: первая ячейка заголовком во всю ширину, остальные ячейки в две колонки с ярлыками data-th. */
@media(min-width:641px) and (max-width:900px){
 .local-redesign .page .c-tab[data-stacked]:is([data-cols="5"],[data-cols="6"],[data-cols="7"]){display:block;min-width:0;}
 .local-redesign .page .c-tab[data-stacked]:is([data-cols="5"],[data-cols="6"],[data-cols="7"]) thead{position:absolute;left:-9999px;}
 .local-redesign .page .c-tab[data-stacked]:is([data-cols="5"],[data-cols="6"],[data-cols="7"]) tbody{display:block;}
 .local-redesign .page .c-tab[data-stacked]:is([data-cols="5"],[data-cols="6"],[data-cols="7"]) tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px;padding:10px 14px 14px;}
 .local-redesign .page .c-tab[data-stacked]:is([data-cols="5"],[data-cols="6"],[data-cols="7"]) tbody tr:nth-child(even){background:#f2f4f6;}
 .local-redesign .page .c-tab[data-stacked]:is([data-cols="5"],[data-cols="6"],[data-cols="7"]) td{display:block;padding:6px 0;background:transparent;}
 .local-redesign .page .c-tab[data-stacked]:is([data-cols="5"],[data-cols="6"],[data-cols="7"]) td::before{content:attr(data-th);display:block;font-size:12px;font-weight:700;letter-spacing:var(--track-caps);text-transform:uppercase;color:#4a5157;margin-bottom:2px;}
 .local-redesign .page .c-tab[data-stacked]:is([data-cols="5"],[data-cols="6"],[data-cols="7"]) td:first-child{grid-column:1/-1;font-size:16px;font-weight:700;}
 .local-redesign .page .c-tab[data-stacked]:is([data-cols="5"],[data-cols="6"],[data-cols="7"]) td:first-child::before{display:none;}
 .local-redesign .page .c-tab[data-stacked]:is([data-cols="5"],[data-cols="6"],[data-cols="7"]) :is(th,td).num{width:auto;text-align:left;}
}

/* ── 6. Двухколоночные разделы (.two-col ставят pages) ── */
.local-redesign .page .two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 48px;margin:16px 0 8px;max-width:none;}
.local-redesign .page .two-col>*{min-width:0;}
.local-redesign .page .two-col :is(h3,h4):first-child{margin-top:0;}
/* Круг 2: pages перевели заголовки колонок h4 → h3; вид заголовка колонки 22/700 (19 при ≤720) — для обоих тегов */
.local-redesign .page .two-col h3{font-size:22px;font-weight:700;letter-spacing:var(--track-h4);line-height:1.3;margin-bottom:12px;color:var(--graphite);}
@media(max-width:720px){.local-redesign .page .two-col h3{font-size:19px;}}
/* Ряды ссылок «название + строка-факт» (.link-rows), как .method-links титула; стрелку ставит link-style.js (framed) */
.local-redesign .page .link-rows a{display:grid;grid-template-columns:minmax(0,1fr) 1.25em;grid-template-areas:"t a" "d d";column-gap:8px;row-gap:4px;align-items:center;padding:16px 12px;margin:0 -12px;border:0;font-size:19px;font-weight:300;letter-spacing:var(--track-sub);color:var(--graphite);text-decoration:none!important;transition:background-color .2s;}
/* Доработка 13.09 (день), C2: разделение рядов заливкой через ряд, как у .pl-check, .role-row, .pl-row (было 1 px #C5CCD2 сверху и снизу); наведение — белая заливка, как у фильтров */
.local-redesign .page .link-rows a:nth-child(even){background:#f2f4f6;}
.local-redesign .page .link-rows a:is(:hover,:focus-visible){background:#fff;}
.local-redesign .page .link-rows a .lr-t{grid-area:t;}
.local-redesign .page .link-rows a .lr-d{grid-area:d;font-size:15px;font-weight:400;letter-spacing:0;line-height:1.5;color:#61686f;}
.local-redesign .page .link-rows a :is(.unified-link-arrow,.link-arrow){grid-area:a;width:1.1em;height:1.1em;}
.local-redesign .page .link-rows a:is(:hover,:focus-visible),.local-redesign .page .link-rows a:is(:hover,:focus-visible) .lr-d{color:var(--red-ui);}
@media(max-width:820px){.local-redesign .page .two-col{grid-template-columns:1fr;gap:24px;}}

/* ── 7. Карточки сценариев /pilot (владелец, 14.09.2026, T4: «заголовки и тексты сливаются, сценарий выделить шильдиком») ──
   Шильдик «Сценарий N» — по образцу плашки серии .sh-ser: 12 px 700 прописные, белый на --red-ui, поля 4×10×3, прямые углы
   (70_DIALOG §7-квинт: 4 px только у кнопок действия и тегов фильтров). Заголовок — исходный h3 19/300, под ним линия 2 px
   --graphite-light, как под шапкой таблицы. Пары: подпись 12/700 прописные #61686F, значение 17/700, подпись → значение 4 px,
   между парами 18 px, без линий и без заливки через ряд (сторож preflight check_role_cards). Примечание — сноска .fn под рядом.
   Было: «Сценарий N» и подписи одного вида 12/700, h3 19/300 и значение 16/400, вторая пара на #F2F4F6, пусто внизу 60 px (1440). */
.local-redesign .page .role-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:18px 0 8px;}
.local-redesign .page .role-card{background:#fff;padding:24px 26px 26px;min-width:0;}
.local-redesign .page .role-card .role-num{display:block;width:max-content;max-width:100%;justify-self:start;align-self:start;padding:4px 10px 3px;background:var(--red-ui);color:#fff;font-size:12px;font-weight:700;line-height:18px;letter-spacing:var(--track-chip);text-transform:uppercase;border-radius:0;margin:0 0 16px;}
.local-redesign .page .role-row{display:grid;gap:4px;align-content:start;margin:0;}
.local-redesign .page .role-row b{font-size:12px;font-weight:700;line-height:18px;letter-spacing:var(--track-caps);text-transform:uppercase;color:#61686f;}
.local-redesign .page .role-card h3{margin:0;padding:0 0 16px;border-bottom:2px solid var(--graphite-light);font-size:19px;font-weight:300;letter-spacing:var(--track-sub);line-height:1.5;color:var(--graphite);}
.local-redesign .page .role-row{padding:18px 0 0;}
.local-redesign .page .role-row span{font-size:17px;font-weight:700;line-height:1.45;color:var(--graphite);}
/* Ряды выровнены между карточками: у карточки 5 строк сетки родителя (шильдик, h3, три пары) через subgrid; число пар одинаково (сторож). */
@media(min-width:721px){@supports(grid-template-rows:subgrid){
 .local-redesign .page .role-card{display:grid;grid-row:span 5;grid-template-rows:subgrid;row-gap:0;align-content:start;}
}}
@media(min-width:721px) and (max-width:1024px){
 .local-redesign .page .role-cards{gap:12px;}
 .local-redesign .page .role-card{padding:18px 16px 20px;}
}
@media(max-width:720px){.local-redesign .page .role-cards{grid-template-columns:1fr;}}
.local-redesign .page .pl-rows{gap:0;}
.local-redesign .page .pl-row{border:0;padding:10px 12px;margin:0 -12px;}
.local-redesign .page .pl-row:nth-child(even){background:#f2f4f6;}
.local-redesign .page .pl-row:last-child{border:0;}

/* ── 8. Списки допуска и шагов (.pl-check, .pl-next): маркер-заливка, без линий, без наведения ── */
.local-redesign .page :is(.pl-check,.pl-next) li{border:0;margin:0 -12px;}
.local-redesign .page :is(.pl-check,.pl-next) li:nth-child(even){background:#f2f4f6;}
.local-redesign .page .pl-check li{position:relative;padding:10px 12px 10px 36px;}
.local-redesign .page .pl-check li::before{content:"";position:absolute;left:14px;top:19px;width:8px;height:8px;background:var(--graphite-light);box-shadow:none;border:0;}   /* доработка 13.09 (день), C1: content и position — в app.css их больше нет, маркер не выводился */
.local-redesign .page .pl-check li:hover::before{background:var(--graphite-light);}
.local-redesign .page .pl-next li{padding:10px 12px 10px 56px;}
.local-redesign .page .pl-next li::before{left:12px;top:9px;background:var(--graphite-light);color:#fff;}   /* доработка 1: бейдж #E3E6E9 на фоне #E4E7EA давал 1,01:1; белый на #3D454E 9,72:1 */

/* ── 9. Поля ввода (замечание 7): заливка, нижняя черта, состояния заливкой; одна система на формы и калькулятор p1 ── */
/* Исключения типов — в :where(): специфичность базы (0,2,1), поэтому состояния, textarea, select и мобильная высота ниже по файлу её перекрывают.
   Замер с исходной записью контракта (0,7,1): :hover и :focus не меняли заливку, у select пропадал шеврон, textarea 113 px вместо 120, на 390 высота 52 вместо 48. */
.local-redesign .page :is(input,select,textarea):where(:not([type=checkbox],[type=radio],[type=range],[type=submit],[type=button],[type=hidden])){
 width:100%;box-sizing:border-box;min-height:52px;padding:12px 14px;background-color:#f2f4f6;border:0;border-radius:0;
 box-shadow:inset 0 -2px 0 #61686f;color:var(--graphite);font:inherit;font-size:16px;line-height:1.4;transition:background-color .2s,box-shadow .2s;}
.local-redesign .page :is(input,select,textarea):where(:not([type=checkbox],[type=radio],[type=range],[type=submit],[type=button],[type=hidden])):hover{background-color:#fff;}
.local-redesign .page :is(input,select,textarea):where(:not([type=checkbox],[type=radio],[type=range],[type=submit],[type=button],[type=hidden])):focus{outline:0;background-color:#fff;box-shadow:inset 0 -3px 0 var(--graphite);}
.local-redesign .page :is(input,select,textarea):where(:not([type=checkbox],[type=radio],[type=range],[type=submit],[type=button],[type=hidden]))[aria-invalid="true"]{box-shadow:inset 0 -3px 0 var(--red-ui);}
.local-redesign .page :is(input,textarea)::placeholder{color:#61686f;}
.local-redesign .page textarea{min-height:120px;resize:vertical;}
.local-redesign .page select{appearance:none;-webkit-appearance:none;padding-right:48px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23252a30' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 9 7 7 7-7'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:24px 24px;}
.local-redesign .page :is(input[type=checkbox],input[type=radio]){width:20px;height:20px;margin:3px 0 0;flex:none;accent-color:var(--red-ui);cursor:pointer;}
.local-redesign .page .pl-radio{background:#f2f4f6;}
.local-redesign .page .pl-radio:hover{background:#fff;}
.local-redesign .page :is(label,legend){font-size:15px;font-weight:500;color:var(--graphite);}
.local-redesign .page .pl-turnstile:empty{display:none;}
@media(forced-colors:active){.local-redesign .page :is(input,select,textarea):focus-visible{outline:2px solid Highlight;outline-offset:3px;}}
@media(max-width:640px){.local-redesign .page :is(input,select):where(:not([type=checkbox],[type=radio],[type=range],[type=submit],[type=button],[type=hidden])){min-height:48px;}}

/* ── 10. Кнопки (замечание 9): CTA — одно главное действие; служебные — как в каталоге. Только .page ── */
.local-redesign .page :is(.btn-cta,.pl-btn,.dl){display:inline-flex;align-items:center;justify-content:center;min-height:60px;padding:0 24px;background:var(--red-ui);color:#fff!important;font-size:17px;font-weight:700;line-height:1.5;letter-spacing:.012em;text-decoration:none!important;border:0;border-radius:0;cursor:pointer;font-family:inherit;white-space:nowrap;box-shadow:none;}
.local-redesign .page :is(.btn-cta,.pl-btn,.dl):is(:hover,:focus-visible){background:var(--red-hero);color:#fff!important;}
.local-redesign .page :is(.btn-cta,.pl-btn,.dl):active{background:var(--graphite);}
.local-redesign .page :is(.btn-cta,.pl-btn)[disabled]{background:var(--graphite-light);cursor:default;}
.local-redesign .page .dl{margin:0 12px 12px 0;}
@media(max-width:640px){.local-redesign .page :is(.btn-cta,.pl-btn,.dl){width:100%;white-space:normal;}}
/* Текстовый переход «→»: один вид на сайт (был в пяти вариантах) */
/* Тёмный герой проблем (.local-symptom-hero) исключён целиком: там ссылка остаётся в виде принятого компонента, #E9E8DE (доработка 1, было 2,2:1 на #252A30). */
.local-redesign .page .a-go:where(:not(.local-symptom-hero *)){color:var(--red-ui);font-weight:500;font-size:inherit;text-decoration:none!important;display:inline-block;padding:6px 0;}
.local-redesign .page .a-go:where(:not(.local-symptom-hero *)):is(:hover,:focus-visible){color:var(--red-hero);text-decoration:none!important;}
/* Служебные кнопки карточек — как в каталоге */
.local-redesign .page .wc-btns a{background:#dfe4e9;color:#191c1f;font-size:13.5px;font-weight:500;letter-spacing:var(--track-chip);text-transform:uppercase;min-height:44px;}
/* Зелёный блок .pilot и его кнопка .pilot-cta a не затрагиваются ни одним правилом контракта (замечание 5). */

/* ── 11. Врезки и сноски: заливка вместо серой полосы слева. Только .page ── */
.local-redesign .page :is(.reco,.legacy,.note){background:#edf0f2;border:0;padding:14px 16px;font-size:14px;line-height:var(--lh-text);color:#61686f;margin:16px 0;}
.local-redesign .page :is(.reco,.legacy,.note) b{color:var(--graphite);}
.local-redesign .page .case-facts{border-top:0;background:#edf0f2;padding:14px 16px;margin:26px 0 0;}

/* ── 12. Чипсы вне каталога: один компонент 13 px, нейтральный, цели касания ≥44 ── */
.local-redesign :is(.page,.m-filter,.m-hero) .tag{background:#f2f4f6;color:#424950;border:0;font-size:13px;padding:6px 12px;line-height:1.4;letter-spacing:var(--track-chip);}
.local-redesign :is(.page,.m-filter,.m-hero) .tag:hover{background:#fff;color:var(--graphite);}
.local-redesign :is(.page,.m-filter,.m-hero) .tag.on,.local-redesign :is(.page,.m-filter,.m-hero) .tag.on:hover{background:var(--graphite-light);color:#fff;}
.local-redesign :is(.page,.m-filter,.m-hero) .tag i{font-size:12px;}
@media(pointer:coarse){.local-redesign :is(.page,.m-filter,.m-hero) .tag{padding:13px 14px;}}   /* 18,2 + 26 = 44 px; с 10 px замер давал 38 */

/* ── 13. Карточки и панели на вспомогательных. Только .page ── */
.local-redesign .page .wc{background:#fff;border:0;box-shadow:none;padding:22px 26px;}
.local-redesign .page .tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:16px 0 8px;}
.local-redesign .page .tiles .wc-equip{font-size:16px;line-height:var(--lh-text);color:var(--graphite);}
.local-redesign .page .prod-val{font-weight:400;font-size:16px;}
.local-redesign .page .prod-val.contact-val{font-size:19px;font-weight:300;letter-spacing:var(--track-sub);}   /* почта и телефон на /ru/contacts */
.local-redesign .page .sh-panel{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));}
.local-redesign .page .m-tile .m-top{flex-direction:column;align-items:flex-start;}   /* /ru/methods: снимок сверху, название под ним во всех 24 карточках */
/* Общая банка составов ВОЗВРАЩЕНА В КАТАЛОГ (владелец, 16.09.2026). Здесь стояли два правила display:none («заглушка составов не выводится до появления фото») — из-за них у 11 карточек из 15 снимка не было вовсе. Замер 16.09.2026: банка обтравлена (прозрачны 97,6 % точек рамки кадра), мешало другое — банка белая и карточка белая. Подложки НЕТ: владелец 16.09.2026 «ставить без всякого фона, потом я их поменяю». Класс .prod-img--stock ставит генератор (bin/publish_site.py) как метку общей банки; сторож — check_product_images в bin/preflight.py. */
@media(max-width:820px){.local-redesign .page .tiles{grid-template-columns:1fr;}}

/* ── 14. Мелкое ── */
.local-redesign .page .pin-n{font-size:11px;}
.local-redesign .page .cab-entry{margin:20px 0 0;}

/* ── Паттерн шапки (владелец, 13.09.2026, вечер-5) ─────────────────────────────
   Блок 892×310 px в масштабе k: правый край — 30 px от правого края окна, верх — 20 px под меню
   (88 px при меню 68 px; 78 px при меню 58 px, окно ≤1024). k = .9064 при окне ≥1440 px — 809×281 px;
   от 1440 до 1024 px k линейно уменьшается до .7704 (85 %) — 687×239 px; уже 1024 px размер не меняется,
   левая часть уходит за край окна и обрезается. По высоте не режется. Масштаб и верх ставит shared-shell.js;
   прежние якоря (правый край поиска, левый край лида + 444 px, 75vw на телефоне) сняты. */
.catalog-top-pattern,.local-redesign:has(main.page) .catalog-top-pattern.no-search{right:30px!important;left:auto!important;width:892px;height:310px;gap:51px;}
@media(max-width:700px){.catalog-top-pattern{width:892px;height:310px;gap:51px;}}

/* ── Служебный блок каталога компактнее (владелец, 13.09.2026, вечер-5) ───────────
   1 · лид → поиск: 32 → 24 px.  2 · поиск → первый ряд тегов: 34 → 23 px (отступ блока фильтров 24 → 16).
   3 · шаг рядов фильтров: 44 → 38 px (поля строки 9/8 → 6/5 px; на опубликованном сайте 44 px). */
.local-redesign .lead-zone .f-head{margin-top:24px;}
.local-redesign .lead-zone + .fx{margin-top:16px;}
.local-redesign .fx .fx-line{padding-top:6px;padding-bottom:5px;}
/* Счётчик «238 кейсов · 347 актов» — в строке поиска по правому краю (shared-shell.js переносит p.count в .f-head);
   пустой .c-bar остаётся нулевой высоты — к нему прокручивает переход по страницам каталога. */
.local-redesign .f-head .f-count{margin:0 0 0 auto;white-space:nowrap;}
.local-redesign .cards .c-bar.is-empty{margin:0;height:0;}
@media(max-width:700px){.local-redesign .f-head{flex-wrap:wrap;}.local-redesign .f-head .f-count{flex-basis:100%;text-align:right;}}

/* ── Одна ширина страницы (владелец, 13.09.2026, вечер-6) ──────────────────────────────
   Колонка 1312 px, поля как у титула: min(1312px, 100% − 96px); ≤1200 — 100% − 64px; ≤700 — 100% − 40px;
   ≤370 — 100% − 32px. Одна для меню, титула, внутренних страниц и футера. Текстовая колонка — 1000 px везде. */
:root{--site-w:1312px;--page-text-w:1000px;}
.local-redesign main.wrap,.local-redesign .wrap:where(:not(.original-footer *)){max-width:none;width:min(var(--site-w),calc(100% - 96px));padding-left:0;padding-right:0;box-sizing:border-box;}
@media(max-width:1200px){.local-redesign main.wrap,.local-redesign .wrap:where(:not(.original-footer *)){width:calc(100% - 64px);}}
@media(max-width:700px){.local-redesign main.wrap,.local-redesign .wrap:where(:not(.original-footer *)){width:calc(100% - 40px);}}
@media(max-width:370px){.local-redesign main.wrap,.local-redesign .wrap:where(:not(.original-footer *)){width:calc(100% - 32px);}}
/* Лист кейса: текстовые блоки 920 → 1000 px (та же текстовая колонка); блок крупных чисел (.sh-metrics) — свой размер. */
.local-redesign .sheet>*:not(.sh-metrics),.local-redesign .sheet>.sh-title,.local-redesign .sheet>.sh-meta,.local-redesign .sheet>.sh-meta2,.local-redesign .sh-title,.local-redesign .sh-meta,.local-redesign .sh-meta2,.local-redesign .sh-concl,.local-redesign .case-facts{max-width:var(--page-text-w);}

/* ── Паттерн шапки: от правого края колонки (владелец, 13.09.2026, вечер-6) ──────────────
   Правый край паттерна выступает за правый край колонки 1312 на 45 px; на узком окне, где поле меньше 45 px,
   выступ обрезается краем окна. Размер и верх — прежние (809×281 ≥1440, до 85 % к 1024; 20 px под меню). */
.catalog-top-pattern,.local-redesign:has(main.page) .catalog-top-pattern.no-search{right:calc((100% - min(1312px, 100% - 96px)) / 2 - 45px)!important;}
@media(max-width:1200px){.catalog-top-pattern,.local-redesign:has(main.page) .catalog-top-pattern.no-search{right:-13px!important;}}
@media(max-width:700px){.catalog-top-pattern,.local-redesign:has(main.page) .catalog-top-pattern.no-search{right:-25px!important;}}
@media(max-width:370px){.catalog-top-pattern,.local-redesign:has(main.page) .catalog-top-pattern.no-search{right:-29px!important;}}

/* ── Заливка кнопок «поделиться» и пагинации в покое (владелец, 13.09.2026, вечер-6) ──────
   #E3E6E9 на фоне страницы #E4E7EA не видна (методики, порядок испытаний, каталог). На сером фоне —
   светлая заливка #F2F4F6, как у тегов фильтра; на белом листе кейса — #E3E6E9. Значок #3D454E. Наведение прежнее. */
.local-redesign :is(.ic-b,.share-b),.local-redesign :is(.pg-num,.pg-arrow):not(:disabled):not(.on){background:#f2f4f6;color:#3d454e;}
.local-redesign .sheet :is(.ic-b,.share-b),.local-redesign :is(.wc,.sheet) :is(.pg-num,.pg-arrow):not(:disabled):not(.on){background:#e3e6e9;}
.local-redesign :is(.pg-num,.pg-arrow):hover:not(:disabled):not(.on){background:#fff;color:#252a30;}
.local-redesign :is(.ic-b,.share-b):hover{background:var(--red-ui);color:#fff;}

/* ── Под листом кейса (владелец, 13.09.2026, вечер-7) ─────────────────────────────────────
   «Ограничения акта»: по левой кромке текстовой колонки, без короткой линии сверху (линия была шириной
   1000 px по центру колонки 1312, а кнопка и перечень ниже — от левого края). Кнопка пилота — компонент
   сайта .btn-cta (как на /ru/pilot): прямые углы, без подчёркивания, --red-ui, наведение --red-hero,
   нажатие --graphite. «Смежные акты» — ряды ссылок .link-rows, как «По вопросу» на /ru/contacts. */
.local-redesign .case-wrap>.case-facts{max-width:var(--page-text-w);margin:40px 0 0;padding-top:0;border-top:0;}
.local-redesign .case-pilot-cta{margin:24px 0 0;}
.local-redesign .case-pilot-cta .btn-cta{display:inline-flex;align-items:center;justify-content:center;min-height:60px;padding:0 24px;background:var(--red-ui);color:#fff!important;font-size:17px;font-weight:700;line-height:1.5;letter-spacing:.012em;text-decoration:none!important;border:0;border-radius:0;box-shadow:none;filter:none;white-space:nowrap;}
.local-redesign .case-pilot-cta .btn-cta:is(:hover,:focus-visible){background:var(--red-hero);filter:none;}
.local-redesign .case-pilot-cta .btn-cta:active{background:var(--graphite);}
@media(max-width:640px){.local-redesign .case-pilot-cta .btn-cta{width:100%;white-space:normal;}}
.local-redesign .case-related .link-rows{max-width:var(--page-text-w);margin:12px 0 0;}
.local-redesign .case-related .link-rows a{display:grid;grid-template-columns:minmax(0,1fr) 1.25em;grid-template-areas:"t a" "d d";column-gap:8px;row-gap:4px;align-items:center;padding:16px 12px;margin:0 -12px;border:0;font-size:19px;font-weight:300;letter-spacing:var(--track-sub);color:var(--graphite);text-decoration:none!important;transition:background-color .2s;}
.local-redesign .case-related .link-rows a:nth-child(even){background:#f2f4f6;}
.local-redesign .case-related .link-rows a:is(:hover,:focus-visible){background:#fff;}
.local-redesign .case-related .link-rows a .lr-t{grid-area:t;}
.local-redesign .case-related .link-rows a .lr-d{grid-area:d;font-size:15px;font-weight:400;letter-spacing:0;line-height:1.5;color:#61686f;}
.local-redesign .case-related .link-rows a :is(.unified-link-arrow,.link-arrow){grid-area:a;width:1.1em;height:1.1em;}
.local-redesign .case-related .link-rows a:is(:hover,:focus-visible),.local-redesign .case-related .link-rows a:is(:hover,:focus-visible) .lr-d{color:var(--red-ui);}

/* ── Сноски (владелец, 14.09.2026: «по сноскам согласен») ─────────────────────────────────────
   Два вида. СНОСКА — 13,5 px, #61686F, без плашки и без линии; ярлык жирным --graphite («Ограничения акта:»),
   звёздочка — если сноска относится к числу или слову: .fn (пояснения под таблицами pages), .legacy, .note,
   .case-fact, .m-src, .lg-note. ПРИМЕЧАНИЕ НА ПЛАШКЕ — .reco, 14 px на #EDF0F2: только указание к действию. */
.local-redesign :is(.page,.case-wrap) :is(.fn,.legacy,.note,.case-fact,.m-src){background:transparent;padding:0;border:0;font-size:13.5px;line-height:1.6;color:#61686f;margin:14px 0;}
.local-redesign :is(.page,.case-wrap) :is(.fn,.legacy,.note,.case-fact) b{color:var(--graphite);font-weight:700;}
.local-redesign .page .lg-note{font-size:13.5px;line-height:1.6;color:#61686f;}

/* ── Строки-ссылки — каждая на своей плашке с интервалом 8 px (владелец, 14.09.2026) ──────────────
   Было: ряды через строку на фоне, как таблица. Везде, где стоит .link-rows: /ru/pilot «Подробнее»,
   /ru/contacts «По вопросу», «Смежные акты» листа кейса. Плашка #F2F4F6, наведение — белая. */
.local-redesign :is(.page,.case-related) .link-rows{display:grid;gap:8px;}
.local-redesign :is(.page,.case-related) .link-rows a,.local-redesign :is(.page,.case-related) .link-rows a:nth-child(even){background:#f2f4f6;margin:0;padding:16px 20px;}
.local-redesign :is(.page,.case-related) .link-rows a:is(:hover,:focus-visible){background:#fff;}

/* ── Две колонки: интервал 48 → 80 px (владелец, 14.09.2026); на ≤820 px — одна колонка, как прежде ── */
.local-redesign .page .two-col{column-gap:80px;}

/* ── Списки без зебры (владелец, 14.09.2026: «это же не таблица») — /ru/pilot «Допуск агрегата», «Дальнейший порядок» ── */
.local-redesign .page :is(.pl-check,.pl-next) li:nth-child(even){background:transparent;}

/* ── Шапка таблицы без заливки (владелец, 14.09.2026) ────────────────────────────────────────────
   Было: #DFE4E9 при фоне страницы #E4E7EA — другой цвет и слабый контраст. Стало, как таблица калькулятора
   титула: без заливки, капитель 12 px 700 --graphite-light, линия 2 px --graphite-light под шапкой. */
.local-redesign .c-tab th,.local-redesign .page .c-tab th{background:transparent;color:var(--graphite-light);border-bottom:2px solid var(--graphite-light);}

/* ── Счётчик каталога — 20 px от правого края колонки (владелец, 14.09.2026) ── */
.local-redesign .f-head .f-count{margin-right:20px;}

/* ── Строка отправки формы и вход в кабинет (владелец, 14.09.2026) ─────────────────────────────
   Пояснение «Ответ XADO…» — сноской справа от кнопки «Отправить заявку», по центру кнопки по вертикали;
   на ≤640 px — под кнопкой. Между подписью «Кабинет пилота — …» и кнопкой «Войти в кабинет» — 20 px. */
.local-redesign .page .pl-submit{display:flex;align-items:center;flex-wrap:wrap;gap:12px 28px;}
.local-redesign .page .pl-submit .pl-submit-note{margin:0;flex:1 1 320px;max-width:560px;}
@media(max-width:640px){.local-redesign .page .pl-submit .pl-submit-note{flex-basis:100%;}}
.local-redesign .page .cab-entry .btn-cta{margin-top:20px;}

/* ── Маркеры списков — квадраты (владелец, 14.09.2026: «проверь стиль у всех буллетов и поменяй на аналогичные») ──
   Замер до правки: маркер браузера (круг) у ul.m-list на /pilot, /technology, /limits, /about, /dealers, /legal, /evidence,
   страницах проблем и методик, цифры браузера у ol.m-steps (методики) и ol.steps (/test); квадраты — только «Допуск агрегата»
   и «Дальнейший порядок» /ru/pilot. Маркированный список — квадрат 8×8 --graphite-light, центр на середине первой строки
   (.5lh). Нумерованный — номер 14 px 700 белым в квадрате 28×28 --graphite-light, как «Дальнейший порядок». Без маркера
   остаются перечни .m-apps, .m-prods (методики), .rec-l (лист кейса), список .lg-note. */
.local-redesign .page ul.m-list:not(.m-apps,.m-prods){list-style:none;padding-left:0;}
.local-redesign .page ul.m-list:not(.m-apps,.m-prods)>li{position:relative;padding-left:24px;}
.local-redesign .page ul.m-list:not(.m-apps,.m-prods)>li::before{content:"";position:absolute;left:2px;top:calc(.5lh - 4px);width:8px;height:8px;background:var(--graphite-light);}
.local-redesign .page ol:is(.m-steps,.steps){list-style:none;padding-left:0;counter-reset:mstep;}
.local-redesign .page ol:is(.m-steps,.steps)>li{position:relative;padding-left:44px;min-height:28px;counter-increment:mstep;}
.local-redesign .page ol:is(.m-steps,.steps)>li::before{content:counter(mstep);position:absolute;left:0;top:-1px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--graphite-light);color:#fff;font-size:14px;font-weight:700;line-height:1;}

/* ── Интервал между пунктами нумерованных списков (владелец, 14.09.2026: «текст подпунктов слипается») ──
   Этапы методик (ol.m-steps, с подстрочником срока) — 20 px; порядок подготовки /test (ol.steps) — 12 px,
   чтобы квадраты номеров не соприкасались. */
.local-redesign .page ol.m-steps>li+li{margin-top:20px;}
.local-redesign .page ol.steps>li+li{margin-top:12px;}

/* ── Вложенные блоки на плашке (владелец, 14.09.2026) ─────────────────────────────────────────────
   «Такие блоки размещать на плашке, чтобы отделить от общего потока (плашка может быть слабоконтрастной)».
   Вложенный блок — подпись-вводка внутри раздела («Порядок подготовки:») + список + сноска к нему, если есть.
   Разметку .sub-block ставит bin/publish_site.py: test_page (/test, «Порядок подготовки:» + ol.steps + .legacy)
   и хаб проблем (/symptom/, «По каждому направлению представлены:» + ul.m-list), пять языков.
   Заливка #F8F9FA. Уже занятые ступени светлого на фоне #E4E7EA: #EDF0F2 — примечание .reco (стоит на тех же
   двух страницах, на хабе — сразу под блоком), #F2F4F6 — строки-ссылки, поля, теги; #FFFFFF — карточки и таблицы.
   Между фоном и .reco (#E9ECEF) плашка неотличима ни от фона, ни от .reco (ΔE 1,5–1,8); темнее фона (#DDE1E5)
   сноска #61686F теряет контраст 4,5:1 (4,30). #F8F9FA: к фону 1,16:1 (ΔE 6,5), к .reco ΔE 3,4, к строкам-ссылкам
   ΔE 1,9; текст #252A30 — 13,7:1, сноска — 5,36:1, квадраты #3D454E — 9,2:1.
   Без контуров и разделителей: группирует заливка; у сноски линии нет по правилу «Сноски».
   Поля 20/24 px, на ≤700 px — 16 px; ширина вместе с полями — не шире текстовой колонки (--page-text-w, 1000 px),
   на телефоне — вся колонка. Внутри: подпись → список 12 px, список → сноска 16 px. Снаружи 24 px (на ≤700 px — 20):
   с абзацем выше (16 px) и .reco ниже (16 px) интервал 24, с h2 ниже — прежние 56.
   Замер до (1440, /ru/test): абзац → подпись 16, подпись → список 16, список → сноска 18, сноска → h2 56 px, без заливки.
   Замер после (Edge, 63 страницы): 10 плашек (/test и /symptom/ × 5 языков). 1440 — 1000 px по левой кромке текста, #F8F9FA,
   поля 20/24, без рамки; абзац → плашка 24, плашка → .reco 24, → h2 56; подпись → список 12, список → сноска 16.
   390 — 350 px (вся колонка), поля 16, сверху и до .reco 20, до h2 56; горизонтальной прокрутки нет. */
.local-redesign .page .sub-block{box-sizing:border-box;max-width:var(--page-text-w);margin:24px 0;padding:20px 24px;background:#f8f9fa;border:0;}
.local-redesign .page .sub-block :is(p,ul,ol){max-width:none;}
.local-redesign .page .sub-block>*{margin-top:0;margin-bottom:0;}
.local-redesign .page .sub-block>*+:is(ul,ol){margin-top:12px;}
.local-redesign .page .sub-block>:is(ul,ol)+*{margin-top:16px;}
.local-redesign .page .sub-block>:is(ul,ol)>li:last-child{margin-bottom:0;}
@media(max-width:700px){.local-redesign .page .sub-block{margin:20px 0;padding:16px;}}

/* ── Подпись-вводка и подраздел на плашке (владелец, 14.09.2026, T5: «сделай везде жирным»; «Механика …» на плашку) ──
   Класс .sub-block-h ставит генератор на первый элемент плашки: подпись <p> («Порядок подготовки:» на /test,
   «По каждому направлению представлены:» на хабе /symptom/) или заголовок подраздела <h3> («Механика …» на страницах
   проблем; h3 сохраняется ради структуры документа). Вес 700 — ступень ярлыков системы: «Рекомендация:» в .reco,
   ярлык сноски, термины списка механики, h4, заголовки колонок .two-col, шапки таблиц. 500 — только подписи полей форм,
   600 и 800 не применяются. Кегль, интерлиньяж и разрядка — основного текста: h3 в плашке — подпись группы, а не
   заголовок раздела (19/300 у h3 в потоке). Подпись → список 12 px (правило выше). */
.local-redesign .page .sub-block>.sub-block-h{font-size:16px;font-weight:700;line-height:var(--lh-text);letter-spacing:normal;color:var(--graphite);margin:0;}
/* ── Подразделы в колонках .two-col на плашке (владелец, 14.09.2026, T5: «ставить на плашку») ──
   Колонка «h3 + список» сама стала плашкой: <div class="sub-block"> — прямой элемент сетки .two-col (разметка — pages/*_ru.html:
   /ru/about, /ru/dealers, /ru/limits, /ru/pilot, /ru/technology; на /ru/about и левая колонка «h3 + абзац» — владелец: «две
   плашки в ряду оставить»). Внешние поля плашки в сетке сняты — интервалы задаёт .two-col (80 px между колонками; на ≤820 px
   колонки одна под другой, 40 px между плашками — шкала интервалов); ширина — колонка. Заголовок — .sub-block-h 16/700, как
   «Механика …»; h3 → список 12 px.
   ВЫСОТА В РЯДУ (владелец, 14.09.2026). По умолчанию плашки тянутся на высоту ряда (растяжение сетки): нижние края совпадают,
   пара читается сравнением. Класс .two-col--natural у ряда — плашки по высоте содержания; ставится, когда высоты содержимого
   отличаются больше чем на треть высоты большей плашки на 1440 и 1024 px. Замер 14.09.2026 (1440 / 1024): /ru/dealers 11 / 20 %,
   /ru/limits 5 / 3 %, /ru/pilot 9 / 8 % — по ряду; /ru/technology 50 / 43 %, /ru/about 48 / 57 % — по содержанию.
   Сторож — local_redesign/check_sub_block_rows.py (нижние края, растяжение, порог); правило класса — check_sub_blocks в preflight.
   Условия сторон /ru/pilot (был .two-col.terms): красная линия 6 px и красный заголовок сняты, плашки как остальные
   (владелец, 14.09.2026). */
.local-redesign .page .two-col>.sub-block{margin:0;max-width:none;}
.local-redesign .page .two-col>.sub-block>.sub-block-h+:is(ul,ol){margin-top:12px;}
.local-redesign .page .two-col.two-col--natural>.sub-block{align-self:start;}

/* ── Таблицы: шапка отделена зазором 4 px, приглушённые шапка и полосы (владелец, 14.09.2026, T2) ─────────────
   «Не ставить разделитель шапки, а сделать отступ 4 px, чтобы шапка как бы оторвалась от таблицы; цвета шапки
   и второй строки сделать не такими контрастными». Было: линия 2 px --graphite-light под шапкой, текст шапки
   --graphite-light #3D454E (к белому 9,7:1), полоса #F2F4F6 (к белому ΔE 4,1). Стало: линии нет, между шапкой
   и первой строкой зазор 4 px, в нём фон под таблицей (у таблицы и обёртки заливки нет; зазор — прозрачная
   нижняя граница th последней строки шапки, заливка th обрезана по внутренней кромке); текст шапки
   --tab-head-ink #61686F (5,65:1), полоса --tab-zebra #F7F8F9 (ΔE 2,5). Фон шапки — одна переменная --tab-head-bg.
   Признак прокрутки на обёртке (.c-tw/.pl-tw, градиенты) снят: под непрозрачными ячейками он не был виден,
   а в прозрачном зазоре давал белые пятна по краям. Лист кейса (.case-wrap, не .page): слитные светлые линии
   ячеек #E7EBEF остаются, под шапкой вместо линии — тот же прозрачный зазор. Сторож: check_tables.py. */
.local-redesign{--tab-head-ink:#61686F;--tab-head-bg:#FFFFFF;--tab-zebra:#F7F8F9;--tab-head-gap:4px;}
.local-redesign .c-tab th,.local-redesign .page .c-tab th{color:var(--tab-head-ink);border-bottom:0;}
.local-redesign .c-tab thead tr:last-child th,.local-redesign .page .c-tab thead tr:last-child th{border-bottom:var(--tab-head-gap) solid transparent;}
.local-redesign .c-tab tbody tr:first-child>*{border-top:0;}
.local-redesign .c-tab.zebra tbody tr:nth-child(even){background:var(--tab-zebra);}
.local-redesign .page .c-tab{border-collapse:separate;border-spacing:0;background:transparent;}
.local-redesign .page :is(.c-tw,.pl-tw){background:none;}
.local-redesign .page .c-tab td{background:#fff;}
.local-redesign .page .c-tab th{background:var(--tab-head-bg);background-clip:padding-box;}
.local-redesign .page .c-tab tbody tr:nth-child(even) td{background:var(--tab-zebra);}
@media(max-width:640px){
 .local-redesign .page .c-tab[data-stacked] tbody tr:nth-child(odd){background:#fff;}
 .local-redesign .page .c-tab[data-stacked] tbody tr:nth-child(even){background:var(--tab-zebra);}
 .local-redesign .page .c-tab[data-stacked] tbody tr td{background:transparent;}
 .local-redesign .page .c-tab[data-stacked] td::before{color:var(--tab-head-ink);}
}
@media(min-width:641px) and (max-width:900px){
 .local-redesign .page .c-tab[data-stacked]:is([data-cols="5"],[data-cols="6"],[data-cols="7"]) tbody tr:nth-child(odd){background:#fff;}
 .local-redesign .page .c-tab[data-stacked]:is([data-cols="5"],[data-cols="6"],[data-cols="7"]) tbody tr:nth-child(even){background:var(--tab-zebra);}
 .local-redesign .page .c-tab[data-stacked]:is([data-cols="5"],[data-cols="6"],[data-cols="7"]) td::before{color:var(--tab-head-ink);}
}

/* ── Все столбцы таблиц — по левому краю, заголовки тоже (владелец, 14.09.2026, T2: «у всех таблиц выравнивание
   должно быть по левому краю») ── Было: числовые столбцы (класс num ставит генератор: год, изменение, проценты,
   номера методик на /ru/limits) — по правому краю. Цифры остаются моноширинными (tabular-nums) и без переноса.
   Сторож: check_tables.py — ячейка th или td с выравниванием right или center даёт отказ. */
.local-redesign .c-tab :is(th,td),.local-redesign .page .c-tab :is(th,td),.local-redesign .page .c-tab :is(th,td).num{text-align:left;}

/* ── Перечни номеров методик — через пробел, без запятых (владелец, 14.09.2026, T2) ──────────────────────────────
   Разметка: <span class="m-nums"> вокруг ссылок, между ними обычный пробел — номера переносятся по строкам; интервал
   увеличен word-spacing, чтобы подчёркивания соседних ссылок не сливались; внутри подписи ссылки интервал обычный. */
.local-redesign .m-nums{word-spacing:.3em;}
.local-redesign .m-nums a{word-spacing:normal;}

/* ── Хаб проблем /symptom/, «Кейсы по проблематике»: карточки в три колонки (владелец, 14.09.2026, T2) ──────────
   «Карточки небольшие — сделать в три колонки». Отбор по разметке, не по странице: сетка .tiles из карточек-ссылок
   на страницы проблем. Окно от 1000 px — три колонки (карточка от 296 px; на 1440 — 427, на 1024 — 309), 560–999 —
   две, уже 560 — одна; на 768 одна колонка давала карточку 704 px с пустой правой частью (снимки в отчёте T2).
   В ряду снимок, название, число кейсов и стрелка на одной высоте: карточка — подсетка из трёх строк общей сетки
   (снимок · название · число), обёртки .m-top и её внутренний div раскладку не держат (display:contents). */
.local-redesign .page .tiles:has(>a.m-tile[href*="symptom/"]){grid-template-columns:repeat(3,minmax(0,1fr));}
.local-redesign .page .tiles:has(>a.m-tile[href*="symptom/"])>a.m-tile{display:grid;grid-row:span 3;grid-template-rows:subgrid;row-gap:0;align-content:start;}
.local-redesign .page .tiles:has(>a.m-tile[href*="symptom/"])>a.m-tile :is(.m-top,.m-top>div:not(.m-img)){display:contents;}
.local-redesign .page .tiles:has(>a.m-tile[href*="symptom/"])>a.m-tile .m-img{margin:18px 0 14px;}
.local-redesign .page .tiles:has(>a.m-tile[href*="symptom/"])>a.m-tile .wc-org{margin:0 0 8px;}
@media(max-width:999px){.local-redesign .page .tiles:has(>a.m-tile[href*="symptom/"]){grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:559px){.local-redesign .page .tiles:has(>a.m-tile[href*="symptom/"]){grid-template-columns:minmax(0,1fr);}}

/* ── Списки ссылок в две колонки (владелец, 14.09.2026, T2: «балеты переверстал бы в две колонки») ──────────────
   Нумерованный список, каждый пункт которого — ссылка с подписью (ol.m-steps): «Что показали акты по этим узлам»
   и «Акты по этому узлу» на методиках, «Где уже обрабатывали …» на страницах машин. От 4 пунктов и шире 820 px —
   две колонки в текстовой колонке 1000 px, зазор 80 px (как .two-col); в левой колонке ceil(n/2) пунктов, порядок
   чтения по колонкам, номера — по порядку разметки. 820 px и уже — одна колонка, как прежде. Сторож: check_tables.py. */
@media(min-width:821px){
 .local-redesign .page ol.m-steps:has(>li>.m-step>a):has(>li:nth-child(4)){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:column;grid-template-rows:repeat(2,auto);column-gap:80px;row-gap:20px;max-width:var(--page-text-w);align-items:start;}
 .local-redesign .page ol.m-steps:has(>li>.m-step>a):has(>li:nth-child(5)){grid-template-rows:repeat(3,auto);}
 .local-redesign .page ol.m-steps:has(>li>.m-step>a):has(>li:nth-child(7)){grid-template-rows:repeat(4,auto);}
 .local-redesign .page ol.m-steps:has(>li>.m-step>a):has(>li:nth-child(9)){grid-template-rows:repeat(5,auto);}
 .local-redesign .page ol.m-steps:has(>li>.m-step>a):has(>li:nth-child(11)){grid-template-rows:repeat(6,auto);}
 .local-redesign .page ol.m-steps:has(>li>.m-step>a):has(>li:nth-child(13)){grid-template-rows:repeat(7,auto);}
 .local-redesign .page ol.m-steps:has(>li>.m-step>a):has(>li:nth-child(4))>li{margin:0;}
}

/* ── Ритм: шкала интервалов (владелец, 14.09.2026: «по всему сайту проверь интервалы между смысловыми блоками и заголовками, если необходимо унифицируй и исправь») ──
   Шкала (DESIGN_RULES «Интервалы»): раздел 56 · подраздел 40 · заголовок → содержимое 16 · абзац 16 · пункты списка 14 ·
   пункты с подстрочником 20 · плашка 24 (≤700 px — 20; правило «Вложенные блоки на плашке»).
   Замер до (Edge, 1440 и 390, 23 страницы): ссылка-итог → следующий h3 24 px при h3 → таблица 16 (/test: блок сливался
   со следующим), h3 → абзац или список 8/12/16, h2 → список 14, h2 → h3 24, таблица → ссылка-итог 26, колонки → ссылка-итог 8,
   карточки → ссылка-итог 10 и 20, список → абзац 18, пункты ul.m-list 6 px при строке 25,6 (0,23 строки), ol.steps 12.
   Причина /test: app.css задавал .page .i-all + h3 {margin-top:46px}, правило темы .page h3 {margin:24px 0 8px} той же
   специфичности стоит позже и перебивало его. Действует только в main.page; лист кейса, каталог, титул, плашки .sub-block,
   карточки .wc/.role-card, тёмный герой проблем и зелёный блок .pilot не затрагиваются.
   Сторож — local_redesign/check_rhythm.py. */
:root{--space-section:56px;--space-block:40px;--space-head:16px;--space-p:16px;--space-li:14px;--space-li-sub:20px;--space-plate:24px;}
/* 1. Заголовок раздела и подраздела → первое содержимое: 16 px (поле заголовка; поле соседа снизу обнулено). */
.local-redesign main.page :is(h2:not(.wc-org),h3):where(:not(.sub-block *,.wc *,.role-card *,.tile *,.pilot *,.local-symptom-hero *,.m-hero *,.sheet *)){margin-bottom:var(--space-head);}
.local-redesign main.page :is(h2:not(.wc-org),h3):where(:not(.sub-block *,.wc *,.role-card *,.tile *,.pilot *,.local-symptom-hero *,.m-hero *,.sheet *))+*{margin-top:0;}
/* 2. Заголовок блока h3 внутри раздела — 40 px, и после текста, и после блока, закрытого ссылкой-итогом («71 кейс в каталоге по узлам …»):
   раздел (56) читается уровнем выше блока (владелец, 14.09.2026: «следуем рекомендации»). Правило перебивает app.css .page .i-all + h3 {margin-top:46px}. */
.local-redesign main.page h3:where(:not(.sub-block *,.wc *,.role-card *,.tile *,.pilot *,.local-symptom-hero *,.m-hero *,.sheet *,.two-col *)){margin-top:var(--space-block);}
/* 3. Абзац, список, таблица, колонки, карточки → следующий абзац, сноска или ссылка-итог: 16 px. */
.local-redesign main.page :is(.c-tw,.pl-tw,ul.m-list,ol.m-steps,ol.steps,.two-col,.tiles,.role-cards,.m-grid,.cards):where(:not(.sub-block *,.wc *,.role-card *,.lg-note *)){margin-bottom:var(--space-p);}
.local-redesign main.page :is(.i-all,.m-instr){margin-top:var(--space-p);}
.local-redesign main.page :is(.i-all,.page-lead)+:is(.m-src,.lg-note){margin-top:var(--space-p);}   /* ссылка-итог «Все 129 в каталоге →» → сноска: было 14 и 22 */
/* Колонки .two-col на ≤820 px встают друг под другом: колонка, начатая заголовком, — подраздел, 24 + 16 = 40 px (было 24 при заголовок → содержимое 16). */
@media(max-width:820px){.local-redesign main.page .two-col>*+*:has(>:is(h3,h4):first-child){margin-top:calc(var(--space-block) - 24px);}}
/* 4. Пункты списков: 14 px между пунктами (больше половины строки 25,6 px); этапы методик с подстрочником срока (ol.m-steps) — 20.
   Перечни-карточки ul.m-apps и ul.m-prods (/methods, методики) — строки с собственными полями, текст отстоит на 34 px; не меняются. */
.local-redesign main.page :is(ul.m-list,ol.steps):not(.m-apps,.m-prods)>li{margin-bottom:0;}
.local-redesign main.page :is(ul.m-list,ol.steps):not(.m-apps,.m-prods)>li+li{margin-top:var(--space-li);}
.local-redesign main.page ol.m-steps>li{margin-bottom:0;}
.local-redesign main.page ol.m-steps>li+li{margin-top:var(--space-li-sub);}
/* 5. Лист кейса — по той же шкале (владелец, 14.09.2026: «да»). Замер до (пять языков, 1440 и 390 одинаково): абзац, таблица, панель → h2 38,
   h2 → таблица, HERO, вывод 18, HERO → таблица 26, таблица → абзац 18, подпись → панель 26, вывод → «Современный аналог» 26, «Смежные акты»: кнопка → h2 38,
   h2 → строки 18. Стало: → h2 56, h2 → содержимое 16, HERO, таблица, абзац → следующий блок 16, панель и вывод (плашки) ↔ соседи 24 (≤700 px — 20).
   Только верхние и нижние поля: колонка листа (.sheet > * {max-width; margin-left/right:auto}) и центрирование HERO не меняются. Шапка листа
   (надзаголовок, заголовок, лид, реквизиты), «Ограничения акта» (40) и кнопка пилота (24) — прежние. */
.local-redesign .case-wrap .sheet .sh-h{margin-top:var(--space-section);margin-bottom:var(--space-head);}
.local-redesign .case-wrap .sheet .sh-h+*{margin-top:0;}
.local-redesign .case-wrap .sheet :is(.sh-metrics,.c-tw,.sh-p){margin-bottom:var(--space-p);}
.local-redesign .case-wrap .sheet :is(.sh-meta2,.sh-panel,.sh-concl){margin-bottom:var(--space-plate);}
.local-redesign .case-wrap .sheet .sh-concl+.rec{margin-top:var(--space-plate);}
.local-redesign .case-wrap>.case-related{margin-top:var(--space-section);}
.local-redesign .case-wrap>.case-related>h2{margin-top:0;margin-bottom:var(--space-head);}
.local-redesign .case-wrap>.case-related>h2+*{margin-top:0;}
@media(max-width:700px){.local-redesign .case-wrap .sheet :is(.sh-meta2,.sh-panel,.sh-concl){margin-bottom:20px;}.local-redesign .case-wrap .sheet .sh-concl+.rec{margin-top:20px;}}
/* ── Ритм: конец ── */

/* ── T2, второй круг (владелец, 14.09.2026): маркированные перечни из одних ссылок — в две колонки ──────────────────
   ul.m-list.m-links (класс ставит генератор: «На это приложение ссылаются» на приложениях) — как ol.m-steps выше:
   от 4 пунктов шире 820 px две колонки в текстовой колонке 1000 px, зазор 80 px, в левой ceil(n/2) пунктов, чтение
   по колонкам, интервал пунктов прежний --space-li. 820 px и уже — одна колонка. Сторож: check_tables.py. */
@media(min-width:821px){
 .local-redesign .page ul.m-list.m-links:has(>li:nth-child(4)){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:column;grid-template-rows:repeat(2,auto);column-gap:80px;row-gap:var(--space-li,14px);max-width:var(--page-text-w);align-items:start;}
 .local-redesign .page ul.m-list.m-links:has(>li:nth-child(5)){grid-template-rows:repeat(3,auto);}
 .local-redesign .page ul.m-list.m-links:has(>li:nth-child(7)){grid-template-rows:repeat(4,auto);}
 .local-redesign .page ul.m-list.m-links:has(>li:nth-child(9)){grid-template-rows:repeat(5,auto);}
 .local-redesign .page ul.m-list.m-links:has(>li:nth-child(11)){grid-template-rows:repeat(6,auto);}
 .local-redesign .page ul.m-list.m-links:has(>li:nth-child(13)){grid-template-rows:repeat(7,auto);}
 .local-redesign .page ul.m-list.m-links:has(>li:nth-child(15)){grid-template-rows:repeat(8,auto);}
 .local-redesign .page ul.m-list.m-links:has(>li:nth-child(4))>li{margin:0;}
}

/* ── T2, второй круг (владелец, 14.09.2026): признак прокрутки широких таблиц ─────────────────────────────────────
   Пока таблицу можно докрутить вправо, у правого края обёртки — затемнение; докручена до конца — гаснет. Текста нет.
   Полупрозрачный графит поверх ячеек — виден на любом фоне под таблицей. Класс tw-more и сдвиг --tw-x (равен прокрутке:
   держит затемнение у видимого края) ставит shared-shell.js. tabindex обёртки не трогается. Сторож: check_tables.py. */
.local-redesign :is(.c-tw,.pl-tw){position:relative;}
.local-redesign :is(.c-tw,.pl-tw)::after{content:"";position:absolute;top:0;right:0;bottom:0;width:32px;pointer-events:none;background:linear-gradient(to left,rgba(27,30,35,.22),rgba(27,30,35,0));opacity:0;transform:translateX(var(--tw-x,0px));transition:opacity .2s ease;}
.local-redesign :is(.c-tw,.pl-tw).tw-more::after{opacity:1;}

/* ── Страница проблемы: первый экран (владелец, 14.09.2026, T11 — вариант A из T10) ──────────────────────────────────────
   Разметка — bin/publish_site.py problem_page: section.local-symptom-hero > .sym-text (h1, лид одним предложением) · .sym-nums
   (ячейки .m-cell: кейсов, с прямым замером, диапазон .sym-range, медиана; у проблемы без диапазона — две) · .sym-actions
   (кнопка .btn-cta «Кейсы в каталоге», ссылка .a-go на /pilot) · .sym-visual (сцена .sym-scene: статичный кадр слоёв карточки
   титула или временный снимок .sym-temp; источник — assets/scene/scenes.json). Тёмная панель и микротекстура — прежнего героя
   проблем. Значения 900 белые, стрелка и единица --red-hero, подпись ниже; разделители — линии ячеек. 1440: текст, числа 2×2 и
   действия слева, сцена справа 46 %; ≤700: текст, диапазон своей строкой, три числа в ряд, кнопка во всю ширину, сцена ниже.
   Сторож — bin/preflight.py check_symptom_hero; числа пяти языков — shared_shell.py --check (check_symptom_langs). */
.local-redesign .page .local-symptom-hero{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,46%);grid-template-areas:"txt vis" "num vis" "act vis";grid-template-rows:auto auto 1fr;align-items:start;column-gap:48px;margin:24px 0 44px;padding:48px;background:#252a30;color:#f2f3f4;background-image:repeating-linear-gradient(45deg,transparent 0 2.25px,rgba(3,9,21,.09) 2.25px 3px),repeating-linear-gradient(-45deg,transparent 0 2.25px,rgba(237,243,255,.025) 2.25px 3px);background-size:4.5px 4.5px;}
.local-redesign .page .local-symptom-hero .sym-text{grid-area:txt;min-width:0;}
.local-redesign .page .local-symptom-hero h1{margin:0!important;color:#f2f3f4;}
.local-redesign .page .local-symptom-hero .sym-lead{margin:16px 0 0;max-width:640px;font-size:17px;line-height:var(--lh-text);color:#c3c7cc;}
.local-redesign .page .local-symptom-hero .sym-nums{grid-area:num;min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:24px;}
.local-redesign .page .local-symptom-hero .sym-nums .m-cell{min-width:0;padding:16px 20px;border:0;border-left:1px solid #ffffff24;}
.local-redesign .page .local-symptom-hero .sym-nums .m-cell:nth-child(2n+1){border-left:0;padding-left:0;}
.local-redesign .page .local-symptom-hero .sym-nums .m-cell:nth-child(n+3){border-top:1px solid #ffffff24;}
.local-redesign .page .local-symptom-hero .m-val{font-size:clamp(30px,3.1vw,44px);line-height:1.1;font-weight:900;letter-spacing:var(--track-num);white-space:nowrap;font-variant-numeric:tabular-nums;color:#f2f3f4;}
.local-redesign .page .local-symptom-hero .m-ar{color:var(--red-hero);font-size:1em;font-weight:900;line-height:inherit;vertical-align:baseline;margin-right:.06em;}
.local-redesign .page .local-symptom-hero .m-un{font-size:.5em;font-weight:500;letter-spacing:var(--track-unit);margin-left:.14em;color:var(--red-hero);}
.local-redesign .page .local-symptom-hero .m-lab{margin-top:8px;max-width:none;font-size:14.5px;line-height:1.5;color:#c3c7cc;}
.local-redesign .page .local-symptom-hero .sym-actions{grid-area:act;display:flex;flex-wrap:wrap;align-items:center;gap:12px 28px;margin-top:28px;}
.local-redesign .page .local-symptom-hero .btn-cta{width:auto;}
.local-redesign .page .local-symptom-hero .a-go{display:inline-block;padding:6px 0;color:#e9e8de;font-weight:500;font-size:inherit;text-decoration:none!important;}
.local-redesign .page .local-symptom-hero .a-go:is(:hover,:focus-visible){color:var(--red-light);}
.local-redesign .page .local-symptom-hero .sym-visual{grid-area:vis;align-self:center;min-width:0;}
/* Сцена: слои стоят как в покое карточки титула, анимаций нет (DESIGN_RULES «Составные сцены из нескольких слоёв»). */
.local-redesign .sym-scene{position:relative;display:block;aspect-ratio:4/3;isolation:isolate;overflow:hidden;}
.local-redesign .sym-scene::before{content:"";position:absolute;inset:0;background:url("scene/octo-card-15-full.svg") 17% 14%/58.5% auto no-repeat;opacity:.10;z-index:0;pointer-events:none;}
.local-redesign .sym-scene::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(ellipse 31% 25% at 43% 24%,rgba(0,0,0,.40) 0%,rgba(0,0,0,.22) 38%,rgba(0,0,0,.07) 70%,rgba(0,0,0,0) 100%),radial-gradient(ellipse 30% 22% at 64% 76%,rgba(215,223,232,.12) 0%,rgba(215,223,232,.065) 38%,rgba(215,223,232,.018) 70%,rgba(215,223,232,0) 100%);}
.local-redesign .sym-scene img.sym-l{position:absolute;display:block;height:auto;max-width:none;z-index:1;}
.local-redesign .sym-scene img.sym-instrument{z-index:2;}
.local-redesign .sym-scene .sym-lcd{position:absolute;z-index:3;pointer-events:none;}
.local-redesign .sym-scene .sym-lcd svg{position:absolute;display:block;overflow:visible;transform:translateX(-1.5px) rotate(7deg) skewX(-9.5deg);transform-origin:50% 50%;}
.local-redesign .sym-scene .sym-lcd .seg{fill:#262c2f;opacity:.04;}
.local-redesign .sym-scene .sym-lcd .seg.on{opacity:.82;}
.local-redesign .sym-scene .sym-lcd[data-layer="power-part2"] svg{transform:rotate(9deg) skewX(-10deg);}
.local-redesign .sym-scene .sym-lcd[data-layer="power-part2"] .seg{fill:#183846;}
.local-redesign .sym-scene .sym-lcd[data-layer="compression-part2"] svg{transform:skewX(-5deg);}
.local-redesign .sym-scene .sym-lcd[data-layer="compression-part2"] .seg{fill:#18347c;opacity:.06;}
.local-redesign .sym-scene .sym-lcd[data-layer="compression-part2"] .seg.on{opacity:.95;}
.local-redesign .sym-scene .sym-needle{position:absolute;z-index:3;pointer-events:none;}
.local-redesign .sym-scene .sym-needle i{position:absolute;left:var(--px);top:calc(var(--py) - var(--nw) / 2);width:var(--len);height:var(--nw);transform-origin:0 50%;rotate:var(--a0);background:linear-gradient(180deg,#d9484a,#b8282c 55%,#8f1c20);clip-path:polygon(0 8%,100% 36%,100% 64%,0 92%);}
.local-redesign .sym-scene .sym-needle .sym-hub{position:absolute;left:calc(var(--px) - var(--hubw) / 2);top:calc(var(--py) - var(--hubh) / 2);width:var(--hubw);height:var(--hubh);border-radius:50%;background:radial-gradient(circle at 45% 40%,#d64a49 0%,#c13032 60%,#a52629 100%);}
/* ВРЕМЕННО (T11): проблема без рисунка в стиле титула — снимок узла в той же рамке 4:3; замена — строка в assets/scene/scenes.json. */
.local-redesign .sym-scene.sym-temp img{position:absolute;left:12%;top:10%;width:76%;height:80%;object-fit:contain;z-index:1;max-width:none;}
@media(max-width:1200px){.local-redesign .page .local-symptom-hero{padding:40px 36px;column-gap:36px;}}
@media(max-width:700px){
 .local-redesign .page .local-symptom-hero{grid-template-columns:minmax(0,1fr);grid-template-areas:"txt" "num" "act" "vis";grid-template-rows:none;column-gap:0;padding:24px 16px 28px;margin:20px 0 32px;}
 .local-redesign .page .local-symptom-hero .sym-lead{font-size:15px;margin-top:12px;}
 .local-redesign .page .local-symptom-hero .sym-nums{margin-top:16px;}
 .local-redesign .page .local-symptom-hero .sym-nums[data-n="4"]{grid-template-columns:repeat(3,minmax(0,1fr));}
 .local-redesign .page .local-symptom-hero .sym-nums .m-cell:nth-child(n){padding:12px 8px 10px 12px;border-top:0;border-left:1px solid #ffffff24;}
 .local-redesign .page .local-symptom-hero .sym-nums .m-cell:first-child{border-left:0;padding-left:0;}
 .local-redesign .page .local-symptom-hero .sym-nums .m-cell.sym-range:nth-child(n){grid-column:1/-1;order:-1;border-left:0;padding-left:0;padding-top:4px;}
 .local-redesign .page .local-symptom-hero .sym-nums[data-n="4"] .m-cell:not(.sym-range):nth-child(n){border-top:1px solid #ffffff24;}
 .local-redesign .page .local-symptom-hero .m-val{font-size:28px;}
 .local-redesign .page .local-symptom-hero .sym-range .m-val{font-size:34px;}
 .local-redesign .page .local-symptom-hero .m-lab{font-size:13.5px;margin-top:4px;}
 .local-redesign .page .local-symptom-hero .sym-actions{margin-top:20px;}
 .local-redesign .page .local-symptom-hero .btn-cta{width:100%;}
 .local-redesign .page .local-symptom-hero .sym-visual{margin-top:20px;}
}

/* ── Страница проблемы: «Методики обработки узлов», карточки — вариант C (владелец, 14.09.2026, T11) ─────────────────────
   Карточка — ссылка на методику: шильдик «Методика N» (как .role-num сценариев: 12 px 700 прописные, белый на --red-ui, поля
   4×10×3, прямые углы), название 19/300 со стрелкой у последней строки (link-style.js: result-stat у ссылки, result-source у
   названия; display:block — стрелка идёт за последним словом, а не к правому краю ячейки), узлы чипами .wc-tag.unit (13 px, 3×12,
   скругление 4 px, #EDEFF0 / #293135, без рамки), над чипами линия 2 px --graphite-light. Строки «Кейсы по дефекту» и подписи
   «Обрабатываемые узлы» нет. Ряд выровнен subgrid на 3 строки: шильдик, название, чипы — на одной высоте. 3 колонки, ≤999 px — 2,
   ≤700 px — 1. «Все методики →» — ссылка-итог под рядом. Сторож — bin/preflight.py check_symptom_hero (в карточке нет чисел). */
.local-redesign .page .sym-mcards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;}
.local-redesign .page .sym-mcard{display:grid;grid-row:span 3;grid-template-rows:subgrid;row-gap:0;align-content:start;background:#fff;padding:24px;color:var(--graphite);text-decoration:none!important;}
.local-redesign .page .sym-mser{justify-self:start;align-self:start;font-size:12px;font-weight:700;line-height:1.4;text-transform:uppercase;letter-spacing:var(--track-chip);color:#fff;background:var(--red-ui);padding:4px 10px 3px;}
.local-redesign .page .sym-mh{display:block;justify-self:start;align-self:start;margin-top:16px;font-size:19px;font-weight:300;line-height:1.35;letter-spacing:var(--track-sub);}
.local-redesign .page .sym-mchips{display:flex;flex-wrap:wrap;align-content:flex-start;gap:8px;margin-top:16px;padding-top:16px;border-top:2px solid var(--graphite-light);}
.local-redesign .page .sym-mcard .wc-tag.unit,.local-redesign .page .sym-mcard .wc-tag.unit:hover{background:#edeff0;color:#293135;cursor:inherit;}
/* Интервалы по шкале (check_rhythm.py, 14.09.2026): карточки → ссылка-итог 16 (было 10); ссылка-итог «Все N кейсов в каталоге» →
   сноска типов документов 16 (было 18: нижнее поле ссылки-итога 18 перекрывало верхнее поле сноски). */
.local-redesign main.page .sym-mcards{margin-bottom:var(--space-p);}
.local-redesign main.page .local-symptom-hero~.m-cases:has(+.fn){margin-bottom:0;}
.local-redesign main.page .local-symptom-hero~.m-cases+.fn{margin-top:var(--space-p);}
@media(max-width:999px){.local-redesign .page .sym-mcards{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:700px){.local-redesign .page .sym-mcards{grid-template-columns:minmax(0,1fr);gap:16px;}.local-redesign .page .sym-mcard{padding:20px 16px;}}

/* ── Б8 (F2, 14.09.2026): длинные слова в заголовках и плитках не выходят за экран ─────────────────────────────────────────
   Немецкие составные слова («Schwingungsüberwachungssystem», «Koordinatenbohrmaschinen») в h2.sh-h 28 px и h1 27 px давали
   документ 405–525 px на 390 и 18 страниц из 77 на 360. overflow-wrap:anywhere рвёт слово, только если оно не помещается в
   строку целиком, и снижает минимальную ширину во флексе и сетке; перенос по слогам — там, где у браузера есть словарь языка
   страницы, и только у слов от 14 букв. Сторож — обход немецких страниц на 360 и 390 (отчёт F2). */
.local-redesign :is(h1,h2,h3,h4,.sh-title,.sh-h,.lr-t,.wc-org,.sym-mh,.pilot-h){overflow-wrap:anywhere;}
.local-redesign:lang(de) :is(h1,h2,h3,h4,.sh-title,.sh-h,.lr-t,.wc-org,.sym-mh){-webkit-hyphens:auto;hyphens:auto;hyphenate-limit-chars:14 6 6;}

/* ── Б5 (F2, 14.09.2026): печать листа кейса и страниц сайта — без меню, подвала, кнопок и «поделиться» ───────────────────── */
@media print{
 .skip-link,.shared-header,.original-footer,.share,.case-pilot-cta,.case-related,.crumb,.lead-actions,.btn-cta,.tw-more::after{display:none!important;}
 html,body,body.local-redesign{background:#fff!important;}
 .local-redesign main.page,.local-redesign main.case-wrap{width:auto!important;max-width:none!important;margin:0!important;padding:0!important;}
 .local-redesign main::before,.local-redesign main::after{display:none!important;}
 .local-redesign .sheet{box-shadow:none!important;margin:0!important;padding:0!important;}
 .local-redesign a{color:inherit!important;text-decoration:none!important;}
 .local-redesign .c-tw{overflow:visible!important;}
 .local-redesign :is(h2,h3,.sh-h){break-after:avoid;}
 .local-redesign :is(.sh-metrics,.sh-panel,tr,.case-fact){break-inside:avoid;}
}

/* Кнопка каталога в карточке продукта — БЕЗ КАПСА (владелец 16.09.2026: «кнопка нечитаемая, все написано капсом»). Капс задан общим правилом .wc-btns a и хорош для коротких подписей; здесь строка длинная, и капс со слежением делал её нечитаемой. Правило точечное: 238 кнопок каталога не трогаем. */
.local-redesign .page .wc.prod .wc-btns a{text-transform:none!important;letter-spacing:0!important;font-size:14px!important;}
