/* Логика слоя: общие стили. Токены — theme.json и docs/design-system/tokens.json. */
:root{
 --graphite:#14171A;--slate:#2B3034;--lit:#353B40;--paper:#F2F1EE;--stone:#E4E3DF;--sheet:#FAF9F7;
 --ink:#17191B;--ink-2:#3E4145;--muted:#62666B;--on:#ECEDEB;--on-2:#B9BDBF;--on-m:#9DA2A6;
 --th:#C2311E;--th-d:#F0563F;--tr:#2E5C8A;--tr-d:#7EAADB;
 --sans:"Golos Text","Helvetica Neue",Arial,sans-serif;--serif:"PT Serif",Georgia,serif;--mono:"Martian Mono","Courier New",monospace;
 --tx:80px;--pl:160px;--pr:64px;--pv:104px;--step:40px;
}
@media (max-width:1100px){:root{--tx:40px;--pl:88px;--pr:40px;--pv:88px;--step:32px}}
@media (max-width:720px){:root{--tx:20px;--pl:48px;--pr:24px;--pv:56px;--step:24px}}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:80px}
body{margin:0;background:var(--graphite);color:var(--ink);font-family:var(--serif);font-size:19px;line-height:1.53;text-rendering:optimizeLegibility}
img,svg{max-width:100%;display:block}
a{color:inherit}
:focus-visible{outline:2px solid currentColor;outline-offset:3px}
.nw{white-space:nowrap}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.wp-site-blocks>.wp-block-template-part,.wp-block-template-part{display:contents}
.main{display:block}
.entry-content>*,.wp-block-post-content>*{margin:0}

/* типографика */
.h1,.h2,.h3,h1,h2,h3{font-family:var(--sans);font-weight:600;margin:0;text-wrap:balance}
.h1{font-size:56px;line-height:60px;letter-spacing:-.01em}
.h2{font-size:36px;line-height:42px}
.h3{font-size:24px;line-height:30px}
.lead{font-family:var(--serif);font-size:19px;line-height:29px;margin:20px 0 0;max-width:640px}
.cap{font-family:var(--mono);font-size:11px;line-height:16px;margin:0;color:var(--muted)}
.mono{font-family:var(--mono);font-size:12px;font-weight:400}
.ui-link{font-family:var(--sans);font-size:15px;line-height:20px}
@media (max-width:720px){.h1{font-size:36px;line-height:40px}.h2{font-size:28px;line-height:34px}.h3{font-size:21px;line-height:27px}.lead{font-size:17px;line-height:26px;margin-top:14px}}

/* секции: фон на всю ширину, содержимое до 1440, нить слева на --tx */
.sec{position:relative;--thc:var(--th)}
.s-graphite,.s-slate{--thc:var(--th-d);color:var(--on)}
.s-graphite{background:var(--graphite)}.s-slate{background:var(--slate)}.s-paper{background:var(--paper)}.s-stone{background:var(--stone)}.s-sheet{background:var(--sheet)}
.s-graphite .lead,.s-slate .lead{color:var(--on-2)}
.s-paper .lead,.s-stone .lead,.s-sheet .lead{color:var(--ink-2)}
.s-graphite .cap,.s-slate .cap{color:var(--on-m)}
.sec>.wrap{position:relative;max-width:1440px;margin:0 auto;padding:var(--pv) var(--pr) var(--pv) var(--pl)}
.sec>.wrap::before{content:"";position:absolute;left:calc(var(--tx) - 1.5px);top:0;bottom:0;width:3px;background:var(--thc)}
/* ступень: следующий блок заходит половиной в предыдущий */
.st-l::before,.st-r::before{content:"";position:absolute;top:calc(-1 * var(--step));width:50%;height:var(--step);background:inherit}
.st-l::before{left:0}.st-r::before{right:0}
/* ступень слева закрывает конец нити предыдущего раздела: нить этого раздела начинается с верха ступени */
.st-l>.wrap::before{top:calc(-1 * var(--step))}
/* станция у заголовка блока */
.st-h{position:relative}
.st-h::before{content:"";position:absolute;left:calc(var(--tx) - var(--pl) - 6.5px);top:calc(50% - 6.5px);width:13px;height:13px;border-radius:50%;box-sizing:border-box;border:2px solid var(--ink);background:var(--paper)}
.s-graphite .st-h::before,.s-slate .st-h::before{border-color:var(--on);background:var(--slate)}
.s-stone .st-h::before{background:var(--stone)}.s-sheet .st-h::before{background:var(--sheet)}
.st-h{max-width:100%}
.h2.st-h::before{top:14px}
@media (max-width:720px){.h2.st-h::before{top:10px}}

