@font-face{font-family:Onest;src:url(/fonts/Onest-wght.ttf) format("truetype");font-weight:100 900;font-display:swap}
:root{--y:#FFD43B;--k:#16181B;--p:#F6F5F2;--f:#FF4F1F;--fd:#D93A0B;--n:#2F5BEA;--v:#14744B;--g:#6B6E73;--line:#E4E2DC;--k2:#2F3237;--svet:#D3D1C7}
*{box-sizing:border-box}
body{margin:0;background:var(--p);color:var(--k);font:16px/1.6 Onest,'Golos Text',system-ui,sans-serif;-webkit-text-size-adjust:100%}
.w{max-width:1120px;margin:0 auto;padding:0 24px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
img{max-width:100%;height:auto}

/* стиль тестовой главной: угольный первый экран, сигнальная лента, пунктир зоны */
.zebra{height:16px;background:repeating-linear-gradient(-45deg,var(--k) 0 12px,var(--y) 12px 24px)}
.hero{background:var(--k);color:var(--p);padding:22px 0 0;overflow:hidden}
.logo{display:inline-block;margin-left:-2px;line-height:0}
.logo img{display:block}
.hero-verh{display:flex;align-items:center;justify-content:space-between;gap:12px 24px;flex-wrap:wrap}
/* первый экран по центральной оси: заголовок, помощник, внизу — группа на сигнальной ленте */
.hero-centr{max-width:860px;margin:0 auto;text-align:center}
.hero h1{font:900 clamp(34px,5vw,58px)/1.04 Onest,system-ui,sans-serif;letter-spacing:-1.5px;margin:56px auto 18px;max-width:860px;text-wrap:balance}
.hero h1 em{font-style:normal;background:var(--y);color:var(--k);padding:0 8px;border-radius:6px;display:inline-block;transform:rotate(-1.5deg)}
.lead{font-size:19px;max-width:600px;margin:0 auto 26px;color:var(--svet);text-wrap:balance}
.hero-ill{display:block;width:min(960px,100%);height:auto;margin:12px auto 0}
.hero .pom{display:flex;flex-direction:column;align-items:center;text-align:left;margin:0}
.hero .ask{width:100%;max-width:720px;border-color:var(--p);background:var(--p)}
.hero .primery{justify-content:center;margin:0 0 8px}
.hero .btn,.btn-y{background:var(--y);color:var(--k);font-weight:800}
.hero .chip{background:transparent;border:1.5px dashed var(--g);color:var(--p);border-radius:999px}
.hero .chip:hover{border-color:var(--y);color:var(--y);background:transparent}
/* разговор — в своей панели со своей прокруткой: страница не растёт, поле ввода под панелью */
.hero .lenta{order:-1;position:relative;width:100%;max-height:min(62vh,600px);overflow-y:auto;overscroll-behavior:contain;background:var(--k2);border-radius:22px;padding:4px 18px 2px;margin:0 0 16px;scrollbar-width:thin;scrollbar-color:var(--g) transparent}
.hero .lenta .repl.q{margin-top:18px}
.hero .lenta .repl.a{margin-bottom:14px}
.hero .pom:has(.lenta:not(:empty)) .primery{display:none}
.hero .repl.q{color:var(--p)}
.hero .repl.a{color:var(--k)}
.hero .ssylka{color:var(--svet);margin-bottom:8px}
.nw{white-space:nowrap}

.btn{display:inline-block;background:var(--k);color:var(--y);padding:12px 22px;border-radius:999px;font-family:inherit;font-weight:700;font-size:16px;line-height:1.2;border:0;cursor:pointer;text-decoration:none;white-space:nowrap}
.btn:disabled{opacity:.6;cursor:wait}
.btn-y{border-radius:12px;box-shadow:0 4px 0 #C9A21A}
.btn-y:active{transform:translateY(3px);box-shadow:0 1px 0 #C9A21A}
.btn2{display:inline-block;border:2px solid var(--k);color:var(--k);padding:10px 18px;border-radius:999px;font-weight:700;text-decoration:none;line-height:1.25;background:transparent}
.btn2:hover{background:var(--k);color:var(--y)}
.ask{display:flex;align-items:center;gap:8px;background:#fff;border:2px solid var(--k);border-radius:999px;padding:6px 6px 6px 20px;max-width:640px;margin:0 0 16px}
.ask input{flex:1;min-width:0;border:0;outline:0;font:inherit;font-size:17px;background:transparent;color:var(--k);padding:6px 0}
.ask input::placeholder{color:var(--g)}
.ask:focus-within{box-shadow:0 0 0 3px rgba(255,212,59,.45)}
.primery{display:flex;flex-wrap:wrap;gap:8px;max-width:760px;margin:0 0 24px}
.chip{font:inherit;font-size:14px;line-height:1.3;text-align:left;background:#fff;border:1.5px dashed var(--k);color:var(--k);border-radius:14px;padding:6px 12px;cursor:pointer}
.chip:hover{border-style:solid}
.acts{display:flex;flex-wrap:wrap;gap:8px}
h2{font:900 clamp(26px,4vw,38px)/1.08 Onest,system-ui,sans-serif;letter-spacing:-.8px;margin:56px 0 16px}
.cap{font-size:14px;color:var(--g);margin:0 0 16px}
main{padding-bottom:72px}

/* ответы помощника */
.razgovor{margin-top:8px}
.repl{background:#fff;border-radius:16px;padding:20px 24px;margin:0 0 16px;border:2px solid transparent}
.repl.q{background:transparent;padding:0 4px;margin:24px 0 8px;font-weight:600;font-size:18px}
.repl.a.zhdu{color:var(--g)}
.tekst{white-space:pre-line}
.tekst sup a{color:var(--n);text-decoration:none;font-family:'JetBrains Mono',ui-monospace,monospace;font-size:12px;padding:0 2px}
.pill{display:inline-block;padding:2px 10px;border-radius:999px;font-size:13px;background:#EEE;color:var(--g);margin-bottom:8px}
.ist{margin:16px 0 0;padding:12px 0 0;border-top:1px solid var(--line);font-size:14px}
.ist b{display:block;font-size:13px;color:var(--g);font-weight:600;margin-bottom:4px}
.ist ol{margin:0;padding-left:0;list-style:none}
.ist li{margin:2px 0;display:flex;gap:8px}
.ist .num{font-family:'JetBrains Mono',ui-monospace,monospace;color:var(--n);min-width:22px}
.ist a{color:var(--n)}
.dalshe{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.dalshe .btn2{font-size:14px;padding:8px 14px}
.ogovorka{margin-top:14px;font-size:13px;color:var(--g);border-left:3px solid var(--y);padding-left:10px}
.ask-mal{margin-top:8px}
.ssylka{background:none;border:0;padding:0;color:var(--g);font:inherit;font-size:14px;text-decoration:underline;cursor:pointer}
.spisok{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.spisok a{display:block;background:#fff;border-radius:14px;padding:14px 16px;color:var(--k);text-decoration:none;border:2.5px dashed transparent;font-weight:600;line-height:1.3}
.spisok a:hover{border-color:var(--k)}
.spisok a::after{content:"\00a0↗";color:var(--g);font-weight:400}
.o-proekte p{max-width:680px}

/* шапка внутренних страниц — угольная, как на тестовой главной */
.shapka{background:var(--k);color:var(--p)}
.shapka-ryad{display:flex;align-items:center;gap:22px;padding-top:14px;padding-bottom:10px}
.logo-mal{flex:none;margin-left:-2px;line-height:0}
.logo-mal img{display:block}
.ask-shapka{flex:1;margin:0;max-width:520px;padding:4px 4px 4px 16px;border-color:var(--p);background:var(--p)}
.ask-shapka input{font-size:15px;padding:4px 0}
.ask-shapka .btn{padding:9px 16px;font-size:15px;background:var(--y);color:var(--k)}
.menu{display:flex;flex-wrap:wrap;gap:4px 24px;padding-bottom:12px}
.menu a{color:var(--p);text-decoration:none;font-weight:700;font-size:15px;border-bottom:2px solid transparent}
.menu a:hover{color:var(--y)}
.menu a[aria-current]{color:var(--y);border-bottom-color:var(--y)}
.menu-hero{padding:0;gap:4px 18px}
.glavnaya .hero .pom h2{display:none}
.kroshki{font-size:14px;color:var(--g);margin:20px 0 0}
.kroshki a{color:var(--g)}
main h1{font:900 clamp(30px,5vw,46px)/1.06 Onest,system-ui,sans-serif;letter-spacing:-1px;margin:16px 0 12px;max-width:820px}
.lead-mal{font-size:18px;max-width:700px;margin:0 0 8px}
.zona-ill{display:block;width:100%;max-width:760px;border-radius:18px;margin:20px 0 0}

/* короткий ответ и полоса предмета */
.kratko{background:#fff;border-radius:16px;padding:18px 22px;margin:20px 0;border:2.5px solid var(--k);box-shadow:5px 5px 0 var(--k);max-width:760px}
.kratko p{margin:0 0 12px}
.kratko-net{border-style:dashed;box-shadow:none}
.kratko-net .cap{margin-bottom:14px}
.polosa{background:#fff;border-radius:16px;padding:16px 20px;margin:32px 0 0;border:2.5px dashed var(--k)}
.polosa-zag a{font-weight:800;color:var(--k);text-decoration:none}
.kletki{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 0}
.kletka{padding:7px 14px;border-radius:999px;border:2px solid var(--k);color:var(--k);text-decoration:none;font-weight:700;font-size:14px;line-height:1.2}
.kletka:hover,.kletka[aria-current]{background:var(--k);color:var(--y)}
.kletka.pusto{border-style:dashed;border-color:var(--line);color:var(--g)}
.gde{margin:12px 0 0;font-size:14px;color:var(--g)}
.gde a{color:var(--k)}
.pom{margin-top:8px}
.pom .lenta:empty{display:none}
.istochnik{margin-top:40px;font-size:14px;color:var(--g)}
.istochnik a{color:var(--n)}

/* списки: не чекбоксы — у нумерованных цифра, у остальных черта */
.spisok-ssylok{list-style:none;padding:0;margin:0;max-width:760px}
.spisok-ssylok li{border-bottom:1px solid var(--line)}
.spisok-ssylok a,.spisok-ssylok .skoro{display:block;padding:11px 0;color:var(--k);text-decoration:none;font-weight:600}
.spisok-ssylok a:hover{color:var(--fd)}
.chek{list-style:none;padding:0;max-width:760px;counter-reset:chek}
.chek li{margin:0;padding:10px 0 10px 34px;position:relative;border-top:1px solid var(--line)}
.chek li::before{content:"";position:absolute;left:2px;top:calc(10px + .72em);width:14px;height:3px;border-radius:2px;background:var(--f)}
ol.chek li{counter-increment:chek}
ol.chek li::before{content:counter(chek);top:10px;left:0;width:22px;height:auto;background:none;border-radius:0;font-family:Onest,system-ui,sans-serif;font-weight:800;color:var(--f);text-align:left}
.chek a{color:var(--k);font-weight:600}
.skoro{color:var(--g)}
.skoro em{font-style:normal;font-size:12px;background:var(--line);border-radius:999px;padding:1px 8px;margin-left:4px;font-weight:600}

/* главная: входы, карта, предметы, проверка */
.vhody{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:40px 0 0}
.vhod{display:block;background:#fff;border-radius:16px;padding:16px 18px 16px 58px;color:var(--k);text-decoration:none;border:2.5px dashed var(--k);position:relative}
.vhod::before{content:"";position:absolute;left:18px;top:20px;width:24px;height:24px;border-radius:50%;background:var(--f);box-shadow:0 0 0 6px rgba(255,79,31,.2)}
.vhod:hover{background:var(--y);border-style:solid}
.vhod b,.plitki b{display:block;font-size:18px;line-height:1.2;font-weight:800}
.vhod span,.plitki span{display:block;font-size:14px;color:#444441;margin-top:4px;line-height:1.4}
.predmety{background:var(--y);padding:8px 0 64px}
.predmety .lead-mal{font-weight:500;margin-bottom:28px}
.plitki{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.plitki a{display:block;background:var(--p);border-radius:16px;padding:18px;color:var(--k);text-decoration:none;border:2.5px solid var(--k);box-shadow:5px 5px 0 var(--k);transition:transform .12s,box-shadow .12s}
.plitki a:hover{transform:translate(-2px,-2px);box-shadow:7px 7px 0 var(--k)}
.prov{background:var(--k);color:var(--p);padding:64px 0}
.prov .w{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:center}
.prov img{width:100%;border-radius:18px;display:block}
.prov p{color:var(--svet);margin:18px 0 22px;max-width:460px}
.stk{display:inline-block;background:var(--p);color:var(--k);font:800 22px/1.2 Onest,system-ui,sans-serif;padding:5px 12px;border-radius:8px;margin:0 0 6px}
.stk.y{background:var(--y)}

.karta{display:grid;gap:12px}
.karta-plan{background:#fff;border-radius:18px;padding:24px;margin-bottom:8px}
.karta-plan .plan{max-width:760px;margin:0 auto;padding:0;border-radius:0}
.plan{width:100%;height:auto;display:block;background:#fff;border-radius:18px;padding:10px}
.plan .steny{fill:none;stroke:var(--k);stroke-width:6}
.plan .komnata rect{fill:var(--p);stroke:var(--k);stroke-width:3;stroke-dasharray:9 7;transition:fill .15s}
.plan .komnata text{font:800 16px Onest,system-ui,sans-serif;fill:var(--g);text-anchor:middle;dominant-baseline:middle}
.plan .komnata .skoro-t{font-size:12px;font-weight:500}
.plan .komnata:not(.gotova) rect{stroke:#B4B2A9}
.plan .gotova text{fill:var(--k)}
.plan .gotova{cursor:pointer}
.plan .tochka{fill:var(--f);opacity:0;transition:opacity .15s}
.plan .oreol{fill:none;stroke:var(--f);stroke-width:2;opacity:0}
.plan .gotova:hover rect,.plan .gotova:focus rect,.plan .gotova.podsvet rect{fill:var(--y);stroke-dasharray:none}
.plan .gotova:hover circle,.plan .gotova:focus circle,.plan .gotova.podsvet circle{opacity:1}
.plan .dver{fill:var(--y);stroke:var(--k);stroke-width:2}
.zony-spisok{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.zony-dop{grid-template-columns:repeat(2,minmax(0,1fr))}
.zony-dop-h{margin:16px 0 0;font-size:14px;font-weight:700;color:var(--g)}
.zony-spisok li{border:0;display:flex}
.zony-spisok a,.zony-spisok li.skoro{display:block;width:100%;padding:12px 14px;color:var(--k);text-decoration:none;background:#fff;border:1.5px solid var(--line);border-radius:14px;transition:background .15s,border-color .15s}
.zony-spisok a:hover,.zony-spisok a:focus-visible,.zony-spisok a.podsvet{background:var(--y);border-color:var(--k)}
.zony-spisok b{display:block;font-weight:800;line-height:1.3;margin-bottom:4px}
.zony-spisok li.skoro b{font-weight:600}
.zony-spisok span{display:block;font-size:13px;color:var(--g);line-height:1.4}
.zony-spisok a:hover span,.zony-spisok a.podsvet span{color:var(--k2)}
@media (max-width:1000px){.zony-spisok{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.zony-spisok,.zony-dop{grid-template-columns:1fr}}

/* документы, нарушения, нормы */
.pasport{display:grid;grid-template-columns:max-content 1fr;gap:8px 20px;margin:24px 0;max-width:760px}
.pasport dt{color:var(--g);font-size:14px}
.pasport dd{margin:0}
.pasport a{color:var(--n)}
.papka{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px 24px}
.vkladka h2{font-size:20px;margin:28px 0 6px;padding-top:8px;border-top:4px solid var(--k)}
.plashka{background:#fff;border-left:6px solid var(--n);padding:12px 16px;border-radius:8px;max-width:760px;font-size:15px}

/* обход */
.obhod-zona h2 a{color:var(--k)}
.chek-boks{list-style:none;padding:0;margin:0;max-width:760px}
.chek-boks li{padding:10px 0;border-bottom:1px solid var(--line);display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.chek-boks label{display:flex;gap:10px;align-items:baseline;cursor:pointer;flex:1;min-width:220px}
.chek-boks input{width:20px;height:20px;accent-color:var(--k);flex:none;transform:translateY(3px)}
.podrobnee{font-size:14px;color:var(--n)}
.obhod-nav{display:flex;justify-content:space-between;gap:16px;margin:48px 0 0;padding-top:16px;border-top:3px dashed var(--k)}
.obhod-nav a{color:var(--k);font-weight:800;text-decoration:none}

/* подвал */
.podval{background:var(--k);padding:28px 0 40px}
.podval-ryad{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.podval-ryad img{display:block;max-width:100%;height:auto}
.podval nav{display:flex;gap:18px;flex-wrap:wrap}
.podval nav a{color:var(--p);text-decoration:none;font-size:14px}
.podval nav a:hover{color:var(--y)}

/* главная статья: цифры, коротко, оглавление, текст */
.zachem{padding:16px 0 64px}
.zachem h2{margin-top:14px;max-width:820px}
.zachem .lead-mal{margin-bottom:24px}
.zachem .btn-y{margin-top:24px}
.cifry{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:24px 0}
.cifry div{background:#fff;border:2.5px solid var(--k);border-radius:16px;padding:16px 18px;box-shadow:5px 5px 0 var(--k)}
.cifry b{display:block;font:900 clamp(28px,3.4vw,38px)/1 Onest,system-ui,sans-serif;letter-spacing:-1px}
.cifry div:nth-child(2) b{color:var(--fd)}
.cifry span{display:block;font-size:14px;line-height:1.35;color:#444441;margin-top:8px}
.plashka-statyi{display:block;max-width:760px;margin:28px 0 0;padding:16px 20px;background:var(--k);color:var(--p);border-radius:16px;text-decoration:none}
.plashka-statyi .stk{font-size:13px;padding:2px 8px;margin:0 0 8px}
.plashka-statyi b{display:block;font-size:20px;line-height:1.2}
.plashka-statyi span:last-child{display:block;color:var(--svet);font-size:14px;margin-top:4px}
.plashka-statyi:hover b{color:var(--y)}
.o-proekte-vvod{max-width:760px}
.o-proekte-vvod a{color:var(--n)}
.statya-zag{font:800 clamp(20px,2.6vw,26px)/1.2 Onest,system-ui,sans-serif;max-width:820px;margin:0 0 10px}
.statya-meta{display:flex;flex-wrap:wrap;gap:4px 18px;font-size:14px;color:var(--g);margin:12px 0 0}
.statya-meta span+span::before{content:"·";margin-right:18px;color:var(--svet)}
.statya .kratko{max-width:820px}
.kratko-zag{display:inline-block;background:var(--y);padding:2px 10px;border-radius:6px;font-weight:800;margin-bottom:6px}
.kratko ul{margin:6px 0 0;padding-left:20px}
.kratko li{margin:6px 0}
.statya-setka{display:grid;grid-template-columns:240px minmax(0,1fr);gap:48px;align-items:start;margin-top:24px}
.oglavlenie{position:sticky;top:16px;font-size:14px;line-height:1.35;max-height:calc(100vh - 32px);overflow:auto}
.oglavlenie summary{font-weight:800;cursor:pointer;margin-bottom:8px}
.oglavlenie ol{list-style:none;padding:0;margin:0;border-left:3px dashed var(--k)}
.oglavlenie li{padding:5px 0 5px 12px}
.oglavlenie a{color:var(--k);text-decoration:none}
.oglavlenie a:hover{color:var(--fd)}
.statya-tekst{max-width:760px;font-size:17px;line-height:1.65}
.statya-tekst h2{font-size:clamp(24px,3.2vw,32px);scroll-margin-top:16px}
.statya-tekst h3{font:800 21px/1.25 Onest,system-ui,sans-serif;margin:32px 0 8px;scroll-margin-top:16px}
.statya-tekst p{margin:0 0 14px}
.statya-tekst a{color:var(--n)}
.statya-tekst a.vnutr{color:var(--k);text-decoration:none;border-bottom:2px dashed var(--fd);font-weight:600}
.statya-tekst a.vnutr:hover{background:var(--y)}
.primechanie{font-size:15px;color:var(--g);border-left:3px solid var(--y);padding-left:12px}
.ogovorka-dannyh{background:#fff;border-left:6px solid var(--f);padding:12px 16px;border-radius:8px;font-size:15px}
.pro-portal{background:var(--y);padding:16px 20px;border-radius:16px;border:2.5px solid var(--k)}
.vyvod{font-size:19px;line-height:1.45;border-top:3px dashed var(--k);border-bottom:3px dashed var(--k);padding:16px 0}
.shagi{padding-left:24px}
.shagi li{margin:0 0 10px;padding-left:4px}
.shagi li::marker{font-weight:900}
.metodika{margin-top:48px;padding:4px 24px 12px;background:#fff;border-radius:16px;font-size:15px}
.metodika h2{font-size:24px;margin-top:24px}
.metodika ul{padding-left:18px}
.dannye{padding-left:18px}
.dannye li{margin:4px 0}
.dannye .cap{font-size:12px;margin:0}
.na-portale{margin:20px 0 8px;padding:14px 18px;border:2.5px dashed var(--k);border-radius:16px;background:#fff;font-size:15px}
.na-portale b{display:block;font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--fd);margin-bottom:4px}
.na-portale ul{list-style:none;padding:0;margin:0}
.na-portale li{padding:5px 0}
.na-portale a{color:var(--k);font-weight:700;text-decoration:none}
.na-portale a::before{content:"→ ";color:var(--fd)}
.na-portale a:hover{color:var(--fd)}
.statya-tekst .na-portale li.skoro{color:var(--g)}

/* таблицы статьи: на узком экране строка — карточка */
.tablica{margin:20px 0;overflow-x:auto}
.tablica table{border-collapse:collapse;width:100%;font-size:15px;line-height:1.4;background:#fff;border-radius:14px;overflow:hidden}
.tablica th{background:var(--k);color:var(--p);text-align:left;font-weight:700;padding:10px 12px;vertical-align:bottom}
.tablica td{padding:10px 12px;border-top:1px solid var(--line);vertical-align:top}
.tablica .chislo{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.tablica tr.itog td{background:var(--y);font-weight:700}

/* графики портала */
.graf{margin:24px 0;padding:20px 22px 16px;background:#fff;border:2.5px solid var(--k);border-radius:18px;box-shadow:5px 5px 0 var(--k)}
.graf figcaption{margin-bottom:16px}
.graf-metka{display:block;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--fd)}
.graf figcaption b{display:block;font-size:21px;line-height:1.2;margin:4px 0 2px}
.graf figcaption span:last-child{font-size:14px;color:var(--g)}
.stolbcy{display:grid;gap:10px}
.stolbec{display:grid;grid-template-columns:minmax(0,38%) minmax(0,1fr);gap:4px 14px;align-items:center;font-size:15px;line-height:1.3}
.st-dorozhka{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;min-width:0}
.st-bar{display:block;height:22px;background:var(--k);border-radius:4px;flex:none;min-width:3px}
.st-otstup{display:block;flex:none;height:22px;background:repeating-linear-gradient(90deg,var(--line) 0 2px,transparent 2px 8px)}
.akc .st-bar{background:var(--f)}
.st-dorozhka b{white-space:nowrap;font-variant-numeric:tabular-nums}
.sostav{display:flex;height:44px;border-radius:8px;overflow:hidden;border:2px solid var(--k)}
.s1{background:var(--f)}.s2{background:var(--y)}.s3{background:var(--k)}
.legenda{margin:14px 0 0;display:grid;gap:6px}
.legenda div{display:grid;grid-template-columns:1fr auto 80px;gap:12px;align-items:center;border-bottom:1px solid var(--line);padding:4px 0}
.legenda dt{display:flex;align-items:center;gap:10px}
.legenda dt i{width:16px;height:16px;border-radius:4px;border:2px solid var(--k);flex:none}
.legenda dd{margin:0;text-align:right;font-weight:700;font-variant-numeric:tabular-nums}
.legenda .dolya{color:var(--fd)}
.graf-prim{margin:14px 0 0;padding:10px 0 0 18px;border-top:1px solid var(--line);font-size:14px;color:var(--g)}
.graf-ist{margin:8px 0 0;font-size:13px;color:var(--g)}

/* подрядчики */
.vidy-rabot li{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 10px;padding:11px 0}
.vidy-rabot a,.vidy-rabot li>span:first-child{padding:0;display:inline;font-weight:600}
.metka{font-style:normal;font-size:12px;font-weight:700;border:1.5px solid var(--k);border-radius:999px;padding:1px 8px}
.vidy-rabot .skoro{padding:0;display:inline;font-weight:400}

@media (max-width:900px){
  .cifry{grid-template-columns:repeat(2,minmax(0,1fr))}
  .statya-setka{grid-template-columns:1fr;gap:8px}
  .oglavlenie{position:static;max-height:none;background:#fff;border-radius:14px;padding:12px 16px}
  .oglavlenie details:not([open]) summary{margin:0}
}
@media (max-width:600px){
  .stolbec{grid-template-columns:1fr}
  .graf{padding:16px 14px 12px;box-shadow:3px 3px 0 var(--k)}
  .legenda div{grid-template-columns:1fr auto;}
  .legenda .dolya{grid-column:2}
  .statya-tekst{font-size:16px}
  .tablica-karty table,.tablica-karty tbody,.tablica-karty tr,.tablica-karty td{display:block;width:100%}
  .tablica-karty table{background:none}
  .tablica-karty thead{display:none}
  .tablica-karty tr{background:#fff;border-radius:14px;margin:0 0 10px;padding:6px 14px;border:2px solid var(--k)}
  .tablica-karty tr.itog{background:var(--y)}
  .tablica-karty td,.tablica-karty td.chislo{display:flex;justify-content:space-between;align-items:baseline;gap:12px;border:0;border-top:1px solid var(--line);padding:6px 0;text-align:right;white-space:normal;background:none!important}
  .tablica-karty td::before{content:attr(data-k);flex:0 1 auto;text-align:left;font-size:13px;color:var(--g);font-weight:600}
  .tablica-karty td:first-child{display:block;border:0;text-align:left;font-weight:800;padding-top:4px}
  .tablica-karty td:first-child::before{display:none}
}

/* структура v2: заглушки, блоки тем, панели зон, лента изменений */
.razrabotka{display:flex;gap:12px;align-items:flex-start;max-width:760px;margin:12px 0;padding:12px 16px;background:#fff;border:2.5px dashed var(--line);border-radius:14px}
.razrabotka p{margin:0;color:var(--g);font-size:15px}
.metka-r{flex:none;display:inline-block;font-style:normal;font-size:12px;font-weight:800;background:var(--y);color:var(--k);border-radius:999px;padding:2px 10px;white-space:nowrap}
.plitki-temy .metka-r{margin-top:8px}
.plitka-skoro{display:block;border-radius:16px;padding:18px;color:var(--k);border:2.5px dashed var(--line)}
.plitka-skoro span{color:var(--g)}
.blok-temy .razrabotka+.razrabotka,.blok-temy>.razrabotka{margin-top:16px}
.soderzhanie-temy{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 0}
.soderzhanie-temy a{padding:6px 12px;border-radius:999px;border:2px solid var(--k);color:var(--k);text-decoration:none;font-weight:700;font-size:14px}
.soderzhanie-temy a:hover{background:var(--k);color:var(--y)}
.blok-temy{max-width:820px;scroll-margin-top:12px}
.blok-temy h2{font-size:clamp(24px,3.2vw,32px);margin-top:44px}
.blok-temy .btn2{margin-top:4px}
.norma-status{display:inline-block;background:var(--y);border:2px solid var(--k);border-radius:10px;padding:8px 14px;font-weight:700;font-size:15px;max-width:760px;margin:6px 0 0}
.razbor-kratko{font-size:18px;line-height:1.5}
.razbor-slova{display:grid;grid-template-columns:minmax(120px,max-content) 1fr;gap:8px 18px;margin:0;max-width:760px}
.razbor-slova dt{font-weight:800}
#cifry td:last-child{white-space:nowrap}
.razbor-slova dd{margin:0}
#tekst{scroll-margin-top:12px}
#tekst>h2{font-size:clamp(24px,3.2vw,32px);margin-top:44px}
@media (max-width:560px){.razbor-slova{grid-template-columns:1fr;gap:2px}.razbor-slova dd{margin-bottom:10px}}
.vopros-temy{scroll-margin-top:12px}
.vopros-temy h3{font:800 20px/1.25 Onest,system-ui,sans-serif;margin:24px 0 0}
.podstranica{display:inline-block;font-weight:800;color:var(--k);border-bottom:2px dashed var(--fd);text-decoration:none}
.paneli{display:grid;gap:16px;margin-top:24px}
.panel-zony{background:#fff;border-radius:18px;padding:4px 22px 18px;border:2.5px dashed var(--k);scroll-margin-top:12px}
.panel-zony:target{border-style:solid;box-shadow:5px 5px 0 var(--k)}
.panel-zony h3{font:900 24px/1.2 Onest,system-ui,sans-serif;margin:18px 0 6px}
.panel-zony h4{margin:18px 0 0}
.papka li[id]{scroll-margin-top:12px}
.papka li[id]:target{background:var(--y)}
.filtry{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}
.lenta-izm{list-style:none;padding:0;max-width:760px}
.lenta-izm li{background:#fff;border-radius:14px;padding:14px 18px;border-left:6px solid var(--k);margin-bottom:12px}
.lenta-izm .data{font-weight:800;margin-right:10px}
.lenta-izm .metka{margin-right:6px}
.lenta-izm a{display:block;color:var(--k);margin-top:6px}
.lenta-izm p{margin:4px 0 0;color:var(--g);font-size:15px}
tr[id]:target td{background:var(--y)}
/* «Что нового» на главной: новости с разбором слева, изменения и блог справа */
.chto-novogo{padding:8px 0 72px}
.novosti-setka{display:grid;grid-template-columns:2fr 1fr;gap:24px;align-items:start;margin-top:24px}
.novosti{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.novost{background:#fff;border-radius:18px;padding:18px 20px;border:2.5px solid var(--k);display:flex;flex-direction:column}
.novost-meta{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--g);margin:0 0 8px}
.novost h3{font-size:19px;line-height:1.2;margin:0 0 8px}
.novost h3 a{color:var(--k);text-decoration:none}
.novost h3 a:hover{color:var(--fd)}
.novost>p{font-size:15px;margin:0 0 12px}
.razbor{background:var(--p);border-left:4px solid var(--y);border-radius:0 10px 10px 0;padding:10px 12px;margin:0 0 12px}
.razbor b{display:block;font-size:13px;margin-bottom:2px}
.razbor p{margin:0;font-size:15px;line-height:1.5}
.istochnik-nov{margin-top:auto;font-size:14px;color:var(--n)}
.novosti-bok{background:var(--k);color:var(--p);border-radius:18px;padding:20px}
.novosti-bok h3{font-size:17px;margin:0 0 10px}
.izm-mal{list-style:none;padding:0;margin:0 0 18px}
.izm-mal li{padding:10px 0;border-top:1px solid var(--k2)}
.izm-mal time{display:block;font-size:12px;color:var(--svet)}
.izm-mal a{color:var(--p);text-decoration:none;font-weight:600;line-height:1.3}
.izm-mal a:hover{color:var(--y)}
.blog-plashka{display:block;background:var(--k2);border-radius:14px;padding:14px 16px;color:var(--p);text-decoration:none;margin:0 0 18px}
.blog-plashka .stk{font-size:13px;padding:2px 8px;margin:0 0 8px}
.blog-plashka b{display:block;font-size:17px;line-height:1.25}
.blog-plashka span:last-child{display:block;font-size:14px;color:var(--svet);margin-top:4px}
.blog-plashka:hover b{color:var(--y)}
.novosti-bok .btn2{border-color:var(--y);color:var(--y)}
.novosti-bok .btn2:hover{background:var(--y);color:var(--k)}
.lenta-izm .s-razborom{border-left-color:var(--y)}
.lenta-izm .zag{display:block;margin-top:6px}
.lenta-izm .zag a{display:inline;margin:0}
.lenta-izm .razbor{margin:10px 0 6px}
.lenta-izm .razbor p{color:var(--k)}
.lenta-izm .istochnik-nov{display:inline-block;margin:0}

@media (max-width:900px){
  .prov .w{grid-template-columns:1fr}
  .hero h1{margin-top:32px}
  .plitki{grid-template-columns:1fr 1fr}
  .novosti-setka{grid-template-columns:1fr}
}
@media (max-width:760px){
  .karta{grid-template-columns:1fr}
  .plan,.karta-plan{display:none}
  .vhody{grid-template-columns:1fr}
  .novosti{grid-template-columns:1fr}
  .shapka-ryad{flex-wrap:wrap;gap:10px}
  .ask-shapka{order:3;flex-basis:100%;max-width:none}
}
@media (max-width:600px){
  .w{padding:0 18px}
  .plitki{grid-template-columns:1fr}
  .hero .ask{flex-direction:column;align-items:stretch;border-radius:20px;padding:10px}
  .hero .ask input{padding:6px 6px 10px}
  .hero .chip{border-radius:18px}
  .menu-hero{flex-basis:100%}
  .stk{font-size:19px}
}
@media (max-width:480px){
  .cifry{gap:10px}
  .cifry div{padding:12px}
  .cifry b{font-size:23px;letter-spacing:-.5px}
  .hero h1{letter-spacing:-1px}
  .lead{font-size:17px}
  .ask{border-radius:28px;padding-left:16px}
  .ask input{font-size:16px}
  .btn{padding:10px 16px}
  .repl{padding:16px}
  .menu{gap:4px 16px}
}

/* тест для сотрудников на /proverka/ */
.test-vopros{border:1px solid var(--line,#ddd);border-radius:10px;padding:10px 14px;margin:8px 0}
.test-vopros summary{cursor:pointer;font-weight:600}
.test-vopros[open] summary{margin-bottom:6px}

/* ---------- подвал: подписка, право, «нашли ошибку», плашка куки ---------- */
.podval{color:var(--svet);font-size:14px}
.podval a{color:var(--p)}
.podpiska{margin:28px 0 0;padding:22px 0 0;border-top:1px solid var(--k2);max-width:640px}
.podpiska-h{display:block;font:800 20px/1.2 Onest,system-ui,sans-serif;color:var(--p)}
.podpiska-lead{margin:6px 0 12px}
.podpiska-ryad{display:flex;gap:8px;flex-wrap:wrap}
.podpiska-ryad input{flex:1 1 220px;min-width:0;font:inherit;font-size:16px;padding:12px 14px;border-radius:10px;border:1.5px solid var(--k2);background:#0f1113;color:var(--p)}
.podpiska-ryad input:focus{outline:2px solid var(--y);outline-offset:1px}
.podpiska-ryad button{font:800 15px Onest,system-ui,sans-serif;padding:12px 20px;border-radius:10px;border:0;background:var(--y);color:var(--k);cursor:pointer}
.podpiska-ryad button:disabled{opacity:.6}
.podpiska-sogl{font-size:12px;color:var(--g);margin:10px 0 0}
.podpiska-sogl a{color:var(--svet)}
.podpiska-state{margin:10px 0 0;color:#ff8a66}
.podpiska-state.ok{color:var(--y)}
.lovushka{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.podval-pravo{margin:24px 0 0;padding:18px 0 0;border-top:1px solid var(--k2);font-size:13px;color:var(--g)}
.podval-pravo p{margin:0 0 8px}
.podval-pravo a{color:var(--svet)}
.podval-oshibka button,.podval-melko button{font:inherit;color:var(--svet);background:none;border:0;padding:0;text-decoration:underline;text-underline-offset:2px;cursor:pointer}
.podval-oshibka[hidden],.podval-melko button[hidden]{display:none}
.podval-melko{display:flex;flex-wrap:wrap;gap:6px 18px}
.podval-logo{display:block;line-height:0;border-radius:6px;transition:opacity .15s}
.podval-logo:hover{opacity:.8}
.podval-logo:focus-visible{outline:2px solid var(--y);outline-offset:4px}
.podval-pravo .podval-naverh{margin-left:auto;text-decoration:none}
.podval-pravo .podval-naverh:hover{color:var(--y)}
.osh-palec{display:none}
@media (pointer:coarse){.osh-mysh{display:none}.osh-palec{display:inline}}

.oshibka-okno{width:min(560px,calc(100% - 24px));border:0;border-radius:16px;padding:0;background:var(--p);color:var(--k)}
.oshibka-okno::backdrop{background:rgba(22,24,27,.6)}
.oshibka-okno form{position:relative;padding:24px}
.oshibka-okno h2{font:900 24px/1.15 Onest,system-ui,sans-serif;margin:0 32px 8px 0}
.oshibka-okno p{margin:0 0 14px}
.oshibka-okno label{display:block;font-weight:700;margin:0 0 12px}
.oshibka-okno .neob{font-weight:400;color:var(--g)}
.oshibka-okno textarea,.oshibka-okno input[type=email]{display:block;width:100%;box-sizing:border-box;margin-top:6px;font:inherit;font-size:16px;font-weight:400;padding:10px 12px;border:1.5px solid var(--line);border-radius:10px;background:#fff}
.oshibka-okno .melko{font-size:12px;color:var(--g)}
.oshibka-okno .melko a{color:var(--g)}
.oshibka-x{position:absolute;top:12px;right:12px;width:36px;height:36px;border:0;background:none;font-size:26px;line-height:1;cursor:pointer;color:var(--k)}
.oshibka-knopki{display:flex;gap:10px;flex-wrap:wrap}
.oshibka-knopki button{font:700 15px Onest,system-ui,sans-serif;padding:12px 18px;border-radius:10px;border:1.5px solid var(--k);background:transparent;color:var(--k);cursor:pointer}
.oshibka-knopki .btn-y{border-color:var(--y)}
.oshibka-state{color:var(--fd)}
.oshibka-ok{display:none}
.oshibka-okno form.otpravleno .oshibka-forma{display:none}
.oshibka-okno form.otpravleno .oshibka-ok{display:block}
.oshibka-chip{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:60;font:600 15px/1 Onest,system-ui,sans-serif;color:var(--k);background:var(--p);border:1px solid var(--g);border-radius:999px;padding:12px 18px;box-shadow:0 6px 20px rgba(20,22,25,.2);white-space:nowrap;cursor:pointer}
.oshibka-chip[hidden]{display:none}


.tekst-stranicy{max-width:760px}
.tekst-stranicy h2{margin:32px 0 10px}
.ssylka-knopka{font:inherit;background:none;border:0;padding:0;color:var(--svet);text-decoration:underline;cursor:pointer}

/* ---------- закреплённый помощник (ТЗ, 13.0) ---------- */
.pom-vyzov{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px 20px;margin:32px 0;max-width:760px}
.pom-vyzov h2{margin-top:0}
.pom-vyzov .primery{margin:8px 0 12px}
.hero .pom-vyzov{background:transparent;border:0;padding:0;margin:0 auto;max-width:760px;text-align:center}
.hero .pom-vyzov .cap{color:var(--svet)}
.hero .pom-vyzov .btn2{border-color:var(--p);color:var(--p)}
.fz-pom [hidden]{display:none!important}
.fz-pom-x:focus-visible{outline:3px solid var(--n);outline-offset:2px}
.fz-pom-panel{position:fixed;z-index:50;top:16px;right:16px;bottom:16px;width:360px;display:flex;flex-direction:column;background:var(--p);border:1px solid var(--line);border-radius:16px;box-shadow:0 10px 30px rgba(22,24,27,.18);overflow:hidden}
.fz-pom-verh{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 16px;background:var(--k);color:var(--p)}
.fz-pom-verh h2{margin:0;font-size:18px}
.fz-pom-x{min-height:40px;padding:6px 12px;border-radius:10px;border:1.5px solid var(--g);background:transparent;color:var(--p);font:600 14px/1.2 inherit;font-family:inherit;cursor:pointer}
.fz-pom-x-mob{display:none}
.fz-pom-gde{margin:0;padding:8px 16px;font-size:14px;color:var(--g);border-bottom:1px solid var(--line)}
.fz-pom-gde b{color:var(--k);font-weight:600}
.fz-pom-lenta{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:12px 16px}
.fz-pom-lenta .repl{padding:14px 16px;font-size:15px}
.fz-pom-lenta .repl.q{font-size:16px;margin:16px 0 6px}
.fz-pom-privet{background:#fff;border-radius:12px;padding:12px 14px;font-size:15px}
.fz-pom-privet p{margin:0 0 6px}
.fz-pom-staroe{margin:0 0 12px;font-size:14px}
.fz-pom-staroe summary{cursor:pointer;color:var(--g)}
.fz-pom-forma{display:flex;gap:8px;align-items:flex-end;padding:10px 12px;border-top:1px solid var(--line);background:#fff}
.fz-pom-forma textarea{flex:1;min-width:0;resize:none;border:1.5px solid var(--line);border-radius:12px;padding:8px 10px;font:16px/1.4 inherit;font-family:inherit;color:var(--k);max-height:30vh}
.fz-pom-forma textarea:focus{outline:0;border-color:var(--k)}
.fz-pom-forma .btn{background:var(--y);color:var(--k);padding:10px 14px;font-size:15px}
.fz-pom-niz{margin:0;padding:6px 16px 10px;font-size:12.5px;color:var(--g);background:#fff}
/* От 900 px — разделённый экран: слева сайт, справа колонка помощника на всю
   высоту. Сайт сужается, панель ничего не закрывает. Ширину тянут за границу. */
@media (min-width:900px){
  :root{--pom-w:clamp(340px,30vw,460px)}
  .fz-pom-panel{top:0;right:0;bottom:0;width:var(--pom-w);border:0;border-left:1px solid var(--line);border-radius:0;box-shadow:none;animation:pom-vyezd .28s cubic-bezier(.2,.8,.2,1)}
  body{transition:padding-right .28s cubic-bezier(.2,.8,.2,1)}
  body.fz-pom-otkryt{padding-right:var(--pom-w)}
  body.fz-pom-tyanut{transition:none;user-select:none;cursor:col-resize}
  .fz-pom-ruchka{position:absolute;left:-5px;top:0;bottom:0;width:10px;cursor:col-resize;z-index:2;background:none;border:0;padding:0}
  .fz-pom-ruchka::after{content:"";position:absolute;left:4px;top:50%;width:2px;height:44px;margin-top:-22px;border-radius:2px;background:var(--line);transition:background .2s,height .2s}
  .fz-pom-ruchka:hover::after,.fz-pom-ruchka:focus-visible::after{background:var(--k);height:72px;margin-top:-36px}
}
@keyframes pom-vyezd{from{transform:translateX(24px);opacity:0}to{transform:none;opacity:1}}
@media (prefers-reduced-motion:reduce){.fz-pom-panel{animation:none}body{transition:none}}
@media (max-width:899px){.fz-pom-ruchka{display:none}}
/* Телефон: строка внизу, чат — на весь экран. */
@media (max-width:767px){
  body{padding-bottom:76px}
  .fz-pom-panel{top:0;right:0;bottom:0;left:0;width:auto;height:100dvh;border-radius:0;border:0}
  .fz-pom-forma{padding-bottom:calc(10px + env(safe-area-inset-bottom))}
  .fz-pom-x-mob{display:inline}
  .fz-pom-x-desk{display:none}
  body.fz-pom-otkryt{overflow:hidden}
}
@media print{.fz-pom,.pom-vyzov{display:none!important}}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

/* ---------- главная: задачи в центре (ТЗ, раздел 6) ---------- */
.hero-v2{position:relative;padding-bottom:0;isolation:isolate}
/* мягкое жёлтое свечение за иллюстрацией */
.hero-v2::before{content:"";position:absolute;z-index:-1;right:-10%;top:30%;width:min(720px,80vw);aspect-ratio:1;border-radius:50%;background:radial-gradient(closest-side,rgba(255,212,59,.22),rgba(255,212,59,0));filter:blur(8px);animation:svechenie 9s ease-in-out infinite alternate}
@keyframes svechenie{from{transform:translate(0,0) scale(1)}to{transform:translate(-40px,20px) scale(1.08)}}
.hero-setka{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:40px;align-items:end;padding-top:48px}
.hero-tekst{padding-bottom:56px}
.hero-metka{display:inline-flex;align-items:center;gap:8px;margin:0 0 20px;padding:6px 14px;border-radius:999px;border:1.5px dashed rgba(246,245,242,.35);color:var(--svet);font-size:14px;font-weight:600}
.hero-metka::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--y);box-shadow:0 0 0 4px rgba(255,212,59,.18)}
.hero-v2 h1{margin:0 0 24px;text-align:left;max-width:none;font-size:clamp(36px,5.2vw,64px)}
.hero-v2 .lead{margin:0 0 32px;text-align:left;max-width:540px;line-height:1.55}
.hero-knopki{display:flex;flex-wrap:wrap;gap:12px 16px;align-items:center}
.hero-knopki .btn-y{padding:15px 26px;font-size:17px}
.btn-kontur{display:inline-flex;align-items:center;min-height:48px;padding:12px 22px;border-radius:12px;border:1.5px solid rgba(246,245,242,.5);background:transparent;color:var(--p);font:700 16px/1.2 inherit;font-family:inherit;cursor:pointer;transition:border-color .2s,background .2s,color .2s}
.btn-kontur:hover{border-color:var(--y);color:var(--y)}
.hero-kartinka{align-self:end}
.hero-v2 .hero-ill{width:100%;margin:0}
/* «зона за зоной» — выделение с бегущим пунктиром, как граница зоны на плане */
.zona-em{position:relative;font-style:normal;background:var(--y);color:var(--k);padding:0 10px;border-radius:8px;display:inline-block;transform:rotate(-1.5deg)}
.zona-em::after{content:"";position:absolute;inset:-7px;border-radius:12px;pointer-events:none;
  background:linear-gradient(90deg,var(--y) 50%,transparent 0) repeat-x 0 0/14px 2px,linear-gradient(90deg,var(--y) 50%,transparent 0) repeat-x 0 100%/14px 2px,
  linear-gradient(0deg,var(--y) 50%,transparent 0) repeat-y 0 0/2px 14px,linear-gradient(0deg,var(--y) 50%,transparent 0) repeat-y 100% 0/2px 14px;
  animation:murashi 1.2s linear infinite}
@keyframes murashi{to{background-position:14px 0,-14px 100%,0 -14px,100% 14px}}

main.glavnaya-main{padding-bottom:24px}
.g-blok{margin:88px 0 0}
.g-blok:first-child{margin-top:72px}
.g-blok>h2{margin:0 0 12px}
.g-blok>.lead-mal{margin:0 0 32px;color:#3D4045}
.zadachi-setka{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.zadacha{position:relative;display:flex;flex-direction:column;gap:10px;min-height:220px;padding:28px 26px 26px;border-radius:20px;background:#fff;color:var(--k);text-decoration:none;border:1.5px solid var(--line);
  transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s,border-color .25s}
.zadacha b{font-size:21px;line-height:1.2;font-weight:800;letter-spacing:-.2px}
.zadacha-rez{font-size:15.5px;line-height:1.5;color:#3D4045}
.zadacha-nado{margin-top:auto;padding-top:12px;font-size:13.5px;color:var(--g);border-top:1px dashed var(--line)}
.zadacha-ik{display:grid;place-items:center;width:52px;height:52px;border-radius:14px;background:var(--p);color:var(--k);margin-bottom:6px;transition:transform .3s cubic-bezier(.3,1.6,.5,1),background .25s}
.zadacha-strelka{position:absolute;top:26px;right:24px;font-size:22px;font-weight:700;color:var(--g);transition:transform .25s,color .25s}
.zadacha-glavn{border:2px dashed var(--k)}
.zadacha-glavn .zadacha-ik{background:var(--y)}
.zadacha:hover,.zadacha:focus-visible{transform:translateY(-4px);box-shadow:0 18px 36px -18px rgba(22,24,27,.35);border-color:var(--k)}
.zadacha-glavn:hover,.zadacha-glavn:focus-visible{border-style:solid}
.zadacha:hover .zadacha-ik,.zadacha:focus-visible .zadacha-ik{transform:rotate(-6deg) scale(1.08);background:var(--y)}
.zadacha:hover .zadacha-strelka,.zadacha:focus-visible .zadacha-strelka{transform:translateX(4px);color:var(--k)}
.zadacha:focus-visible,.g-sluchay:focus-visible{outline:3px solid var(--n);outline-offset:3px}

.g-dva{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.g-sluchay{display:block;padding:24px 26px;border-radius:20px;background:var(--k);color:var(--p);text-decoration:none;transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s}
.g-sluchay b{display:block;font-size:20px;margin-bottom:6px;color:var(--y)}
.g-sluchay span{color:var(--svet);font-size:15.5px}
.g-sluchay:hover{transform:translateY(-3px);box-shadow:0 16px 32px -16px rgba(22,24,27,.5)}
.glavnaya-main .pom-vyzov{margin:88px 0 0;padding:28px 30px;border-radius:20px}

.predmety{margin-top:96px;padding:72px 0 88px}
.predmety h2{margin-top:0}
.plitki{gap:20px}
.plitki a,.plitka-skoro{padding:22px}
.chto-novogo{padding:72px 0 88px}
.zachem{padding:72px 0 96px}

/* появление блоков при прокрутке; без JS и при «уменьшить движение» всё видно сразу */
.js [data-poyav]{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s cubic-bezier(.2,.8,.2,1);transition-delay:calc(var(--i,0) * 70ms)}
.js [data-poyav].vidno{opacity:1;transform:none}

@media (max-width:980px){
  .hero-setka{grid-template-columns:1fr;gap:8px;padding-top:32px}
  .hero-tekst{padding-bottom:16px}
  .hero-kartinka{max-width:620px;margin:0 auto}
  .zadachi-setka{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:600px){
  .zadachi-setka,.g-dva{grid-template-columns:1fr;gap:14px}
  .zadacha{min-height:0;padding:22px 20px}
  .zadacha b{font-size:19px}
  .g-blok{margin-top:64px}
  .g-blok:first-child{margin-top:48px}
  .predmety{margin-top:64px;padding:56px 0 64px}
  .hero-v2 h1{font-size:clamp(32px,9vw,40px)}
  .hero-knopki>*{flex:1 1 100%;justify-content:center;text-align:center}
}
@media (prefers-reduced-motion:reduce){
  .hero-v2::before,.zona-em::after{animation:none}
  .js [data-poyav]{opacity:1;transform:none;transition:none}
  .zadacha,.zadacha-ik,.zadacha-strelka,.g-sluchay{transition:none}
}
/* первый экран компактнее: на 1366×768 карточки задач начинаются в первом экране */
@media (min-width:981px){
  .hero-setka{padding-top:28px;gap:32px}
  .hero-tekst{padding-bottom:40px}
  .hero-v2 h1{font-size:clamp(36px,4.4vw,56px);margin-bottom:20px}
  .hero-v2 .lead{margin-bottom:26px;font-size:18px}
  .hero-v2 .hero-ill{max-height:340px;width:auto;max-width:100%;display:block;margin-left:auto}
  .hero-metka{margin-bottom:16px}
  .g-blok:first-child{margin-top:48px}
}

/* ---------- ритм и воздух на внутренних страницах (ТЗ, 4.2) ---------- */
main,main.w{padding-bottom:104px}
.kroshki{margin:28px 0 0}
main h1{margin:20px 0 16px}
main h1+.lead-mal,.lead-mal{margin-bottom:12px;line-height:1.55;color:#3D4045}
.soderzhanie-temy{gap:10px;margin:28px 0 8px}
.soderzhanie-temy a{padding:8px 16px;min-height:40px;display:inline-flex;align-items:center;transition:background .2s,color .2s}
/* текст тем: 17 px, строка до ~70 знаков, абзацы и разделы с воздухом */
.blok-temy{scroll-margin-top:24px;font-size:17px;line-height:1.65}
.blok-temy h2{margin:72px 0 20px}
.blok-temy h3{margin:40px 0 12px;line-height:1.25}
.blok-temy p,.blok-temy li{max-width:70ch}
.blok-temy p{margin:0 0 18px}
.blok-temy ul,.blok-temy ol{margin:0 0 20px;padding-left:22px}
.blok-temy li{margin:0 0 8px}
.statya-tekst p{margin:0 0 18px}
.statya-tekst h2{margin-top:64px}
.tablica{margin:28px 0}
.tablica th,.tablica td{padding:12px 14px}
.plashka{margin:24px 0;padding:16px 20px;line-height:1.55}
.kratko{margin:28px 0;padding:22px 26px}
.cap{line-height:1.5}
h2{margin:72px 0 20px}
@media (max-width:600px){
  main,main.w{padding-bottom:88px}
  .blok-temy{font-size:16.5px}
  .blok-temy h2,h2{margin-top:56px}
  .kratko{padding:18px 20px}
}
.soderzhanie-temy+.blok-temy>h2,.soderzhanie-temy+section>h2{margin-top:48px}

/* ---------- меню (ТЗ, 5.1) ---------- */
.menu-nav{position:relative}
.menu{list-style:none;margin:0;padding:0 0 12px;display:flex;flex-wrap:wrap;align-items:center;gap:4px 26px}
.menu li{margin:0}
.menu a,.menu-esche-k{display:inline-flex;align-items:center;min-height:36px;color:var(--p);text-decoration:none;font-weight:700;font-size:15px;border-bottom:2px solid transparent}
.menu-esche-k{background:none;border-top:0;border-left:0;border-right:0;padding:0;font-family:inherit;cursor:pointer;gap:6px}
.menu-esche-k span{font-size:11px;transition:transform .2s}
.menu-esche-k[aria-expanded=true] span{transform:rotate(180deg)}
.menu a:hover,.menu-esche-k:hover{color:var(--y)}
.menu a[aria-current],.menu-esche-k.tut{color:var(--y);border-bottom-color:var(--y)}
.menu a:focus-visible,.menu-esche-k:focus-visible,.menu-knopka:focus-visible{outline:3px solid var(--y);outline-offset:3px;border-radius:4px}
.menu-esche{position:relative}
.menu-esche-spisok{list-style:none;margin:0;padding:8px;position:absolute;z-index:30;top:calc(100% + 8px);left:-12px;min-width:220px;background:var(--k2);border-radius:14px;box-shadow:0 16px 32px -12px rgba(0,0,0,.5);display:none}
.menu-esche-k[aria-expanded=true]+.menu-esche-spisok{display:block;animation:menu-poyav .18s ease-out}
.menu-esche-spisok a{display:flex;padding:8px 12px;border-radius:10px;border:0;min-height:40px}
.menu-esche-spisok a:hover{background:rgba(255,255,255,.06)}
@keyframes menu-poyav{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.menu-knopka{display:none;align-items:center;gap:10px;min-height:44px;margin:0 0 10px;padding:8px 16px;border-radius:12px;border:1.5px solid rgba(246,245,242,.35);background:transparent;color:var(--p);font:700 16px/1 inherit;font-family:inherit;cursor:pointer}
.menu-burger,.menu-burger::before,.menu-burger::after{display:block;width:18px;height:2px;border-radius:2px;background:currentColor;position:relative;transition:transform .2s,background .2s}
.menu-burger::before,.menu-burger::after{content:"";position:absolute;left:0}
.menu-burger::before{top:-6px}.menu-burger::after{top:6px}
.menu-knopka[aria-expanded=true] .menu-burger{background:transparent}
.menu-knopka[aria-expanded=true] .menu-burger::before{transform:translateY(6px) rotate(45deg)}
.menu-knopka[aria-expanded=true] .menu-burger::after{transform:translateY(-6px) rotate(-45deg)}
.menu-nav-hero .menu{padding:0;gap:4px 20px}
@media (max-width:760px){
  .menu-knopka{display:inline-flex}
  .menu{display:none;flex-direction:column;align-items:stretch;gap:0;padding:0 0 14px}
  .menu-knopka[aria-expanded=true]+.menu{display:flex;animation:menu-poyav .2s ease-out}
  .menu a{display:flex;min-height:48px;font-size:17px;border-bottom:1px solid rgba(246,245,242,.1)}
  .menu a[aria-current]{border-bottom-color:rgba(246,245,242,.1);box-shadow:inset 3px 0 0 var(--y);padding-left:12px}
  .menu-esche-k{display:none}
  .menu-esche-spisok{display:block;position:static;padding:0;background:none;box-shadow:none;min-width:0}
  .menu-esche-spisok a{padding:0;border-radius:0;border-bottom:1px solid rgba(246,245,242,.1);font-weight:600;color:var(--svet)}
  .menu-nav-hero{order:3;flex-basis:100%}
  .menu-nav-hero .menu{gap:0}
}

/* ---------- каталог инструментов (ТЗ, 5.2) ---------- */
.instr-gruppa h2{margin:64px 0 20px}
.instr-setka{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.instr{display:flex;flex-direction:column;gap:8px;padding:22px 22px 20px;border-radius:18px;background:#fff;border:1.5px solid var(--line);color:var(--k);text-decoration:none;transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s,border-color .25s}
.instr b{font-size:18px;line-height:1.25}
.instr-rez{font-size:15px;line-height:1.5;color:#3D4045}
.instr-nado{font-size:13.5px;color:var(--g);margin-top:auto;padding-top:10px;border-top:1px dashed var(--line)}
.instr-go{font-weight:700;font-size:15px;display:inline-flex;gap:6px}
.instr-go span{transition:transform .25s}
a.instr:hover,a.instr:focus-visible{transform:translateY(-3px);border-color:var(--k);box-shadow:0 16px 32px -18px rgba(22,24,27,.35)}
a.instr:hover .instr-go span{transform:translateX(4px)}
a.instr:focus-visible{outline:3px solid var(--n);outline-offset:3px}
.instr-skoro{background:transparent;border-style:dashed}
.instr-skoro .metka-r{align-self:flex-start}
@media (max-width:980px){.instr-setka{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.instr-setka{grid-template-columns:1fr}.instr-gruppa h2{margin-top:48px}}
@media (prefers-reduced-motion:reduce){.instr,.menu-burger,.menu-burger::before,.menu-burger::after{transition:none}.menu-esche-spisok,.menu{animation:none!important}}

/* ---------- «Собрать журнал» (ТЗ, 20.1) ---------- */
.sobrat-zhurnal{margin:40px 0 0}
.sobrat-zhurnal>h2{margin:0 0 12px}
.sobrat-zhurnal>.lead-mal{margin-bottom:28px}
.sz-setka{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.sz-karta{display:flex;flex-direction:column;gap:10px;padding:24px;border-radius:20px;background:#fff;border:1.5px solid var(--line);transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s,border-color .25s}
.sz-karta:hover{transform:translateY(-3px);box-shadow:0 16px 32px -18px rgba(22,24,27,.35);border-color:var(--k)}
.sz-glavn{border:2px dashed var(--k)}
.sz-karta h3{margin:0;font-size:19px;line-height:1.3}
.sz-karta p{margin:0;font-size:15px;line-height:1.5;color:#3D4045}
.sz-kogda{padding-top:10px;border-top:1px dashed var(--line);font-size:14px!important}
.sz-knopka{margin-top:auto;align-self:flex-start;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:10px 18px;border-radius:12px;background:var(--y);color:var(--k);font-weight:700;text-decoration:none;box-shadow:0 3px 0 #C9A21A;transition:transform .15s,box-shadow .15s}
.sz-knopka:hover{transform:translateY(-1px)}
.sz-knopka:active{transform:translateY(2px);box-shadow:0 1px 0 #C9A21A}
.sz-knopka:focus-visible{outline:3px solid var(--n);outline-offset:3px}
.dk-vse-h{margin-top:80px}
details.dk-vvod>summary{cursor:pointer;list-style:none;display:inline-block}
details.dk-vvod>summary::-webkit-details-marker{display:none}
details.dk-vvod>summary::after{content:" ▾";font-size:12px}
details.dk-vvod[open]>summary::after{content:" ▴"}
@media (max-width:980px){.sz-setka{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.sz-setka{grid-template-columns:1fr}.dk-vse-h{margin-top:56px}}
@media (prefers-reduced-motion:reduce){.sz-karta,.sz-knopka{transition:none}}

/* ---------- закреплённая строка: логотип, помощник, «Меню» ---------- */
.kompakt{position:fixed;top:0;left:0;right:0;z-index:45;background:var(--k);color:var(--p);box-shadow:0 6px 18px rgba(0,0,0,.22);transform:translateY(-110%);transition:transform .22s ease,right .28s cubic-bezier(.2,.8,.2,1);visibility:hidden}
.kompakt.vidno{transform:none;visibility:visible}
.kompakt-ryad{position:relative;display:flex;align-items:center;gap:16px;min-height:60px}
.kompakt .logo-mal img{width:112px;height:auto}
.kompakt .ask-shapka{order:0;flex:1 1 auto;flex-basis:auto;max-width:none;padding:3px 3px 3px 14px}
.kompakt .ask-shapka .btn{padding:7px 14px}
.kompakt .ask-shapka,.kompakt .ask-shapka input{min-width:0}
.kompakt .ask-shapka input{flex:1 1 auto;width:100%}
.kompakt .menu-nav{position:static;flex:none}
.kompakt .menu-knopka{display:inline-flex;margin:0;min-height:40px;padding:6px 14px}
.kompakt .menu{display:none;position:absolute;top:100%;right:24px;width:min(320px,calc(100vw - 36px));max-height:calc(100vh - 76px);overflow-y:auto;flex-direction:column;flex-wrap:nowrap;align-items:stretch;gap:0;padding:6px 16px 10px;background:var(--k2);border-radius:0 0 14px 14px;box-shadow:0 16px 32px -12px rgba(0,0,0,.5)}
.kompakt .menu-knopka[aria-expanded=true]+.menu{display:flex;animation:menu-poyav .2s ease-out}
.kompakt .menu a{display:flex;min-height:44px;font-size:16px;border-bottom:1px solid rgba(246,245,242,.1)}
.kompakt .menu a[aria-current]{border-bottom-color:rgba(246,245,242,.1);box-shadow:inset 3px 0 0 var(--y);padding-left:12px}
.kompakt .menu-esche-k{display:none}
.kompakt .menu-esche-spisok{display:block;position:static;padding:0;background:none;box-shadow:none;min-width:0}
.kompakt .menu-esche-spisok a{padding:0;border-radius:0;font-weight:600;color:var(--svet)}
.kompakt .menu-esche-spisok a[aria-current]{padding-left:12px}
@media (min-width:900px){body.fz-pom-otkryt .kompakt{right:var(--pom-w)}}
@media (max-width:600px){
  .kompakt .logo-mal{display:none}
  .kompakt-ryad{gap:10px;min-height:56px}
  .kompakt .menu{right:18px}
}
@media (max-width:480px){
  .kompakt .menu-knopka{padding:6px 12px}
  .kompakt .menu-slovo{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
}
@media (prefers-reduced-motion:reduce){.kompakt{transition:none}}
@media print{.kompakt{display:none!important}}

/* 404 — «страница эвакуировалась»: знак «Выход» и шуточный акт осмотра */
.nf{padding-top:24px}
.nf-ryad{display:flex;align-items:center;gap:32px 48px;flex-wrap:wrap}
.nf-tekst{flex:1 1 380px}
.nf-kod{display:inline-block;margin:0;background:var(--y);color:var(--k);font-weight:800;font-size:14px;letter-spacing:.5px;text-transform:uppercase;padding:2px 10px;border-radius:6px;transform:rotate(-1.5deg)}
.nf h1{margin-top:14px}
.nf-lead{font-size:19px;max-width:560px;text-wrap:pretty}
.nf-knopki{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0 0}
.nf-znak{flex:0 1 380px;width:100%;max-width:380px;height:auto;filter:drop-shadow(0 10px 0 rgba(22,24,27,.12))}
.nf-begun{animation:nf-beg 1.6s ease-in-out infinite}
.nf-begun path{transform-box:fill-box}
.nf-noga1,.nf-ruka2{transform-origin:0 0;animation:nf-mah .4s ease-in-out infinite alternate}
.nf-noga2,.nf-ruka1{transform-origin:0 0;animation:nf-mah .4s ease-in-out infinite alternate-reverse}
@keyframes nf-beg{0%,100%{transform:translateX(0)}50%{transform:translateX(16px)}}
@keyframes nf-mah{from{transform:rotate(-7deg)}to{transform:rotate(7deg)}}
.nf-akt{position:relative;margin:48px 0 0;max-width:720px;background:#fff;border:1px solid var(--line);border-left:6px solid var(--f);border-radius:14px;padding:22px 26px 18px}
.nf-akt h2{margin:0 0 12px;font-size:20px}
.nf-akt dl{display:grid;grid-template-columns:max-content 1fr;gap:8px 18px;margin:0}
.nf-akt dt{font-weight:700;color:var(--g)}
.nf-akt dd{margin:0}
.nf-pechat{position:absolute;right:-26px;top:-46px;margin:0;border:3px solid var(--n);color:var(--n);border-radius:50%;width:108px;height:108px;display:flex;align-items:center;justify-content:center;text-align:center;font-weight:900;font-size:13px;line-height:1.15;text-transform:uppercase;transform:rotate(14deg);opacity:.8;background:rgba(246,245,242,.85)}
@media (max-width:560px){
  .nf-akt{padding:20px 18px 16px}
  .nf-akt dl{grid-template-columns:1fr;gap:2px}
  .nf-akt dd{margin-bottom:8px}
  .nf-pechat{width:84px;height:84px;font-size:11px;right:6px;top:-48px}
}
@media (prefers-reduced-motion:reduce){.nf-begun,.nf-begun path{animation:none}}

/* ==========================================================================
   Отступы — система (01.11.2026). Правила и примеры — ../IDEI-DIZAYNA.md,
   раздел «Отступы». Проверка на сборке — node test/otstupy.mjs <папка сборки>.
   Новые стили берут отступы только из шкалы --o*, без «своих» 6, 10, 14 px.
   ========================================================================== */
:root{
  --o1:4px; --o2:8px; --o3:12px; --o4:16px; --o5:24px; --o6:32px; --o7:48px; --o8:64px;
  --o-ryad:12px;     /* кнопки и чипы в одном ряду */
  --o-blok:32px;     /* плашка, карточка, таблица, форма — от соседнего текста */
  --o-knopka:24px;   /* кнопка после текста или поля */
  --o-setka:24px;    /* между карточками сетки */
  --o-vnutri:24px;   /* внутренний отступ карточки и плашки */
  --o-razdel:64px;   /* между разделами страницы (над h2) */
}
@media (max-width:720px){
  :root{--o-blok:24px;--o-setka:16px;--o-vnutri:16px;--o-razdel:48px}
}

/* П1. Блоки-коробки отделены от текста и друг от друга одним шагом */
main :is(.plashka,.kratko,.razrabotka,.tablica,.kalk,.plashka-statyi,.ob-panel,.cifry){margin-top:var(--o-blok);margin-bottom:var(--o-blok)}
main :is(.plashka,.kratko,.kalk,.ob-panel){padding:var(--o-vnutri)}
.razrabotka{padding:var(--o4) var(--o5);gap:var(--o3)}
@media (max-width:480px){.razrabotka{flex-direction:column;gap:var(--o2)}}

/* П2. Кнопка не прилипает к тексту, полю или списку над ней */
main :is(p,ul,ol,dl,label,fieldset,.tablica,.kratko,.plashka,.kalk-polya,.kalk-pole,.kalk-galka,.kalk-stroki)+:is(.btn,.btn2,button.btn,a.btn){margin-top:var(--o-knopka)}
.blok-temy .btn2{margin-top:var(--o4)}
main :is(.acts,.primery,.ob-knopki,.dk-knopki,.ob-zony,.ob-sost),.podpiska-ryad{gap:var(--o-ryad)}

/* П3. Строки списка с линией: текст не касается линии */
.spisok-ssylok>li{padding:var(--o3) 0;margin:0}
.spisok-ssylok>li>a,.spisok-ssylok>li>.skoro{padding:var(--o1) 0}
.blok-temy .spisok-ssylok>li{margin:0}

/* П4. Карточки в сетке и стопкой */
.plitki{gap:var(--o-setka)}
.papka{gap:var(--o4) var(--o5)}
.instr-setka{gap:var(--o-setka)}
.cifry{gap:var(--o4)}
.test-vopros{margin:var(--o3) 0;padding:var(--o3) var(--o4)}
.test-vopros[open] summary{margin-bottom:var(--o3)}

/* П5. Заголовки: воздух над разделом больше, чем под ним */
.vkladka h2{margin:var(--o6) 0 var(--o3);padding-top:var(--o3)}
.lead-mal{margin-bottom:var(--o5)}

/* П6. Подвал */
.podval{padding:var(--o7) 0 var(--o8)}
.podpiska{margin-top:var(--o6);padding-top:var(--o5)}
.podpiska-lead{margin:var(--o2) 0 var(--o4)}
.podval-pravo{margin-top:var(--o6);padding-top:var(--o5)}
.podval-pravo p{margin:0 0 var(--o3)}
.podval-melko{gap:var(--o2) var(--o5)}

/* П3а. Строки чек-листов и списков-строк внутри темы: без «лишнего» margin от .blok-temy li */
.chek>li{padding:var(--o4) 0 var(--o4) 34px}
.chek>li::before{top:calc(var(--o4) + .72em)}
ol.chek>li::before{top:var(--o4)}
.chek-boks>li{padding:var(--o3) 0}
.blok-temy :is(.chek,.chek-boks,.dk-spisok,.spisok-ssylok)>li{margin:0}
.blok-temy .ob-punkt{margin:0 0 var(--o3)}
.legenda{gap:0}
.legenda div{padding:var(--o2) 0}

/* П2а. Кнопка в своём абзаце (формы калькуляторов) */
main p:has(>:is(.btn,.btn2):first-child){margin-top:var(--o-knopka)}
.sz-karta{gap:var(--o3)}
@media (max-width:720px){.oglavlenie{margin-bottom:var(--o5)}}

/* П4а. Таблица-карточки на телефоне и поля форм */
@media (max-width:720px){
  .tablica-karty tr{margin:0 0 var(--o4);padding:var(--o2) var(--o4)}
  .tablica-karty td,.tablica-karty td.chislo{padding:var(--o2) 0}
}
main .dk-polya{gap:var(--o5) var(--o5)}
main .zony-spisok{gap:var(--o-setka)}
main .blok-temy .ob-punkt,main .ob-punkt{margin:0 0 var(--o-setka)}

/* ==========================================================================
   Шапка на телефоне (01.11.2026): логотип и «Меню» в одной строке, поиск
   под ними на всю ширину, меню — выпадающая панель поверх страницы.
   ========================================================================== */
.shapka-ryad{flex-wrap:wrap;row-gap:var(--o2)}
.shapka-ryad>.menu-nav{order:3;flex-basis:100%}
@media (max-width:760px){
  .shapka{position:relative}
  .w.shapka-ryad{padding-top:var(--o4);padding-bottom:var(--o4);gap:var(--o3)}
  .shapka-ryad>.menu-nav,.hero-verh>.menu-nav-hero{order:2;flex-basis:auto;margin-left:auto}
  .shapka-ryad .ask-shapka{order:3;flex-basis:100%}
  .hero-verh{position:relative;flex-wrap:nowrap}
  .shapka .menu-nav,.hero-verh .menu-nav-hero{position:static}
  .shapka .menu-knopka,.hero-verh .menu-knopka{margin:0;min-height:44px;padding:8px 14px}
  .shapka .menu,.hero-verh .menu{position:absolute;left:0;right:0;top:100%;z-index:30;margin:0;padding:var(--o2) 18px var(--o5);background:var(--k);border-top:1px solid rgba(246,245,242,.12);box-shadow:0 18px 32px rgba(0,0,0,.28);max-height:calc(100dvh - 140px);overflow-y:auto}
  .hero-verh .menu{left:-18px;right:-18px;top:calc(100% + var(--o2));border-radius:0 0 16px 16px}
}

/* Телефон: всё, на что нажимают, — не ниже 44 px (проверка otstupy.mjs ловит < 40) */
@media (max-width:760px){
  main summary{padding-block:11px}
  main summary.kratko-zag{padding-block:9px}
  .chip{min-height:44px;display:inline-flex;align-items:center}
  main :is(.btn,.btn2){min-height:44px;display:inline-flex;align-items:center;justify-content:center}
  main button.ssylka{min-height:44px;display:inline-flex;align-items:center}
  main [data-obhod] input:not([type]){min-height:44px}
}

/* ——— Значок внешней ссылки (01.11.2026, перенесено из dorado.expert) ———
   Ссылка наружу помечена стрелкой из квадрата: человек видит до нажатия,
   что уходит с сайта и что откроется новая вкладка. Метку data-naruzhu ставит
   сборка (lib/vneshnie-ssylki.mjs) всем внешним ссылкам страниц, а скрипты,
   которые собирают ссылки в браузере, — сами. Цвет — currentColor через маску.
   Без значка: кнопки (у них своя форма) и ссылки-картинки. */
:root{--ico-naruzhu:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 3H3.5A.5.5 0 0 0 3 3.5v9a.5.5 0 0 0 .5.5h9a.5.5 0 0 0 .5-.5V9'/%3E%3Cpath d='M10 3h3v3M13 3 7.5 8.5'/%3E%3C/svg%3E")}
a[data-naruzhu]:not([class*="btn"]):not(:has(img,picture,svg))::after{content:"";content:"" / " (откроется в новой вкладке)";display:inline-block;width:.72em;height:.72em;margin-left:.22em;vertical-align:.02em;background:currentColor;-webkit-mask:var(--ico-naruzhu) center/contain no-repeat;mask:var(--ico-naruzhu) center/contain no-repeat;opacity:.7}
a[data-naruzhu]:hover::after{opacity:1}
