/* base.css */
@font-face{font-family:Onest;src:url('../../assets/fonts/onest-cyrillic.woff2') format('woff2');font-weight:100 900;font-display:swap;unicode-range:U+0400-052F,U+2116}@font-face{font-family:Onest;src:url('../../assets/fonts/onest-latin.woff2') format('woff2');font-weight:100 900;font-display:swap}@font-face{font-family:Mono;src:url('../../fonts/jetbrains-mono-cyrillic.woff2') format('woff2');font-display:swap;unicode-range:U+0400-052F,U+2116}@font-face{font-family:Mono;src:url('../../fonts/jetbrains-mono-latin.woff2') format('woff2');font-display:swap}
*{box-sizing:border-box}body{margin:0;font:16px/1.55 Onest,sans-serif}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:500}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:5px}button,input{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}img{display:block;max-width:100%;object-fit:cover}svg{display:block}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid currentColor;outline-offset:5px}.mono{font-family:Mono,monospace;font-size:11px;line-height:1.5}.skip{position:absolute;top:-100px;left:20px;z-index:20;background:#f0eade;color:#211c17;padding:12px}.skip:focus{top:10px}.round-link{font-size:11px}.arrow{font-size:24px}.topbar{padding:22px 42px;display:flex;justify-content:space-between;align-items:center;gap:25px;border-bottom:1px solid var(--line)}.signature{display:flex;align-items:center;gap:24px}.signature b{font-size:20px;font-weight:750;letter-spacing:-.045em}.signature span{font-size:11px;line-height:1.4}.topbar nav{display:flex;gap:28px;align-items:center;font-size:12px}.topbar nav a{min-height:44px;display:flex;align-items:center}.contact{display:inline-flex;justify-content:space-between;align-items:center;gap:30px;min-height:48px;padding:10px 18px;border:1px solid currentColor;font-size:13px}.footer{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:22px 42px;font-size:11px;border-top:1px solid var(--line)}.footer a{min-height:44px;display:inline-flex;align-items:center}.mobile-nav{display:none}.mobile-nav summary{min-height:44px;display:flex;align-items:center;cursor:pointer;font-size:13px}.mobile-nav nav{position:absolute;right:20px;top:75px;padding:20px;z-index:30;background:var(--paper);color:var(--ink);border:1px solid var(--line);display:grid;gap:12px;min-width:180px}.hidden{display:none!important}
@media(max-width:700px){.topbar{padding:15px 22px;gap:18px}.signature{gap:13px}.signature b{font-size:18px}.signature span{font-size:10px}.topbar>nav{display:none}.mobile-nav{display:block;flex-shrink:0}.footer{padding:22px;display:grid;gap:8px}.footer a{min-height:36px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation:none!important;transition:none!important}}

/* model.css */
:root{
/* Мера чтения: одна на весь сайт. Прежде каждый блок нёс своё число —
   46ch, 52ch, 58ch, 520px, 700px, 780px — и текст сидел в 700px внутри
   блока в 1244px. 66rem — та же мера, что у основного текста статьи:
   88 знаков в строке при кегле 18px, замер по 370 абзацам дал 88,2. */
  --measure:66rem;
--paper:#e7ebe6;--ink:#244438;--line:#b8c3b8;--soft:#50675a;--inset:#eef1e8}body{background:var(--paper);color:var(--ink)}.topbar{padding-block:15px}.anatomy{position:relative;min-height:890px;display:grid;grid-template-columns:minmax(0,1fr) 290px;column-gap:28px;padding:37px 42px 35px;isolation:isolate}.anatomy-title{position:relative;z-index:3;pointer-events:none}.anatomy-title>.mono{font-size:9px;letter-spacing:.05em}.anatomy-title h1{font-size:clamp(46px,5.5vw,80px);line-height:.98;letter-spacing:-.07em;font-weight:450;margin:25px 0 20px}.anatomy-title h1 span{color:var(--accent)}.anatomy-title>p{font-size:14px;line-height:1.55;color:var(--soft)}.anatomy-cta{display:inline-flex;align-items:center;gap:45px;margin-top:23px;padding:9px 0;min-height:44px;font-size:12px;border-bottom:1px solid var(--ink);pointer-events:auto}.anatomy-cta span{font-size:22px}.layer-panel{grid-column:2;grid-row:1;align-self:start;position:relative;z-index:4;padding-top:5px}.panel-heading{font-size:9px;color:var(--soft)}.layer-controls{margin-top:22px}.layer-controls button{border:0;border-top:1px solid var(--line);display:flex;align-items:center;gap:17px;min-height:62px;background:none;color:var(--soft);padding:0 10px;width:100%;text-align:left;transition:color .18s,background .18s}.layer-controls button:last-child{border-bottom:1px solid var(--line)}.layer-controls button>span{font:10px Mono,monospace}.layer-controls button strong{font-size:20px;letter-spacing:-.025em;font-weight:450}.layer-controls button .ic{width:18px;height:18px;margin-left:auto}.layer-controls button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.layer-controls button:hover{background:#cbd6c9;color:var(--ink)}.layer-description{margin-top:32px;min-height:254px}.layer-description>.mono{font-size:8px;color:var(--accent)}.layer-description h2{font-size:27px;line-height:1.14;letter-spacing:-.04em;margin-top:14px}.layer-description p{font-size:13px;line-height:1.7;color:var(--soft);margin-top:16px}.layer-description>a{display:inline-flex;align-items:center;min-height:44px;font-size:11px;text-decoration:underline;text-underline-offset:5px;margin-top:10px}.spread-control{border-top:1px solid var(--line);padding-top:22px;margin-top:28px}.spread-control label{display:flex;justify-content:space-between;font-size:11px}.spread-control input{width:100%;min-height:44px;accent-color:var(--ink);cursor:ew-resize}.spread-control>div{display:flex;justify-content:space-between;font-size:9px;color:var(--soft)}.model-window{position:absolute;inset:130px 330px 0 0;overflow:hidden;z-index:1;pointer-events:none}.model-scene{position:absolute;left:50%;top:355px;width:610px;height:390px;perspective:1800px;perspective-origin:50% 30%;transform:translate(-46%,-30%)}.stack{width:610px;height:390px;position:relative;transform-style:preserve-3d;transform:rotateX(53deg) rotateZ(-30deg)}.plane{position:absolute;inset:0;border:1px solid #94a795;background:#d7e0d5;padding:23px 25px;box-shadow:1px 2px 0 #879a88,4px 6px 0 #b1c0af;transition:transform .55s cubic-bezier(.2,.75,.25,1),border-color .25s,background .25s;backface-visibility:hidden;transform-style:preserve-3d}.plane.selected{border:2px solid var(--accent);background:#eef1e8;box-shadow:1px 3px 0 var(--accent),4px 7px 0 #c7b8a2}.plane-pages{background:#f3f3ea}.plane-caption{display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid #acb9a8;padding-bottom:15px;font-size:12px;letter-spacing:.02em}.plane-caption>b{font-weight:600}.plane-caption>span{font-size:11px;color:var(--soft)}.plane-footer{position:absolute;bottom:18px;left:25px;right:25px;font-size:11px;border-top:1px solid #adbca8;padding-top:13px}.page-wireframe{padding-top:18px}.wire-nav{display:flex;align-items:center;gap:35px;border-bottom:1px solid #c1c9b9;padding:12px 0;font-size:12px}.wire-nav>strong{font-size:24px;font-weight:500;letter-spacing:-.04em;margin-right:auto}.wire-content{display:grid;grid-template-columns:85px 1fr;gap:25px;margin-top:22px}.wire-side{display:grid;align-content:start;gap:15px;padding-top:10px}.wire-side i{height:5px;background:#a9b8a4;display:block}.wire-side i:nth-child(2n){width:70%}.wire-items{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.wire-items b{display:block;aspect-ratio:1.15;background:#c3cdbb;border:1px solid #aebca3}.wire-items div:nth-child(2) b{background:#d5d8c8}.wire-items div:nth-child(3) b{background:#adbfa9}.wire-items span{font-size:10px;display:block;margin-top:10px}.structure-map{padding-top:20px}.structure-root{background:#d6dfcf;border:1px solid #95a68c;width:145px;margin:auto;padding:12px;text-align:center;font-size:15px}.structure-line{width:1px;height:19px;background:#879a7d;margin:auto}.structure-groups{border-top:1px solid #879a7d;display:grid;grid-template-columns:repeat(3,1fr);gap:25px;padding-top:16px}.structure-groups>div{display:grid;gap:8px}.structure-groups b{font-size:13px;border:1px solid #9fae95;padding:8px;font-weight:500}.structure-groups span{font-size:10px;padding:6px 8px;border-bottom:1px solid #bfccb5}.structure-groups .marked{background:#d5a58d;color:#582e1e;border-color:#bd492e}.plane-crawl svg{width:100%;height:250px}.index-matrix{display:grid;grid-template-columns:repeat(18,1fr);gap:8px;margin-top:22px}.index-matrix span{aspect-ratio:1;border:1px solid #8fa487;background:#b8c9ad}.index-matrix span.excluded{background:#dce3d5;border-style:dashed}.index-matrix span.highlighted{background:#c56947;border-color:#9c4b33}.model-caption{position:absolute;bottom:23px;left:42px;display:grid;gap:9px;color:var(--soft)}.model-caption>.mono{font-size:9px}.model-caption>span:last-child{font-size:10px}.model-ruler{position:absolute;left:43px;top:340px;bottom:115px;display:flex;flex-direction:column;justify-content:space-between;font:8px Mono,monospace;color:#718575}.model-ruler span{position:relative;padding-left:16px}.model-ruler span::before{content:'';width:8px;height:1px;background:#718575;position:absolute;left:0;top:50%}.anatomy-bottom{display:grid;grid-template-columns:1fr 1fr 1.25fr;gap:35px;align-items:center;padding:30px 42px;background:var(--ink);color:var(--paper)}.anatomy-bottom .mono{font-size:9px;color:#b9cbb9}.anatomy-bottom>div>p{font-size:24px;letter-spacing:-.035em;margin-top:11px}.anatomy-bottom p>span{font-size:11px;letter-spacing:0;display:block;margin-top:5px;color:#ccdac9}.bottom-contact{border-left:1px solid #687f6c;padding-left:35px;display:flex;justify-content:space-between;gap:25px;align-items:center}.anatomy-bottom .bottom-contact>p{font-size:17px;line-height:1.4;margin:0;letter-spacing:-.02em}.bottom-contact>a{font-size:11px;display:grid;gap:10px;white-space:nowrap}.bottom-contact>a span{font-size:27px}
@media(min-width:1650px){.anatomy{min-height:970px;padding-right:65px;grid-template-columns:1fr 320px}.model-window{right:380px}.model-scene{transform:translate(-40%,-20%) scale(1.15);top:410px}.anatomy-title h1{font-size:88px}.model-caption{bottom:40px}}
@media(max-width:1100px){.anatomy{padding-inline:28px;grid-template-columns:1fr 250px;min-height:885px}.anatomy-title h1{font-size:58px}.model-window{right:280px;top:195px}.model-scene{transform:translate(-47%,-20%) scale(.8);top:345px}.layer-controls button strong{font-size:18px}.layer-description h2{font-size:24px}.model-caption{left:28px;max-width:400px}.model-ruler{left:28px}.anatomy-bottom{gap:25px;padding-inline:28px}.bottom-contact{display:block;padding-left:25px}.bottom-contact>a{display:flex;align-items:center;gap:20px;margin-top:15px}}
@media(max-width:800px){.anatomy{grid-template-columns:1fr 220px;gap:15px;padding-inline:22px;min-height:900px}.anatomy-title h1{font-size:46px}.model-window{right:235px;top:240px}.model-scene{transform:translate(-47%,-20%) scale(.67);top:325px}.layer-panel{padding-top:0}.layer-description h2{font-size:22px}.layer-description p{font-size:12px}.layer-controls button{gap:10px}.layer-controls button strong{font-size:17px}.model-caption{left:22px;max-width:290px}.model-ruler{display:none}.model-caption>span:last-child{font-size:9px}}
@media(max-width:600px){.anatomy{display:flex;flex-direction:column;padding:28px 22px 0;min-height:0;gap:0}.anatomy-title>.mono{font-size:8px}.anatomy-title h1{font-size:46px;line-height:1.02;margin:21px 0 16px}.anatomy-title>p{font-size:13px}.anatomy-cta{margin-top:13px;font-size:12px}.model-window{position:relative;inset:auto;margin:0 -22px;height:430px;order:1;overflow:hidden}.model-scene{transform:translate(-49%,-29%) scale(.49);top:223px;left:50%}.model-caption{bottom:12px;left:22px;gap:4px;max-width:310px}.model-caption>.mono{font-size:8px}.model-caption>span:last-child{font-size:8px}.layer-panel{order:2;padding:20px 0 30px}.layer-controls{display:grid;grid-template-columns:1fr 1fr;margin-top:15px;border-bottom:1px solid var(--line);gap:0 15px}.layer-controls button{min-height:52px;padding:0 8px}.layer-controls button:last-child{border-bottom:0}.layer-controls button strong{font-size:16px}.layer-controls button .ic{width:15px;height:15px}.layer-description{margin-top:25px;min-height:0}.layer-description h2{font-size:30px}.layer-description p{font-size:14px}.spread-control{margin-top:20px}.spread-control label{font-size:12px}.anatomy-bottom{grid-template-columns:1fr 1fr;padding:25px 22px;gap:25px}.anatomy-bottom>div>p{font-size:24px}.anatomy-bottom .mono{font-size:8px}.anatomy-bottom p>span{font-size:10px}.bottom-contact{grid-column:1/-1;border-left:0;border-top:1px solid #687f6c;padding:20px 0 0;display:flex;align-items:center;gap:20px}.bottom-contact>a{font-size:10px;margin:0;display:block}.bottom-contact>a span{display:block;margin-top:6px}.anatomy-bottom .bottom-contact>p{font-size:16px}}
.plane.above{opacity:.12}.plane{transition:transform .55s cubic-bezier(.2,.75,.25,1),border-color .25s,background .25s,opacity .3s}
.layer-controls button[aria-pressed=true]:hover{background:var(--ink);color:var(--paper)}
@media(max-width:600px){.model-scene{top:205px;transform:translate(-49%,-29%) scale(.46)}}
@media(max-width:350px){.anatomy-title h1{font-size:42px}.model-scene{transform:translate(-49%,-29%) scale(.39)}.model-window{height:390px}.model-caption>span:last-child{max-width:260px}.anatomy-bottom .bottom-contact>p{font-size:14px}}

/* home.css */
:root{--paper:#e7ebe6;--ink:#244438;--line:#b8c3b8;--accent:#b5462d;--soft:#50675a;--surface:#dbe2d8;--sheet:#f0f2e9;--deep:#1c382f;--light-ink:#dce8d8;--gutter:42px}html{scroll-behavior:smooth;scroll-padding-top:80px /* шапка липкая и занимает 67px: с прежними 24px якорь уезжал под неё */}body{background:var(--paper);color:var(--ink)}[hidden]{display:none!important}::selection{background:var(--ink);color:var(--paper)}.shell{width:min(1320px,calc(100% - var(--gutter)*2));margin-inline:auto}.eyebrow{font:10px/1.5 Mono,monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--soft)}/* .ic задан ниже по файлу и при равной силе селектора перебивал бы размер,
   поэтому знак ссылки объявлен через .ic.link-arrow, а не порядком строк. */
.ic.link-arrow,.link-arrow{width:17px;height:17px;flex:none;fill:currentColor;vertical-align:-.15em}.primary,.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;min-height:52px;padding:13px 23px;border:1px solid var(--ink);background:var(--ink);color:var(--paper);font-size:14px;font-weight:500;cursor:pointer}.primary:hover,.button:hover{background:var(--deep);text-decoration:none}.primary>span{font-size:22px}.text-link{display:inline-flex;gap:24px;align-items:center;min-height:44px;font-size:13px;border-bottom:1px solid var(--ink);margin-top:24px}.chapter{padding-block:76px}.block-head{display:flex;justify-content:space-between;gap:60px;align-items:flex-end;margin-bottom:42px}.block-head>div{position:relative;padding-left:38px}.section-number{position:absolute;left:0;top:1px;font:10px Mono,monospace;color:var(--accent)}.block-head h2{font-size:clamp(34px,4vw,58px);letter-spacing:-.06em;line-height:1.04;font-weight:450;margin-top:18px}.block-intro{font-size:15px;line-height:1.7;color:var(--soft);max-width:455px}.chapter+.chapter{border-top:1px solid var(--line)}.site-nav{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:18px var(--gutter);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:25px}.brand>b{font-size:24px;letter-spacing:-.07em;font-weight:750;white-space:nowrap}.brand>span{font-size:11px;line-height:1.4}.site-nav>nav{display:flex;gap:28px;align-items:center;font-size:12px}.site-nav nav a{min-height:44px;display:inline-flex;align-items:center}.site-nav .nav-contact{border-bottom:1px solid var(--ink);margin-left:8px}.site-nav .mobile-nav nav{display:grid}.anatomy{min-height:990px}.anatomy-title h1{font-size:clamp(46px,5vw,72px);font-weight:450}.anatomy-title>.hero-lead{font-size:15px;line-height:1.6;max-width:465px}.hero-person{display:inline-flex;align-items:center;gap:16px;margin-top:23px;pointer-events:auto;background:var(--paper);padding:6px 18px 6px 0;position:relative;z-index:3}.hero-person img{width:56px;height:66px}.hero-person strong{font-size:13px;font-weight:550;display:block}.hero-person small{font-size:11px;line-height:1.55;color:var(--soft);display:block;margin-top:5px}.hero-links{display:flex;align-items:center;gap:22px;margin-top:21px;pointer-events:auto}.hero-links>a:last-child{font-size:12px;min-height:44px;display:flex;align-items:center;background:var(--paper);padding:4px}.anatomy .model-scene{top:430px;left:57%;transform:translate(-46%,-30%) scale(.91)}.anatomy .model-caption{bottom:30px}.anatomy .layer-panel{padding-top:6px}.anatomy .layer-description{min-height:263px}.hero-links .primary{min-height:50px;font-size:13px}.experience-band{display:grid;grid-template-columns:repeat(4,1fr) 1.05fr;gap:30px;align-items:center;padding:31px var(--gutter);background:var(--ink);color:var(--paper)}.experience-band strong{font-size:42px;font-weight:400;line-height:1;letter-spacing:-.05em}.experience-band span{font-size:11px;display:block;margin-top:10px;color:#c5d6c2}.experience-band>p{font-size:12px;line-height:1.7;color:#ccdac9;border-left:1px solid #667e6b;padding-left:30px}.trust-line{display:flex;align-items:center;gap:50px;padding:25px 0;border-bottom:1px solid var(--line)}.trust-line>.eyebrow{max-width:130px;font-size:9px}.trust-line>div{display:flex;justify-content:space-between;flex:1;gap:20px;font-size:14px;align-items:center;flex-wrap:wrap}
/* Entry situations as a short diagnostic conversation. */
.situation-workbench{display:grid;grid-template-columns:1.3fr .7fr;gap:55px}.situation-list button{display:flex;align-items:center;gap:23px;width:100%;min-height:102px;padding:20px 0;border:0;border-top:1px solid var(--line);text-align:left;background:none;color:var(--ink)}.situation-list button:last-child{border-bottom:1px solid var(--line)}.situation-list button>.mono{font-size:10px;color:var(--soft);align-self:flex-start;margin-top:3px}.situation-list button>span:nth-child(2){flex:1}.situation-list strong{font-size:22px;font-weight:450;letter-spacing:-.025em;line-height:1.2;display:block}.situation-list small{display:block;font-size:13px;line-height:1.65;margin-top:9px;max-width:580px;color:var(--soft)}.situation-list button>.ic{width:20px;height:20px}.situation-list button[aria-pressed=true]{color:var(--accent)}.situation-list button[aria-pressed=true]>.mono{color:var(--accent)}.situation-list button:hover{background:var(--surface)}.diagnostic-note{background:var(--surface);padding:30px;position:relative;align-self:stretch}.diagnostic-symbol{display:block;width:66px;height:66px;fill:var(--accent);margin:8px 0 20px}.diagnostic-note h3{font-size:30px;letter-spacing:-.04em;line-height:1.13;max-width:320px}.diagnostic-note ol{padding-left:19px;margin:23px 0;font-size:13px;line-height:1.7;color:var(--soft)}.diagnostic-note li+li{margin-top:9px}.diagnostic-note>a{display:inline-flex;align-items:center;min-height:44px;font-size:13px;border-bottom:1px solid var(--ink)}
/* Full service register: all eight offers, prices and outcomes stay in view. */
.services .block-head{margin-bottom:25px}.service-context{font-size:14px;line-height:1.7;max-width:var(--measure);color:var(--soft);margin:0 0 36px 38px}.service-table-head{display:grid;grid-template-columns:1.1fr 1fr 210px;gap:42px;padding:14px 22px;background:var(--ink);color:#d5e2cf;font:9px/1.5 Mono,monospace;text-transform:uppercase;letter-spacing:.04em}.service{display:grid;grid-template-columns:1.1fr 1fr 210px;gap:42px;padding:24px 22px;border-bottom:1px solid var(--line);position:relative}.service:hover{background:var(--surface)}.service-name{position:relative;padding-left:33px}.service-name>span{position:absolute;left:0;top:2px;font:10px Mono,monospace;color:var(--accent)}.service h3{font-size:22px;letter-spacing:-.035em;line-height:1.16;font-weight:450}.service-name p{font-size:12px;line-height:1.7;color:var(--soft);margin-top:12px;max-width:420px}.service-outcome>span{display:none}.service-outcome p{font-size:13px;line-height:1.7;max-width:370px}.service-meta{display:grid;grid-template-columns:1fr;gap:8px}.service-meta>p{font-size:13px;line-height:1.45}.service-meta>p>span{display:block;font-size:9px;color:var(--soft);margin-bottom:3px}.service-meta>p:nth-child(2){font-size:18px;font-weight:500;letter-spacing:-.03em}.service-meta>a{font-size:11px;display:flex;justify-content:space-between;align-items:center;min-height:36px;max-width:170px}.service--flagship .service-name h3{color:var(--accent)}
/* Opening project files in the same green and paper system. */
.archive-section{background:var(--ink);color:var(--paper);padding:72px 0 76px}.archive-section .eyebrow,.archive-section .block-intro{color:#c1d1bd}.archive-section .section-number{color:#e8a58c}.archive-section .block-head{margin-bottom:38px}.case-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;align-items:end;padding-inline:8px}.case-tabs button{background:#355345;color:var(--paper);border:0;text-align:left;clip-path:polygon(0 0,calc(100% - 22px) 0,100% 22px,100% 100%,0 100%);padding:17px 23px 18px;min-height:102px}.case-tabs button>span{font:9px Mono,monospace;color:#b3c9ae;display:block;margin-bottom:8px}.case-tabs button strong{font-size:27px;font-weight:450;letter-spacing:-.045em;display:block;line-height:1.2}.case-tabs button small{font-size:10px;margin-top:8px;display:block;color:#c6d4c1}.case-tabs button[aria-pressed=true]{background:var(--sheet);color:var(--ink);min-height:114px;padding-top:23px}.case-tabs button[aria-pressed=true] span,.case-tabs button[aria-pressed=true] small{color:var(--soft)}.case-tabs button:hover{background:#526d59}.case-tabs button[aria-pressed=true]:hover{background:var(--sheet)}.archive-paper{background:var(--sheet);color:var(--ink);position:relative;box-shadow:7px 9px 0 #879b80}.case-file{padding:27px 35px 29px}.file-meta{display:flex;justify-content:space-between;gap:25px;border-bottom:1px solid #b9c4b3;padding-bottom:18px;font:9px Mono,monospace;color:var(--soft)}.ecom-head{display:grid;grid-template-columns:1fr .8fr;gap:45px;align-items:center;padding:30px 0}.ecom-head h3{font-size:34px;line-height:1.12;letter-spacing:-.045em;font-weight:450}.case-figure strong{font-size:46px;font-weight:400;letter-spacing:-.06em;line-height:1.1;display:block}.case-figure>span{font-size:12px;line-height:1.6;display:block;margin-top:10px;color:var(--soft)}.case-chart-plate{position:relative;padding:20px 20px 35px;background:#fcfcf7;border:1px solid #c8cfbf}.case-chart-plate img{width:100%;height:auto}.plate-label{position:absolute;bottom:8px;left:20px;font:8px Mono,monospace;color:var(--soft)}.file-foot{display:grid;grid-template-columns:1fr 1fr;gap:28px;border-top:1px solid #bac5b3;padding-top:20px;margin-top:26px}.file-foot ul{padding-left:17px;margin:0;font-size:12px;line-height:1.8}.file-foot p{font-size:12px;line-height:1.8;color:var(--soft)}.file-foot>a{grid-column:1/-1;display:flex;align-items:center;justify-content:flex-end;min-height:38px;font-size:12px}.named-case{display:grid;grid-template-columns:1fr .75fr;gap:75px;min-height:383px;padding:30px 0 10px}.client-name{font-size:72px;line-height:1;font-weight:600;letter-spacing:-.07em;margin-bottom:22px}.named-case h3{font-size:30px;letter-spacing:-.04em;line-height:1.15;font-weight:450}.named-case>div>p:not(.client-name){font-size:14px;line-height:1.7;max-width:540px;margin-top:19px;color:var(--soft)}.named-case .case-figure{margin-top:30px}.case-method{padding:24px;background:#dce4d5;align-self:stretch}.case-method>.eyebrow{font-size:9px}.case-method p{border-bottom:1px solid #b0bea7;padding:16px 0;font-size:14px}.case-method p>span{font:9px Mono,monospace;margin-right:24px;color:var(--accent)}
/* Endpoints are drawn as endpoints, without invented trend lines. */
.outcome-pair{display:grid;grid-template-columns:1fr 1fr;gap:60px}.outcome-pair article{border-top:1px solid var(--line);padding-top:22px}.outcome-pair h3{font-size:27px;font-weight:450;letter-spacing:-.035em}.outcome-start{font-size:13px;line-height:1.7;margin-top:17px;max-width:400px;color:var(--soft)}.outcome-start>span{display:block;font:9px Mono,monospace;color:var(--soft);text-transform:uppercase;margin-bottom:8px}.outcome-line{display:flex;align-items:center;gap:20px;margin:22px 0 18px}.outcome-line i{width:8px;height:8px;border:1px solid #79916f;border-radius:50%}.outcome-line b{width:12px;height:12px;background:var(--ink);border-radius:50%}.outcome-line>span{flex:1;display:flex;justify-content:flex-end;align-items:center;border-bottom:1px solid var(--line);align-self:center;color:var(--soft)}.outcome-line>span .ic{width:18px;height:18px;margin-bottom:-9px}.outcome-end strong{font-size:58px;font-weight:400;line-height:1;letter-spacing:-.06em;display:block}.outcome-end>span{font-size:13px;display:block;margin-top:11px;color:var(--soft)}
/* The accepted investigation, recolored rather than treated as a separate site. */
.open-case{border:1px solid var(--line);margin-top:5px;margin-bottom:76px;background:var(--surface)}.case-top{display:grid;grid-template-columns:1fr 1fr;gap:60px;padding:32px 36px 10px}.investigation-intro>.mono{color:var(--soft);font-size:9px;letter-spacing:.04em}.investigation-intro h2{font-size:46px;letter-spacing:-.06em;line-height:1.03;margin:22px 0 16px;font-weight:450}.investigation-intro h2 span{color:var(--accent)}.investigation-intro>p{font-size:13px;line-height:1.6;color:var(--soft)}.case-contact{display:none}.readout{align-self:center;padding:20px 0 0 15px}.readout>.mono{font-size:9px;color:var(--accent)}.readout>strong{font-size:clamp(66px,8vw,115px);font-weight:350;letter-spacing:-.07em;line-height:1.15;display:block;white-space:nowrap;font-variant-numeric:tabular-nums}.readout>p{font-size:13px}.readout-rule{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);margin-top:15px;padding-top:10px;font-size:9px;color:var(--soft)}.evidence{padding:0 22px;margin-top:27px}.chart-edge{display:flex;justify-content:space-between;gap:20px;font-size:8px;color:var(--soft)}.chart-plot svg{width:100%;height:auto;overflow:visible}.chart-grid path{stroke:#b9c7b0;stroke-width:1;fill:none}.chart-grid text{fill:#55704c;font:10px Mono,monospace}#chart-area{fill:#b3c4a8}.data-line{stroke:var(--ink);stroke-width:2;fill:none}.crosshair{stroke:var(--accent);stroke-width:1;stroke-dasharray:3 5}#active-point{fill:var(--accent);stroke:#e0e7dc;stroke-width:4}.small-point{fill:#e0e7dc;stroke:var(--ink);stroke-width:2}.chart-note{font:11px Onest,sans-serif;fill:var(--accent)}.note-arrow{stroke:var(--accent);fill:none;stroke-width:1}.chart-bottom text{font:9px Mono,monospace;fill:#5b7351;letter-spacing:.08em}.month-selector{display:grid;grid-template-columns:repeat(8,1fr);border-block:1px solid var(--line);margin-inline:-22px}.month-selector button{border:0;border-right:1px solid var(--line);padding:13px 8px;background:none;text-align:center;color:var(--soft);min-height:52px;font-size:12px}.month-selector button:last-child{border-right:0}.month-selector button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.month-selector button:hover{background:#c4d2ba;color:var(--ink)}.month-selector button[aria-pressed=true]:hover{background:var(--ink);color:var(--paper)}.annotation{display:grid;grid-template-columns:170px 1fr 180px;gap:30px;padding:27px 36px 31px;min-height:160px}.annotation-label .mono{font-size:8px;display:block;margin:4px 0 13px;color:var(--soft)}.annotation-label>span:last-child{font:22px Mono,monospace;color:var(--accent)}.annotation-copy h2{font-size:22px;line-height:1.2;letter-spacing:-.035em;font-weight:450}.annotation-copy p{font-size:12px;line-height:1.8;color:var(--soft);margin-top:12px;max-width:690px}.annotation>button{align-self:start;border:0;background:none;padding:0 0 10px;border-bottom:1px solid var(--line);font-size:11px;display:flex;justify-content:space-between;align-items:center;min-height:44px;color:var(--ink)}.annotation>button>span{font-size:24px}
/* Process, deliverables and commitments. */
.process{border-top:1px solid var(--line)}.process-stages{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}.process-stages button{border:0;border-top:1px solid var(--line);color:var(--ink);text-align:left;background:none;min-height:155px;padding:18px 0}.process-stages button>span{font:28px Mono,monospace;color:#809078;display:block;line-height:1}.process-stages button>strong{font-size:24px;font-weight:450;display:block;line-height:1.15;letter-spacing:-.035em;margin-top:26px}.process-stages button>small{font-size:12px;display:block;margin-top:12px;color:var(--soft)}.process-stages button[aria-pressed=true]{border-top:3px solid var(--ink);padding-top:16px}.process-stages button[aria-pressed=true]>span{color:var(--accent)}.process-detail{background:var(--surface);display:grid;grid-template-columns:140px 1fr 1fr;gap:30px;padding:25px 28px;margin-top:23px;align-items:start}.process-detail>.mono{font-size:9px;color:var(--soft);padding-top:5px}.process-detail h3{font-size:24px;letter-spacing:-.04em;line-height:1.15;font-weight:450}.process-detail p{font-size:13px;line-height:1.7;color:var(--soft)}.deliverable-section{padding:72px 0;background:var(--surface)}.deliverable-grid{display:grid;grid-template-columns:1fr .85fr;gap:90px;align-items:center}.deliverable-grid .block-head{margin-bottom:32px}.deliverable-points article{position:relative;padding:21px 0 21px 38px;border-top:1px solid #afbeaa}.deliverable-points article>span{position:absolute;left:0;top:23px;font:10px Mono,monospace;color:var(--accent)}.deliverable-points h3{font-size:22px;font-weight:450;letter-spacing:-.025em;line-height:1.15}.deliverable-points p{font-size:13px;line-height:1.7;max-width:450px;color:var(--soft);margin-top:12px}.report-model{position:relative;padding:34px 35px 29px 55px;background:var(--sheet);color:var(--ink);transform:rotate(1.1deg);box-shadow:8px 10px 0 #b7c3ae;border:1px solid #b0bda5;max-width:510px}.report-binding{position:absolute;left:20px;top:30px;bottom:30px;width:7px;background:repeating-linear-gradient(to bottom,#bac8b1 0,#bac8b1 7px,transparent 7px,transparent 27px)}.report-top{display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid #b7c4aa;padding-bottom:20px}.report-top b{font-size:20px;letter-spacing:-.05em}.report-top .mono{font-size:7px}.report-label{font-size:11px;color:var(--soft);margin-top:33px}.report-model h3{font-size:66px;letter-spacing:-.07em;line-height:.95;font-weight:450;margin-top:14px}.report-model ol{list-style:none;padding:0;margin:35px 0 25px}.report-model li{padding:13px 0;border-top:1px solid #bcc8b2;font-size:13px}.report-model li>span{font:9px Mono,monospace;color:var(--accent);margin-right:20px}.report-model figcaption{font-size:10px;color:var(--soft);line-height:1.7}.report-page{border-top:1px solid #b7c4aa;padding-top:16px;margin-top:22px;font:8px Mono,monospace;text-align:right}.boundary-manifest{display:grid;grid-template-columns:1fr 1fr;gap:40px 60px}.boundary-manifest article{border-top:1px solid var(--line);padding:24px 0 0 38px}.boundary-manifest h3{font-size:27px;letter-spacing:-.035em;font-weight:450;line-height:1.15}.boundary-manifest article:first-child h3::before{content:'+';margin-left:-38px;width:38px;display:inline-block;color:var(--ink)}.boundary-manifest article:nth-child(2) h3::before{content:'−';margin-left:-38px;width:38px;display:inline-block;color:var(--accent)}.boundary-manifest ul{list-style:none;margin:18px 0 0;padding:0}.boundary-manifest li{font-size:15px;line-height:1.65;color:var(--soft);padding:9px 0;border-bottom:1px solid #ccd5c6}/* Заметка идёт во всю ширину shell, как колонки над ней: max-width 1030px
   обрывал её на 290px раньше правого края на 1440. Отступ 38px повторяет
   колонку маркера +/− у .boundary-manifest article: 36px отступа плюс 2px
   акцентной линии дают те же 38px, поэтому текст заметки встаёт на ту же
   вертикаль, что заголовки и пункты списков. */
.boundary-note{font-size:13px;line-height:1.8;color:var(--soft);grid-column:1/-1;border-left:2px solid var(--accent);padding-left:36px;margin-top:5px}.guarantees{padding-top:50px}.guarantees .block-head h2{font-size:42px}.guarantees .boundary-manifest h3{font-size:24px}.guarantees>.boundary-note{margin-top:30px}
/* Client evidence is kept in its original colors and context. */
.proof-section{background:var(--surface);padding:72px 0}.proof-layout{display:grid;grid-template-columns:1.5fr .65fr;gap:43px;align-items:center}.proof-figure{margin:0}.proof-figure img{width:100%;height:auto;border:1px solid #b2bea9}.proof-figure figcaption{font:9px/1.6 Mono,monospace;display:flex;justify-content:space-between;gap:20px;color:var(--soft);margin-top:14px}.proof-copy{border-top:1px solid #a7b69d;padding-top:23px}.proof-copy .proof-label{font:9px Mono,monospace;color:var(--soft);text-transform:uppercase;line-height:1.6}.proof-copy blockquote{margin:23px 0;font-size:22px;font-weight:450;letter-spacing:-.025em;line-height:1.5}.proof-copy>p:last-child strong{font-size:13px;font-weight:550;display:block}.proof-copy>p:last-child span{font-size:11px;color:var(--soft);display:block;margin-top:4px}.voices .block-head{margin-bottom:31px}.voices-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;counter-reset:quote}.voices-grid figure{margin:0;border-top:1px solid var(--line);padding-top:22px;position:relative}.voices-grid figure::before{counter-increment:quote;content:'0' counter(quote) ' / ОТЗЫВ';font:9px Mono,monospace;color:var(--accent)}.voices-grid blockquote{margin:25px 0 24px;font-size:22px;font-weight:400;letter-spacing:-.025em;line-height:1.6}.voices-grid figcaption{display:flex;align-items:baseline;gap:20px;font-size:11px;color:var(--soft)}.voices-grid figcaption strong{font-size:14px;color:var(--ink);font-weight:500}.credential-strip{display:grid;grid-template-columns:repeat(4,1fr);list-style:none;padding:0;margin:0;gap:25px}.credential-strip li{border-top:1px solid var(--line)}.credential-strip a{padding:25px 0 17px;display:flex;flex-direction:column;min-height:270px}.credential-strip img{width:70px;height:70px;object-fit:contain;margin-bottom:24px}.credential-strip small{font-size:9px;color:var(--soft)}.credential-strip h3{font-size:18px;line-height:1.23;font-weight:450;letter-spacing:-.02em;margin-top:9px;max-width:240px}.credential-strip a>span{margin-top:auto;padding-top:21px;font-size:11px;display:flex;align-items:center;gap:18px}.credential-more .text-link{margin-top:20px}
/* Tools: gateway, register and a readable export specimen. */
.tools-section{background:var(--ink);color:var(--paper);padding:74px 0}.tools-section .eyebrow,.tools-section .block-intro{color:#c2d1be}.tools-section .section-number{color:#e4a38e}.audit-gateway{display:grid;grid-template-columns:1fr .6fr;gap:70px;padding:40px;background:var(--sheet);color:var(--ink)}.audit-gateway .eyebrow{color:var(--soft)}.audit-gateway h3{font-size:42px;line-height:1.05;letter-spacing:-.05em;font-weight:450;margin-top:18px}.audit-gateway p{font-size:14px;max-width:var(--measure);line-height:1.75;color:var(--soft);margin-top:23px}.audit-meta{display:flex;flex-wrap:wrap;gap:20px;font:9px Mono,monospace;margin:25px 0}.audit-specimen{border-left:1px solid #b1bea7;padding-left:38px;display:flex;flex-direction:column}.audit-specimen>.mono{font-size:8px;color:var(--soft)}.audit-specimen>strong{font-size:126px;font-weight:350;line-height:1.15;letter-spacing:-.07em}.audit-specimen ul{list-style:none;padding:0;margin:0;font-size:13px}.audit-specimen li{padding:8px 0;border-bottom:1px solid #c0cab6}.audit-stamp{font-size:9px;color:var(--soft);margin-top:auto;padding-top:25px}.tool-register{margin-top:35px}.tool-register>a{display:grid;grid-template-columns:45px 1fr 150px 25px;gap:25px;align-items:center;min-height:116px;padding:22px 0;border-bottom:1px solid #5c745f}.tool-register>a>span{font:10px Mono,monospace;color:#bdccba}.tool-register h3{font-size:30px;letter-spacing:-.04em;font-weight:450}.tool-register p{font-size:13px;max-width:var(--measure);color:#c1d1bd;margin-top:9px;line-height:1.7}.tool-register small{font-size:10px;color:#c1d1bd}.tool-register b{font-weight:400;font-size:20px}.tools-more{font-size:13px;line-height:1.9;color:#c4d3bf;margin-top:27px;max-width:1140px}.tools-more a{text-decoration:underline;text-underline-offset:4px}.tools-section .text-link{border-color:#bbceb5}.crawler-band{list-style:none;padding:0;margin:0 0 38px;display:grid;grid-template-columns:repeat(4,1fr);gap:30px}.crawler-band li{border-top:1px solid var(--line);padding-top:23px}.crawler-band strong{font-size:66px;letter-spacing:-.06em;font-weight:350;line-height:1;display:block}.crawler-band span{font-size:12px;line-height:1.7;color:var(--soft);display:block;margin-top:15px;max-width:260px}.workbook{border:1px solid #a7b89f;background:var(--sheet)}.workbook>header{display:flex;align-items:center;gap:20px;padding:20px 25px;border-bottom:1px solid #b4c0aa}.file-icon{background:var(--ink);color:var(--paper);font:600 20px/1 Mono,monospace;width:36px;height:42px;display:grid;place-items:center}.workbook>header strong{font-size:16px;font-weight:500;display:block}.workbook>header small{font-size:10px;color:var(--soft);display:block;margin-top:4px}.workbook>header>.mono{margin-left:auto;font-size:9px;color:var(--soft)}.workbook-tabs{display:flex;background:var(--surface);padding:0 20px;gap:5px}.workbook-tabs button{border:0;border-bottom:3px solid transparent;background:none;padding:13px 18px;min-height:48px;color:var(--soft);font-size:12px}.workbook-tabs button[aria-pressed=true]{background:var(--sheet);color:var(--ink);border-color:var(--ink)}.sheet-columns,.sheet-content{display:grid;grid-template-columns:1fr 1fr 1fr;gap:0}.sheet-columns span{padding:14px 22px;border-right:1px solid #becab6;background:#e5ebe0;font:9px Mono,monospace;color:var(--soft)}.sheet-columns span:last-child{border:0}.sheet-content>*{font-size:14px;line-height:1.75;padding:26px 22px;border-right:1px solid #becab6;font-weight:400;min-height:150px}.sheet-content strong{font-size:20px;letter-spacing:-.025em;line-height:1.3;font-weight:450}.sheet-content>*:last-child{border:0}.workbook>footer{border-top:1px solid #bcc8b2;padding:14px 22px;font-size:10px;color:var(--soft)}.crawler-note{font-size:12px;line-height:1.8;max-width:1080px;color:var(--soft);margin-top:23px}
/* A small publication index rather than another row of cards. */
.journal-section{background:var(--surface);padding:72px 0}.journal-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:65px}
/* У грид-элемента min-width по умолчанию auto, поэтому трек не сжимался ниже
   min-content вложенной обложки: на 320px он оставался 304px при контейнере
   276px, и страница ехала вбок на 6px. */
.journal-layout>*{min-width:0}.editorial-cover{display:block;background:var(--ink);color:var(--paper);padding:32px;min-height:354px;position:relative;clip-path:polygon(0 0,calc(100% - 33px) 0,100% 33px,100% 100%,0 100%)}.editorial-cover>span{font:9px Mono,monospace;color:#c0d2b9;display:block}.editorial-cover>strong{font-size:58px;letter-spacing:-.06em;line-height:1.04;font-weight:450;display:block;margin-top:30px}.editorial-cover>p{font-size:14px;color:#c6d7bf;margin-top:18px}.editorial-cover ol{display:flex;flex-wrap:wrap;gap:9px 25px;list-style:none;padding:0;margin:32px 0 0;max-width:400px;color:#b9cdb3;font:9px/1.5 Mono,monospace}.featured-article>.article-meta{margin-top:21px}.article-meta{display:flex;flex-wrap:wrap;gap:9px 18px;font-size:9px;color:var(--soft);line-height:1.7}.featured-article>h3{font-size:24px;line-height:1.24;font-weight:450;letter-spacing:-.035em;margin-top:12px}.article-list>article{display:grid;grid-template-columns:30px 1fr 45px;gap:17px;padding:23px 0;border-top:1px solid #a8b89e}.article-list>article>span{font:9px Mono,monospace;color:var(--accent)}.article-list h3{font-size:24px;letter-spacing:-.035em;line-height:1.2;font-weight:450;margin-top:13px}.article-list>article>small{font-size:9px;color:var(--soft);text-align:right}.article-list article>div>p:last-child{font-size:13px;color:var(--soft);line-height:1.7;margin-top:13px}.faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}.faq .block-head{margin-bottom:23px}.faq>div>p{font-size:14px;line-height:1.7;max-width:320px;color:var(--soft);margin-left:38px}.faq>div>p a{text-decoration:underline}.faq-list details{border-top:1px solid var(--line)}.faq-list details:last-child{border-bottom:1px solid var(--line)}.faq-list summary{cursor:pointer;display:flex;align-items:center;gap:20px;list-style:none;min-height:82px;font-size:18px;letter-spacing:-.02em;line-height:1.3}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary>span{font:9px Mono,monospace;color:var(--soft);flex-shrink:0}.faq-list summary i{font-style:normal;margin-left:auto}.faq-list summary i::before{content:'+';font-size:24px;color:var(--soft)}.faq-list details[open] summary i::before{content:'−'}.faq-list details[open] summary{color:var(--accent)}.faq-list details>div{padding:0 25px 23px 35px}.faq-list p{font-size:14px;line-height:1.8;color:var(--soft)}
/* Contact, all original fields, and the full footer. Photos stay in color. */
.contact-section{background:var(--surface);padding:74px 0}.contact-section .block-head{margin-bottom:42px}.contact-grid{display:grid;grid-template-columns:.75fr 1fr;gap:100px;align-items:start}.contact-person{display:grid;grid-template-columns:150px 1fr;gap:20px 24px;max-width:490px}.contact-person>img{width:150px;height:185px;grid-row:1/4;object-position:center 25%;border:1px solid #c0c9b8}.contact-person>div{align-self:end;padding-top:14px}.contact-person strong{font-size:22px;font-weight:450;letter-spacing:-.035em;line-height:1.2;display:block}.contact-person>div>span{font-size:12px;line-height:1.65;display:block;margin-top:13px}.contact-person>p{font-size:12px;line-height:1.75;color:var(--soft)}.contact-person>a{font-size:11px;line-height:1.7;align-self:start;text-decoration:underline;text-underline-offset:4px;min-height:44px;display:flex;align-items:center}.contact-form{margin:0}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:25px}.field{display:flex;flex-direction:column;margin-bottom:20px}.field>label{font-size:12px;margin-bottom:10px;font-weight:450}.field label>span{color:var(--accent)}.field input,.field textarea{font:16px/1.5 Onest,sans-serif;background:var(--inset);border:1px solid #97ab8c;border-radius:0;padding:13px 14px;width:100%;min-height:50px;color:var(--ink);resize:vertical}.field input::placeholder,.field textarea::placeholder{color:#687f5e;opacity:1}.field input:focus,.field textarea:focus{outline:2px solid var(--ink);outline-offset:2px}.field small{font-size:10px;color:var(--soft);line-height:1.6;margin-top:7px}.field .field-error:empty{display:none}.consent{display:flex;gap:12px;align-items:center;font-size:11px;line-height:1.7;margin-bottom:20px}.consent input{width:19px;height:19px;accent-color:var(--ink);flex-shrink:0;margin:0}.consent label{padding:6px 0}.consent a{text-decoration:underline;text-underline-offset:3px}.form-submit{width:100%;justify-content:space-between}.form-submit::after{content:'';width:19px;height:19px;flex:none;background:currentColor;-webkit-mask:var(--ic-external) center/contain no-repeat;mask:var(--ic-external) center/contain no-repeat}.form-status{font-size:11px;line-height:1.7;margin-top:14px;color:var(--soft)}.form-status.is-ready{padding:12px 15px;border:1px solid #9eb48e;background:#eaf0e2;color:var(--ink)}.site-footer{background:var(--deep);color:var(--paper);padding:52px 0 30px}.footer-main{display:grid;grid-template-columns:1.2fr .65fr 1.05fr .85fr .8fr;gap:34px}.footer-brand .wordmark{font-size:52px;font-weight:650;letter-spacing:-.07em;line-height:1}.footer-brand p{font-size:11px;line-height:1.9;color:#bbceb4;margin-top:20px;max-width:285px}.footer-column{display:flex;flex-direction:column;gap:8px;font-style:normal}.footer-column h2,.footer-heading{font:9px/1.7 Mono,monospace;letter-spacing:.04em;text-transform:uppercase;color:#9fb999;margin:0 0 13px}.footer-column>a{font-size:11px;line-height:1.65;min-height:28px;display:inline-flex;align-items:center;overflow-wrap:anywhere}.footer-bottom{border-top:1px solid #49624d;margin-top:37px;padding-top:22px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:15px 30px;font-size:9px;color:#b4c9ae;line-height:1.7}.footer-preview-links{display:flex;gap:24px;align-items:center;width:100%;margin-top:4px}.footer-preview-links button{background:none;border:0;color:inherit;font:inherit;padding:0;min-height:44px}.footer-preview-links a{min-height:44px;display:flex;align-items:center}.back-top{position:fixed;bottom:22px;right:18px;background:var(--sheet);color:var(--ink);border:1px solid #aaba9f;width:45px;min-height:56px;display:flex;align-items:center;justify-content:center;flex-direction:column;font-size:22px;z-index:9;opacity:0;pointer-events:none;transition:opacity .2s}.back-top span{font-size:8px}.back-top.visible{opacity:1;pointer-events:auto}dialog{border:1px solid #9eb18f;background:var(--sheet);color:var(--ink);max-width:470px;width:calc(100% - 40px);padding:32px}dialog::backdrop{background:#183b304d}dialog h2{font-size:30px;letter-spacing:-.04em;font-weight:450;margin:15px 0 20px}dialog>p{font-size:14px;line-height:1.7}dialog>p>a{text-decoration:underline}.prototype-note{font-size:11px;margin-top:14px;color:var(--soft)}.dialog-close{position:absolute;right:10px;top:8px;background:none;border:0;color:var(--ink);font-size:27px;min-width:44px;min-height:44px}dialog>div{display:flex;gap:15px;margin-top:25px}dialog>div>button{background:var(--ink);color:var(--paper);border:1px solid var(--ink);padding:12px 25px;min-height:48px;font-size:13px}dialog>div>button:last-child{background:none;color:var(--ink)}

/* responsive.css */
@media(min-width:1600px){.anatomy-title h1{font-size:80px}.anatomy .model-scene{top:455px;left:57%;transform:translate(-44%,-25%) scale(1.02)}.anatomy{min-height:1060px}}
@media(max-width:1150px){:root{--gutter:28px}.block-head{gap:40px}.block-intro{max-width:365px;font-size:14px}.site-nav>nav{gap:17px;font-size:11px}.brand{gap:18px}.brand>span{font-size:10px}.anatomy-title h1{font-size:58px}.anatomy .model-scene{top:425px;left:55%;transform:translate(-46%,-27%) scale(.75)}.anatomy-title>.hero-lead{font-size:14px;max-width:390px}.hero-links{gap:15px;flex-wrap:wrap}.hero-links>a:last-child{font-size:11px}.hero-person{padding-right:10px}.experience-band{gap:22px}.experience-band strong{font-size:34px}.experience-band span{font-size:10px}.experience-band>p{font-size:10px;padding-left:20px}.trust-line{gap:30px}.trust-line>div{font-size:12px;gap:14px 22px}.situation-workbench{gap:35px;grid-template-columns:1.25fr .75fr}.situation-list strong{font-size:20px}.diagnostic-note{padding:25px}.diagnostic-note h3{font-size:27px}.service,.service-table-head{grid-template-columns:1.15fr 1fr 175px;gap:27px;padding-inline:17px}.service h3{font-size:22px}.service-name p{font-size:11px}.service-outcome p{font-size:12px}.case-tabs button{padding-inline:18px}.case-tabs button strong{font-size:24px}.ecom-head{gap:30px}.ecom-head h3{font-size:30px}.case-figure strong{font-size:42px}.case-file{padding-inline:28px}.named-case{gap:40px}.process-stages{gap:22px}.process-stages button>strong{font-size:22px}.process-detail{grid-template-columns:100px 1fr 1fr;gap:20px}.process-detail h3{font-size:22px}.deliverable-grid{gap:60px;grid-template-columns:1fr .9fr}.report-model{padding:28px 25px 24px 43px}.report-model h3{font-size:58px}.report-top .mono{font-size:6px}.boundary-manifest{gap:35px 45px}.boundary-manifest h3{font-size:24px}.proof-layout{gap:30px;grid-template-columns:1.3fr .7fr}.proof-copy blockquote{font-size:18px}.voices-grid{gap:45px}.voices-grid blockquote{font-size:20px}.credential-strip{gap:22px}.credential-strip h3{font-size:17px}.audit-gateway{gap:45px;padding:32px}.audit-gateway h3{font-size:38px}.tool-register>a{grid-template-columns:35px 1fr 125px 20px;gap:20px}.crawler-band strong{font-size:52px}.journal-layout{gap:40px}.editorial-cover>strong{font-size:52px}.article-list h3{font-size:22px}.contact-grid{gap:55px}.contact-person{grid-template-columns:120px 1fr;gap:18px}.contact-person>img{width:120px;height:160px}.contact-person strong{font-size:20px}.contact-person>a{grid-column:1/-1}.footer-main{grid-template-columns:1fr 1fr 1fr;gap:32px 45px}.footer-brand{grid-column:1/-1;display:flex;gap:35px;align-items:center}.footer-brand p{max-width:680px;margin:0}.footer-column>a{min-height:30px}}
@media(max-width:950px){.site-nav>nav{display:none}.site-nav .mobile-nav{display:block}.block-head{gap:25px;align-items:flex-start}.block-head h2{font-size:38px}.block-intro{max-width:310px;padding-top:30px;font-size:13px}.anatomy-title h1{font-size:52px}.anatomy-title>.hero-lead{max-width:340px;font-size:13px}.anatomy-title>.hero-lead br{display:none}.anatomy .model-scene{top:425px;left:50%;transform:translate(-46%,-27%) scale(.66)}.hero-person{max-width:320px}.hero-person small{font-size:10px}.hero-links{display:block}.hero-links>a:last-child{display:inline-flex;margin-top:8px}.experience-band{grid-template-columns:repeat(4,1fr)}.experience-band>p{grid-column:1/-1;border-left:0;border-top:1px solid #617c61;padding:17px 0 0;font-size:11px}.experience-band>p br{display:none}.trust-line{display:block}.trust-line>.eyebrow{display:block;max-width:none;margin-bottom:15px}.trust-line>div{justify-content:flex-start;gap:15px 30px;font-size:13px}.situation-workbench{grid-template-columns:1fr .75fr;gap:28px}.situation-list button{gap:16px}.situation-list strong{font-size:18px}.situation-list small{font-size:12px}.diagnostic-note h3{font-size:24px}.service,.service-table-head{grid-template-columns:1fr 170px;gap:15px 30px}.service-table-head>span:nth-child(2){display:none}.service-name{grid-column:1;grid-row:1}.service-outcome{grid-column:1;grid-row:2;padding-left:33px}.service-outcome>span{display:block;font:8px Mono,monospace;text-transform:uppercase;margin-bottom:7px;color:var(--soft)}.service-meta{grid-column:2;grid-row:1/span 2;align-content:start}.service-meta>a{margin-top:10px}.service-context{margin-left:38px;font-size:13px}.case-tabs button strong{font-size:22px}.case-tabs button small{font-size:9px}.case-tabs button{padding-inline:15px}.ecom-head{grid-template-columns:1fr;gap:23px}.case-figure strong{font-size:46px}.ecom-head .case-figure{display:flex;align-items:center;gap:25px}.case-figure>span{font-size:11px}.ecom-head .case-figure>span{margin-top:0}.outcome-pair{gap:40px}.outcome-end strong{font-size:52px}.case-top{gap:25px;padding-inline:25px}.investigation-intro h2{font-size:38px}.investigation-intro>.mono{font-size:8px}.readout>strong{font-size:77px}.readout>.mono{font-size:8px}.readout-rule{font-size:8px}.annotation{padding-inline:25px;grid-template-columns:115px 1fr;gap:23px}.annotation>button{grid-column:2;max-width:200px}.process-stages{gap:16px}.process-stages button>strong{font-size:20px}.process-stages button>small{font-size:11px}.process-detail{grid-template-columns:80px 1fr}.process-detail>p{grid-column:2}.deliverable-grid{gap:45px}.report-top{display:block}.report-top .mono{display:block;margin-top:12px}.report-model h3{font-size:52px}.report-model li{font-size:11px}.report-model li>span{margin-right:12px}.report-model figcaption{font-size:9px}.deliverable-points h3{font-size:20px}.deliverable-points p{font-size:12px}.proof-layout{grid-template-columns:1fr}.proof-copy{display:grid;grid-template-columns:140px 1fr;gap:20px}.proof-copy blockquote{margin:0;font-size:22px}.proof-copy>p:last-child{grid-column:2}.proof-figure figcaption{font-size:9px}.voices-grid blockquote{font-size:18px}.voices-grid figcaption{display:block}.voices-grid figcaption>span{display:block;margin-top:8px}.credential-strip{grid-template-columns:repeat(2,1fr);gap:20px 40px}.credential-strip a{min-height:265px}.credential-strip h3{font-size:20px;max-width:280px}.audit-gateway{grid-template-columns:1fr .65fr;gap:30px;padding:28px}.audit-gateway h3{font-size:34px}.audit-specimen{padding-left:25px}.audit-specimen>strong{font-size:103px}.audit-specimen ul{font-size:11px}.audit-stamp{font-size:8px}.tool-register>a{grid-template-columns:30px 1fr 100px 20px;gap:16px}.tool-register h3{font-size:24px}.tool-register p{font-size:12px}.crawler-band{gap:25px}.crawler-band span{font-size:11px}.crawler-band strong{font-size:46px}.workbook-tabs button{font-size:11px;padding-inline:14px}.sheet-content>*{padding:21px 17px;font-size:12px}.sheet-content strong{font-size:18px}.sheet-columns span{font-size:8px;padding-inline:17px}.journal-layout{grid-template-columns:1fr 1fr;gap:30px}.editorial-cover{padding:27px;min-height:320px}.editorial-cover>strong{font-size:42px}.featured-article>h3{font-size:20px}.article-list>article{grid-template-columns:20px 1fr;gap:13px}.article-list article>small{grid-column:2;text-align:left}.article-list h3{font-size:20px}.article-list article>div>p:last-child{font-size:12px}.faq{gap:45px;grid-template-columns:.8fr 1.2fr}.faq-list summary{font-size:17px}.faq-list p{font-size:13px}.contact-grid{grid-template-columns:.75fr 1fr;gap:40px}.contact-person{grid-template-columns:1fr}.contact-person>img{grid-row:auto;width:180px;height:210px}.contact-person>div{padding-top:0}.contact-person>a{grid-column:auto}.form-row{gap:18px}}
@media(max-width:700px){:root{--gutter:22px}.chapter{padding-block:48px}.block-head{display:block;margin-bottom:29px}.block-head>div{padding-left:27px}.section-number{font-size:9px}.block-head .eyebrow{font-size:9px}.block-head h2{font-size:38px;margin-top:16px;letter-spacing:-.05em;line-height:1.07}.block-intro{padding:0;margin-top:22px;max-width:550px;font-size:14px;line-height:1.75}.site-nav{padding:15px 22px}.brand{gap:14px}.brand>b{font-size:20px}.brand>span{font-size:9px}.site-nav .mobile-nav summary{font-size:12px}.anatomy{display:flex;flex-direction:column;padding:29px 22px 0;min-height:0;gap:0}.anatomy-title>.mono{font-size:8px}.anatomy-title h1{font-size:clamp(38px,8.7vw,58px);line-height:1.02;margin:22px 0 19px;letter-spacing:-.06em}.anatomy-title>.hero-lead{font-size:14px;max-width:450px;line-height:1.7}.hero-person{margin-top:20px;padding:0;max-width:100%;gap:15px}.hero-person img{width:52px;height:63px}.hero-person strong{font-size:13px}.hero-person small{font-size:11px}.hero-links{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:23px}.hero-links .primary{font-size:13px;min-height:50px;gap:25px;padding-inline:18px}.hero-links>a:last-child{margin:0;font-size:11px}.anatomy .model-window{position:relative;inset:auto;margin:0 -22px;height:445px;order:1}.anatomy .model-scene{top:212px;left:50%;transform:translate(-49%,-29%) scale(.48)}.anatomy .model-caption{bottom:15px;left:22px;max-width:320px;gap:5px}.anatomy .model-caption>.mono{font-size:8px}.anatomy .model-caption>span:last-child{font-size:8px}.anatomy .model-ruler{display:none}.anatomy .layer-panel{order:2;padding:22px 0 32px;width:100%}.anatomy .layer-controls{display:grid;grid-template-columns:1fr 1fr;gap:0 15px;margin-top:14px;border-bottom:1px solid var(--line)}.anatomy .layer-controls button{min-height:52px;padding:0 8px;gap:13px}.anatomy .layer-controls button:last-child{border-bottom:0}.anatomy .layer-controls button strong{font-size:17px}.anatomy .layer-description{margin-top:24px;min-height:0}.anatomy .layer-description h2{font-size:30px;line-height:1.15}.anatomy .layer-description p{font-size:14px;line-height:1.75}.anatomy .spread-control{margin-top:20px}.experience-band{grid-template-columns:1fr 1fr;padding:26px 22px;gap:26px}.experience-band strong{font-size:38px}.experience-band span{font-size:11px;line-height:1.6;max-width:155px}.experience-band>p{font-size:11px;line-height:1.8;padding-top:18px}.trust-line{padding:23px 0}.trust-line>div{font-size:12px;gap:13px 20px}.situation-workbench{grid-template-columns:1fr;gap:24px}.situation-list button{min-height:0;padding:20px 0;gap:15px}.situation-list strong{font-size:22px;line-height:1.2}.situation-list small{font-size:13px;margin-top:10px;line-height:1.7}.situation-list button>.ic{width:18px;height:18px}.diagnostic-note{padding:24px}.diagnostic-symbol{width:46px;height:46px;position:absolute;right:23px;top:42px}.diagnostic-note h3{font-size:30px;max-width:240px;margin-top:25px}.diagnostic-note ol{font-size:14px;margin-top:22px}.diagnostic-note>a{font-size:13px}.service-context{margin-left:27px;font-size:12px;line-height:1.85;margin-bottom:28px}.service-table-head{display:none}.service-register{border-top:2px solid var(--ink)}.service{grid-template-columns:1fr;padding:25px 0;gap:17px}.service-name{grid-column:auto;grid-row:auto;padding-left:27px}.service-name>span{font-size:9px}.service h3{font-size:24px;font-weight:450;line-height:1.13;max-width:440px}.service-name p{font-size:13px;line-height:1.75;max-width:550px}.service-outcome{grid-column:auto;grid-row:auto;padding-left:27px}.service-outcome p{font-size:13px;line-height:1.75;max-width:550px}.service-outcome>span{font-size:8px}.service-meta{grid-column:auto;grid-row:auto;display:grid;grid-template-columns:1fr 1fr;gap:10px 20px;padding-left:27px}.service-meta>p{font-size:13px}.service-meta>p:nth-child(2){font-size:18px}.service-meta>p>span{font-size:9px}.service-meta>a{grid-column:1/-1;margin:3px 0 0;max-width:none;min-height:44px;border-top:1px solid #c3cebb;padding-top:6px;font-size:12px}.archive-section{padding:48px 0 51px}.archive-section .block-head{margin-bottom:31px}.case-tabs{gap:3px;padding:0}.case-tabs button{padding:12px 8px;clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,0 100%);min-height:100px;word-break:normal}.case-tabs button strong{font-size:17px;letter-spacing:-.04em;line-height:1.15}.case-tabs button small{font-size:7px;line-height:1.6;margin-top:7px}.case-tabs button>span{font-size:7px;margin-bottom:10px}.case-tabs button[aria-pressed=true]{min-height:113px;padding-top:19px}.case-file{padding:22px 20px}.file-meta{font-size:7px;gap:15px;line-height:1.7}.file-meta>span{max-width:170px}.ecom-head{padding:24px 0;gap:23px}.ecom-head h3{font-size:30px;line-height:1.15}.ecom-head h3 br{display:none}.ecom-head .case-figure{display:block}.case-figure strong{font-size:34px;line-height:1.1}.case-figure>span,.ecom-head .case-figure>span{font-size:11px;margin-top:12px}.case-chart-plate{padding:9px 9px 26px}.case-chart-plate img{width:100%;height:auto}.plate-label{left:9px;bottom:7px;font-size:6px}.file-foot{grid-template-columns:1fr;gap:19px;padding-top:21px;margin-top:23px}.file-foot ul,.file-foot p{font-size:12px;line-height:1.9}.file-foot>a{grid-column:auto;justify-content:flex-start;font-size:12px;min-height:44px}.archive-paper{box-shadow:4px 6px 0 #879b80}.named-case{grid-template-columns:1fr;gap:27px;padding-top:26px;min-height:0}.client-name{font-size:52px;margin-bottom:19px}.named-case h3{font-size:27px}.named-case>div>p:not(.client-name){font-size:13px;margin-top:17px}.named-case .case-figure{margin-top:25px}.case-method{padding:20px}.case-method p{font-size:13px;padding:14px 0}.outcome-pair{grid-template-columns:1fr;gap:34px}.outcome-pair h3{font-size:27px}.outcome-start{font-size:14px}.outcome-end strong{font-size:52px}.outcome-end>span{font-size:13px}.open-case{margin-bottom:46px}.case-top{grid-template-columns:1fr;gap:20px;padding:25px 19px 8px}.investigation-intro>.mono{font-size:7px}.investigation-intro h2{font-size:38px;line-height:1.07;margin:20px 0 15px}.investigation-intro>p{font-size:13px}.readout{padding:0;min-width:0}.readout>.mono{font-size:8px}.readout>strong{font-size:72px}.readout>p{font-size:12px}.readout-rule{font-size:7px;gap:15px;line-height:1.6;margin-top:13px}.evidence{padding:0 13px;margin-top:20px}.chart-edge{font-size:7px}.chart-edge>span:last-child{display:none}.chart-plot{margin-top:13px}.chart-plot svg{min-height:140px}.chart-note,.note-arrow,.chart-bottom{display:none}.chart-grid text{font-size:27px}.data-line{stroke-width:4}.month-selector{grid-template-columns:repeat(4,1fr);margin-inline:-13px}.month-selector button{font-size:10px;min-height:44px;padding-inline:3px;border-bottom:1px solid var(--line)}.month-selector button:nth-child(4){border-right:0}.month-selector button:nth-child(n+5){border-bottom:0}.annotation{grid-template-columns:1fr;gap:16px;padding:22px 19px;min-height:0}.annotation-label{display:flex;justify-content:space-between;align-items:center}.annotation-label .mono{font-size:7px;margin:0}.annotation-label>span:last-child{font-size:16px}.annotation-copy h2{font-size:24px}.annotation-copy p{font-size:13px;line-height:1.8}.annotation>button{grid-column:auto;max-width:none;width:100%;font-size:12px}.process-stages{grid-template-columns:1fr 1fr;gap:25px 20px}.process-stages button{min-height:154px;padding:17px 0}.process-stages button[aria-pressed=true]{padding-top:15px}.process-stages button>span{font-size:24px}.process-stages button>strong{font-size:22px;margin-top:20px}.process-stages button>small{font-size:12px;line-height:1.6}.process-detail{grid-template-columns:1fr;padding:23px;gap:15px;margin-top:24px}.process-detail>p{grid-column:auto;font-size:14px}.process-detail h3{font-size:27px}.process-detail>.mono{font-size:8px}.deliverable-section{padding:48px 0 55px}.deliverable-grid{grid-template-columns:1fr;gap:34px}.deliverable-points article{padding-left:27px}.deliverable-points article>span{font-size:9px}.deliverable-points h3{font-size:24px}.deliverable-points p{font-size:14px;line-height:1.75}.report-model{transform:none;width:calc(100% - 7px);max-width:none;padding:29px 23px 25px 45px;box-shadow:5px 7px 0 #b7c3ae}.report-top{display:flex}.report-top .mono{font-size:6px;margin:0;max-width:100px;line-height:1.7}.report-model h3{font-size:66px}.report-model li{font-size:13px}.report-model figcaption{font-size:10px}.report-page{font-size:8px}.boundary-manifest{grid-template-columns:1fr;gap:29px}.boundary-manifest article{padding-left:27px;padding-top:21px}.boundary-manifest h3{font-size:27px}.boundary-manifest article:first-child h3::before,.boundary-manifest article:nth-child(2) h3::before{margin-left:-27px;width:27px}.boundary-manifest li{font-size:14px;line-height:1.8;padding:9px 0}.boundary-note{font-size:12px;line-height:1.9;grid-column:auto;padding-left:25px}.guarantees{padding-top:40px}.guarantees .block-head h2{font-size:34px}.guarantees .boundary-manifest h3{font-size:24px}.proof-section{padding:48px 0}.proof-layout{gap:25px}.proof-figure figcaption{font-size:7px;gap:12px;line-height:1.8}.proof-copy{display:block;padding-top:22px}.proof-copy blockquote{font-size:24px;line-height:1.5;margin:20px 0;letter-spacing:-.03em}.proof-copy .proof-label{font-size:8px}.voices-grid{grid-template-columns:1fr;gap:34px}.voices-grid blockquote{font-size:22px;line-height:1.65;margin-top:22px}.voices-grid figure::before{font-size:8px}.voices-grid figcaption strong{font-size:15px}.voices-grid figcaption>span{font-size:12px;line-height:1.7}.credential-strip{gap:20px}.credential-strip a{min-height:286px;padding-top:21px}.credential-strip img{width:58px;height:58px;margin-bottom:20px}.credential-strip small{font-size:8px;line-height:1.7}.credential-strip h3{font-size:17px;line-height:1.3;overflow-wrap:anywhere}.credential-strip a>span{font-size:10px;gap:12px}.credential-more .text-link{font-size:12px}.tools-section{padding:49px 0}.audit-gateway{grid-template-columns:1fr;gap:31px;padding:25px 23px}.audit-gateway h3{font-size:34px;line-height:1.08}.audit-gateway p{font-size:14px;line-height:1.8}.audit-meta{font-size:8px;gap:10px 17px;margin-block:22px}.audit-gateway .primary{width:100%;padding-inline:15px;font-size:12px;gap:20px}.audit-specimen{border-left:0;border-top:1px solid #b1bea7;padding:23px 0 0;display:grid;grid-template-columns:95px 1fr;gap:15px 20px;align-items:center}.audit-specimen>.mono{grid-column:1/-1;font-size:8px}.audit-specimen>strong{font-size:89px}.audit-specimen ul{font-size:11px}.audit-stamp{grid-column:1/-1;padding-top:5px;font-size:8px;line-height:1.7}.tool-register>a{grid-template-columns:25px 1fr 20px;gap:12px;padding:22px 0;min-height:0}.tool-register h3{font-size:27px}.tool-register p{font-size:13px}.tool-register small{grid-column:2;font-size:10px}.tool-register>a>b{grid-column:3;grid-row:1}.tool-register>a>span{font-size:8px}.tools-more{font-size:13px;line-height:2;margin-top:24px}.crawler-band{grid-template-columns:1fr 1fr;gap:28px 23px}.crawler-band strong{font-size:52px}.crawler-band span{font-size:12px;line-height:1.75}.workbook>header{padding:19px 17px;gap:13px;flex-wrap:wrap}.workbook>header strong{font-size:15px}.workbook>header small{font-size:9px;max-width:200px;line-height:1.7}.workbook>header>.mono{font-size:8px;margin-left:49px}.file-icon{width:33px;height:40px;font-size:18px}.workbook-tabs{display:grid;grid-template-columns:1fr 1fr;gap:0;padding:0 10px}.workbook-tabs button{font-size:11px;min-height:48px;padding:10px 9px;line-height:1.4}.sheet-columns{display:none}.sheet-content{grid-template-columns:1fr;padding:5px 17px}.sheet-content>*{min-height:0;border:0;border-bottom:1px solid #c0ccb5;padding:16px 0;font-size:13px;line-height:1.8}.sheet-content strong{font-size:22px;line-height:1.25}.sheet-content>*:first-child::before{content:'Что исследуется';display:block;font:8px Mono,monospace;color:var(--soft);text-transform:uppercase;margin-bottom:12px}.sheet-content>*:nth-child(2)::before{content:'Что получает команда';display:block;font:8px Mono,monospace;color:var(--soft);text-transform:uppercase;margin-bottom:10px}.sheet-content>*:nth-child(3)::before{content:'Как используется';display:block;font:8px Mono,monospace;color:var(--soft);text-transform:uppercase;margin-bottom:10px}.workbook>footer{font-size:10px;line-height:1.8;padding:17px}.crawler-note{font-size:12px;line-height:1.9}.journal-section{padding:48px 0}.journal-layout{grid-template-columns:1fr;gap:30px}.editorial-cover{min-height:328px;padding:28px}.editorial-cover>strong{font-size:52px}.editorial-cover>span{font-size:8px}.editorial-cover>p{font-size:14px}.editorial-cover ol{font-size:8px;gap:10px 20px}.featured-article>h3{font-size:24px;line-height:1.25}.article-meta{font-size:9px;gap:8px 13px}.article-list>article{grid-template-columns:24px 1fr;gap:14px;padding:24px 0}.article-list>article>span{font-size:8px}.article-list h3{font-size:24px;line-height:1.22}.article-list article>div>p:last-child{font-size:13px;line-height:1.8}.article-list>article>small{font-size:10px}.faq{grid-template-columns:1fr;gap:29px}.faq>div>p{margin-left:27px;font-size:14px;max-width:none}.faq-list summary{min-height:76px;font-size:20px;line-height:1.3;gap:16px;padding:15px 0}.faq-list summary>span{font-size:8px}.faq-list p{font-size:14px;line-height:1.85}.faq-list details>div{padding-left:29px;padding-right:5px}.contact-section{padding:49px 0}.contact-section .block-head{margin-bottom:31px}.contact-grid{grid-template-columns:1fr;gap:34px}.contact-person{grid-template-columns:110px 1fr;gap:12px 20px;max-width:550px}.contact-person>img{grid-row:1/3;width:110px;height:150px}.contact-person strong{font-size:22px;max-width:220px}.contact-person>div>span{font-size:12px;line-height:1.7}.contact-person>p{font-size:12px;line-height:1.8}.contact-person>a{grid-column:1/-1;min-height:44px;font-size:12px}.form-row{grid-template-columns:1fr;gap:0}.field{margin-bottom:18px}.field>label{font-size:13px}.field input,.field textarea{font-size:16px;min-height:52px}.field small{font-size:10px}.consent{font-size:11px;align-items:flex-start;gap:12px}.consent input{margin-top:8px}.form-status{font-size:11px;line-height:1.8}.site-footer{padding-top:36px}.footer-main{grid-template-columns:1fr 1fr;gap:31px 25px}.footer-brand{display:block}.footer-brand .wordmark{font-size:58px}.footer-brand p{font-size:12px;line-height:1.9;max-width:none;margin-top:20px}.footer-column h2,.footer-heading{font-size:9px;margin-bottom:6px}.footer-column>a{font-size:11px;min-height:33px;line-height:1.8}.footer-bottom{display:block;margin-top:30px;font-size:9px;line-height:1.9}.footer-bottom>p+p{margin-top:12px}.footer-preview-links{display:block;margin-top:15px}.footer-preview-links button,.footer-preview-links a{min-height:44px;font-size:10px}.back-top{right:9px;bottom:12px;width:38px;min-height:48px;font-size:20px}.back-top span{font-size:7px}}
@media(max-width:370px){.brand>span{font-size:8px}.brand>b{font-size:20px}.brand{gap:12px}.site-nav .mobile-nav summary{font-size:11px}.anatomy-title h1{font-size:38px;letter-spacing:-.06em}.hero-person strong{font-size:12px}.hero-person small{font-size:10px}.hero-person{gap:12px}.anatomy .model-scene{top:207px;transform:translate(-49%,-29%) scale(.38)}.anatomy .model-window{height:400px}.anatomy .model-caption{max-width:270px}.experience-band strong{font-size:34px}.experience-band span{font-size:10px}.block-head h2{font-size:34px}.case-tabs button{padding-inline:6px;min-height:96px}.case-tabs button strong{font-size:14px}.case-tabs button small{font-size:6px}.case-tabs button[aria-pressed=true]{min-height:107px}.case-file{padding-inline:15px}.ecom-head h3{font-size:27px}.case-figure strong{font-size:30px}.readout>strong{font-size:58px}.investigation-intro h2{font-size:34px}.report-model h3{font-size:52px}.report-model li{font-size:12px}.report-top .mono{font-size:6px;max-width:80px}.credential-strip h3{font-size:16px}.credential-strip{gap:15px}.audit-gateway h3{font-size:30px}.audit-gateway{padding-inline:19px}.audit-specimen{grid-template-columns:80px 1fr;gap:15px}.audit-specimen>strong{font-size:77px}.contact-person{grid-template-columns:90px 1fr;gap:12px 17px}.contact-person>img{width:90px;height:127px}.contact-person strong{font-size:20px}.contact-person>p{grid-column:1/-1}.contact-person>div>span{font-size:11px}.footer-main{gap:28px 18px}.footer-column>a{font-size:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.plane{transition:none}.back-top{transition:none}}
@media print{.site-nav,.mobile-nav,.back-top,.footer-preview-links,dialog,.form-submit,.form-status{display:none!important}.anatomy{break-after:page}.chapter,.archive-section,.tools-section,.journal-section,.contact-section,.proof-section,.deliverable-section{break-inside:avoid}.shell{width:100%}body{print-color-adjust:exact;-webkit-print-color-adjust:exact}}

/* content.css */
.anatomy-title>.hero-position{font-size:22px;font-weight:450;line-height:1.3;letter-spacing:-.025em;margin-top:20px;max-width:470px}.anatomy-title>.hero-lead{margin-top:15px;max-width:450px}.experience-band>p>span{margin:0;font-size:12px}.experience-band>p>small{display:block;font-size:10px;line-height:1.7;margin-top:5px}.case-tabs button small{line-height:1.6;max-width:240px}.contact-person>div>span{color:var(--soft)}
@media(max-width:950px){.anatomy-title>.hero-position{font-size:20px;max-width:340px}}
@media(max-width:700px){.anatomy-title>.hero-position{font-size:20px;max-width:100%}.anatomy-title>.hero-lead{font-size:14px;max-width:100%}.hero-person{margin-top:20px}.case-tabs button small{font-size:9px}}
@media(max-width:700px){.case-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px}.case-tabs button{min-width:0;min-height:130px;padding:20px 15px;transform:none}.case-tabs button strong{font-size:22px}.case-tabs button small{font-size:10px}.anatomy .model-scene{top:168px}.anatomy .model-window{height:395px}}
@media(max-width:700px){.deliverable-grid>*{min-width:0}.report-model{width:100%;box-sizing:border-box}.report-model h3{font-size:clamp(38px,12vw,52px)}.report-model li{font-size:11px}.report-top .mono{white-space:normal}.situation-list button{grid-template-columns:20px minmax(0,1fr) 16px}.situation-list button>span{min-width:0}.block-head h2{overflow-wrap:break-word}}
@media(max-width:370px){.anatomy .layer-controls{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 8px}.anatomy .layer-controls button{gap:7px;min-width:0;padding-inline:5px}.anatomy .layer-controls button strong{font-size:15px}.anatomy .layer-controls button>.ic{width:15px;height:15px}.situation-list button{display:grid}}

/* accessibility.css */
/* Final review: approved composition and all source copy preserved. */
@font-face{font-family:HomeOnest;src:url('../../assets/fonts/onest-cyrillic.woff2') format('woff2');font-weight:100 900;font-display:swap;unicode-range:U+0400-052F,U+2116}
@font-face{font-family:HomeOnest;src:url('../../assets/fonts/onest-latin.woff2') format('woff2');font-weight:100 900;font-display:swap;unicode-range:U+0000-024F,U+2000-206F,U+20A0-20CF,U+2100-214F,U+2190-21FF,U+2212,U+FEFF,U+FFFD}
/* Срезы недостающих знаков. Прежние подмножества объявляли диапазоны
   шире, чем содержали: U+2192 попадал в U+2190-21FF, U+20BD в
   U+20A0-20CF, а глифов в файлах не было — браузер уходил в Arial.
   Замер 07.09: 125 знаков рубля и 255 стрелок мимо гарнитуры.
   Порядок объявления значим: последнее выигрывает диапазон. */
@font-face{font-family:Onest;src:url('../../assets/fonts/onest-symbols.woff2') format('woff2');font-weight:100 900;font-display:swap;unicode-range:U+00B1,U+00B9,U+00D7,U+00F7,U+0301,U+0304,U+2190,U+2192,U+20BD,U+2248,U+2260,U+2264-2265}
/* Главная набрана семейством HomeOnest — тот же файл под своим именем,
   поэтому срез недостающих знаков нужен и здесь. Без этого ₽ на главной
   продолжал приходить из Arial, хотя на остальных страницах уже нет. */
@font-face{font-family:HomeOnest;src:url('../../assets/fonts/onest-symbols.woff2') format('woff2');font-weight:100 900;font-display:swap;unicode-range:U+00B1,U+00B9,U+00D7,U+00F7,U+0301,U+0304,U+2190,U+2192,U+20BD,U+2248,U+2260,U+2264-2265}
@font-face{font-family:Mono;src:url('../../fonts/jetbrains-mono-symbols.woff2') format('woff2');font-weight:100 800;font-display:swap;unicode-range:U+0394,U+03A3,U+2080-2081,U+20BD,U+2190-2194,U+2208,U+2229,U+222A,U+223C}
body,button,input,textarea,select{font-family:HomeOnest,Mono,Arial,sans-serif}
.site-nav{position:relative}.site-nav .mobile-nav nav{top:100%;right:22px}
.primary,.button,.primary:hover,.button:hover,.primary:focus-visible,.button:focus-visible{color:#e7ebe6}
:is(.eyebrow,.section-number,.brand>span,.experience-band span,.hero-person small,.hero-links>a:last-child,.service-outcome>span,.service-meta>p>span,.model-caption>span,.sheet-columns span,.audit-stamp,.credential-strip small,.proof-figure figcaption,.form-consent,.form-status){font-family:HomeOnest,Mono,Arial,sans-serif;font-size:12px!important;line-height:1.6}
:is(.eyebrow,.section-number){color:#50675a}
.archive :is(.eyebrow,.section-number),.tools :is(.eyebrow,.section-number){color:#c2d1be}
.model-caption{flex-wrap:wrap}
@media(max-width:700px){.brand{min-width:0}.brand>span{max-width:150px}.site-nav{gap:15px}.model-caption>span{font-size:12px!important}.anatomy .model-caption{max-width:calc(100% - 44px)}.service-name p,.service-outcome p,.faq-list p,.article-list article>div>p:last-child{font-size:15px;line-height:1.75}}

/* September 6: the illustration has its own grid area, including at text zoom. */
.anatomy{display:grid!important;grid-template-columns:minmax(330px,.95fr) minmax(0,1.25fr) minmax(250px,.7fr)!important;gap:28px!important;min-height:0!important;padding:56px max(42px,calc((100vw - 1320px)/2)) 40px!important;align-items:start}
.anatomy-title{grid-column:1;grid-row:1;min-width:0;width:auto;align-self:start}
.anatomy-title h1{font-size:clamp(46px,4.6vw,72px)!important;line-height:1.04!important;margin-top:24px}
.anatomy .hero-position{font-size:22px!important;line-height:1.35!important}
.anatomy .hero-lead{font-size:16px!important;line-height:1.7!important;max-width:none}
.anatomy .hero-links{display:flex;flex-wrap:wrap;gap:12px 20px;width:auto}
.anatomy .hero-links>a{min-height:48px}
.anatomy .model-window{position:relative!important;inset:auto!important;grid-column:2;grid-row:1;width:100%;height:660px;margin:0!important;overflow:visible!important;min-width:0;align-self:center}
.anatomy .model-scene{left:50%!important;top:53%!important;transform:translate(-50%,-30%) scale(var(--home-model-scale,.6))!important;transform-origin:center}
.anatomy .model-caption{position:absolute;left:0;right:0;bottom:0;max-width:none!important;gap:6px}
.anatomy .model-ruler{display:none}
.anatomy .layer-panel{grid-column:3;grid-row:1;width:auto;min-width:0;padding:0}
.anatomy .layer-description{min-height:0;margin-top:28px}
.anatomy .layer-description h2{font-size:27px;line-height:1.2}
.anatomy .layer-description p{font-size:15px;line-height:1.7}
.anatomy .layer-controls button{min-height:56px}
.anatomy .layer-controls button strong{font-size:18px}
.anatomy .spread-control{margin-top:24px}
.anatomy .plane{transition-duration:400ms}
.anatomy-title>.mono,.layer-panel .mono,.spread-control label,.spread-control output,.spread-control span{font-family:HomeOnest,Mono,Arial,sans-serif!important;font-size:12px!important;line-height:1.6!important}
.layer-description>a{font-size:14px!important;min-height:44px}
.anatomy #layer-question{color:#a33f29}
.hero-person{margin-block:24px}

/* Reading copy is not a technical caption. Keep the full original sentences. */
:is(.service-name p,.service-outcome p,.block-intro,.service-context,.situation-list p,.diagnostic-note li,.case-file p,.case-file li,.outcome-pair p,.process-stages p,.process-detail p,.deliverable-points p,.boundary-manifest li,.boundary-note,.tool-register p,.tools-more,.crawler-note,.article-list article>div>p:last-child,.faq-list p,.contact-person p){font-size:16px!important;line-height:1.7!important}
:is(.service-meta,.service-meta a,.service-meta>p,.file-foot,.credential-strip a>span,.workbook footer,.workbook small,.contact-person>a,.contact-form label,.field-hint){font-size:14px!important;line-height:1.6!important}
:is(.service-table-head span,.case-tabs small,.file-meta span,.plate-label,.outcome-start>span,.readout-rule span,.readout-rule a,.chart-edge span,.annotation-label>.mono,.report-label,.report-model figcaption,.proof-label,.voices-grid figcaption span,.proof-copy>span,.audit-meta span,.audit-specimen .mono,.tool-register small,.article-meta>*,.article-list header>*,.article-list small,.editorial-cover>span,.editorial-cover li,#metric-month,#stage-index,#next-month,#contact-site-hint,.consent,.consent label,.consent a){font-family:HomeOnest,Mono,Arial,sans-serif!important;font-size:12px!important;line-height:1.6!important}
.process-stages button>span{color:#50675a!important}
.site-footer :is(p,a){font-size:14px!important;line-height:1.7!important}
.site-footer :is(h2,.footer-heading){font-family:HomeOnest,Mono,Arial,sans-serif!important;font-size:14px!important;line-height:1.5!important}
.site-footer .footer-bottom p,.site-footer :is(#show-cookies,.footer-utility a){font-size:12px!important}
.site-footer a,.site-footer button{min-height:44px}
.contact-form :is(input:not([type=checkbox]),textarea){font-size:16px!important;line-height:1.6;min-height:52px}
.contact-form textarea{min-height:160px}
.consent{min-height:44px;align-items:center}
.case-tabs button:focus-visible{outline:3px solid #e4a38e;outline-offset:4px;clip-path:none}
.archive-section :is(a,button):focus-visible,.tools-section :is(a,button):focus-visible{outline-color:#e4a38e}
.home-image-link{display:block;position:relative;cursor:zoom-in}
/* Подпись остаётся текстом, знак уходит в отдельный слой: в одной строке
   content не совместить со знаком, а маска закрасила бы и буквы. */
.home-image-link::after{content:'Открыть оригинал';display:block;padding:10px 0;font:12px/1.5 HomeOnest,Mono,Arial,sans-serif;text-decoration:underline;text-underline-offset:3px}
.home-image-link::before{content:'';position:absolute;right:0;bottom:11px;width:12px;height:12px;background:currentColor;-webkit-mask:var(--ic-external) center/contain no-repeat;mask:var(--ic-external) center/contain no-repeat}
.chart-data{margin:20px 0 0;border-top:1px solid var(--line);padding-top:8px}
.chart-data summary{cursor:pointer;min-height:48px;display:flex;align-items:center;font-size:14px}
.chart-data-scroll{overflow-x:auto}
.chart-data table{border-collapse:collapse;width:100%;min-width:260px;font-size:14px;line-height:1.6}
.chart-data :is(th,td){padding:12px 14px;border-bottom:1px solid var(--line);text-align:left}
.chart-data tr>:last-child{text-align:center;font-variant-numeric:tabular-nums}
#growth-chart{width:100%;height:auto;overflow:visible}
#growth-chart .chart-grid text,#growth-chart .chart-bottom text{font:12px HomeOnest,Mono,Arial,sans-serif;fill:#50675a}
#growth-chart .chart-note{font:12px HomeOnest,Mono,Arial,sans-serif;fill:#a33f29}
.chart-data[open]~*{min-width:0}
@media(max-width:1349px){
 .anatomy{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;padding-inline:28px!important;gap:32px!important}
 .anatomy .model-window{height:590px}
 .anatomy .layer-panel{grid-column:1/-1;grid-row:2;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr) minmax(0,.85fr);gap:16px 32px}
 .layer-panel>.panel-heading{grid-column:1}.anatomy .layer-controls{grid-column:1;grid-row:2;margin:0}
 .anatomy .layer-description{grid-column:2;grid-row:1/3;margin:0}.anatomy .spread-control{grid-column:3;grid-row:2;margin:0}
}
@media(max-width:700px){
 .anatomy{grid-template-columns:minmax(0,1fr)!important;padding:32px 22px!important;gap:24px!important}
 .anatomy-title{grid-column:1;grid-row:1}.anatomy-title h1{font-size:clamp(34px,10.5vw,46px)!important}
 .anatomy .model-window{grid-column:1;grid-row:2;height:400px;order:initial}
 .anatomy .layer-panel{grid-column:1;grid-row:3;display:block;order:initial}
 .anatomy .layer-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:16px}
 .anatomy .layer-controls button strong{font-size:16px}.anatomy .layer-description{margin-top:28px}
 .anatomy .spread-control{margin-top:24px}.anatomy .model-caption{bottom:0}
 .anatomy .layer-panel>.spread-control:first-child{margin:0 0 24px;padding-top:0;border-top:0}
 .anatomy .model-scene{top:52%!important}
 #growth-chart .chart-note,#growth-chart .note-arrow{display:none}
 .home-image-link::after{font-size:13px}
}
@media(prefers-reduced-motion:reduce){.anatomy .plane{transition:none!important}}
html:not(.home-interactive) [data-case-panel][hidden]{display:block!important}
html:not(.home-interactive) [data-case-panel]{margin-bottom:32px}
:is(.experience-band small,.investigation-intro>.mono,.annotation-label .mono,.report-top .mono,.report-page,.workbook>header>.mono,.ecom-head strong+span,.proof-copy>p>span){font-family:HomeOnest,Mono,Arial,sans-serif!important;font-size:12px!important;line-height:1.6!important}
.report-model li,.audit-specimen li{font-size:14px!important;line-height:1.6!important}
.month-selector button,.workbook-tabs button{font-size:13px!important;line-height:1.5!important;min-height:48px;padding:12px 8px}
.file-meta{gap:12px;flex-wrap:wrap}
.report-top .mono{max-width:120px;text-align:right}
.editorial-cover ul{display:flex;flex-wrap:wrap;gap:8px 16px}
.back-top{min-width:44px;min-height:48px}
.case-tabs{align-items:stretch}
.case-tabs button{align-self:stretch;height:auto;min-height:128px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:8px}
.site-footer .wordmark{font-size:clamp(34px,4vw,46px)!important;line-height:1.1!important}
#growth-chart .chart-bottom{display:block}
.sheet-content>p{font-size:16px!important;line-height:1.7!important}
.sheet-content>*::before{font-family:HomeOnest,Mono,Arial,sans-serif!important;font-size:12px!important;line-height:1.6!important}
.site-nav .mobile-nav summary{font-size:14px!important}
.back-top span{font-size:12px!important;line-height:1.4}
.chart-data summary{gap:16px;justify-content:space-between}
.chart-data summary::after{content:'+';flex:none;font-size:22px;line-height:1}
.chart-data[open] summary::after{content:'−'}
/* Larger accessible labels must reserve space beside the specimen's large number. */
.audit-specimen>.mono{margin-bottom:16px}
/* Equal columns must be allowed to shrink before headings wrap. */
@media(max-width:700px){
 .process-stages{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}
 .process-stages button{min-width:0;text-align:left;vertical-align:top}
 .process-stages button>strong{font-size:clamp(20px,5.4vw,22px);line-height:1.3}
}
@media(max-width:370px){
 .process-stages{grid-template-columns:minmax(0,1fr);gap:0}
 .process-stages button{min-height:0;padding-block:20px}
 .process-stages button>strong{margin-top:12px}
}

/* Production hooks: real form states, sprite and persistent cookie consent. */
.ic-sprite{display:none}.ic{width:24px;height:24px;flex:none;display:inline-block;fill:currentColor;vertical-align:middle}.ic--16{width:16px;height:16px}.ic--20{width:20px;height:20px}
/* Знак в псевдоэлементе: content:"" не держит <use>, поэтому геометрия идёт
   маской. Путь — посимвольная копия <symbol id="ic-external"> из
   assets/icons/sprite.svg; расхождение ловит scripts/icons_smoke.js.
   Главная грузит только свой бандл, поэтому токен здесь свой, а не из
   styles.css. build:icon-masks */
:root{
  --ic-external: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M14.900 12.000L14.900 18.900L5.100 18.900L5.100 9.100L12.000 9.100L12.000 6.900L2.900 6.900L2.900 21.100L17.100 21.100L17.100 12.000ZM12.778 12.778L19.978 5.578L18.422 4.022L11.222 11.222ZM20.000 10.400L20.000 4.000L13.600 4.000Z'/%3E%3C/svg%3E");
}
/* /build:icon-masks */
.anatomy-title>.eyebrow{margin-top:12px}.case-type{font-size:14px;color:var(--soft);margin-bottom:10px}
.field-error,.consent--error,.form-status--error{color:#a33f29}.field-error:empty{display:none}.field input[aria-invalid=true],.field textarea[aria-invalid=true]{border-color:#a33f29}.form-status--success{color:#244438;font-size:20px!important}.contact-form--sent>:not(.form-status){display:none}.form-submit:disabled{opacity:.5;cursor:default}.form-honeypot{position:fixed!important;inset:auto auto 0 0!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
.cookie-banner{position:fixed;inset:auto 22px 22px auto;z-index:60;display:flex;flex-direction:column;gap:14px;width:min(400px,calc(100% - 44px));padding:20px;background:var(--inset);border:1px solid #718675;color:#244438;opacity:0;transform:translateY(12px);transition:opacity 300ms,transform 300ms}.cookie-banner--visible{opacity:1;transform:none}.cookie-banner__text{margin:0;font-size:13px;line-height:1.6}.cookie-banner__text a{text-decoration:underline;text-underline-offset:4px}.cookie-banner__actions{display:flex;flex-wrap:wrap;gap:10px}.cookie-banner__accept,.cookie-banner__decline{min-height:48px;padding:10px 16px;font-size:14px}.cookie-banner__decline{border:1px solid #718675;background:transparent;color:#244438}.cookie-banner__decline:hover{background:var(--surface)}.cookie-banner :focus-visible{outline:3px solid #a33f29;outline-offset:3px}
@media(prefers-reduced-motion:reduce){.cookie-banner{transition:none;transform:none}}
@media print{.cookie-banner{display:none!important}}

/* ── Общая шапка сайта ──────────────────────────────────────────────
   Главная больше не держит собственную навигацию: разметку ей выдаёт
   partials/header.html, тот же, что и остальным 51 странице. Правила
   ниже повторяют слой styles.css + тему «Анатомия», переведённые на
   токены этого файла (--paper=фон, --ink=текст, --soft=приглушённый).
   Старые .site-nav/.brand/.nav-contact остались мёртвыми и не мешают:
   такой разметки на странице больше нет. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.site-header{position:relative;z-index:20;background:var(--paper);border-bottom:1px solid var(--line);transition:border-color 240ms cubic-bezier(.2,.75,.25,1),background 240ms cubic-bezier(.2,.75,.25,1)}
.site-header .header-inner{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.site-header .wordmark{min-height:44px;display:inline-flex;align-items:center;font-size:18px;font-weight:650;letter-spacing:-.04em}
.site-header .desktop-nav,.site-header .header-cta{display:none}
.site-header .menu-toggle{width:44px;height:44px;display:grid;place-content:center;gap:6px;border:0;background:transparent;color:var(--ink);cursor:pointer}
.site-header .menu-toggle span:not(.sr-only){width:23px;height:1px;background:currentColor;transition:transform 180ms cubic-bezier(.2,.75,.25,1)}
.site-header .menu-toggle[aria-expanded="true"] span:nth-of-type(2){transform:translateY(3.5px) rotate(45deg)}
.site-header .menu-toggle[aria-expanded="true"] span:nth-of-type(3){transform:translateY(-3.5px) rotate(-45deg)}
.site-header .mobile-nav{position:absolute;inset:72px 0 auto;display:block;background:var(--sheet);color:var(--ink);border-bottom:1px solid var(--line);padding:12px var(--gutter) 24px}
.site-header .mobile-nav[hidden]{display:none}
.site-header .mobile-nav a{min-height:48px;display:flex;align-items:center;border-bottom:1px solid var(--line);font-size:18px}
@media(min-width:60rem){
  .site-header .desktop-nav{display:flex;gap:34px;margin-left:auto;color:var(--soft);font-size:13px}
  .site-header .desktop-nav a{min-height:44px;display:flex;align-items:center;transition:color 160ms cubic-bezier(.2,.75,.25,1)}
  .site-header .header-cta{min-height:44px;display:inline-flex;align-items:center;padding:0 15px;border:1px solid var(--accent);border-radius:4px;font-size:13px}
  .site-header .menu-toggle,.site-header .mobile-nav{display:none!important}
}
@media(hover:hover){.site-header .desktop-nav a:hover,.site-header .header-cta:hover{color:var(--ink)}}
@media(max-width:700px){.site-header .mobile-nav{padding-inline:22px}}
@media print{.site-header{display:none!important}}

/* ── Первый экран: только оффер, лид, действия и портрет ──────────────
   Из hero вынесена модель SEO-слоёв: на одном экране конкурировали имя,
   оффер, лид, карточка с портретом, две кнопки, схема из четырёх слоёв,
   переключатель слоёв, описание выбранного слоя и ползунок раскрытия.
   Модель переехала в секцию #model после блока ситуаций — правила вида
   `.anatomy .model-*` и `.anatomy .layer-*` выше остались, но больше ни
   на что не указывают: такой разметки внутри .anatomy нет.

   Визуальная доминанта — оффер, а не имя. Текст h1 не меняется: он
   заморожен решением владельца до 19.11, здесь только вес и размер. */
.anatomy{
  display:grid!important;
  grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr)!important;
  align-items:center;
  column-gap:clamp(40px,5vw,90px)!important;
  min-height:0!important;
  /* Поля считаются как у .shell: min(1320px, 100% - 2*gutter) по центру.
     Плоский var(--gutter) ставил текст hero на 42px, тогда как логотип
     в шапке и весь контент ниже стоят на 60px при 1440 — hero выпадал
     из сетки, а портрет вылезал за правый край страницы на 18px. */
  padding-block:clamp(72px,7vw,120px) clamp(64px,6vw,104px)!important;
  padding-inline:max(var(--gutter),calc((100% - 1320px) / 2))!important;
}
.anatomy-title{grid-column:1;grid-row:1;max-width:660px}
.anatomy-title>.mono{display:block;color:var(--soft)}
/* Имя остаётся h1 по семантике, но уступает офферу по весу. */
.anatomy-title h1{
  font-size:clamp(22px,2.2vw,27px)!important;
  line-height:1.2!important;
  letter-spacing:-.02em!important;
  font-weight:500!important;
  margin:14px 0 0!important;
  color:var(--soft);
}
/* Перенос внутри имени оставлен: в разметке «Станислав<br/>Кириченко»
   без пробела, а текст h1 заморожен до 19.11 и правке не подлежит.
   Спрятать <br> нельзя — слова склеятся. */
.anatomy .hero-position{
  font-size:clamp(38px,4.8vw,72px)!important;
  line-height:1.02!important;
  letter-spacing:-.05em;
  font-weight:450;
  color:var(--ink);
  margin:10px 0 0!important;
  max-width:12ch;
}
.anatomy .hero-lead{
  margin-top:22px;
  max-width:56ch;
  font-size:17px!important;
  line-height:1.7!important;
  color:var(--soft);
}
.anatomy .hero-links{margin-top:32px;gap:14px 26px}

/* Правая колонка: портрет, имя, роль. Ссылка ведёт на «Обо мне» — тот же
   переход, что был у прежней маленькой карточки. */
.hero-portrait{
  grid-column:2;grid-row:1;
  display:grid;gap:18px;align-self:center;justify-self:end;
  width:min(100%,420px);text-decoration:none;
}
.hero-portrait img{
  width:100%;height:auto;display:block;
  aspect-ratio:4/5;object-fit:cover;
  border:1px solid var(--line);
}
.hero-portrait__caption{display:grid;gap:6px}
.hero-portrait__caption strong{font-size:15px;font-weight:550;color:var(--ink)}
.hero-portrait__caption .mono{color:var(--accent)}
.hero-portrait__caption small{font-size:13px;line-height:1.65;color:var(--soft)}
.hero-portrait:hover{text-decoration:none}
.hero-portrait:hover .hero-portrait__caption strong{text-decoration:underline;text-underline-offset:5px}

@media(max-width:1100px){
  .anatomy{grid-template-columns:minmax(0,1.05fr) minmax(240px,.75fr)!important}
  .hero-portrait{width:min(100%,320px)}
}
@media(max-width:820px){
  .anatomy{grid-template-columns:minmax(0,1fr)!important;row-gap:36px}
  /* На узком экране кнопка не должна уезжать вниз за портретом. */
  .anatomy-title{grid-row:1}
  .hero-portrait{grid-column:1;grid-row:2;justify-self:start;width:min(100%,340px)}
  .anatomy .hero-position{max-width:100%;font-size:clamp(34px,7.6vw,46px)!important}
  .anatomy .hero-lead{max-width:100%;font-size:15px!important}
}

/* ── Секция «Как я ищу ограничение» ───────────────────────────────── */
.model-chapter .model-layout{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);
  gap:clamp(28px,3.5vw,60px);
  align-items:start;
}
.model-chapter .model-window{
  position:relative!important;inset:auto!important;
  width:100%;height:clamp(460px,52vw,756px);margin:0!important;
  overflow:hidden;pointer-events:none;
}
.model-chapter .model-ruler{display:none}
.model-chapter .model-caption{position:absolute;left:0;right:0;bottom:0;max-width:none;gap:6px}
.model-chapter .layer-panel{
  position:static;padding:0;width:auto;min-width:0;
  grid-column:auto;grid-row:auto;
}
.model-chapter .layer-description{min-height:0;margin-top:26px}
.model-chapter .layer-description h2{font-size:clamp(22px,2.1vw,27px);line-height:1.2}
.model-chapter .layer-description p{font-size:15px;line-height:1.7}
.model-chapter .layer-controls button{min-height:56px}
@media(max-width:900px){
  .model-chapter .model-layout{grid-template-columns:minmax(0,1fr)}
  .model-chapter .model-window{height:clamp(360px,76vw,700px)}
  .model-chapter .layer-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:16px}
}

/* Шапка главной повторяет общий слой: липкая, 66px, кнопка не пропадает
   на планшете. Подробности — тот же блок в styles.css. */
.site-header{position:sticky;top:0}
.site-header .header-inner{min-height:66px}
.site-header.is-scrolled{
  border-bottom:1px solid #718675;
  background:color-mix(in oklch,var(--paper) 88%,transparent);
  backdrop-filter:saturate(140%) blur(10px);
  -webkit-backdrop-filter:saturate(140%) blur(10px);
}
@supports not (backdrop-filter:blur(4px)){
  .site-header.is-scrolled{background:var(--paper)}
}
@media(max-width:59.999rem){
  .site-header .header-cta{
    display:inline-flex;align-items:center;min-height:44px;
    padding:0 14px;margin-left:auto;
    border:1px solid var(--accent);border-radius:4px;font-size:13px;
  }
  .site-header .header-inner{gap:12px}
}
@media(max-width:30rem){
  .site-header .header-cta{padding:0 11px;font-size:12px}
}
@media print{.site-header{position:static}}

/* ── Срок и стоимость: знак вместо повторяющегося слова ───────────────
   Шапка таблицы уже говорит «Срок и стоимость», а каждая из восьми строк
   повторяла эти слова ещё раз — на экране получалось шестнадцать лишних
   подписей. Слово осталось для скринридера: «постоянно» и «от 60 000 ₽/мес»
   сами по себе не объясняют, что это за величина. */
.service-meta>p{display:flex;align-items:baseline;gap:9px}
.service-meta>p>.service-meta__label{
  display:inline-flex;align-items:center;
  margin:0;flex:none;color:var(--soft);align-self:center;
}
.service-meta__label .ic{width:15px;height:15px}
.service--flagship .service-meta>p>.service-meta__label{color:var(--accent)}

/* ─────────────────────────────────────────────────────────────────────
   Навигация по главной и разделители глав
   ─────────────────────────────────────────────────────────────────────
   Главная длинная намеренно: она продаёт экспертизу, метод, масштаб и
   собственные продукты сразу. Проблема была не в объёме, а в том, что два
   десятка секций читались одним потоком — человек не понимал, где он и
   что дальше. Две вещи это снимают: локальная навигация, которая липнет
   под общей шапкой и подсвечивает текущую главу, и крупные разделители,
   собирающие секции в семь глав.
   Нумерация переехала с секций на главы. Прежние 16 номеров на 20 секций
   создавали шум и обещали структуру, которой не было. */

.page-nav{
  position:sticky;
  top:66px; /* высота липкой шапки, .header-inner{min-height:66px} */
  z-index:19; /* под шапкой (z-index:20), над содержимым */
  background:var(--paper);
  border-bottom:1px solid var(--line);
  border-top:1px solid var(--line);
}
.page-nav__inner{
  display:flex;
  gap:2px;
  align-items:stretch;
  max-width:1320px;
  margin-inline:auto;
  padding-inline:max(var(--gutter),calc((100% - 1320px) / 2));
  overflow-x:auto;
  scrollbar-width:none;
}
.page-nav__inner::-webkit-scrollbar{display:none}
.page-nav a{
  display:flex;align-items:center;
  flex:none;
  min-height:46px;
  padding:0 18px;
  font-size:13px;
  letter-spacing:0em;
  color:var(--soft);
  text-decoration:none;
  border-bottom:2px solid transparent;
  transition:color 180ms ease,border-color 180ms ease;
}
.page-nav a:first-child{margin-inline-start:-18px}
.page-nav a:hover{color:var(--ink)}
.page-nav a[aria-current="true"]{
  color:var(--ink);
  border-bottom-color:var(--accent);
}
@media (max-width:60rem){
  .page-nav{top:66px}
  .page-nav a{padding:0 14px;font-size:12px;min-height:44px}
  .page-nav a:first-child{margin-inline-start:-14px}

}

/* ── Разделитель главы ──────────────────────────────────────────────
   Полоса во всю ширину: номер, имя главы и одна строка о том, что внутри.
   Тон чередуется, чтобы длинная страница читалась ритмом, а не сплошняком. */
.chapter-break{
  padding-block:64px 44px;
  padding-inline:max(var(--gutter),calc((100% - 1320px) / 2));
  border-top:1px solid var(--line);
}
.chapter-break[data-tone="raised"]{background:var(--surface)}
.chapter-break__num{
  display:block;
  font:11px Mono,monospace;
  letter-spacing:.14em;
  color:var(--accent);
}
.chapter-break__name{
  margin:10px 0 0;
  font-size:clamp(27px,6.6vw,66px);
  font-weight:450;
  line-height:1.02;
  letter-spacing:-.045em;
  color:var(--ink);
  text-transform:uppercase;
}
.chapter-break__lead{
  margin:14px 0 0;
  max-width:var(--measure);
  font-size:15px;
  line-height:1.62;
  color:var(--soft);
}
/* Секция сразу за разделителем не рисует свою верхнюю линию: иначе две
   линии подряд с зазором в несколько пикселей. */
.chapter-break + .chapter{border-top:0}

@media (max-width:48rem){
  .chapter-break{padding-block:44px 30px}
  .chapter-break__lead{font-size:14px}
}

/* Якоря секций тоже уводим из-под двух липких полос. */
:root{scroll-padding-top:120px}

/* ── Chexter как отдельный продукт ─────────────────────────────────────
   BestSEOTools, SEO Toolset и Chexter стояли тремя равными строками, хотя
   это каталог ссылок, рабочая платформа и запущенный продукт. Одинаковый
   вес стирал разницу. Chexter забирает верх блока и собственную сцену,
   остальные два остаются списком. */
.tool-featured{
  display:grid;
  grid-template-columns:1fr .62fr;
  gap:44px;
  align-items:center;
  margin-bottom:34px;
  padding:38px 40px;
  background:var(--sheet);
  color:var(--ink);
  text-decoration:none;
  border:1px solid #c8cfbf;
  transition:box-shadow 200ms ease,transform 200ms ease;
}
.tool-featured:hover{box-shadow:7px 9px 0 #879b80;transform:translate(-2px,-2px)}
.tool-featured .eyebrow{color:var(--soft)}
.tool-featured h3{
  margin:12px 0 0;
  font-size:clamp(27px,2.6vw,34px);
  font-weight:450;
  line-height:1.14;
  letter-spacing:-.04em;
}
.tool-featured__body>p{
  margin:14px 0 0;
  max-width:var(--measure);
  font-size:15px;
  line-height:1.62;
  color:var(--soft);
}
.tool-featured .audit-meta{margin-top:18px}
.tool-featured__cta{
  display:inline-flex;align-items:center;gap:8px;
  margin-top:22px;
  font-size:14px;
  color:var(--accent);
  border-bottom:1px solid currentColor;
  padding-bottom:2px;
}
.tool-featured__panel{
  padding:24px 24px 26px;
  background:#fcfcf7;
  border:1px solid #c8cfbf;
}
.tool-featured__panel>.mono{font:9px Mono,monospace;letter-spacing:.12em;color:var(--soft)}
.tool-featured__panel>strong{
  display:block;margin:10px 0 14px;
  font-size:58px;font-weight:400;line-height:1;letter-spacing:-.06em;
}
.tool-featured__panel ul{margin:0;padding:0;list-style:none;display:grid;gap:9px}
.tool-featured__panel li{
  font-size:13px;line-height:1.5;color:var(--soft);
  padding-top:9px;border-top:1px solid #d9ded0;
}
.tool-featured__panel .audit-stamp{
  display:block;margin-top:18px;
  font:9px Mono,monospace;letter-spacing:.1em;color:var(--soft);
}
@media (max-width:60rem){
  .tool-featured{grid-template-columns:1fr;gap:26px;padding:28px 24px}
  .tool-featured__panel>strong{font-size:42px}
}

/* ── Вес секции по её роли ─────────────────────────────────────────────
   На странице в двадцать с лишним экранов все секции весили одинаково:
   и флагманский кейс, и строка подтверждающих цифр занимали по экрану.
   Читатель тратил на подтверждение столько же внимания, сколько на
   основной аргумент. Главное оставляем крупным, подтверждающее сжимаем
   до строки, которую можно пролистать глазом. */

/* «Два результата» — подтверждение к архиву кейсов, не отдельная глава. */
.chapter.outcomes{padding-block:46px}
.outcomes .block-head{margin-bottom:26px}
.outcomes .block-head h2{font-size:clamp(24px,2.2vw,30px);line-height:1.12}
.outcomes .block-intro{font-size:14px}
.outcome-pair article{padding-top:18px}
.outcome-pair h3{font-size:18px}
.outcome-start{margin-top:12px}
.outcome-end strong{font-size:34px}

/* Квалификации — четыре строки со ссылкой на проверку, а не четыре карточки
   в треть экрана каждая. Кому важно — прочтёт, остальные пролистают. */
.credential-strip{grid-template-columns:1fr;gap:0}
.credential-strip a{
  flex-direction:row;
  align-items:center;
  gap:18px;
  min-height:0;
  padding:11px 0;
}
.credential-strip img{width:30px;height:30px;margin:0;flex:none}
.credential-strip a>div{
  flex:1 1 auto;
  display:flex;
  align-items:baseline;
  gap:6px 18px;
  flex-wrap:wrap;
}
.credential-strip a>div h3{margin:0;max-width:none;font-size:15px;font-weight:450;line-height:1.3;letter-spacing:-.01em}
.credential-strip a>div small{margin:0;order:2;font-size:12px;line-height:1.3;color:var(--soft)}
.credential-strip a>span{margin:0;padding-top:0;flex:none;white-space:nowrap;font-size:11px}
.chapter.credentials{padding-block:40px}
.credentials .block-head{margin-bottom:22px}
.credentials .block-head h2{font-size:clamp(24px,2.2vw,30px);line-height:1.12}

@media (max-width:48rem){
  .credential-strip a{flex-wrap:wrap;gap:10px 14px;padding:13px 0}
  .credential-strip a>div{flex:1 1 180px}
  .credential-strip a>span{margin-left:44px}
}

/* ── Быстрый обзор форматов ────────────────────────────────────────────
   Восемь форматов остаются полностью, но сравнить их между собой было
   негде: страница предлагала только последовательное чтение восьми
   развёрнутых карточек. Обзор даёт второй режим — просмотреть список,
   выбрать и прыгнуть к подробностям. */
.service-overview{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:0 48px;
  list-style:none;
  margin:26px 0 44px;
  padding:0;
  counter-reset:none;
}
.service-overview a{
  display:flex;
  align-items:baseline;
  gap:14px;
  min-height:46px;
  padding:12px 0;
  border-bottom:1px solid var(--line);
  color:var(--ink);
  text-decoration:none;
  transition:color 160ms ease;
}
.service-overview a:hover{color:var(--accent)}
.service-overview span{
  font:10px Mono,monospace;
  letter-spacing:.1em;
  color:var(--soft);
  flex:none;
  min-width:20px;
}
.service-overview strong{
  flex:1 1 auto;
  font-size:16px;
  font-weight:450;
  letter-spacing:-.015em;
}
.service-overview small{
  flex:none;
  font-size:13px;
  color:var(--soft);
  white-space:nowrap;
}
@media (max-width:60rem){
  .service-overview{grid-template-columns:1fr;gap:0}
  .service-overview strong{font-size:15px}
}

/* ── Метод: четыре этапа как переключатель ─────────────────────────────
   Этапы уже переключали нижний блок, но выглядели как четыре одинаковые
   колонки таблицы: тонкая линия сверху у активного — единственный признак,
   что на них можно нажать. Теперь активный этап берёт фон нижней панели и
   акцентную линию, а панель примыкает к нему вплотную: видно, что это одно
   целое и что этап выбирают. */
.process-stages{gap:6px}
.process-stages button{
  min-height:118px;
  padding:16px 14px;
  cursor:pointer;
  transition:background 160ms ease,border-color 160ms ease;
}
.process-stages button:hover{background:color-mix(in srgb,var(--surface) 60%,transparent)}
.process-stages button[aria-pressed="true"]{
  border-top:3px solid var(--accent);
  background:var(--surface);
  padding-top:14px;
}
.process-stages button[aria-pressed="true"]:hover{background:var(--surface)}
.process-detail{margin-top:0}
@media (max-width:60rem){
  .process-stages button{min-height:0;padding:14px 12px}
}

/* ── Краулер: 311 — главный аргумент блока ─────────────────────────────
   Четыре цифры стояли одинаковыми колонками, и «311 полей на страницу»
   читалось наравне с производной «×1,5 к типовому краулеру». Главную
   величину поднимаем, остальные оставляем подписью к ней. */
.crawler-band{grid-template-columns:1.45fr 1fr 1fr .9fr;align-items:start}
.crawler-band li:first-child strong{font-size:clamp(66px,7vw,96px);font-weight:300}
.crawler-band li:first-child span{font-size:14px;max-width:20ch}
.crawler-band li:not(:first-child) strong{font-size:clamp(34px,3.4vw,46px)}
@media (max-width:60rem){
  .crawler-band{grid-template-columns:1fr 1fr}
  .crawler-band li:first-child{grid-column:1 / -1}
  .crawler-band li:first-child strong{font-size:clamp(58px,13vw,86px)}
}

/* ── Условия работы: одна композиция из двух смысловых частей ───────────
   «Границы работы» и «Гарантии» — один разговор: что беру и за что отвечаю.
   Двумя полными экранами подряд он читался как два разных раздела, между
   которыми надо ещё раз разгоняться. Ставим рядом. */
.conditions-pair{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0 64px;
  width:min(1320px,calc(100% - var(--gutter)*2));
  margin-inline:auto;
  border-top:1px solid var(--line);
  padding-block:70px;
}
.conditions-pair>.chapter{
  width:100%;
  padding-block:0;
  border-top:0;
  margin:0;
}
.conditions-pair .block-head{margin-bottom:26px}
.conditions-pair .block-head h2{font-size:clamp(27px,2.5vw,34px);line-height:1.12}
.conditions-pair .boundary-manifest{grid-template-columns:1fr;gap:26px}
.conditions-pair .boundary-note{margin-top:26px}
@media (max-width:60rem){
  .conditions-pair{grid-template-columns:1fr;gap:38px;padding-block:44px}
}

/* ── Доказательства: график, реплика и отзывы на одном фоне ─────────────
   График Клиники Сан, её реплика и два отзыва шли двумя секциями с разными
   фонами, и подтверждение распадалось на части. Общая полоса собирает их
   в один блок: сначала измеренный результат, следом слова клиентов. */
.proof-pair{background:var(--surface)}
.proof-pair>.proof-section{background:transparent;padding-bottom:34px}
.proof-pair>.voices{
  border-top:0;
  padding-block:0 72px;
}
.proof-pair .voices .block-head{margin-bottom:22px}
.proof-pair .voices .block-head h2{font-size:clamp(22px,2vw,27px);line-height:1.14}
@media (max-width:60rem){
  .proof-pair>.voices{padding-bottom:48px}
}

/* Пятая позиция в переключателе кейсов — ссылка на «Два результата».
   Это не панель, а переход: подтверждающие цифры лежат ниже отдельной
   строкой, и раньше о них узнавал только тот, кто долистывал. */
.case-tabs{grid-template-columns:repeat(5,1fr)}
.case-tabs__more{
  display:flex;flex-direction:column;justify-content:flex-start;
  background:#355345;color:var(--paper);text-decoration:none;
  clip-path:polygon(0 0,calc(100% - 22px) 0,100% 22px,100% 100%,0 100%);
  padding:17px 23px 18px;min-height:102px;
}
.case-tabs__more:hover{background:#526d59}
.case-tabs__more>span{font:9px Mono,monospace;color:#b3c9ae;display:block;margin-bottom:8px}
.case-tabs__more strong{font-size:22px;font-weight:450;letter-spacing:-.04em;display:block;line-height:1.2}
.case-tabs__more small{font-size:10px;margin-top:8px;display:block;color:#c6d4c1}
@media (max-width:60rem){
  .case-tabs{grid-template-columns:repeat(2,1fr)}
  .case-tabs__more{min-height:0}
}

/* ── Карточка задачи как главный объект блока ──────────────────────────
   Правая часть показывала оглавление отчёта — четыре строки заголовков.
   Заголовки не отвечают на вопрос «что я получу». Карточка задачи в той
   форме, в какой она лежит в документе, отвечает: приоритет, проблема,
   доказательство, влияние, действие, исполнитель и способ проверки. */
.deliverable-grid{grid-template-columns:.82fr 1fr;gap:70px;align-items:start}
.report-issue{
  position:relative;
  margin:0;
  padding:26px 30px 30px;
  background:var(--sheet);
  color:var(--ink);
  border:1px solid #b0bda5;
  box-shadow:8px 10px 0 #b7c3ae;
}
.report-issue__top{
  display:flex;justify-content:space-between;align-items:baseline;gap:20px;
  padding-bottom:14px;border-bottom:1px solid #c3cdb8;
}
.report-issue__top b{font-size:14px;font-weight:600;letter-spacing:.02em}
.report-issue__top .mono{font:9px Mono,monospace;letter-spacing:.1em;color:var(--soft)}
.report-issue__head{display:flex;align-items:center;gap:14px;margin-top:20px}
.report-issue__id{font:10px Mono,monospace;letter-spacing:.12em;color:var(--soft)}
.report-issue__prio{
  font:10px Mono,monospace;letter-spacing:.1em;
  padding:3px 8px;border:1px solid var(--accent);color:var(--accent);
}
.report-issue h3{
  margin:12px 0 0;
  font-size:clamp(24px,2.3vw,30px);
  font-weight:450;line-height:1.14;letter-spacing:-.035em;
}
.report-issue__body{
  display:grid;
  grid-template-columns:minmax(0,132px) minmax(0,1fr);
  gap:0;
  margin:22px 0 0;
}
.report-issue__body dt{
  padding:11px 0;
  border-top:1px solid #c9d2be;
  font:9px Mono,monospace;letter-spacing:.1em;color:var(--soft);
}
.report-issue__body dd{
  margin:0;padding:11px 0 11px 18px;
  border-top:1px solid #c9d2be;
  font-size:14px;line-height:1.55;
}
.report-issue__impact{
  display:inline-block;padding:2px 9px;
  background:var(--accent);color:var(--paper);
  font-size:12px;letter-spacing:.02em;
}
.report-issue figcaption{
  margin-top:18px;
  font-size:11px;line-height:1.5;color:var(--soft);
}
.report-issue .report-page{
  position:absolute;right:14px;bottom:10px;
  font:9px Mono,monospace;letter-spacing:.1em;color:var(--soft);
}
@media (max-width:60rem){
  .deliverable-grid{grid-template-columns:1fr;gap:34px}
  .report-issue{padding:22px 20px 26px;box-shadow:5px 7px 0 #b7c3ae}
  .report-issue__body{grid-template-columns:1fr}
  .report-issue__body dt{padding-bottom:0;border-top:1px solid #c9d2be}
  .report-issue__body dd{padding:6px 0 12px;border-top:0}
}

/* ─────────────────────────────────────────────────────────────────────
   Полировка главной: контраст, размеры целей, длина строки
   ─────────────────────────────────────────────────────────────────────
   Замер живой страницы дал 36 узлов ниже порога WCAG AA и 11 интерактивных
   элементов ниже 44px, хотя правило проекта требует 44. Ниже — адресные
   правки по каждому найденному узлу, без общего перекрашивания.
   ───────────────────────────────────────────────────────────────────── */

/* ── 1. Акцент как мелкий текст ────────────────────────────────────────
   Терракота #b5462d на светлых поверхностях даёт 4.09–4.29 — норма 4.5.
   Для крупных заголовков этого хватает (порог 3.0), для подписей и номеров
   в 9–14px — нет. Вводим тёмную ступень того же тона: 5.19–5.70. Она уже
   живёт в палитре отчётов аудита, так что новый цвет не появляется. */
:root{--accent-text:#a33325}
.case-method p span,
.chapter-break__num,
.deliverable-points article>span,
.article-list article>span,
.contact-form label span,
.open-case .readout .mono,
.open-case .annotation-label span,
.hero-portrait__caption .mono,
.layer-description>.mono,
.service-name>span,
.service--flagship .service-name h3,
.situation-list button[aria-pressed=true],
.situation-list button[aria-pressed=true]>.mono,
.faq-list details[open] summary{color:var(--accent-text)}

/* ── 2. Подпись «Области работы по кейсу» ──────────────────────────────
   Светло-зелёный на светло-зелёном давал 1.23 — текст практически не
   виден. На тёмном фоне архива этот цвет работал, но карточка кейса
   лежит на светлой бумаге, и правило досталось ей по наследству. */
.case-file .case-method .eyebrow{color:var(--soft)}

/* ── 3. Линейка в модели ───────────────────────────────────────────────
   8px — единственное место на странице с таким кеглем, и контраст 3.28.
   Поднимаем до 10px и берём цвет подписей. */
.model-ruler span{font-size:10px;color:var(--soft)}

/* ── 4. Цели касания ───────────────────────────────────────────────────
   Правило проекта — 44px минимум. Не выполняли: «Подробнее» в карточках
   услуг (36px), ссылка под кейсом (38px), «Проверить» в открытом кейсе
   (19px) и чекбокс согласия (19px). Размер шрифта не трогаем, растёт
   только область нажатия. */
.service-meta>a{min-height:44px;display:inline-flex;align-items:center}
.file-foot a{min-height:44px;display:inline-flex;align-items:center}
.readout-rule a{min-height:44px;display:inline-flex;align-items:center}
.consent{min-height:44px}
.consent label{display:flex;align-items:center;min-height:44px}

/* ── 5. Длина строки во вступлении к услугам ───────────────────────────
   133 знака в строке — вдвое больше комфортного диапазона. Остальной
   текст страницы уже уложен, этот абзац шёл во всю ширину. */
.service-context{max-width:var(--measure)}

/* ── Призыв в середине страницы ────────────────────────────────────────
   Замер показал разрыв: между кнопкой в hero и следующим призывом лежало
   12 800px прокрутки. Человек, которого убедили кейсы или метод, не имел
   куда нажать и уходил искать контакты сам. Две полосы закрывают разрыв
   на границах глав «Практика» и «Метод». */
.mid-cta{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:24px 40px;
  width:min(1320px,calc(100% - var(--gutter)*2));
  margin:0 auto;
  padding:30px 0 34px;
  border-top:1px solid var(--line);
}
.mid-cta p{
  margin:0;
  max-width:62ch;
  font-size:17px;
  line-height:1.5;
  color:var(--soft);
}
.mid-cta p strong{color:var(--ink);font-weight:500}
.mid-cta .primary{
  display:inline-flex;align-items:center;gap:12px;
  flex:none;
  min-height:52px;
  padding:0 26px;
  background:var(--ink);
  color:var(--paper);
  font-size:15px;
  text-decoration:none;
  transition:background 180ms ease;
}
.mid-cta .primary:hover{background:var(--deep)}
@media (max-width:60rem){
  .mid-cta{padding:24px 0 26px;gap:18px}
  .mid-cta p{font-size:15px}
  .mid-cta .primary{width:100%;justify-content:space-between}
}

/* ── 6. Остаток замера ─────────────────────────────────────────────────
   Три абзаца шли во всю ширину секции: подпись под открытым кейсом,
   перечень отдельных инструментов и сноска про краулер. Остальной текст
   страницы уже уложен в читаемую меру, эти выпадали. */
#month-note,.tools-more,.crawler-note{max-width:var(--measure)}

/* Чекбокс согласия: 19px мельче любого пальца. Сам квадрат поднимаем до
   24px, а нажимать можно по всей строке — метка уже растянута до 44px. */
.consent input{width:24px;height:24px}

/* Крупное число в образце проверки на узком экране вылезало из своей
   колонки на три пикселя. Даём ему ужиматься вместе с колонкой. */
@media (max-width:30rem){
  .audit-specimen>strong{font-size:clamp(38px,13vw,46px)}
}

/* ── Пробел между словом и знаком ──
   В flex- и grid-контейнере текстовый узел из одного пробела схлопывается,
   и знак прижимается к слову вплотную. Замер 07.09: 40 таких мест — все
   появились, когда текстовая стрелка стала символом спрайта.

   Первая попытка ставила margin на сам знак с оговоркой :not(:only-child),
   и не сработала: :only-child считает только элементы, а слово рядом со
   знаком — текстовый узел. Поэтому зазор задаёт родитель, а :where() даёт
   нулевой вес: там, где gap уже назначен своим правилом, оно и выигрывает.
   На знаке без текста column-gap ни на что не влияет — делить нечего. */
:where(a,button,summary,span,b,strong,p,div,li,td,th,dt,dd,figcaption,h1,h2,h3,h4):has(>.ic),
:where(a,button,summary,span,b,strong,p,div,li,td,th,dt,dd,figcaption,h1,h2,h3,h4):has(>.ic-mark){column-gap:.4em}