/* крестики разметки и G-код */
.xs{position:absolute;top:22px;left:0;right:0;max-width:1440px;margin:0 auto;height:12px;pointer-events:none}
.xs i{position:absolute;top:0;width:12px;height:12px;margin-left:-6px}
.xs i::before,.xs i::after{content:"";position:absolute;background:#B9BBB9}
.xs i::before{left:0;right:0;top:5.5px;height:1px}.xs i::after{top:0;bottom:0;left:5.5px;width:1px}
.s-graphite .xs i::before,.s-graphite .xs i::after,.s-slate .xs i::before,.s-slate .xs i::after{background:#4A5056}
.xs i:nth-child(1){left:27.78%}.xs i:nth-child(2){left:50%}.xs i:nth-child(3){left:72.22%}.xs i:nth-child(4){left:94.44%}
.gc{position:absolute;z-index:1;top:44px;right:max(64px,calc((100% - 1440px)/2 + 64px));margin:0;font-family:var(--mono);font-size:11px;line-height:16px;text-align:right;white-space:pre;color:#B9BBB9;pointer-events:none}
.s-graphite .gc,.s-slate .gc{color:#4A5056}
@media (max-width:1100px){.xs{display:none}}
@media (max-width:900px){.gc{display:none}}

/* габаритная рамка: контур и квадратные маркеры по углам */
.fr{position:relative;border:1px solid #C4C5C3;padding:16px}
.fr::before{content:"";position:absolute;inset:-4px;pointer-events:none;background:linear-gradient(var(--hd),var(--hd)) 0 0/7px 7px no-repeat,linear-gradient(var(--hd),var(--hd)) 100% 0/7px 7px no-repeat,linear-gradient(var(--hd),var(--hd)) 0 100%/7px 7px no-repeat,linear-gradient(var(--hd),var(--hd)) 100% 100%/7px 7px no-repeat}
.fr-l{--hd:var(--ink);border-color:#C4C5C3}
.fr-d{--hd:var(--on-2);border-color:#4A5056}
.fr .cap{margin-top:8px}
.fig__img{width:100%;height:auto}
.fig__img.contain{object-fit:contain;background:transparent}

/* кнопки: при наведении слева направо косая заливка цветом нити */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;height:48px;padding:0 22px;border:0;border-radius:2px;font-family:var(--sans);font-size:15px;line-height:20px;font-weight:600;text-decoration:none;overflow:hidden;isolation:isolate;cursor:pointer;transition:color .35s ease,transform .12s ease;vertical-align:middle;white-space:nowrap}
.btn::before{content:"";position:absolute;top:0;bottom:0;left:-25%;width:150%;background:var(--sweep);transform:translateX(-105%) skewX(-24deg);transition:transform .5s cubic-bezier(.65,0,.35,1);z-index:-1}
.btn-l{background:var(--on);color:var(--graphite);--sweep:var(--th-d)}
.btn-d{background:var(--ink);color:var(--paper);--sweep:var(--th)}
.btn-block{display:flex;width:100%}
@media (hover:hover){.btn:hover::before{transform:translateX(0) skewX(-24deg)}.btn:hover{color:#fff}}
.btn:active{transform:translateY(1px)}
.row-btn{display:flex;flex-wrap:wrap;align-items:center;gap:16px 24px;margin-top:28px}
@media (max-width:720px){.row-btn{flex-direction:column;align-items:stretch}.row-btn .btn{width:100%}}
.s-graphite .ui-link,.s-slate .ui-link{color:var(--on)}

/* пересадка: ссылка на свою страницу, от нити к ней синяя ветка */
.tr{position:relative;display:inline-block;margin-top:28px;font-family:var(--sans);font-size:15px;line-height:20px;font-weight:600;color:var(--tr);text-decoration:none;border-bottom:1.5px solid currentColor}
.tr::before{content:"";position:absolute;right:calc(100% + 12px);top:10px;width:calc(var(--pl) - var(--tx) - 12px);height:1.5px;background:currentColor}
.s-graphite .tr,.s-slate .tr{color:var(--tr-d)}
@media (hover:hover){.tr:hover{border-bottom-width:3px}}

/* две колонки */
.two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,560px);gap:80px;align-items:start}
.two-p{grid-template-columns:repeat(2,minmax(0,1fr));gap:48px;margin-top:48px}
.mt-l{margin-top:32px}.mt-xl{margin-top:56px}
@media (max-width:1100px){.two{grid-template-columns:minmax(0,1fr);gap:40px}.two__r{max-width:680px}}
@media (max-width:720px){.two-p{grid-template-columns:minmax(0,1fr);gap:28px;margin-top:28px}}

/* шапка */
.hd{position:sticky;top:0;z-index:50;background:var(--graphite);color:var(--on);transition:transform .3s ease,background-color .3s ease}
.hd.is-hidden{transform:translateY(-100%)}
.main-home~* .hd,.is-home .hd{background:transparent}
.hd.is-solid{background:var(--graphite)}
.hd__in{display:flex;align-items:center;gap:32px;max-width:1440px;height:72px;margin:0 auto;padding:0 64px}
.hd__logo{display:block;flex:none;width:144px;color:inherit}
.hd__logo svg{width:100%;height:auto}
.route{display:inline-flex;align-items:center;gap:10px;font-family:var(--mono);font-size:12px;line-height:16px;color:var(--on-m);text-decoration:none;white-space:nowrap}
.route__t{display:flex;gap:5px}
.route__t i{width:3px;height:14px;background:#4A5056}
.route__t i.on{background:var(--on)}.route__t i.cur{background:var(--th-d)}
.nav{margin-left:auto}
.nav ul{display:flex;gap:28px;margin:0;padding:0;list-style:none}
.nav__a{position:relative;font-family:var(--sans);font-size:15px;line-height:20px;font-weight:600;color:var(--on);text-decoration:none;padding:6px 0}
.nav__a[aria-current]::after{content:"";position:absolute;left:calc(50% - 3px);bottom:-6px;width:6px;height:6px;border-radius:50%;background:var(--th-d)}
@media (hover:hover){.nav__a:hover{color:#fff;text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1.5px}}
.hd__menu{display:none;align-items:center;gap:8px;margin-left:auto;padding:12px 0;background:none;border:0;color:var(--on);font-family:var(--sans);font-size:15px;font-weight:600;cursor:pointer}
@media (max-width:1200px){.route__l{display:none}}
@media (max-width:900px){.hd__in{height:56px;padding:0 20px}.hd__logo{width:112px}.nav,.route{display:none}.hd__menu{display:inline-flex}}
.menu{position:fixed;inset:0;z-index:60;background:var(--graphite);color:var(--on);overflow:auto;padding-bottom:32px}
.menu[hidden]{display:none}
.menu::before{content:"";position:absolute;left:19px;top:56px;bottom:0;width:3px;background:var(--th-d)}
.menu__top{display:flex;align-items:center;justify-content:space-between;height:56px;padding:0 20px}
.menu__top .hd__menu{display:inline-flex;margin:0}
.menu__nav{margin:0;padding:24px 24px 0 48px;list-style:none}
.menu__a{display:block;padding:12px 0;font-family:var(--sans);font-size:24px;line-height:30px;font-weight:600;color:var(--on);text-decoration:none}
.menu__a[aria-current]{color:var(--th-d)}
.menu__foot{padding:28px 24px 0 48px}
.menu__c{margin:20px 0 0;font-family:var(--sans);font-size:15px;line-height:26px}
.menu__c a{text-decoration:none}
body.menu-open{overflow:hidden}

/* подвал */
.ft{position:relative;background:var(--graphite);color:var(--on);padding-bottom:48px}
.ft::before{content:"";position:absolute;top:calc(-1 * var(--step));left:0;width:50%;height:var(--step);background:var(--graphite)}
.ft__lines{display:block;width:100%;max-width:1440px;height:auto;margin:0 auto}
/* со скриптом линии подвала рисуются в пикселях по положению нити и подписей, без масштабирования */
.ft__lines.is-drawn{position:relative;max-width:none;height:200px;overflow:visible}
.ft__exits{position:absolute;top:0;left:0;right:0;max-width:1440px;margin:0 auto;height:200px;pointer-events:none}
.ft__exits a{position:absolute;left:83%;pointer-events:auto;font-family:var(--sans);font-size:15px;font-weight:600;color:var(--on);text-decoration:none}
.ft__exits a:first-child{top:78px}
.ft__exits a:last-child{top:192px}
.ft__exits .mono{color:var(--on-m);margin-left:6px}
.ft .gc{top:158px;left:max(120px,calc((100% - 1440px)/2 + 120px));right:auto;text-align:left}
.ft .wrap{max-width:1440px;margin:0 auto;padding:0 64px 0 120px}
.ft .wrap.ft__grid{margin-top:56px}
.ft__grid{display:grid;grid-template-columns:1.3fr 1fr 1.2fr 1fr 1.4fr;gap:32px;margin-top:56px;font-family:var(--sans);font-size:15px;line-height:24px}
.ft__brand svg{width:144px;height:auto}
.ft__brand p{margin:12px 0 0;max-width:220px;font-family:var(--sans);font-size:13px;line-height:18px;color:var(--on-m)}
.ft__col .cap{color:var(--on-m);margin-bottom:10px}
.ft__col ul{margin:0;padding:0;list-style:none}
.ft__col a{color:var(--on);text-decoration:none}
@media (hover:hover){.ft__col a:hover{text-decoration:underline;text-underline-offset:4px}}
.ft__legal{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-top:56px;font-family:var(--sans);font-size:13px;line-height:20px;color:var(--on-m)}
/* .ft .wrap обнуляет отступ сверху, поэтому отступ задаём с той же точностью */
.ft .wrap.ft__legal{margin-top:48px}
.ft__legal p{margin:0}
.ft__legal a{color:var(--on-m)}
@media (max-width:1100px){.ft__grid{grid-template-columns:repeat(3,minmax(0,1fr))}.ft__brand{grid-column:1/-1}.ft .wrap{padding:0 40px 0 88px}}
@media (max-width:720px){.ft__lines{display:none}.ft__exits{position:static;height:auto;display:flex;flex-direction:column;gap:8px;padding:0 24px 24px 48px}.ft__exits a{position:static}.ft{padding-top:40px}.ft::after{content:"";position:absolute;left:18.5px;top:calc(-1 * var(--step));height:calc(40px + var(--step));width:3px;background:var(--th-d)}
 .ft .wrap{padding:0 24px 0 48px}.ft__grid,.ft .wrap.ft__grid{grid-template-columns:minmax(0,1fr);margin-top:0}.ft__legal{flex-direction:column}.ft .wrap.ft__legal{margin-top:56px}.ft .gc{display:none}}

/* ---------- общие блоки страниц (перенесены с главной) ---------- */
/* таблица «название — пояснение» */
.tbl{margin:0;padding:0;list-style:none}
.tbl li{display:grid;grid-template-columns:minmax(0,240px) minmax(0,1fr);gap:24px;padding:14px 0;border-top:1px solid #BFC0BE}
.tbl li:last-child{border-bottom:1px solid #BFC0BE}
.tbl b{font-family:var(--sans);font-size:17px;line-height:24px;font-weight:600}
.tbl span{font-family:var(--mono);font-size:12px;line-height:24px;color:var(--muted)}
@media (max-width:720px){.tbl li{grid-template-columns:minmax(0,1fr);gap:2px}}
/* вопросы */
.faq{margin-top:36px;max-width:1056px}
.faq details{border-top:1px solid #BFC0BE;padding:18px 0}
.faq details:last-child{border-bottom:1px solid #BFC0BE}
.faq summary{display:flex;justify-content:space-between;align-items:center;gap:24px;list-style:none;cursor:pointer;font-family:var(--sans);font-size:19px;line-height:26px;font-weight:600}
.faq summary::-webkit-details-marker{display:none}
.faq summary i{position:relative;flex:none;width:16px;height:16px}
.faq summary i::before,.faq summary i::after{content:"";position:absolute;background:var(--ink)}
.faq summary i::before{left:1px;right:1px;top:7.25px;height:1.5px}
.faq summary i::after{top:1px;bottom:1px;left:7.25px;width:1.5px}
.faq details[open] summary i::after{display:none}
.faq details p{margin:10px 0 0;max-width:760px;font-family:var(--serif);font-size:17px;line-height:26px;color:var(--ink-2)}
@media (max-width:720px){.faq summary{font-size:17px;line-height:24px}}
/* призыв */
.cta{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 280px;gap:56px;align-items:start}
.cta__h{font-size:48px;line-height:52px}
.cta__opts{margin:0;padding:0;list-style:none}
.cta__opts li{padding:14px 0}
.cta__opts b{display:block;font-family:var(--sans);font-size:19px;line-height:26px;font-weight:600;color:var(--on)}
.cta__opts span{display:block;margin-top:2px;font-family:var(--serif);font-size:15px;line-height:23px;color:var(--on-2)}
.cta__img{width:100%;height:200px;object-fit:cover}
.cta__me{margin:10px 0 0}
.cta__me b{display:block;font-family:var(--sans);font-size:15px;line-height:20px;color:var(--on)}
.cta__me .cap{margin-top:4px}
@media (max-width:1100px){.cta{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.cta__t{grid-column:1/-1}}
@media (max-width:720px){.cta{grid-template-columns:minmax(0,1fr);gap:28px}.cta__h{font-size:36px;line-height:40px}}
.cta__me p{margin:0}

/* первый экран раздела: заголовок в рамке слева, полоса узлов справа, нить начинается засечкой */
.phero>.wrap{padding-top:72px;padding-bottom:calc(var(--pv) + 56px)}
/* стартовый G-код под рамками, справа внизу: сверху он налезал бы на полосу узлов */
.phero>.gc{top:auto;bottom:24px}
.phero>.wrap::before{top:78px}
.phero>.wrap::after{content:"";position:absolute;left:calc(var(--tx) - 10px);top:78px;width:20px;height:3px;background:var(--th-d)}
/* обе рамки первого экрана начинаются от одной линии — той же, где засечка начала нити; так одинаково на всех страницах */
.phero__in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,520px);gap:80px;align-items:start}
.phero__t{padding:28px}
.phero__t .lead{max-width:560px}
.crumb{margin:0 0 10px;font-family:var(--mono);font-size:12px;line-height:16px}
.crumb a{color:var(--on-m);text-decoration:none}
@media (hover:hover){.crumb a:hover{color:var(--on);text-decoration:underline;text-underline-offset:4px}}
.phero__n{padding:16px}
@media (max-width:1100px){.phero__in{grid-template-columns:minmax(0,1fr);gap:28px;align-items:start}.phero__n{max-width:520px}}
@media (max-width:720px){.phero{overflow:hidden}.phero>.wrap{padding-top:16px;padding-bottom:var(--pv)}.phero>.wrap::before,.phero>.wrap::after{display:none}
 /* на телефоне рамки стоят друг под другом: нить начинается засечкой между ними и идёт вниз от полосы узлов */
 .phero__n::after{content:"";position:absolute;left:calc(var(--tx) - var(--pl) - 10px);top:-15px;width:20px;height:4000px;pointer-events:none;background:linear-gradient(var(--th-d),var(--th-d)) 8.5px 0/3px 100% no-repeat,linear-gradient(var(--th-d),var(--th-d)) 0 0/20px 3px no-repeat}.phero__t{padding:16px}.crumb{font-size:11px}}
/* полоса восьми узлов */
.nstrip{display:block;margin-top:14px;text-decoration:none}
.nstrip ol{position:relative;display:flex;justify-content:space-between;margin:0;padding:0;list-style:none}
.nstrip ol::before{content:"";position:absolute;left:8px;right:8px;top:8px;height:1.5px;background:#4A5056}
.nstrip li{position:relative;display:flex;flex-direction:column;align-items:center;width:16px}
.nstrip i{display:block;width:12px;height:12px;margin:2px;border-radius:50%;border:1.5px solid var(--on-2);background:var(--graphite)}
.nstrip li.on i{width:16px;height:16px;margin:0;border:0;background:var(--th-d)}
.nstrip span{margin-top:10px;font-family:var(--mono);font-size:11px;line-height:16px;color:#6E7378}
.nstrip li.on span{color:var(--on)}
.nstrip__n{margin:14px 0 0;padding:0;list-style:none;font-family:var(--mono);font-size:12px;line-height:20px;color:var(--on-2)}
.nstrip__n span{color:var(--th-d)}
/* этапы работы: станция на нити у каждого этапа */
.steps{margin:32px 0 0;padding:0;list-style:none;counter-reset:st}
.steps li{position:relative;display:grid;grid-template-columns:40px minmax(0,1fr);padding:18px 0;counter-increment:st}
.steps li::before{content:"";position:absolute;left:calc(var(--tx) - var(--pl) - 6.5px);top:24px;width:13px;height:13px;border-radius:50%;box-sizing:border-box;border:2px solid var(--ink);background:var(--paper)}
.steps li::after{content:counter(st,decimal-leading-zero);grid-row:1;grid-column:1;font-family:var(--mono);font-size:12px;line-height:26px;color:var(--muted)}
.steps b{grid-column:2;font-family:var(--sans);font-size:19px;line-height:26px;font-weight:600}
.steps span{grid-column:2;margin-top:4px;font-family:var(--serif);font-size:17px;line-height:26px;color:var(--ink-2)}
.s-graphite .steps li::before,.s-slate .steps li::before{border-color:var(--on);background:var(--slate)}
.s-graphite .steps li::after,.s-slate .steps li::after{color:var(--on-m)}
.s-graphite .steps span,.s-slate .steps span{color:var(--on-2)}
@media (max-width:720px){.steps{margin-top:20px}.steps li{grid-template-columns:36px minmax(0,1fr);padding:14px 0}.steps li::before{top:20px}.steps b{font-size:17px}.steps span{font-size:15px;line-height:23px}}
/* таблица-столбик: пояснение под названием */
.tbl-st li{grid-template-columns:minmax(0,1fr);gap:0}
.tbl-st span{line-height:20px}
.s-graphite .tbl b,.s-slate .tbl b{color:var(--on)}
.s-graphite .tbl span,.s-slate .tbl span{color:var(--on-m)}
.s-graphite .tbl li,.s-slate .tbl li{border-color:#4A5056}
/* фото в рамке на тёмном */
.fr-d .fig__img.contain{background:#1B1F22}

/* плашка cookie: внизу слева, не перекрывает текст на широком экране */
.ck{position:fixed;left:16px;bottom:16px;z-index:80;max-width:440px;padding:16px 18px;background:var(--graphite);color:var(--on);border:1px solid #4A5056;box-shadow:0 12px 40px rgba(0,0,0,.35)}
.ck[hidden]{display:none}
.ck__t{margin:0;font-family:var(--sans);font-size:14px;line-height:20px;color:var(--on-2)}
.ck__t a{color:var(--tr-d)}
.ck__b{display:flex;align-items:center;gap:16px;margin-top:14px}
.ck__no{padding:0;border:0;background:none;font-family:var(--sans);font-size:15px;font-weight:600;color:var(--on);text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.ft__ck{padding:0;border:0;background:none;font:inherit;color:var(--on-m);text-decoration:underline;cursor:pointer}
@media (max-width:720px){.ck{left:8px;right:8px;bottom:8px;max-width:none;padding:14px}}

/* кнопка «Наверх»: справа внизу, плашка cookie — слева */
.up{position:fixed;right:16px;bottom:16px;z-index:75;display:flex;align-items:center;justify-content:center;width:48px;height:48px;padding:0;border:1px solid #4A5056;border-radius:2px;background:var(--graphite);color:var(--on);cursor:pointer;transition:border-color .2s ease}
.up[hidden]{display:none}
@media (hover:hover){.up:hover{border-color:var(--th-d);color:var(--th-d)}}
@media (max-width:720px){.up{right:12px;bottom:12px;width:44px;height:44px}}
/* увеличение писем: тёмный фон, письмо во всю высоту, подпись снизу */
img.zoomable{cursor:zoom-in}
img.zoomable:focus-visible{outline:2px solid currentColor;outline-offset:2px}
.lb{position:fixed;inset:0;z-index:90;display:flex;align-items:center;justify-content:center;gap:16px;padding:56px 72px;background:rgba(14,16,18,.94)}
.lb[hidden]{display:none}
.lb__f{margin:0;display:flex;flex-direction:column;align-items:center;max-width:100%;max-height:100%}
.lb__f img{display:block;max-width:100%;max-height:calc(100vh - 140px);width:auto;height:auto;background:#fff;box-shadow:0 20px 60px rgba(0,0,0,.5);cursor:zoom-in}
.lb.lb-big{display:block;overflow:auto;padding:56px 24px}
.lb.lb-big .lb__f{display:block;max-width:none;max-height:none}
.lb.lb-big .lb__f img{max-width:none;max-height:none;height:auto;cursor:zoom-out}
.lb.lb-big .lb__b,.lb.lb-big .lb__c{display:none}
.lb.lb-big .lb__x{position:fixed}
.lb__c{margin-top:12px;font-family:var(--mono);font-size:12px;line-height:16px;color:var(--on-m);text-align:center}
.lb__x{position:absolute;top:12px;right:16px;width:44px;height:44px;border:0;background:none;color:var(--on);font-size:32px;line-height:1;cursor:pointer}
.lb__b{flex:none;width:48px;height:48px;border:1px solid #4A5056;border-radius:2px;background:none;color:var(--on);font-size:18px;cursor:pointer}
@media (hover:hover){.lb__b:hover,.lb__x:hover{color:var(--th-d);border-color:var(--th-d)}}
.lb.lb-one .lb__b{display:none}
@media (max-width:720px){.lb{padding:56px 8px 72px;gap:0}.lb__b{position:absolute;bottom:14px}.lb__p{left:calc(50% - 56px)}.lb__n{right:calc(50% - 56px)}.lb__f img{max-height:calc(100vh - 170px)}}
/* две фотографии рядом, квадратные (главная, «Инструменты», «Создание технологий») */
.pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.pair .fig__img{aspect-ratio:1/1;object-fit:cover}
.pair .fig__img.contain{object-fit:contain;background:#fff}
@media (max-width:720px){.pair{gap:12px}.pair .fr{padding:8px}}
/* движение: при «уменьшить движение» выключено */
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
/* Отзывы (tools/theme/reviews.py): две колонки, как полоса книги; подпись как сноска */
.rvs{margin-top:40px}
.rvs{columns:2;column-gap:64px}
.rv{break-inside:avoid;margin:0 0 44px}
.rv .rv__t{font-family:var(--serif);font-size:18px;line-height:29px;color:var(--ink);margin:0 0 10px}
.rv .rv__n{font-family:var(--sans);font-weight:600;font-size:16px;line-height:22px;color:var(--ink);margin:18px 0 2px}
.rv .rv__r{font-family:var(--sans);font-size:14px;line-height:20px;color:var(--muted);margin:0;max-width:34em}
@media (max-width:720px){.rvs{margin-top:24px}.rvs{columns:1}.rv{margin-bottom:36px}.rv .rv__t{font-size:17px;line-height:27px}}
:where(.wp-block-image) img{height:auto}
/* Шаги на нити загораются при прокрутке (ll.js); кейс «Моторики» подсвечивает фото текущего шага */
.steps li::before{transition:background-color .35s,border-color .35s,transform .35s}
.steps li.is-on::before{background:var(--th);border-color:var(--th)}
.s-graphite .steps li.is-on::before,.s-slate .steps li.is-on::before{background:var(--th-d);border-color:var(--th-d)}
.fr{transition:border-color .35s}
.fr.is-cur{border-color:var(--th-d);--hd:var(--th-d)}
/* Лупа на плакатах (ll.js) */
.lens{position:absolute;z-index:3;width:260px;height:260px;border-radius:50%;pointer-events:none;opacity:0;transition:opacity .15s;background:#fff no-repeat;border:2px solid var(--ink);box-shadow:0 10px 30px rgba(0,0,0,.28)}
.fr-d .lens{border-color:var(--on)}
/* семь пунктов меню: не переносить строки; на средних экранах плотнее, уже 1120 px — кнопка «Меню» */
.nav__a{white-space:nowrap}
@media (max-width:1420px){.nav ul{gap:18px}.nav__a{font-size:14px}}
@media (max-width:1300px){.nav{display:none}.hd__menu{display:inline-flex}}
.est-req{padding:22px 24px}.est-req .cap{margin:6px 0 4px}@media (max-width:720px){.est-req{padding:16px}}
.cta__alt{margin-top:20px}
/* «Перейти к содержимому» (WordPress, для клавиатуры): в стиле сайта */
.skip-link.screen-reader-text:focus{left:12px;top:12px;padding:10px 14px;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:14px;line-height:20px;font-weight:600;text-decoration:none;box-shadow:none;outline:2px solid var(--tr);outline-offset:2px;border-radius:0}
/* Поиск и 404 (0.4.34): форма, разделы для старта, результаты */
.srch{display:flex;gap:12px;max-width:640px;margin-top:28px}
.srch input{flex:1;min-width:0;height:48px;padding:0 14px;border:1.5px solid #5B6166;border-radius:2px;background:var(--graphite);color:var(--on);font-family:var(--sans);font-size:16px}
.srch input:focus{outline:none;border-color:var(--on)}
.srch input::placeholder{color:var(--on-m)}
.srch .btn{flex:none}
.sx{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px;max-width:880px;margin:32px 0 0;padding:0;list-style:none}
.sx a{display:flex;flex-direction:column;gap:2px;padding:14px 0;border-top:1px solid #CFCDC8;color:var(--ink);text-decoration:none}
.sx b{font-family:var(--sans);font-size:17px;line-height:24px;font-weight:600}
.sx span{font-family:var(--serif);font-size:15px;line-height:22px;color:var(--muted)}
.s-graphite .sx a{border-top-color:#3A4045;color:var(--on)}
.s-graphite .sx span{color:var(--on-m)}
@media (hover:hover){.sx a:hover b{text-decoration:underline;text-underline-offset:4px}}
.srr .h2{margin:0 0 8px}
.srr .h2 ~ .h2{margin-top:56px}
.srr__l,.srr__c{margin:0;padding:0;list-style:none;max-width:880px}
.srr__l li{padding:18px 0;border-top:1px solid #CFCDC8}
.srr__l a{color:var(--ink);text-decoration:none}
.srr__l p{margin:6px 0 0;font-family:var(--serif);font-size:16px;line-height:24px;color:var(--ink-2)}
.srr__c li{display:flex;flex-wrap:wrap;gap:4px 14px;align-items:baseline;padding:12px 0;border-top:1px solid #CFCDC8;font-family:var(--sans);font-size:15px;line-height:22px}
.srr__c span{color:var(--muted)}
.srr .lead{margin-top:0}
@media (max-width:720px){.srch{flex-direction:column}.srch input{flex:none;width:100%}.srch .btn{width:100%}.sx{grid-template-columns:minmax(0,1fr)}}
