/* =========================================================================
   Лаборатория внедрений — labvn.ru
   Вариант D «Бланк анализа». Mobile-first.
   Адаптив строится на container queries от .site (контейнер «site»):
   базовые стили = телефон, далее ≥40rem (планшет), ≥64rem (десктоп), ≥80rem.
   ========================================================================= */

/* ---------- Шрифты (self-hosted, 152-ФЗ) ---------- */
@font-face{font-family:"Golos Text";font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/golos-text-cyrillic-400-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Golos Text";font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/golos-text-cyrillic-600-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Golos Text";font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/golos-text-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Golos Text";font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/golos-text-latin-600-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Golos Text";font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/golos-text-cyrillic-700-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Golos Text";font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/golos-text-latin-700-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"JetBrains Mono";font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/jetbrains-mono-cyrillic-400-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"JetBrains Mono";font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/jetbrains-mono-cyrillic-700-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"JetBrains Mono";font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/jetbrains-mono-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"JetBrains Mono";font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/jetbrains-mono-latin-700-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* Запасной шрифт с метриками Golos: пока woff2 грузится, текст верстается шириной Golos, а не системного
   шрифта (SF/Segoe уже на 7 %), поэтому заголовок первого экрана не меняет число строк при подмене
   шрифта и сетка hero не прыгает (CLS 0,17 → 0). size-adjust замерен по тексту hero в Chromium. */
/* Запасные шрифты под метрики Golos (29.09.2026): ширина замерена fontTools по тексту главной,
   высоты = метрики Golos (asc 0.98, desc 0.22, gap 0) / size-adjust. Arial — Mac/Win/iOS, Roboto — Android. */
@font-face{font-family:"Golos Fallback";font-style:normal;font-weight:100 499;src:local("Arial"),local("ArialMT"),local("Liberation Sans");size-adjust:106.1%;ascent-override:92.4%;descent-override:20.7%;line-gap-override:0%}
@font-face{font-family:"Golos Fallback";font-style:normal;font-weight:500 649;src:local("Arial Bold"),local("Arial-BoldMT"),local("Liberation Sans Bold");size-adjust:99.9%;ascent-override:98.1%;descent-override:22%;line-gap-override:0%}
@font-face{font-family:"Golos Fallback";font-style:normal;font-weight:650 900;src:local("Arial Bold"),local("Arial-BoldMT"),local("Liberation Sans Bold");size-adjust:100.8%;ascent-override:97.2%;descent-override:21.8%;line-gap-override:0%}
@font-face{font-family:"Golos Fallback Roboto";font-style:normal;font-weight:100 499;src:local("Roboto"),local("Roboto-Regular");size-adjust:104.5%;ascent-override:93.8%;descent-override:21.1%;line-gap-override:0%}
@font-face{font-family:"Golos Fallback Roboto";font-style:normal;font-weight:500 649;src:local("Roboto Bold"),local("Roboto-Bold");size-adjust:104.4%;ascent-override:93.9%;descent-override:21.1%;line-gap-override:0%}
@font-face{font-family:"Golos Fallback Roboto";font-style:normal;font-weight:650 900;src:local("Roboto Bold"),local("Roboto-Bold");size-adjust:105.3%;ascent-override:93.1%;descent-override:20.9%;line-gap-override:0%}

/* ---------- Токены ---------- */
:root{
  --paper:#F7F3EA; --paper-2:#FFFDF8; --sky:#DCE6F7; --sky-2:#EEF3FB;
  --ink:#14161A; --ink-2:#2A2E36; --muted:#4B5060; --line:#9AA3B5;
  --blue:#1D3A8A; --blue-2:#2E4FA6; --blue-ink:#E9EFFB;
  --red:#B3261E; --red-soft:#E7A7A2; --mustard:#F2C94C; --mustard-ink:#7A5B0E;
  --wood-dark:#5E3A1A; --wood:#7A4B22; --wood-front:#B67D45; --wood-edge:#6E4520; --brass:#C9A54A; --brass-dark:#7F6224;
  --sans:"Golos Text","Golos Fallback","Golos Fallback Roboto",system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  --gutter:20px; --radius:4px; --shadow-sheet:6px 6px 0 var(--sky);
  --tap:48px;
}

/* ---------- База ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.5 var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,svg{max-width:100%;height:auto;display:block}
a{color:var(--blue);text-underline-offset:3px}
a:hover{color:var(--red)}
:focus-visible{outline:3px solid var(--mustard);outline-offset:2px}
button,input,select,textarea{font:inherit;color:inherit}
h1,h2,h3,h4{margin:0;font-weight:600;letter-spacing:-.025em;line-height:1.1;text-wrap:balance}
p{margin:0}
ul,ol{margin:0;padding:0}
[hidden]{display:none!important}
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:fixed;left:8px;top:-80px;z-index:100;background:var(--mustard);color:var(--ink);padding:12px 16px;border-radius:var(--radius);font-weight:600}
.skip:focus{top:8px}

/* Контейнер сайта: всё адаптивное считается от его ширины */
.site{container:site / inline-size;min-height:100vh;background:var(--paper);position:relative}
.wrap{width:100%;max-width:1240px;margin-inline:auto;padding-inline:var(--gutter)}
@container site (min-width:40rem){.wrap{padding-inline:32px}}
@container site (min-width:64rem){.wrap{padding-inline:48px}}

/* ---------- Типографика ---------- */
.mono{font-family:var(--mono)}
.eyebrow{font:400 13px/19px var(--mono);letter-spacing:.04em;color:var(--red);text-transform:uppercase}
.eyebrow--blue{color:var(--blue)}
.eyebrow--light{color:var(--mustard)}
.h1{font-size:34px;line-height:1.1;letter-spacing:-.03em}
.h2{font-size:28px;line-height:1.12}
.h3{font-size:20px;line-height:1.25;letter-spacing:-.015em}
.lead{font-size:17px;line-height:1.55;color:var(--ink-2)}
.small{font-size:14px;line-height:1.5;color:var(--muted)}
.draft{font:400 13px/1 var(--mono);color:var(--red);white-space:nowrap}
.mark{background:linear-gradient(transparent 58%,var(--mustard) 58%);padding-inline:1px}
.num{font-family:var(--mono);font-variant-numeric:tabular-nums}
.stack>*+*{margin-top:var(--stack,16px)}
@container site (min-width:40rem){.h1{font-size:46px}.h2{font-size:36px}.lead{font-size:18px}}
@container site (min-width:64rem){.h1{font-size:58px}.h2{font-size:44px}.h3{font-size:22px}}

/* ---------- Кнопки ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:var(--tap);padding:12px 20px;border-radius:6px;border:1.5px solid transparent;font:600 16px/22px var(--sans);text-decoration:none;cursor:pointer;transition:background .2s,color .2s,border-color .2s;text-align:left}
.btn svg{width:20px;height:20px;flex-shrink:0}
.btn--primary{background:var(--blue);color:#fff}
.btn--primary:hover{background:var(--red);color:#fff}
.btn--ghost{background:transparent;color:var(--blue);border-color:var(--blue)}
.btn--ghost:hover{background:var(--blue);color:#fff}
.btn--light{background:var(--paper-2);color:var(--blue)}
.btn--light:hover{background:var(--mustard);color:var(--ink)}
.btn--block{display:flex;width:100%;justify-content:space-between}
.btn--lg{min-height:58px;padding:16px 22px;font-size:17px}
.link-arrow{display:inline-flex;align-items:center;gap:6px;min-height:var(--tap);font-weight:600;text-decoration:none}
.link-arrow svg{width:18px;height:18px}
@container site (min-width:40rem){.btn--block{width:auto;display:inline-flex}}

/* ---------- Иконки ---------- */
.i{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.i--sm{width:16px;height:16px}

/* ---------- Верхний ярус ---------- */
.topbar{background:var(--blue);color:#fff;font:400 13px/1 var(--mono)}
.topbar .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:36px}
.topbar a{color:#fff;text-decoration:none;display:inline-flex;align-items:center;gap:8px;min-height:36px}
.topbar a:hover{color:var(--mustard)}
.topbar__status{display:none}
.topbar__links{display:flex;gap:18px;width:100%;justify-content:space-between}
@container site (min-width:64rem){.topbar__status{display:block}.topbar__links{width:auto}}

/* ---------- Шапка ---------- */
.header{position:sticky;top:env(safe-area-inset-top,0px);z-index:40;background:var(--paper);border-bottom:2px solid var(--ink)}
.header .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:64px}
.logo{display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none}
.logo svg{width:36px;height:36px}
.logo__name{font-size:17px;font-weight:600;letter-spacing:-.02em;line-height:1.1}
.logo__sub{font:400 12px/1.3 var(--mono);color:var(--muted);margin-top:2px}
.logo__sub-long{display:none}
.nav{display:none}
.nav a{color:var(--ink);text-decoration:none;font-weight:600;font-size:15px;padding:10px 4px;border-bottom:2px solid transparent}
.nav a:hover,.nav a[aria-current="page"]{color:var(--blue);border-bottom-color:var(--mustard)}
.header__cta{display:none}
.burger{width:var(--tap);height:var(--tap);display:inline-flex;align-items:center;justify-content:center;background:var(--paper-2);border:1.5px solid var(--ink);border-radius:6px;cursor:pointer;padding:0}
.burger .i-close{display:none}
.burger[aria-expanded="true"] .i-open{display:none}
.burger[aria-expanded="true"] .i-close{display:block}
@container site (min-width:64rem){
  .header .wrap{min-height:76px}
  .nav{display:flex;gap:22px}
  .header__cta{display:inline-flex}
  .burger{display:none}
  .logo__sub-long{display:inline}
}

/* Мобильное меню-выдвижка */
.drawer-menu{position:fixed;inset:0;z-index:60;display:none}
.drawer-menu.is-open{display:block}
.drawer-menu__backdrop{position:absolute;inset:0;background:rgba(20,22,26,.45)}
.drawer-menu__panel{position:absolute;top:0;right:0;bottom:0;width:min(88%,380px);background:var(--paper);border-left:2px solid var(--ink);display:flex;flex-direction:column;overflow-y:auto;padding:16px 20px 24px}
.drawer-menu__head{display:flex;justify-content:space-between;align-items:center;padding-bottom:12px;border-bottom:1.5px solid var(--ink);font:400 13px/1 var(--mono);color:var(--muted)}
.drawer-menu nav{display:flex;flex-direction:column;margin-top:8px}
.drawer-menu nav a{display:flex;justify-content:space-between;align-items:center;min-height:56px;border-bottom:1px dashed var(--line);color:var(--ink);text-decoration:none;font-size:19px;font-weight:600}
.drawer-menu nav a span{font:400 13px/1 var(--mono);color:var(--red)}
.drawer-menu__foot{margin-top:auto;padding-top:20px;display:flex;flex-direction:column;gap:10px}

/* ---------- Секции ---------- */
.section{padding-block:40px}
.section--sky{background:var(--sky);border-block:1.5px solid var(--blue)}
.section--blue{background:var(--blue);color:#fff}
.section--blue .lead,.section--blue .small{color:var(--blue-ink)}
.section--blue a:not(.btn){color:var(--mustard)}
.section--ink{background:var(--ink);color:#fff}
.section--ink .lead,.section--ink .small{color:#C9CDD6}
.section--paper2{background:var(--paper-2)}
.section--grid{background-color:var(--sky);background-image:linear-gradient(rgba(29,58,138,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(29,58,138,.1) 1px,transparent 1px);background-size:24px 24px}
.section__head{display:flex;flex-direction:column;gap:10px;margin-bottom:24px}
.section__head .lead{max-width:62ch}
@container site (min-width:40rem){.section{padding-block:64px}.section__head{margin-bottom:36px}}
@container site (min-width:64rem){.section{padding-block:88px}.section__head--row{flex-direction:row;justify-content:space-between;align-items:flex-end;gap:48px}.section__head--row .lead{max-width:44ch}}

/* ---------- Сетки ---------- */
.grid{display:grid;gap:12px;grid-template-columns:minmax(0,1fr)}
@container site (min-width:40rem){.grid{gap:16px}.grid--2,.grid--3,.grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@container site (min-width:64rem){.grid{gap:20px}.grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}}
.split{display:grid;gap:28px;grid-template-columns:minmax(0,1fr)}
@container site (min-width:64rem){.split{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:56px;align-items:start}.split--rev{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}.split--center{align-items:center}}

/* Карусель: на телефоне — горизонтальная лента со снапом, шире — сетка */
.carousel{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;margin-inline:calc(var(--gutter) * -1);padding:4px var(--gutter) 14px;scrollbar-width:thin;-webkit-overflow-scrolling:touch}
.carousel>*{flex:0 0 min(84%,340px);scroll-snap-align:start}
.carousel__hint{display:flex;align-items:center;gap:8px;font:400 13px/1 var(--mono);color:var(--muted);margin-top:-4px}
@container site (min-width:40rem){.carousel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible;margin-inline:0;padding:0;gap:16px}.carousel__hint{display:none}}
@container site (min-width:64rem){.carousel--3{grid-template-columns:repeat(3,minmax(0,1fr))}.carousel--4{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* ---------- Бланк ---------- */
.sheet{position:relative;background:var(--paper-2);border:1.5px solid var(--ink);border-radius:var(--radius);box-shadow:var(--shadow-sheet);padding:16px 14px 22px 30px}
.sheet::before{content:"";position:absolute;left:21px;top:0;bottom:0;width:1.5px;background:var(--red-soft)}
.sheet__holes{position:absolute;left:6px;top:40px;bottom:40px;width:12px;display:flex;flex-direction:column;justify-content:space-between}
.sheet__holes i{display:block;width:12px;height:12px;border-radius:50%;background:var(--paper);border:1.5px solid var(--line)}
.sheet__head{font:400 13px/19px var(--mono);color:var(--muted);padding-bottom:8px;border-bottom:1.5px solid var(--ink);display:flex;flex-direction:column}
.sheet__head>div{display:flex;justify-content:space-between;gap:8px}
@container site (min-width:40rem){.sheet{padding:24px 28px 30px 44px}.sheet::before{left:30px}.sheet__holes{left:10px}}

.field{display:flex;flex-direction:column}
.field__label{font:400 13px/19px var(--mono);letter-spacing:.04em;color:var(--muted);text-transform:uppercase}
.field__value{font-size:16px;line-height:22px;padding:5px 0 4px;border-bottom:1.5px solid var(--ink)}
.fields{display:grid;gap:12px}
@container site (min-width:40rem){.fields--2{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px}}

/* Штамп */
.stamp{display:inline-block;border:4px double var(--red);border-radius:10px;padding:6px 10px;color:var(--red);font:700 13px/17px var(--mono);text-align:center;text-transform:uppercase;background:rgba(255,253,248,.85);transform:rotate(-7deg)}
.stamp--blue{border-color:var(--blue);color:var(--blue)}
.stamp--sm{font-size:12px;padding:3px 8px;border-width:3px}
.stamp .draft{display:block;font-weight:400;text-transform:none}

/* ---------- Hero ---------- */
.hero{padding-block:20px 36px}
.hero__grid{display:grid;gap:22px}
.hero__sheet h1{margin-top:12px}
.hero__sheet .lead{margin-top:14px}
.hero__fields{margin-top:18px}
.hero__stamp-row{display:flex;align-items:center;gap:12px}
.hero__stamp-row .field{flex:1}
.hero__actions{margin-top:22px;display:flex;flex-direction:column;gap:6px}
.hero__note{margin-top:8px}
.specimen{background-color:var(--sky);background-image:linear-gradient(rgba(29,58,138,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(29,58,138,.12) 1px,transparent 1px);background-size:24px 24px;border:1.5px solid var(--blue);border-radius:var(--radius);overflow:hidden}
.specimen__bar{min-height:40px;padding:8px 14px;display:flex;align-items:center;justify-content:space-between;gap:8px;background:var(--sky);font:400 13px/1.3 var(--mono);color:var(--blue)}
.specimen__bar:first-child{border-bottom:1.5px solid var(--blue)}
.specimen__bar:last-child{border-top:1.5px solid var(--blue)}
.specimen svg{margin-inline:auto;width:100%;max-width:440px}
.terminal{margin:4px 14px 14px;padding:10px 12px;background:var(--ink);color:var(--sky);border-radius:var(--radius);font:400 13px/19px var(--mono);white-space:pre-wrap}
.terminal b{color:var(--mustard);font-weight:400}
@container site (min-width:40rem){.hero{padding-block:40px 64px}}
@container site (min-width:64rem){.hero__grid{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:48px;align-items:start}.hero__actions{flex-direction:row;align-items:center;gap:16px}}

/* ---------- Селектор ситуаций ---------- */
.choice{display:block;height:100%;padding:14px 16px;background:var(--paper);border:1.5px solid var(--blue);border-radius:var(--radius);color:var(--ink);text-decoration:none;transition:transform .2s,box-shadow .2s}
.choice:hover{transform:translateY(-3px);box-shadow:4px 4px 0 var(--blue);color:var(--ink)}
.choice__top{display:flex;justify-content:space-between;align-items:center;font:400 13px/19px var(--mono);color:var(--blue)}
.choice__box{width:18px;height:18px;border:2px solid var(--blue);border-radius:2px}
.choice:hover .choice__box{background:var(--blue);box-shadow:inset 0 0 0 3px var(--paper)}
.choice__title{margin-top:6px;font-size:18px;line-height:24px;font-weight:600;letter-spacing:-.015em}
.choice__text{margin-top:4px;color:var(--ink-2)}
.choice__go{margin-top:10px;display:flex;align-items:center;gap:6px;font-weight:600;color:var(--blue)}

/* ---------- Картотека (шкаф) ---------- */
.cabinet-wrap{display:grid;gap:28px}
@container site (min-width:64rem){.cabinet-wrap{grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:48px;align-items:start}}
.cabinet{position:relative;padding-top:64px}
.cabinet__cards{position:absolute;left:12px;right:40px;top:0;height:90px;display:flex;gap:0;pointer-events:none}
.cabinet__card{flex:1;max-width:120px;padding:7px 8px;background:var(--paper-2);border:1px solid var(--line);border-top:3px solid var(--red);background-image:repeating-linear-gradient(transparent 0 16px,var(--sky) 16px 17px);font-size:13px;line-height:1.27;font-weight:600}
.cabinet__card:nth-child(1){transform:rotate(-5deg)}
.cabinet__card:nth-child(2){transform:rotate(2deg);border-top-color:var(--blue);margin-left:-8px}
.cabinet__card:nth-child(3){transform:rotate(7deg);background:var(--mustard);border-color:#9C7A2A;margin-left:-8px}
.cabinet__card b{display:block;font:400 13px/16px var(--mono);color:var(--red)}
.cabinet__flask{position:absolute;right:4px;top:0;width:34px}
.cabinet__top{position:relative;height:24px;margin-inline:-8px;background:var(--wood-dark);border-radius:6px 6px 2px 2px;z-index:1}
.cabinet__body{background:repeating-linear-gradient(90deg,rgba(0,0,0,.05) 0 2px,transparent 2px 11px),var(--wood);padding:10px 10px 12px;display:grid;gap:8px;grid-template-columns:minmax(0,1fr)}
.cabinet__base{height:18px;margin-inline:-6px;background:var(--wood-dark);border-radius:2px}
.cabinet__legs{display:flex;justify-content:space-between;padding-inline:18px}
.cabinet__legs i{display:block;width:30px;height:16px;background:#4A2E14}
.drawer{position:relative;min-height:68px;padding:8px 12px;display:flex;align-items:center;gap:10px;background:repeating-linear-gradient(90deg,rgba(0,0,0,.04) 0 2px,transparent 2px 9px),var(--wood-front);border:2px solid var(--wood-edge);border-radius:var(--radius);box-shadow:inset 0 0 0 4px #A56E3A;transition:transform .2s,box-shadow .2s}
.drawer:hover{transform:translateY(3px);box-shadow:inset 0 0 0 4px #A56E3A,0 8px 0 -2px rgba(40,22,6,.45)}
.drawer--open{margin-inline:-8px;background-color:#C08850;box-shadow:inset 0 0 0 4px #AE7740,0 12px 16px rgba(40,22,6,.4);z-index:2}
.drawer__plate{flex:1;padding:6px 10px;display:flex;gap:8px;align-items:baseline;background:var(--paper);border:3px solid var(--brass);outline:1px solid var(--brass-dark);border-radius:2px;font-size:15px;line-height:1.25;font-weight:600}
.drawer__plate b{font:700 13px/1 var(--mono);color:var(--red)}
.drawer__ring{width:32px;height:22px;flex-shrink:0}
.drawer__flag{position:absolute;right:-4px;top:-14px;transform:rotate(6deg);background:var(--red);color:#fff;font:700 12px/1 var(--mono);padding:4px 7px;border-radius:2px}
@container site (min-width:40rem){.cabinet__body{grid-template-columns:repeat(2,minmax(0,1fr));padding:14px}.drawer--open{grid-column:1/-1}}

.obs{padding:14px 16px;background:var(--paper-2);border:1.5px solid var(--ink);border-radius:var(--radius);background-image:repeating-linear-gradient(transparent 0 25px,var(--sky) 25px 26px);position:relative}
.obs__time{display:flex;justify-content:space-between;align-items:center;gap:8px;font:700 13px/19px var(--mono);color:var(--red)}
.obs__text{margin-top:8px;font-size:16px;line-height:26px}
.obs-list{display:grid;gap:12px}

/* ---------- Печати (статусы) ---------- */
.seals{display:grid;gap:10px;grid-template-columns:minmax(0,1fr)}
.seal{display:flex;gap:12px;align-items:flex-start;padding:14px;border:1.5px dashed var(--blue);border-radius:var(--radius);background:var(--paper-2)}
.seal__icon{width:44px;height:44px;border-radius:50%;border:3px double var(--blue);display:flex;align-items:center;justify-content:center;color:var(--blue);flex-shrink:0}
.seal__title{font-weight:600;line-height:1.3}
.seal__text{font-size:14px;color:var(--muted);margin-top:2px}
.seal--count .seal__icon{font:700 14px/1 var(--mono);border-color:var(--red);color:var(--red)}
@container site (min-width:40rem){.seals{grid-template-columns:repeat(2,minmax(0,1fr))}}
@container site (min-width:64rem){.seals{grid-template-columns:repeat(5,minmax(0,1fr))}.seal{flex-direction:column}}

/* ---------- Кейсы: результаты анализа ---------- */
.result{display:flex;flex-direction:column;background:var(--paper-2);border:1.5px solid var(--ink);border-radius:var(--radius);overflow:hidden;height:100%}
.result__head{padding:10px 14px;background:var(--blue);color:#fff;display:flex;justify-content:space-between;gap:10px;font:400 13px/19px var(--mono)}
.result__body{padding:14px 14px 16px;display:flex;flex-direction:column;gap:12px;flex:1}
.result__title{font-size:19px;line-height:1.25;font-weight:600;letter-spacing:-.015em}
.result__meta{font:400 13px/19px var(--mono);color:var(--muted)}
.rtable{width:100%;border-collapse:collapse;font-size:14px}
.rtable th{text-align:left;font:400 12px/1.3 var(--mono);color:var(--muted);text-transform:uppercase;letter-spacing:.04em;padding:0 6px 6px 0;border-bottom:1.5px solid var(--ink)}
.rtable td{padding:8px 6px 8px 0;border-bottom:1px dashed var(--line);vertical-align:top}
.rtable td.num{font-weight:700;white-space:nowrap}
.rtable td.up{color:var(--blue)}
.result__did{font-size:15px;color:var(--ink-2);padding-top:10px;border-top:1.5px solid var(--ink)}
.result__did b{font:700 12px/1 var(--mono);color:var(--red);display:block;margin-bottom:4px;text-transform:uppercase}
.result__foot{margin-top:auto}

/* ---------- Отчёт после запуска ---------- */
.report{background:var(--paper-2);color:var(--ink);border:1.5px solid var(--ink);border-radius:var(--radius);padding:18px 16px;position:relative;box-shadow:6px 6px 0 rgba(0,0,0,.25)}
.report__row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;padding:9px 0;border-bottom:1px dashed var(--line);font-size:15px;align-items:baseline}
.report__row .num{font-size:14px}
.report .stamp{position:absolute;right:12px;top:-14px}
.packages{display:grid;gap:10px;grid-template-columns:minmax(0,1fr)}
.package{padding:16px;border:1.5px solid currentColor;border-radius:var(--radius);display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.package__h{font:700 26px/1 var(--mono)}
.package__p{font-weight:600}
.package__note{grid-column:1/-1;font-size:14px}
@container site (min-width:40rem){.packages{grid-template-columns:repeat(3,minmax(0,1fr))}.package{flex-direction:column}}

/* ---------- Направления / карточки ---------- */
.card{display:flex;flex-direction:column;gap:10px;height:100%;padding:18px 16px;background:var(--paper-2);border:1.5px solid var(--blue);border-radius:var(--radius);color:var(--ink);text-decoration:none;transition:transform .2s,box-shadow .2s}
a.card:hover{transform:translateY(-3px);box-shadow:4px 4px 0 var(--blue);color:var(--ink)}
.card__code{font:400 13px/19px var(--mono);color:var(--muted);padding-bottom:8px;border-bottom:1px dashed var(--line);display:flex;justify-content:space-between;gap:8px}
.card__title{font-size:20px;line-height:1.25;font-weight:600;letter-spacing:-.015em}
.card__text{color:var(--ink-2)}
.card__price{margin-top:auto;padding-top:10px;font:700 16px/1.3 var(--mono);color:var(--blue)}
.card--main{background:var(--blue);color:#fff;border-color:var(--blue)}
.card--main .card__code{color:var(--blue-ink);border-color:rgba(255,255,255,.3)}
.card--main .card__text{color:var(--blue-ink)}
.card--main .card__price{color:var(--mustard)}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chip{font:400 13px/1 var(--mono);padding:6px 8px;border:1px solid currentColor;border-radius:999px}

/* ---------- Этапы ---------- */
.steps{list-style:none;position:relative;display:grid;gap:0}
.step{position:relative;display:grid;grid-template-columns:44px minmax(0,1fr);gap:14px;padding-bottom:22px}
.step::before{content:"";position:absolute;left:21px;top:44px;bottom:0;width:2px;background:repeating-linear-gradient(var(--blue) 0 6px,transparent 6px 11px)}
.step:last-child::before{display:none}
.step__n{width:44px;height:44px;border-radius:50%;border:2px solid var(--blue);background:var(--paper-2);display:flex;align-items:center;justify-content:center;font:700 14px/1 var(--mono);color:var(--blue)}
.step__title{font-size:18px;font-weight:600;line-height:1.3;padding-top:9px}
.step__text{margin-top:4px;color:var(--ink-2)}
.step__time{margin-top:6px;font:400 13px/1 var(--mono);color:var(--red)}
@container site (min-width:64rem){
  .steps{grid-template-columns:repeat(5,minmax(0,1fr));gap:20px}
  .step{grid-template-columns:minmax(0,1fr);padding-bottom:0}
  .step::before{left:44px;right:-20px;top:21px;bottom:auto;width:auto;height:2px;background:repeating-linear-gradient(90deg,var(--blue) 0 6px,transparent 6px 11px)}
  .step__title{padding-top:4px}
}

/* ---------- Прейскурант ---------- */
.prices{display:grid;gap:16px}
.price-row{display:flex;align-items:baseline;gap:8px;padding:12px 0;border-bottom:1px dashed var(--line)}
.price-row__name{flex:0 1 auto;min-width:0}
.price-row__dots{flex:1 1 20px;border-bottom:2px dotted var(--line);transform:translateY(-4px);min-width:16px}
.price-row__val{font:700 15px/1.3 var(--mono);white-space:nowrap;text-align:right}
.price-row small{display:block;font-size:13px;color:var(--muted)}
.price-hero{display:grid;gap:10px}
.price-box{padding:16px;border:1.5px solid var(--ink);border-radius:var(--radius);background:var(--paper-2);display:flex;flex-direction:column;gap:6px}
.price-box__val{font:700 22px/1.2 var(--mono);color:var(--blue)}
.price-box--accent{background:var(--blue);color:#fff;border-color:var(--blue)}
.price-box--accent .price-box__val{color:var(--mustard)}
@container site (min-width:40rem){.price-hero{grid-template-columns:repeat(3,minmax(0,1fr))}}
@container site (min-width:64rem){.prices{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px}}

/* ---------- FAQ ---------- */
.faq{border-top:1.5px solid currentColor}
.faq details{border-bottom:1.5px solid currentColor}
.faq summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:60px;padding:14px 0;font-size:18px;font-weight:600;line-height:1.3;cursor:pointer}
.faq summary::-webkit-details-marker{display:none}
.faq summary .i{transition:transform .2s}
.faq details[open] summary .i{transform:rotate(45deg)}
.faq details>div{padding:0 0 18px;color:inherit;opacity:.9;max-width:64ch}
.contract{display:grid;gap:10px}
.contract li{list-style:none;display:flex;gap:10px;align-items:flex-start}
.contract li .i{color:var(--mustard);margin-top:1px}

/* ---------- Команда ---------- */
.person{display:grid;grid-template-columns:112px minmax(0,1fr);gap:16px;padding:16px;background:var(--paper-2);border:1.5px solid var(--ink);border-radius:var(--radius)}
.person__role{font:400 13px/19px var(--mono);color:var(--blue);text-transform:uppercase}
.person__name{font-size:21px;font-weight:600;letter-spacing:-.015em;margin-top:2px}
.person__text{margin-top:6px;color:var(--ink-2);font-size:15px}
.ph{display:flex;align-items:center;justify-content:center;text-align:center;padding:10px;border:1.5px dashed var(--line);background:repeating-linear-gradient(45deg,var(--sky-2) 0 8px,var(--paper-2) 8px 16px);color:var(--muted);font:400 12px/1.4 var(--mono);border-radius:var(--radius)}
.ph--photo{aspect-ratio:3/4}
.ph--shot{aspect-ratio:16/10;font-size:13px}
@container site (min-width:40rem){.person{grid-template-columns:160px minmax(0,1fr);padding:20px}}

/* ---------- Форма-анкета ---------- */
.form{display:grid;gap:14px}
.form__row{display:grid;gap:14px}
@container site (min-width:40rem){.form__row{grid-template-columns:repeat(2,minmax(0,1fr))}}
.input-group{display:flex;flex-direction:column;gap:6px}
.input-group label{font:400 13px/19px var(--mono);letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.input{width:100%;min-height:52px;padding:12px 14px;background:var(--paper-2);border:1.5px solid var(--ink);border-radius:var(--radius);font-size:16px;line-height:22px}
.input:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px var(--sky)}
textarea.input{min-height:112px;resize:vertical}
select.input{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%2314161A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:44px}
.radios{display:grid;gap:8px}
.radio{display:flex;gap:12px;align-items:center;min-height:52px;padding:10px 14px;border:1.5px solid var(--ink);border-radius:var(--radius);background:var(--paper-2);cursor:pointer;font-size:16px}
.radio input{width:20px;height:20px;accent-color:var(--blue);flex-shrink:0;margin:0}
.radio:has(input:checked){border-color:var(--blue);box-shadow:inset 0 0 0 1.5px var(--blue);background:var(--sky-2)}
@container site (min-width:40rem){.radios{grid-template-columns:repeat(2,minmax(0,1fr))}}
.check{display:flex;gap:12px;align-items:flex-start;font-size:14px;line-height:1.5;color:var(--ink-2);cursor:pointer}
.check input{width:22px;height:22px;margin:0;accent-color:var(--blue);flex-shrink:0}
.form__ok{display:none;padding:16px;border:1.5px solid var(--blue);background:var(--sky-2);border-radius:var(--radius)}
.form.is-sent .form__ok{display:block}

/* ---------- Хлебные крошки / шапка страницы ---------- */
.page-head{padding-block:20px 32px;border-bottom:1.5px solid var(--ink)}
.crumbs{display:flex;flex-wrap:wrap;gap:6px;font:400 13px/1.4 var(--mono);color:var(--muted);margin-bottom:14px}
.crumbs a{color:var(--muted);text-decoration:none}
.crumbs a:hover{color:var(--blue)}
.crumbs span[aria-hidden]{color:var(--line)}
.page-head .lead{margin-top:14px;max-width:62ch}
.page-head__meta{margin-top:18px;display:flex;flex-wrap:wrap;gap:8px}
@container site (min-width:40rem){.page-head{padding-block:40px 48px}}

/* ---------- Статья / блог ---------- */
.post-card{display:flex;flex-direction:column;gap:10px;padding:16px;background:var(--paper-2);border:1.5px solid var(--ink);border-radius:var(--radius);height:100%;color:var(--ink);text-decoration:none}
a.post-card:hover{box-shadow:4px 4px 0 var(--blue);color:var(--ink)}
.post-card__meta{display:flex;justify-content:space-between;gap:8px;font:400 13px/1.3 var(--mono);color:var(--muted)}
.post-card__title{font-size:19px;line-height:1.3;font-weight:600;letter-spacing:-.015em}
.post-card--soon{border-style:dashed;background:transparent}
.tabs{display:flex;gap:8px;overflow-x:auto;margin-inline:calc(var(--gutter) * -1);padding:2px var(--gutter) 10px;scrollbar-width:none}
.tab{flex-shrink:0;min-height:40px;padding:8px 14px;border:1.5px solid var(--ink);border-radius:999px;background:var(--paper-2);font-size:14px;font-weight:600;cursor:pointer;color:var(--ink);text-decoration:none;display:inline-flex;align-items:center}
.tab[aria-pressed="true"],.tab[aria-current="true"]{background:var(--ink);color:#fff}
@container site (min-width:40rem){.tabs{margin-inline:0;padding-inline:0;flex-wrap:wrap}}
.prose{max-width:68ch;font-size:17px;line-height:1.7}
.prose>*+*{margin-top:18px}
.prose h2{font-size:25px;margin-top:40px}
.prose h3{font-size:20px;margin-top:28px}
.prose ul,.prose ol{padding-left:22px}
.prose li+li{margin-top:8px}
.prose blockquote{margin:24px 0;padding:14px 16px;border-left:0;background:var(--sky);border:1.5px solid var(--blue);border-radius:var(--radius);font-size:16px}
.prose code{font:400 14px/1 var(--mono);background:var(--sky-2);padding:2px 5px;border-radius:3px}
.toc{padding:16px;border:1.5px solid var(--ink);border-radius:var(--radius);background:var(--paper-2)}
.toc ol{padding-left:20px;margin-top:8px}
.toc li+li{margin-top:6px}
.article-grid{display:grid;gap:28px}
@container site (min-width:64rem){.article-grid{grid-template-columns:minmax(0,1fr) 300px;gap:56px}.article-aside{position:sticky;top:100px;align-self:start}}

/* ---------- Контакты ---------- */
.contact-list{display:grid;gap:10px}
.contact{display:flex;align-items:center;gap:14px;min-height:64px;padding:12px 16px;border:1.5px solid var(--ink);border-radius:var(--radius);background:var(--paper-2);color:var(--ink);text-decoration:none}
a.contact:hover{box-shadow:4px 4px 0 var(--blue);color:var(--ink)}
.contact__label{font:400 13px/1.3 var(--mono);color:var(--muted);text-transform:uppercase}
.contact__value{font-size:18px;font-weight:600}
.req{font:400 14px/1.7 var(--mono)}
.req dt{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.04em;margin-top:10px}
.req dd{margin:0}

/* ---------- CTA-полоса ---------- */
.cta-band{display:grid;gap:18px;padding:22px 18px;border:1.5px solid var(--ink);border-radius:var(--radius);background:var(--mustard);color:var(--ink)}
@container site (min-width:64rem){.cta-band{grid-template-columns:minmax(0,1fr) auto;align-items:center;padding:32px 36px}}

/* ---------- Футер ---------- */
.footer{background:var(--ink);color:#C9CDD6;padding-block:40px 110px;font-size:15px}
.footer a{color:#fff;text-decoration:none}
.footer a:hover{color:var(--mustard)}
.footer__grid{display:grid;gap:28px}
.footer__title{font:400 12px/1.3 var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--mustard);margin-bottom:10px}
.footer__list{list-style:none;display:grid;gap:4px}
.footer__list a{display:inline-flex;min-height:36px;align-items:center}
.footer__legal{margin-top:28px;padding-top:18px;border-top:1px solid #3A3E48;font:400 13px/1.7 var(--mono);color:#9AA0AC;display:grid;gap:8px}
@container site (min-width:40rem){.footer__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@container site (min-width:64rem){.footer{padding-block:64px 40px}.footer__grid{grid-template-columns:1.4fr 1fr 1fr 1fr}}

/* ---------- Липкая нижняя панель (только телефон/планшет) ---------- */
.dock{position:sticky;bottom:0;z-index:45;display:grid;grid-template-columns:auto auto minmax(0,1fr);gap:8px;padding:10px var(--gutter) calc(10px + env(safe-area-inset-bottom,0px));background:rgba(247,243,234,.96);border-top:2px solid var(--ink);backdrop-filter:blur(6px)}
.dock__icon{width:var(--tap);height:var(--tap);display:inline-flex;align-items:center;justify-content:center;border:1.5px solid var(--ink);border-radius:6px;color:var(--ink);background:var(--paper-2)}
.dock .btn{padding-inline:14px;font-size:15px}
@container site (min-width:64rem){.dock{display:none}}

/* ---------- Анимации ---------- */
.drip{transform-box:fill-box;transform-origin:center top;animation:drip 2.6s ease-in infinite}
@keyframes drip{0%{transform:translateY(0) scale(.3);opacity:0}25%{transform:translateY(0) scale(1);opacity:1}55%{opacity:1}100%{transform:translateY(44px) scale(.9);opacity:0}}
.bub{transform-box:fill-box;transform-origin:center;animation:rise 3.2s ease-in infinite}
.bub.d1{animation-delay:.8s}.bub.d2{animation-delay:1.6s}.bub.d3{animation-delay:2.4s}
@keyframes rise{0%{transform:translateY(0);opacity:0}20%{opacity:.9}100%{transform:translateY(-46px);opacity:0}}
.wob{animation:wob 5s ease-in-out infinite}
@keyframes wob{0%,100%{transform:rotate(-7deg) scale(1)}8%{transform:rotate(-9deg) scale(1.04)}14%{transform:rotate(-6deg) scale(1)}}
.cursor{animation:blink 1s steps(2,start) infinite}
@keyframes blink{to{visibility:hidden}}
.lens{transform-box:fill-box;transform-origin:center;animation:scan 7s ease-in-out infinite}
@keyframes scan{0%,100%{transform:translateY(0)}50%{transform:translateY(8px)}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* ---------- Печать ---------- */
@media print{.topbar,.header,.dock,.drawer-menu,.footer{display:none}.section{padding-block:16px}}

/* ---------- Уточнения ---------- */
.report .small{color:var(--muted)}
.input-group .radio{font:400 16px/1.3 var(--sans);text-transform:none;letter-spacing:0;color:var(--ink)}

/* =========================================================================
   Поэкранный режим (v2): первый экран целиком, секции главной = экраны
   ========================================================================= */
/* Телефон: верхний ярус убираем — связь есть в нижней панели и меню */
.topbar{display:none}
.topbar__phone{display:none}
@container site (min-width:40rem){.topbar{display:block}}
@container site (min-width:64rem){.topbar__phone{display:inline-flex}}

/* Компактная шапка на телефоне, прячется при прокрутке вниз */
.header{transition:transform .25s ease}
.header .wrap{min-height:56px}
.logo svg{width:32px;height:32px}
.site.is-header-hidden .header{transform:translateY(-100%)}
@container site (min-width:40rem){.header .wrap{min-height:64px}.logo svg{width:36px;height:36px}}
@container site (min-width:64rem){.header .wrap{min-height:76px}.site.is-header-hidden .header{transform:none}}

/* Нижняя панель: подписи под иконками, прячется пока виден CTA первого экрана */
.dock{transition:transform .25s ease}
.dock__icon{flex-direction:column;gap:1px;font:700 10px/1 var(--mono);letter-spacing:.02em}
.dock__icon .i{width:20px;height:20px}
.site.is-hero-cta .dock{transform:translateY(110%)}

/* Экран = минимум высоты вьюпорта (small viewport, без прыжков из-за панелей браузера) */
.screen,.screen-sub{min-height:calc(100svh - 68px);display:flex;flex-direction:column;justify-content:center}
.screen.section{padding-block:28px}
.screen .section__head{margin-bottom:18px}
.screen .section__head .lead{font-size:16px}
@container site (min-width:64rem){
  .screen,.screen-sub{min-height:0;display:block}
  .screen.section{padding-block:88px}
  .screen .section__head{margin-bottom:36px}
}

/* ---------- Первый экран v2 ---------- */
.hero{padding-block:14px 18px;min-height:calc(100svh - 56px);display:flex;flex-direction:column;justify-content:center}
.hero .hero__grid{width:100%}
.hero__sheet{padding:14px 12px 18px 28px}
.hero__sheet .sheet__head{flex-direction:row;justify-content:space-between;gap:8px;font-size:12px}
.hero__sheet .eyebrow{margin-top:12px;font-size:12px;line-height:17px}
.hero__sheet h1{margin-top:8px;font-size:29px;line-height:1.1}
.hero__sheet .lead{margin-top:10px;font-size:15.5px;line-height:1.45}
.hero__actions{margin-top:16px}
.hero__actions .btn--lg{min-height:60px}
.hero__note{margin-top:8px;font-size:13px;line-height:1.45}
.hero__chips{margin-top:12px;display:flex;flex-wrap:wrap;gap:6px}
.hero__chips span{font:400 12px/1 var(--mono);padding:7px 8px;border:1px solid var(--blue);color:var(--blue);border-radius:3px;background:var(--sky-2)}
.hero__chips b{font-weight:700}
.hero__mini{position:absolute;right:10px;top:34px;width:54px;opacity:.95}
.hero .specimen{display:none}
@media (max-height:680px){.hero__sheet h1{font-size:27px}.hero__chips{display:none}}
@media (max-height:600px){.hero__sheet .lead{font-size:15px}.hero__note{display:none}}
@container site (min-width:40rem){
  .hero{min-height:calc(100svh - 100px)}
  .hero__sheet{padding:22px 26px 26px 44px}
  .hero__sheet h1{font-size:42px}
  .hero__sheet .lead{font-size:17px}
  .hero__mini{width:72px;right:22px;top:44px}
}
@container site (min-width:64rem){
  .hero{min-height:calc(100svh - 112px);padding-block:24px}
  .hero .hero__grid{align-items:center}
  .hero__sheet h1{font-size:clamp(40px,5.2svh,54px)}
  .hero__mini{display:none}
  .hero .specimen{display:block}
  .hero .specimen svg{max-height:calc(100svh - 330px);width:auto;margin-inline:auto}
}

/* ---------- Экран «Протокол аудита» ---------- */
.proto{display:grid;gap:14px}
.proto__fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 14px}
.proto__fields .field__value{font-size:15px;line-height:20px}
.proto__fig{display:flex;align-items:flex-end;gap:12px}
.proto__fig svg{width:150px;flex-shrink:0}
.proto__fig .stamp{margin-bottom:18px}
.proto .terminal{margin:0;display:none}
@container site (min-width:40rem){.proto__fields{grid-template-columns:repeat(4,minmax(0,1fr))}.proto .terminal{display:block}}
@container site (min-width:64rem){.proto{grid-template-columns:minmax(0,1fr) 320px;align-items:center;gap:40px}.proto__fig{display:none}}

/* ---------- Селектор 2×2 на телефоне ---------- */
.grid--choices{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.grid--choices .choice{padding:12px}
.grid--choices .choice__title{font-size:16px;line-height:21px}
.grid--choices .choice__text{font-size:14px;line-height:1.4}
.grid--choices .choice__go{font-size:14px}
@container site (min-width:64rem){.grid--choices{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.grid--choices .choice{padding:14px 16px}.grid--choices .choice__title{font-size:18px}.grid--choices .choice__text{font-size:16px}}

/* ---------- Шкаф компактный на телефоне: 2 колонки ящиков ---------- */
.cabinet--compact{padding-top:40px}
.cabinet--compact .cabinet__cards{height:56px}
.cabinet--compact .cabinet__card{font-size:12px;padding:5px 6px}
.cabinet--compact .cabinet__card:nth-child(3){display:none}
.cabinet--compact .cabinet__body{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:8px}
.cabinet--compact .drawer{min-height:66px;padding:6px;flex-direction:column;align-items:stretch;gap:4px;box-shadow:inset 0 0 0 3px #A56E3A}
.cabinet--compact .drawer__plate{padding:4px 6px;font-size:13px;line-height:1.2;border-width:2px;flex:1;align-items:flex-start}
.cabinet--compact .drawer__ring{width:24px;height:14px;align-self:center}
.cabinet--compact .drawer--open{margin-inline:0;grid-column:auto}
.cabinet--compact .drawer__flag{font-size:10px;top:-10px}
@container site (min-width:40rem){
  .cabinet--compact{padding-top:64px}
  .cabinet--compact .cabinet__cards{height:90px}
  .cabinet--compact .cabinet__card{font-size:13px;padding:7px 8px}
  .cabinet--compact .cabinet__card:nth-child(3){display:block}
  .cabinet--compact .cabinet__body{gap:8px;padding:14px}
  .cabinet--compact .drawer{min-height:68px;padding:8px 12px;flex-direction:row;align-items:center;gap:10px;box-shadow:inset 0 0 0 4px #A56E3A}
  .cabinet--compact .drawer__plate{font-size:15px;padding:6px 10px;border-width:3px;align-items:baseline}
  .cabinet--compact .drawer__ring{width:32px;height:22px}
}

/* ---------- Компактные элементы экранов ---------- */
.screen .seal{padding:10px 12px;align-items:center}
.screen .seal__icon{width:38px;height:38px}
.screen .seal__icon .i{width:20px;height:20px}
.screen .seal__text{font-size:13px}
.screen .step{padding-bottom:14px;grid-template-columns:40px minmax(0,1fr);gap:12px}
.screen .step__n{width:40px;height:40px}
.screen .step::before{left:19px;top:40px}
.screen .step__title{font-size:17px;padding-top:8px}
.screen .step__text{font-size:15px;line-height:1.4}
.screen .price-box{padding:12px 14px;gap:2px}
.screen .person{grid-template-columns:96px minmax(0,1fr);padding:12px;gap:12px}
.screen .person__text{font-size:14px}
.screen .packages .package{padding:12px 14px}
@container site (min-width:64rem){
  .screen .seal{padding:14px;align-items:flex-start}
  .screen .seal__icon{width:44px;height:44px}
  .screen .step{grid-template-columns:minmax(0,1fr);padding-bottom:0}
  .screen .step::before{left:44px;top:21px}
  .screen .step__n{width:44px;height:44px}
  .screen .person{grid-template-columns:160px minmax(0,1fr);padding:20px}
}

/* ---------- Анкета по шагам ---------- */
.wizard__progress{display:flex;justify-content:space-between;align-items:center;font:400 13px/1 var(--mono);color:var(--muted)}
.wizard__bar{height:4px;background:var(--sky);border-radius:2px;overflow:hidden;margin-top:8px}
.wizard__bar i{display:block;height:100%;width:50%;background:var(--blue);transition:width .25s}
.wizard[data-step="2"] .wizard__bar i{width:100%}
.wizard.is-js [data-step-pane]{display:none}
.wizard.is-js[data-step="1"] [data-step-pane="1"],.wizard.is-js[data-step="2"] [data-step-pane="2"]{display:grid;gap:14px}
.wizard__nav{display:flex;gap:10px}
.wizard__nav .btn{flex:1}
.wizard:not(.is-js) .wizard__next,.wizard:not(.is-js) .wizard__back{display:none}
.wizard .radios .radio{min-height:56px}
.form.is-sent [data-step-pane],.form.is-sent>div:has(.wizard__progress){display:none!important}

/* ---- v2.1: подгонка экранов под телефоны 360–390 × 640–700 ---- */
.hero{min-height:calc(100svh - 58px)}
@container site (min-width:40rem){.hero{min-height:calc(100svh - 102px)}}
@container site (min-width:64rem){.hero{min-height:calc(100svh - 114px)}}
.hero__sheet h1{font-size:clamp(24px,4.4svh,30px)}
@media (max-height:700px){.hero__note{display:none}}
@container site (min-width:40rem){.hero__sheet h1{font-size:42px}}
@container site (min-width:64rem){.hero__sheet h1{font-size:clamp(38px,5.2svh,54px)}}
.screen.section{padding-block:20px}
.screen .section__head{margin-bottom:14px;gap:6px}
.screen .h2{font-size:26px}
@container site (min-width:40rem){.screen .h2{font-size:36px}}
@container site (min-width:64rem){.screen .h2{font-size:44px}.screen.section{padding-block:88px}}

/* Шкаф на телефоне: ручка-скоба вместо кольца, длинные ящики — во всю ширину */
.cabinet--compact{padding-top:34px}
.cabinet--compact .cabinet__cards{height:44px}
.cabinet--compact .cabinet__flask{width:26px}
.cabinet--compact .drawer{flex-direction:row;align-items:center;min-height:50px;padding:5px 6px;gap:6px}
.cabinet--compact .drawer__ring{display:none}
.cabinet--compact .drawer::after{content:"";flex-shrink:0;width:14px;height:7px;border:2.5px solid var(--brass);border-top:0;border-radius:0 0 8px 8px}
.cabinet--compact .drawer__plate{align-items:baseline;align-self:stretch;display:flex;align-content:center;flex-wrap:nowrap}
.cabinet--compact .drawer:nth-child(-n+2){grid-column:1/-1}
@container site (min-width:40rem){
  .cabinet--compact .drawer:nth-child(-n+2){grid-column:auto}
  .cabinet--compact .drawer--open{grid-column:1/-1}
  .cabinet--compact .drawer__ring{display:block}
  .cabinet--compact .drawer::after{display:none}
  .cabinet--compact .cabinet__flask{width:34px}
}

/* Кейсы на телефоне компактнее */
.screen .result__body{padding:12px;gap:8px}
.screen .rtable td{padding-block:6px}
.screen .result__did{padding-top:8px;font-size:14px}
.screen .result__foot{min-height:40px}
.screen#cases .section__head .lead{display:none}
@container site (min-width:64rem){.screen#cases .section__head .lead{display:block}}

/* Анкета: варианты 2×2 на телефоне */
.wizard .radios{grid-template-columns:repeat(2,minmax(0,1fr))}
.wizard .radios .radio{min-height:60px;padding:8px 10px;font-size:15px;line-height:1.25}
.wizard legend.h3{font-size:19px}
#form .lead{font-size:15px}

@container site (max-width:39.99rem){
  .cabinet--compact{padding-top:8px}
  .cabinet--compact .cabinet__cards{display:none}
  .cabinet--compact .cabinet__flask{top:-18px}
  .cabinet--compact .drawer{min-height:44px}
  .cabinet--compact .cabinet__body{gap:5px}
}

/* ---- v2.2: убираем пустые поля — экраны по высоте контента ---- */
.screen,.screen-sub{min-height:0;display:block}
.screen.section{padding-block:32px}
.section--blue .screen-sub+.screen-sub,.section--ink .screen-sub+.screen-sub{padding-top:8px}
.footer{padding-bottom:40px}
.skip:not(:focus){clip-path:inset(50%);width:1px;height:1px;overflow:hidden;padding:0}

/* ---- v3: состояния формы, honeypot, cookie ---- */
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.form__err{padding:12px 14px;border:1.5px solid var(--red);background:#FBEDEB;color:#7A1A14;border-radius:var(--radius);font-size:15px}
.input[aria-invalid="true"]{border-color:var(--red);box-shadow:0 0 0 3px #F6D5D2}
.radios:has([aria-invalid="true"]) .radio{border-color:var(--red)}
.form.is-sending [type=submit]{opacity:.7;cursor:progress}
.form.is-sent .form__err{display:none}
.footer__link-btn{background:none;border:0;padding:0;color:#fff;font:inherit;cursor:pointer;text-align:left}
.footer__link-btn:hover{color:var(--mustard)}
.cookie{position:fixed;left:12px;right:12px;bottom:calc(84px + env(safe-area-inset-bottom,0px));z-index:70;max-width:560px;margin-inline:auto;padding:14px 16px;background:var(--paper-2);border:1.5px solid var(--ink);border-radius:var(--radius);box-shadow:6px 6px 0 var(--sky);display:grid;gap:12px;font-size:14px;line-height:1.5}
.cookie__actions{display:flex;flex-wrap:wrap;gap:8px}
.cookie__actions .btn{flex:1 1 180px;min-height:44px;padding:8px 14px;font-size:15px}
@media (min-width:1024px){.cookie{bottom:20px;left:auto;right:20px}}
.blank{font-family:var(--mono);font-size:.92em;color:var(--muted);border-bottom:1.5px dotted currentColor;padding-inline:2px}
.ph--mono{font:700 44px/1 var(--sans);color:var(--blue);letter-spacing:-.02em;background:var(--sky);border-style:solid;border-color:var(--blue)}
img.photo{aspect-ratio:3/4;width:100%;height:auto;object-fit:cover;border:1.5px solid var(--ink);border-radius:var(--radius)}
img.shot{width:100%;height:auto;border:1.5px solid var(--ink);border-radius:var(--radius);background:var(--paper-2)}

/* ---- v3: контраст ---- */
.cta-band .eyebrow{color:var(--ink)}
.cabinet__card:nth-child(3) b{color:#7A1A14}
.sheet .small,.section--blue .sheet .small,.section--blue .report .small{color:var(--muted)}
.section--ink .req dt,.section--blue .req dt{color:#AEB4C0}

/* =========================================================================
   v4: полировка — шапки страниц с иллюстрацией, ритм, плотность, мобильные мелочи
   ========================================================================= */
/* Шапка внутренней страницы: текст + препарат */
.head-grid{display:grid;gap:20px}
.head-art{margin:0}
.head-art svg{display:block;width:100%;height:auto;max-height:190px;margin-inline:auto}
.head-art .specimen__bar{font-size:12px}
@container site (min-width:40rem){.head-art svg{max-height:240px}}
@container site (min-width:64rem){
  .head-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:56px;align-items:center}
  .head-art svg{max-height:300px}
}
.sway{transform-box:view-box;transform-origin:200px 60px;animation:sway 6s ease-in-out infinite}
@keyframes sway{0%,100%{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}

/* Штампы в шапках крупнее и читаемее */
.page-head .stamp,.svc-stamps .stamp{font-size:14px;line-height:18px;padding:8px 12px}
.page-head .chip{font-size:13px;padding:7px 10px}

/* Ритм секций внутренних страниц: чуть плотнее на телефоне */
@container site (max-width:39.99rem){
  .section{padding-block:32px}
  .section__head{margin-bottom:18px}
  .page-head{padding-block:16px 24px}
  .page-head .lead{font-size:16px}
}

/* «Что входит»: на телефоне — компактная сетка 2×N */
.grid--4:has(> .svc-feat),.grid--3:has(> .svc-feat),.grid--2:has(> .svc-feat){grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.svc-feat{padding:12px}
.svc-feat__ico{width:38px;height:38px}
.svc-feat__ico .i{width:20px;height:20px}
.svc-feat__title{font-size:16px}
.svc-feat__text{font-size:14px;line-height:1.4}
@container site (min-width:64rem){
  .grid--4:has(> .svc-feat){grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
  .grid--3:has(> .svc-feat){grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
  .svc-feat{padding:18px}
  .svc-feat__title{font-size:18px}
  .svc-feat__text{font-size:15px}
}

/* Тезис «О нас»: штамп-цитата вместо карточки с полосой */
.case-thesis{border-left-width:1.5px;box-shadow:6px 6px 0 var(--mustard)}

/* Десктоп: текст в карточках не мельче 15px */
@container site (min-width:64rem){
  .result__did,.rtable,.obs__text,.card__text,.choice__text,.person__text{font-size:15px}
  .result__title{font-size:21px}
}

/* Кейсы на главной и в шапке раздела: 2×2 на десктопе вместо тесной четвёрки */
@container site (min-width:64rem){
  #cases .carousel--4{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
  #cases .result__body{padding:18px 20px 20px}
}

/* Протокол аудита на десктопе: штамп рядом с терминалом */
@container site (min-width:64rem){
  .proto{grid-template-columns:minmax(0,1fr) 320px}
  .proto__fig{margin-top:12px}
  .proto__fig{display:flex;align-items:center}
  .proto__fig svg{display:none}
}

/* Контакты: длинный email не рвётся посередине */
.contact__value{overflow-wrap:anywhere;word-break:normal}
.contact__value--mail{font-size:16px}

/* Футер на телефоне: разделы в две колонки */
@container site (max-width:39.99rem){
  .footer__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px}
  .footer__grid>div:first-child,.footer__grid>div:last-child{grid-column:1/-1}
  .footer__list a{min-height:32px;font-size:14px}
}

/* ---- v5: первый экран без колбы, направление на аудит отдельной плашкой ---- */
.hero{justify-content:flex-start}
.hero .hero__grid{flex:1}
.hero__main.hero__sheet{padding:0;display:flex;flex-direction:column}
.hero__main .eyebrow{margin-top:4px}
.hero__main h1{margin-top:12px}
.hero__main .lead{margin-top:14px}
.hero__ticket{margin-top:auto;padding:12px 14px 14px 28px}
.hero__main .lead{margin-bottom:24px}
.hero__ticket .sheet__head{flex-direction:row;justify-content:space-between;gap:8px;font-size:12px}
.hero__ticket .hero__actions{margin-top:12px}
.hero__ticket::before{left:18px}
.hero__mini{display:none}
@container site (min-width:40rem){
  .hero__ticket{padding:16px 20px 18px 40px;max-width:560px}
  .hero__ticket::before{left:26px}
  .hero__ticket .sheet__head{font-size:13px}
}
@container site (min-width:64rem){
  .hero .hero__grid{align-items:stretch}
  .hero__main{justify-content:center}
  .hero__ticket{margin-top:40px}
}

/* ---- v5: картотека жалоб — посуда на шкафу, 8 ящиков ---- */
.cabinet--compact .cabinet__cards{display:none}
.cabinet--compact{padding-top:62px}
.cabinet__lab{position:absolute;left:6px;right:6px;top:0;height:64px;width:calc(100% - 12px)}
.cabinet--compact .drawer--open{grid-column:1/-1}
@container site (min-width:40rem){
  .cabinet--compact{padding-top:78px}
  .cabinet__lab{height:80px;top:-2px}
  .cabinet--compact .drawer--open{grid-column:auto}
  .cabinet--compact .drawer:nth-child(-n+2){grid-column:auto}
}
.hero__text{flex:1;display:flex;flex-direction:column;justify-content:center}
.hero__main .lead{margin-bottom:0}
.hero__ticket{margin-top:20px}
@container site (min-width:64rem){
  .hero__text{flex:0 0 auto}
  .hero__ticket{margin-top:40px}
  .cabinet--compact{padding-top:104px}
  .cabinet__lab{height:106px}
}
@media (max-height:700px){.hero__main .eyebrow{display:none}}

/* ---- v6: сопровождение без формы отчёта, 4 направления ---- */
.support-solo{max-width:760px}
@container site (min-width:64rem){.support-solo .btn--block{width:auto;align-self:flex-start}}
.carousel--dir .card{height:100%}

/* ---- v7: посуда стоит на шкафу; иконки ниш в кейсах ---- */
.cabinet--compact{padding-top:62px}
.cabinet__top .cabinet__lab{position:absolute;left:auto;top:auto;right:12px;bottom:100%;height:60px;width:auto;max-width:calc(100% - 12px)}
@container site (min-width:40rem){.cabinet--compact{padding-top:84px}.cabinet__top .cabinet__lab{height:80px;right:24px}}
@container site (min-width:64rem){.cabinet--compact{padding-top:104px}.cabinet__top .cabinet__lab{height:100px;right:32px}}
.result__foot--niche{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-top:auto}
.result__foot--niche .link-arrow{min-height:var(--tap)}
.niche{width:56px;height:56px;flex:none;display:block}
@container site (min-width:64rem){.result__foot--niche .niche{width:64px;height:64px}}
.niches__label{margin-top:28px}
.niches{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}
@container site (min-width:40rem){.niches{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}}
.niche-card{display:flex;flex-direction:column;gap:10px;padding-bottom:14px;background:var(--paper-2);border:1.5px solid var(--ink);border-radius:var(--radius);overflow:hidden;color:inherit;text-decoration:none}
.niche-card__head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:2px 8px;padding:7px 12px;background:var(--blue);color:#fff;font:400 12px/16px var(--mono)}
.niche-card .niche{width:60px;height:60px;margin:2px 12px 0}
.niche-card__title{padding-inline:12px;font-size:15px;line-height:1.3;font-weight:600;display:flex;flex-direction:column;gap:8px}
.niche-card--cta{background:var(--mustard);border-style:dashed}
.niche-card--cta .niche-card__head{background:var(--ink)}
.niche-card__plus{display:grid;place-items:center;width:60px;height:60px;margin:2px 12px 0;border:1.5px dashed var(--ink);border-radius:50%}
.niche-card--cta .link-arrow{font-size:14px}
.niche-card--cta:hover{background:#F7D774}
@container site (min-width:64rem){.niche-card__title{font-size:16px}.niche-card .niche,.niche-card__plus{width:72px;height:72px}}

/* ---- v8: слайдеры на телефоне — отступ слева как у контента ---- */
.carousel,.tabs{scroll-padding-inline:var(--gutter)}
.carousel::after{content:"";flex:0 0 1px}
@container site (min-width:40rem){.carousel::after{display:none}}

/* ---- v9: кейсы — слайдер на всех ширинах, пустые карточки для заполнения ---- */
.slider-head{display:flex;flex-direction:column;gap:12px}
.slider-nav{display:none;gap:8px}
.slider-nav__btn{display:grid;place-items:center;width:48px;height:48px;border:1.5px solid var(--ink);border-radius:50%;background:var(--paper-2);color:var(--ink);cursor:pointer}
.slider-nav__btn:hover{background:var(--mustard)}
.slider-nav__btn:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
.slider-nav__btn[disabled]{opacity:.35;cursor:default;background:var(--paper-2)}
@container site (min-width:40rem){
  .slider-head{flex-direction:row;align-items:flex-end;gap:24px}
  .slider-nav{display:flex;flex:none}
  #cases .carousel--cases{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;margin-inline:0;padding:4px 0 16px;gap:16px}
  #cases .carousel--cases>*{flex:0 0 calc((100% - 16px)/2);scroll-snap-align:start}
  #cases .carousel--cases+.carousel__hint{display:none}
}
@container site (min-width:64rem){
  #cases .carousel--cases{gap:20px}
  #cases .carousel--cases>*{flex-basis:calc((100% - 40px)/3)}
}
.result--todo .result__head{background:var(--ink-2,#3A3F4B)}
.result--todo .rtable td{color:var(--muted)}
.result--todo .blank{display:inline-block;min-width:4ch}
.result__soon{font:400 13px/1.3 var(--mono);color:var(--muted);align-self:center}
@container site (min-width:40rem){#cases .carousel--cases{scroll-padding-inline:0;align-items:stretch}#cases .carousel--cases>.result{height:auto}}

/* ---- v10: главная после сверки v2 — раскрывающиеся ящики, CTA-слайд, сопровождение в две колонки ---- */
.hero__note{margin-top:10px;font:400 13px/1.4 var(--mono);color:var(--muted)}
.drawer__box{flex:1;min-width:0;display:flex;flex-direction:column}
.drawer__box>summary{list-style:none;cursor:pointer}
.drawer__box>summary::-webkit-details-marker{display:none}
.drawer__fix{margin-top:6px;padding:8px 10px;background:var(--paper-2);border:2px dashed var(--brass);border-radius:2px;font-size:14px;line-height:1.4;color:var(--ink)}
.drawer__fix .link-arrow{display:inline-flex;font-size:14px;white-space:nowrap}
@container site (min-width:64rem){.seals{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr)}}
.seal__text a{display:inline-flex;align-items:center;gap:4px}
a.result{color:inherit;text-decoration:none}
.result--cta{background:var(--mustard);border-style:dashed}
.result--cta .result__head{background:var(--ink)}
.result--cta .result__did{border-top-color:rgba(20,22,26,.35)}
.result--cta .niche-card__plus{margin:0}
.result--cta:hover{background:#F7D774}
.cases__all{margin-top:12px}
.package{flex-wrap:wrap}
.package__rate{flex-basis:100%;font:400 13px/1.3 var(--mono);opacity:.85}
.support-inc{display:flex;flex-direction:column;gap:12px}
@container site (min-width:64rem){.support-split .btn--block{width:auto;align-self:flex-start}.support-inc{padding-top:34px}}
.form-direct{display:flex;flex-direction:column;gap:10px;margin-top:12px}
.form-direct .link-arrow{min-height:var(--tap)}
@container site (min-width:40rem){.package{flex-wrap:nowrap}.package__rate{flex-basis:auto}}
@container site (min-width:64rem){.form-direct .btn--block{width:auto;min-width:280px;align-self:flex-start}}
/* v10: четыре пакета сопровождения — сетка 2×2; карточки кейсов на телефоне одной высоты */
@container site (min-width:40rem){.packages--4{grid-template-columns:repeat(2,minmax(0,1fr))}}
#cases .carousel--cases{align-items:stretch}
#cases .carousel--cases>.result{height:auto}

/* ---- v11: правки главной после открытия (28.09) ---- */
/* первый экран: препарат заполняет рамку по высоте левой колонки, подпись прижата вниз */
@container site (min-width:64rem){
  .hero .specimen{display:flex;flex-direction:column}
  .hero .specimen svg{flex:1 1 0;min-height:0;width:100%;height:100%;max-width:none;max-height:none;margin-block:8px}
}
/* синяя карточка направления: при наведении текст остаётся белым */
a.card--main:hover{color:#fff;box-shadow:4px 4px 0 var(--mustard)}
/* картотека: ящики одной геометрии; выдвинутый — цветом и тенью, без смены сетки */
button.drawer__plate{cursor:pointer;text-align:left;width:100%;font-family:inherit;color:var(--ink);appearance:none}
.cabinet--compact .drawer--open:nth-child(n+3){grid-column:auto}
.cabinet--compact .drawer--open{transform:translateY(-2px)}
.cab-note{position:relative;margin-top:18px;background:var(--paper-2);border:1.5px solid var(--ink);border-top:4px solid var(--red);border-radius:var(--radius);box-shadow:var(--shadow-sheet);padding:12px 16px 16px;display:flex;flex-direction:column;gap:6px}
.cab-note__head{display:flex;justify-content:space-between;gap:10px;font:400 12px/1.4 var(--mono);color:var(--muted);text-transform:uppercase;letter-spacing:.04em;padding-bottom:6px;border-bottom:1px dashed var(--line)}
.cab-note__head b{color:var(--red)}
.cab-note__title{font-size:18px;font-weight:600;line-height:1.3}
.cab-note__text{font-size:15px;color:var(--ink-2)}
.cab-note__text .link-arrow{display:inline-flex;white-space:nowrap}
@container site (min-width:64rem){.cab-note{max-width:760px}}
/* сопровождение: тарифы и состав часов — бумажными бланками на синем */
.sup-grid{display:grid;gap:16px}
.sup-plans{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-content:start}
.plan{background:var(--paper-2);color:var(--ink);border-radius:var(--radius);padding:14px;display:flex;flex-direction:column;gap:4px;box-shadow:0 3px 0 rgba(10,20,60,.35)}
.plan__h{font:700 28px/1.1 var(--mono);color:var(--blue)}
.plan__p{font-size:18px;font-weight:700;margin-top:6px}
.plan__p small{font-size:13px;font-weight:400;color:var(--muted)}
.plan__rate{font:400 13px/1.3 var(--mono);color:var(--muted)}
.plan__tag{align-self:flex-start;margin-top:6px;font:400 11px/1 var(--mono);text-transform:uppercase;letter-spacing:.04em;background:var(--mustard);color:var(--ink);padding:5px 6px;border-radius:3px}
.sup-plans__note{grid-column:1/-1;font-size:14px;color:var(--blue-ink);margin-top:4px}
.sup-inc{color:var(--ink)}
.sup-inc__list{list-style:none;margin:14px 0 10px;padding:0;display:grid;gap:10px}
.sup-inc__list li{display:flex;gap:10px;align-items:flex-start;font-size:16px;line-height:1.4}
.sup-inc__list .i{color:var(--blue);flex-shrink:0;margin-top:2px}
.sup-inc .btn{margin-top:14px}
@container site (min-width:40rem){.plan{padding:18px 20px}.plan__h{font-size:32px}}
@container site (min-width:64rem){.sup-grid{grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:28px;align-items:start}}
/* договор: условия — бланком, ссылки на тёмном читаемы */
.deal-sheet{color:var(--ink);margin-top:8px}
.deal-sheet__list{margin-top:14px}
.deal-sheet__list li{font-size:16px;line-height:1.45}
.deal-sheet .contract li .i{color:var(--blue)}
.deal-sheet__stamp{display:inline-block;margin-top:16px;color:var(--red);border-color:var(--red);background:transparent}
.section--ink a:not(.btn){color:var(--mustard)}
/* выдвинутый ящик заметнее: светлее, с тенью и латунной рамкой таблички */
.cabinet--compact .drawer--open{background-color:#CB9559;box-shadow:inset 0 0 0 3px #AE7740,0 10px 14px rgba(40,22,6,.45);z-index:2}
.drawer--open .drawer__plate{border-color:var(--mustard);outline-color:var(--brass-dark)}
@container site (min-width:64rem){.section--ink .split>.screen-sub+.screen-sub{padding-top:0}}
/* первый экран: высоту ряда задаёт текст слева, препарат не выше него (от надзаголовка до плашки) */
@container site (min-width:64rem){.hero .hero__grid{flex:0 0 auto;margin-block:auto}.hero__main{justify-content:flex-start}}

/* v13 · кнопка жёлтой плашки на iPhone: одна строка на 375–430 */
@media (max-width:30rem){
  .cta-band{padding-inline:14px}
  .cta-band .btn{padding-inline:12px;gap:6px;font-size:15px;letter-spacing:-.01em}
  .cta-band .btn svg{width:18px;height:18px;flex:none}
  .cta-band .cta-x{display:none}
}

/* ---- v-otrasli (28.09.2026): седьмой пункт меню «Отрасли» ----
   Пункты не переносятся по словам («О нас» в две строки), на узком десктопе
   расстояние меньше, а длинная подпись логотипа появляется только с 80rem. */
.nav a{white-space:nowrap}
@container site (min-width:64rem){.nav{gap:16px}.logo__sub-long{display:none}}
@container site (min-width:80rem){.nav{gap:22px}.logo__sub-long{display:inline}}

/* v14 · шапка с 7 пунктами: кнопка и подпись логотипа не переносятся (28.09.2026) */
.header__cta{white-space:nowrap}
@container site (min-width:64rem){.header__cta{padding-inline:16px}}
@container site (min-width:80rem){.logo__sub-long{display:none}}
@container site (min-width:90rem){.logo__sub-long{display:inline}.header__cta{padding-inline:20px}}
.logo__name{white-space:nowrap}
@container site (min-width:64rem) and (max-width:72rem){.nav{gap:12px}}

/* =========================================================================
   v15 · сертификаты партнёров (28.09.2026): карточки с миниатюрой документа —
   главная (раздел 05), /kejsy/, /o-nas/ (case-status). Крупно — лайтбокс .lb.
   ========================================================================= */
/* миниатюра: общий кадр 1.36 — у amoCRM (1.29) срезаются только поля сверху/снизу,
   у Битрикс24 и Roistat (1.41) — поля по бокам; текст сертификатов целиком */
.cert-thumb{position:relative;display:block;background:#fff;border:1.5px solid var(--line);border-radius:2px;overflow:hidden;cursor:zoom-in;color:var(--ink)}
.cert-thumb img{width:100%;height:auto;aspect-ratio:1.36;object-fit:cover;object-position:center}
.cert-thumb__zoom{position:absolute;right:8px;bottom:8px;display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:6px 9px;background:var(--paper-2);border:1.5px solid var(--ink);border-radius:3px;font:400 12px/1 var(--mono);color:var(--ink)}
.cert-thumb:hover{border-color:var(--blue)}
.cert-thumb:hover .cert-thumb__zoom{background:var(--mustard)}
.cert-count:not(:has(.seal)){display:none}
.cert-count{margin-top:16px}

/* карточка сертификата */
.cert-card{display:flex;flex-direction:column;gap:12px;height:100%;padding:14px;background:var(--paper-2);border:1.5px solid var(--ink);border-radius:var(--radius)}
.cert-card__code{display:flex;justify-content:space-between;gap:8px;padding-bottom:8px;border-bottom:1px dashed var(--line);font:400 13px/19px var(--mono);color:var(--muted)}
.cert-card__code span:last-child{color:var(--red)}
.cert-card__title{font-size:19px;line-height:1.25;font-weight:600;letter-spacing:-.015em}
.cert-meta{margin:0;display:grid;gap:4px}
.cert-meta>div{display:flex;justify-content:space-between;gap:10px;padding-bottom:4px;border-bottom:1px dashed var(--line);font-size:15px}
.cert-meta dt{font:400 12px/22px var(--mono);text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}
.cert-meta dd{margin:0;font:700 14px/22px var(--mono);text-align:right}
.cert-card .link-arrow{margin-top:auto;align-self:flex-start}
/* у amoCRM две ссылки: подтверждение сертификата и карточка в каталоге — прижаты к низу блоком */
.cert-card__links{margin-top:auto;display:flex;flex-direction:column;align-items:flex-start}
.cert-card__links .link-arrow{margin-top:0;display:block;min-height:0;padding:10px 0;line-height:24px}
.cert-card__links .link-arrow svg{display:inline-block;vertical-align:-3px;margin-left:6px}
.cert-cards.carousel{padding-right:calc(var(--gutter) + 6px)}
.cert-also{margin-top:16px;display:flex;flex-wrap:wrap;align-items:center;gap:8px;font:400 13px/1.4 var(--mono);color:var(--muted)}
.cert-also .chip{color:var(--blue);background:var(--paper-2)}
@container site (min-width:40rem){.cert-cards.carousel{padding-right:0}.cert-card{padding:18px;box-shadow:var(--shadow-sheet)}}
@container site (min-width:64rem){.cert-cards.carousel{gap:24px}.cert-also{margin-top:28px}}

/* блок сертификата на страницах услуг и категорий ([[cert-strip:…]] в build.py), перед FAQ */
.cert-strip__box{display:grid;gap:18px;padding:16px;background:var(--paper-2);border:1.5px solid var(--ink);border-radius:var(--radius)}
.cert-strip__body{display:flex;flex-direction:column;gap:10px;min-width:0}
.cert-strip__body p{max-width:62ch}
.cert-strip__body .cert-meta{max-width:420px}
.cert-strip__body .cert-also{margin-top:4px}
.cert-strip__box--plain{gap:8px}
.cert-strip__box--plain .cert-also{margin-top:0}
@container site (min-width:40rem){.cert-strip__box{padding:24px;box-shadow:var(--shadow-sheet)}}
@container site (min-width:64rem){.cert-strip__box:not(.cert-strip__box--plain){grid-template-columns:minmax(0,400px) minmax(0,1fr);gap:32px;align-items:start}}

/* /o-nas/: миниатюра над заголовком статуса */
.case-status__doc{margin-bottom:4px}

/* лайтбокс: просмотр документа крупно (assets/js/main.js, [data-lb]) */
.lb{padding:0;border:0;background:transparent;max-width:none;max-height:none;width:100%;height:100%;margin:0;display:none;align-items:center;justify-content:center;cursor:zoom-out}
.lb[open]{display:flex}
.lb::backdrop{background:rgba(20,22,26,.82)}
.lb__fig{margin:0;padding:16px;display:flex;flex-direction:column;align-items:center;gap:10px;max-width:100%}
.lb__img{width:auto;height:auto;max-width:min(1200px,calc(100vw - 32px));max-height:calc(100svh - 120px);background:#fff;border:1.5px solid var(--ink);border-radius:2px;box-shadow:8px 8px 0 rgba(220,230,247,.35)}
.lb__cap{font:400 13px/1.4 var(--mono);color:#fff;text-align:center}
.lb__link{display:inline-flex;align-items:center;min-height:var(--tap);font:600 14px/1.4 var(--mono);color:#fff;text-decoration:underline;cursor:pointer}
.lb__link[hidden]{display:none}
.lb__close{position:fixed;top:12px;right:12px;width:var(--tap);height:var(--tap);display:grid;place-items:center;background:var(--paper-2);border:1.5px solid var(--ink);border-radius:50%;color:var(--ink);cursor:pointer}
.lb__close:hover{background:var(--mustard)}

/* ---------- v9: видео в hero (feature/hero-video, превью) ---------- */
/* десктоп: квадрат 1:1 в колонке «препарата»; размер задан до загрузки, CLS = 0.
   Постер (= первый кадр цикла) — фоном контейнера, а не атрибутом poster: фон у скрытого
   display:none блока браузер не качает, а poster качал бы и десктопный, и мобильный на любом экране. */
.specimen__video{aspect-ratio:1/1;width:100%;margin-inline:auto;background:var(--sky)}
.hero-video{display:block;width:100%;height:100%;object-fit:cover}
.specimen__toggle{font:inherit;color:inherit;background:none;border:1.5px solid currentColor;border-radius:3px;padding:2px 8px;min-height:28px;cursor:pointer}
@container site (min-width:64rem){
  .specimen--video .specimen__video{max-width:min(100%,calc(100svh - 330px));background:var(--sky) url(/assets/video/labvn-hero-1080x1080-poster.webp) center/cover no-repeat}
}
/* телефон и планшет (< 64rem): видео нет вообще, hero как в main — .hero .specimen скрыт базовым правилом */

/* ---------- v10: ролик «Протокол работы» на /o-nas/ ---------- */
/* размеры заданы до загрузки (CLS = 0); постер = первый кадр цикла, фоном: у скрытых вариантов не качается */
.loop-video{max-width:960px}
.loop-video__frame{aspect-ratio:16/9;border:1.5px solid var(--blue);border-radius:var(--radius);overflow:hidden;background:var(--sky) url(/assets/video/labvn-about-1280x720-poster.webp) center/cover no-repeat}
.loop-video__v{display:block;width:100%;height:100%;object-fit:cover}
.loop-video__cap{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:8px;font:400 13px/1.3 var(--mono);color:var(--muted)}
.loop-video__toggle{font:inherit;color:var(--blue);background:none;border:1.5px solid currentColor;border-radius:3px;padding:2px 10px;min-height:32px;cursor:pointer}
@container site (max-width:39.99rem){
  .loop-video__frame{aspect-ratio:4/5;background-image:url(/assets/video/labvn-about-720x900-poster.webp)}
}

/* =========================================================================
   v16 · новый знак «ЛВ» (колба-Л + В), 29.09.2026: знак без плашки в шапке,
   светлый знак в футере. Файлы знака — tools/make_brand_assets.py.
   ========================================================================= */
.logo .logo__mark{width:auto;height:30px;flex:none}
@container site (min-width:40rem){.logo .logo__mark{height:34px}}
.logo{gap:12px}
.footer__brand{display:flex;align-items:center;gap:14px}
.footer__mark{width:auto;height:44px;flex:none}
/* v15 · подпись под названием без домена: видна, где помещается */
.logo__sub{display:block;white-space:nowrap}
@media (max-width:25rem){.logo__sub{font-size:10.5px;letter-spacing:-.01em}}
@container site (min-width:64rem) and (max-width:80rem){.logo__sub{display:none}}
@media (max-width:23.9rem){.logo__sub-pre{display:none}}
@media (max-width:27rem){.logo__sub{font-size:10.5px;letter-spacing:-.01em}}
@media (max-width:21rem){.logo__name{font-size:14px}.logo__mark{width:38px}.logo{gap:8px}}

/* =========================================================================
   v17 · видео в hero на телефоне и планшете (07.10.2026).
   Свой ролик 6:5 (tools/hero-video, композиция HeroStrip): только сцены, без подписей и заголовков —
   под H1 сайта второй заголовок в видео спорил с ним.
   Первый экран: заголовок → видео на всю ширину колонки → кнопка, все по одному левому краю.
   Порядок меняется через display:contents у обёрток — разметка десктопа прежняя.
   ========================================================================= */
@container site (max-width:63.99rem){
  .hero .hero__grid{display:flex;flex-direction:column;justify-content:center;gap:0}
  .hero__main.hero__sheet,.hero__text{display:contents}
  .hero__main .eyebrow{order:1}
  .hero__main h1{order:2}
  .hero__ticket{order:4}
  .hero__main .lead{order:5;margin-top:20px}
  /* видео: забирает остаток высоты экрана, но не больше своей ширины / 1,2;
     на низком экране сужается, оставаясь по левому краю */
  .hero .specimen--video{order:3;display:block;flex:1 1 0;min-height:180px;max-height:calc((100cqw - 2 * var(--gutter)) / 1.2);margin-top:16px !important;container-type:size;background:none;border:0;border-radius:0;overflow:visible}
  .specimen--video .specimen__video{position:relative;width:min(100cqw,100cqh * 1.2);aspect-ratio:6/5;margin:0;border:1.5px solid var(--blue);border-radius:var(--radius);overflow:hidden;background:var(--sky) url(/assets/video/labvn-hero-strip-720x600-poster.webp) center/cover no-repeat}
  .specimen--video .hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
  /* подписи над и под видео нет; пауза — касанием по самому ролику (main.js) */
  .specimen--video .specimen__bar{display:none}
  .hero-video{cursor:pointer}
  /* кнопка — прямо под видео, без отдельной карточки-бланка */
  .hero__ticket{margin-top:16px;padding:0;background:none;border:0;box-shadow:none;max-width:none}
  .hero__ticket::before,.hero__ticket .sheet__head{display:none}
  .hero__ticket .hero__actions{margin-top:0}
  .hero__note{margin-top:8px}
}
@container site (min-width:40rem) and (max-width:63.99rem){
  .hero__ticket .hero__actions .btn{width:auto;align-self:flex-start}
}
/* телефон: подзаголовок и надзаголовок уступают место видео (смысл подзаголовка — в разделах ниже) */
@container site (max-width:39.99rem){
  .hero__main .eyebrow,.hero__main .lead{display:none}
  .hero__sheet h1{margin-top:0}
}
/* высокий телефон: места хватает — партнёрства над заголовком и подзаголовок под кнопкой возвращаются */
@media (min-height:820px){@container site (max-width:39.99rem){
  .hero__main .eyebrow{display:block;margin:0 0 12px;text-wrap:balance}
  .hero__main .lead{display:block;font-size:15px;margin-top:18px}
}}


/* ---- blog.css ---- */
/* =========================================================================
   Блог, статья, контакты, юридические страницы, 404.
   Префиксы: .blog- (журнал и статья), .ct- (контакты, документы, 404).
   Базовые стили = телефон; адаптив только через @container site.
   ========================================================================= */

/* ---------- Журнал: фильтр и лента ---------- */
[data-tags][hidden]{display:none!important}
.blog-filter{display:flex;flex-direction:column;gap:10px;margin-bottom:20px}
.blog-filter__label{font:400 13px/19px var(--mono);color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.blog-list{display:grid;gap:12px;grid-template-columns:minmax(0,1fr)}
.blog-list .post-card{min-height:100%}
.blog-soon{display:inline-flex;align-items:center;gap:6px;font:700 12px/1 var(--mono);color:var(--red);text-transform:uppercase;letter-spacing:.04em}
.blog-soon .i{width:14px;height:14px}
.blog-card__text{color:var(--ink-2);font-size:15px}
.blog-card__foot{margin-top:auto;padding-top:10px;border-top:1px dashed var(--line);display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 12px;align-items:center}
.blog-rubric{font:400 13px/1 var(--mono);color:var(--blue);text-transform:uppercase;letter-spacing:.04em}
@container site (min-width:40rem){.blog-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}}
@container site (min-width:64rem){.blog-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}}

/* «Препарат дня» — опубликованная статья */
.blog-feature{display:grid;gap:0;grid-template-columns:minmax(0,1fr);background:var(--paper-2);border:1.5px solid var(--ink);border-radius:var(--radius);box-shadow:var(--shadow-sheet);color:var(--ink);text-decoration:none;overflow:hidden;margin-bottom:16px;transition:box-shadow .2s,transform .2s}
.blog-feature:hover{color:var(--ink);transform:translateY(-2px);box-shadow:8px 8px 0 var(--blue)}
.blog-feature__slide{display:flex;flex-direction:column;background-color:var(--sky);background-image:linear-gradient(rgba(29,58,138,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(29,58,138,.12) 1px,transparent 1px);background-size:24px 24px;border-bottom:1.5px solid var(--ink)}
.blog-feature__slide svg{width:100%;max-width:420px;margin:auto;padding:14px}
.blog-feature__bar{display:flex;justify-content:space-between;gap:8px;padding:8px 14px;font:400 13px/1.3 var(--mono);color:var(--blue);border-bottom:1.5px solid var(--blue)}
.blog-feature__body{display:flex;flex-direction:column;gap:12px;padding:18px 16px 20px}
.blog-feature__title{font-size:24px;line-height:1.15;font-weight:600;letter-spacing:-.025em}
.blog-feature__go{display:inline-flex;align-items:center;gap:6px;font-weight:600;color:var(--blue);min-height:var(--tap)}
@container site (min-width:40rem){.blog-feature__body{padding:24px 28px 26px}.blog-feature__title{font-size:30px}}
@container site (min-width:64rem){.blog-feature{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}.blog-feature__slide{border-bottom:0;border-right:1.5px solid var(--ink)}.blog-feature__body{padding:36px 40px;justify-content:center}.blog-feature__title{font-size:36px}}

/* ---------- Статья ---------- */
.blog-meta{display:flex;flex-wrap:wrap;gap:8px 18px;font:400 13px/1.4 var(--mono);color:var(--muted);margin-top:16px}
.blog-meta span{display:inline-flex;align-items:center;gap:6px}
.blog-meta .i{width:16px;height:16px}
.blog-head__stamp{margin-top:18px}
.blog-toc-mobile{margin-bottom:24px}
.blog-aside .toc{display:none}
.toc a{text-decoration:none;display:inline-block;padding-block:4px}
.toc a:hover{text-decoration:underline}
.toc__title{font:400 13px/19px var(--mono);color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.blog-aside__cta{margin-top:14px;padding:16px;border:1.5px solid var(--blue);border-radius:var(--radius);background:var(--sky-2);display:flex;flex-direction:column;gap:10px}
.blog-aside__cta .btn{width:100%;justify-content:space-between}
.blog-aside{display:none}
@container site (min-width:64rem){.blog-toc-mobile{display:none}.blog-aside{display:block}.blog-aside .toc{display:block}}

.prose h2{scroll-margin-top:100px}
.prose h3{scroll-margin-top:100px}
.blog-num{font:700 15px/1 var(--mono);color:var(--red);margin-right:8px;vertical-align:.12em}
.blog-sheet{margin:28px 0;font-size:16px;line-height:1.5}
.blog-sheet .sheet__head{margin-bottom:6px}
.blog-checklist{list-style:none;padding:0!important;display:grid;gap:0}
.blog-checklist li{display:grid;grid-template-columns:22px minmax(0,1fr);gap:12px;padding:12px 0;border-bottom:1px dashed var(--line);margin:0!important}
.blog-checklist li::before{content:"";width:18px;height:18px;margin-top:2px;border:2px solid var(--blue);border-radius:2px;background:var(--paper)}
.blog-checklist b{font-family:var(--mono);color:var(--red);margin-right:6px;font-size:14px}
.blog-sheet__foot{margin-top:14px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}
.blog-sheet__foot p{font:400 13px/1.5 var(--mono);color:var(--muted);max-width:40ch}
.prose .blog-scene{font:400 13px/1.4 var(--mono);color:var(--blue);display:block;margin-bottom:6px;text-transform:uppercase;letter-spacing:.04em}
.blog-next{display:grid;gap:12px;margin-top:8px}
.blog-next a{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border:1.5px solid var(--ink);border-radius:var(--radius);background:var(--paper-2);color:var(--ink);text-decoration:none;min-height:var(--tap)}
.blog-next a:hover{box-shadow:4px 4px 0 var(--blue);color:var(--ink)}
.blog-next a .i{color:var(--blue);margin-top:2px}
.blog-next strong{display:block}
.blog-next span span{display:block;font-size:15px;color:var(--ink-2);margin-top:2px}
@container site (min-width:40rem){.blog-next{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ---------- Контакты ---------- */
.ct-icon{width:48px;height:48px;border-radius:50%;border:3px double var(--blue);display:flex;align-items:center;justify-content:center;color:var(--blue);flex-shrink:0;background:var(--paper)}
.contact .ct-go{margin-left:auto;color:var(--blue)}
.contact__value{overflow-wrap:anywhere}
.contact .draft{margin-left:6px}
.ct-grid{display:grid;gap:28px}
@container site (min-width:64rem){.ct-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:start}}
.ct-who{display:grid;grid-template-columns:88px minmax(0,1fr);gap:14px;align-items:start;padding:16px;border:1.5px dashed var(--blue);border-radius:var(--radius);background:var(--paper-2);margin-top:14px}
.ct-who__role{font:400 13px/19px var(--mono);color:var(--blue);text-transform:uppercase}
.ct-who__name{font-size:20px;font-weight:600;letter-spacing:-.015em}
.ct-who__text{margin-top:4px;color:var(--ink-2);font-size:15px}
.ct-geo{display:flex;gap:14px;align-items:flex-start;padding:16px;border:1.5px solid var(--ink);border-radius:var(--radius);background:var(--paper-2)}
.ct-geo .i{color:var(--blue);width:28px;height:28px}
.ct-req{padding:16px;border:1.5px solid var(--ink);border-radius:var(--radius);background:var(--paper-2)}
.ct-req dd{overflow-wrap:anywhere}
.ct-after .steps{margin-top:4px}
@container site (min-width:64rem){.ct-after .steps{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* ---------- Юридические документы ---------- */
.ct-warn{display:flex;gap:12px;align-items:flex-start;padding:16px;border:2px dashed var(--red);border-radius:var(--radius);background:var(--paper-2);color:var(--ink);margin-top:18px;max-width:68ch}
.ct-warn .i{color:var(--red);margin-top:1px}
.ct-warn strong{font-family:var(--mono);color:var(--red);font-size:14px;display:block;margin-bottom:2px}
.ct-doc{counter-reset:doc}
.ct-doc h2{counter-increment:doc;display:flex;gap:10px;align-items:baseline}
.ct-doc h2::before{content:counter(doc) ".";font:700 18px/1 var(--mono);color:var(--red);flex-shrink:0}
.ct-doc ol{list-style:decimal}
.ct-ph{font-family:var(--mono);font-size:15px;color:var(--red);background:var(--paper-2);border:1px dashed var(--red-soft);padding:0 4px;border-radius:2px}
.ct-doc .req{margin-top:10px}
.ct-doc-meta{font:400 13px/1.6 var(--mono);color:var(--muted);margin-top:14px}

/* ---------- 404 ---------- */
.ct-404{display:grid;gap:28px;align-items:center}
.ct-404__art{background-color:var(--sky);background-image:linear-gradient(rgba(29,58,138,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(29,58,138,.12) 1px,transparent 1px);background-size:24px 24px;border:1.5px solid var(--blue);border-radius:var(--radius);overflow:hidden;margin:0}
.ct-404__art svg{width:100%;max-width:460px;margin-inline:auto;padding:12px}
.ct-404__code{font:700 64px/1 var(--mono);color:var(--blue);letter-spacing:-.04em}
.ct-404__actions{display:flex;flex-direction:column;gap:10px;margin-top:8px}
@container site (min-width:40rem){.ct-404__actions{flex-direction:row;flex-wrap:wrap}.ct-404__code{font-size:88px}}
@container site (min-width:64rem){.ct-404{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px}}

/* ---- обложки и схемы статей (контент-бот, tools/blog_post.py) ---- */
.blog-cover{margin:24px 0 0;border:1.5px solid var(--ink);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sheet);max-width:880px}
.blog-cover img{display:block;width:100%;height:auto}
.prose .blog-fig{margin:28px 0}
.prose .blog-fig img{display:block;width:100%;height:auto;border:1.5px solid var(--ink);border-radius:var(--radius)}
.prose .blog-fig figcaption{margin-top:8px;font:400 14px/1.45 var(--mono);color:var(--muted)}
.blog-card__cover{display:block;width:calc(100% + 32px);max-width:none;height:auto;margin:-16px -16px 4px;border-bottom:1.5px solid var(--ink);border-radius:var(--radius) var(--radius) 0 0}


/* ---- case.css ---- */
/* ---------- Кейсы и «О нас» (префикс .case-) ---------- */

/* Фильтр списка: .result задаёт display:flex, поэтому hidden надо усилить */
.case-list>[hidden]{display:none}
.case-filter{margin-bottom:18px}
.case-filter__label{font:400 13px/19px var(--mono);color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px}
.case-count{margin-top:14px;font:400 13px/19px var(--mono);color:var(--muted)}

/* Крупные цифры результата */
.case-kpis{display:grid;gap:12px;grid-template-columns:minmax(0,1fr);margin-top:20px}
.case-kpi{padding:16px;background:var(--paper-2);border:1.5px solid var(--ink);border-radius:var(--radius);display:flex;flex-direction:column;gap:6px}
.case-kpi__val{font:700 40px/1 var(--mono);color:var(--blue);letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.case-kpi__from{font:400 14px/1.3 var(--mono);color:var(--muted);text-decoration:line-through;text-decoration-color:var(--red)}
.case-kpi__label{font-size:15px;line-height:1.4;color:var(--ink-2)}
@container site (min-width:40rem){.case-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.case-kpi:last-child:nth-child(odd){grid-column:1/-1}.case-kpi__val{font-size:48px}}

.case-result{display:grid;gap:24px}
@container site (min-width:64rem){.case-result{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:48px;align-items:start}}
.case-result .rtable{font-size:15px}
.case-result .rtable td.num{font-size:16px}

/* Список сделанного */
.case-did{list-style:none;display:grid;gap:10px}
.case-did li{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;background:var(--paper-2);border:1.5px solid var(--ink);border-radius:var(--radius)}
.case-did li .i{color:var(--blue);margin-top:1px}

/* Схема интеграций */
.case-scheme{margin:0;background-color:var(--paper-2);background-image:linear-gradient(rgba(29,58,138,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(29,58,138,.08) 1px,transparent 1px);background-size:20px 20px;border:1.5px solid var(--blue);border-radius:var(--radius);overflow:hidden}
.case-scheme svg{width:100%;max-width:560px;margin-inline:auto;padding:12px}
.case-scheme figcaption{padding:8px 14px;border-top:1.5px solid var(--blue);background:var(--sky);font:400 13px/1.4 var(--mono);color:var(--blue)}

/* Скриншоты */
.case-shots{display:grid;gap:12px;grid-template-columns:minmax(0,1fr)}
.case-shots figure{margin:0}
.case-shots figcaption{margin-top:6px;font:400 13px/1.4 var(--mono);color:var(--muted)}
@container site (min-width:40rem){.case-shots{grid-template-columns:repeat(2,minmax(0,1fr))}}
@container site (min-width:64rem){.case-shots--3{grid-template-columns:repeat(3,minmax(0,1fr))}}
@container site (min-width:40rem){.case-shots--single{grid-template-columns:minmax(0,1fr)}}

/* Навигация между кейсами */
.case-nav{display:grid;gap:12px;grid-template-columns:minmax(0,1fr)}
.case-next{display:flex;justify-content:space-between;align-items:center;gap:14px;min-height:72px;padding:14px 16px;background:var(--paper-2);border:1.5px solid var(--ink);border-radius:var(--radius);color:var(--ink);text-decoration:none;transition:box-shadow .2s}
.case-next:hover{box-shadow:4px 4px 0 var(--blue);color:var(--ink)}
.case-next__meta{display:block;font:400 13px/19px var(--mono);color:var(--muted);text-transform:uppercase}
.case-next__title{display:block;font-size:18px;font-weight:600;line-height:1.3;margin-top:2px}
.case-next .i{color:var(--blue)}
.case-next--back{border-style:dashed;background:transparent}
@container site (min-width:40rem){.case-nav{grid-template-columns:minmax(0,1fr) minmax(0,2fr)}}

/* «О нас»: главная мысль */
.case-thesis{font-size:24px;line-height:1.25;font-weight:600;letter-spacing:-.02em;padding:18px 16px;border:1.5px solid var(--ink);border-left:6px solid var(--mustard);background:var(--paper-2);border-radius:var(--radius)}
@container site (min-width:40rem){.case-thesis{font-size:30px;padding:24px 28px}}

/* Карточки статусов со ссылкой на каталог */
.case-status{display:flex;flex-direction:column;gap:8px;height:100%;padding:16px;background:var(--paper-2);border:1.5px dashed var(--blue);border-radius:var(--radius)}
.case-status__head{display:flex;gap:12px;align-items:center}
.case-status__title{font-weight:600;font-size:18px;line-height:1.3}
.case-status__text{color:var(--ink-2);font-size:15px}
.case-status__url{margin-top:auto;display:inline-flex;align-items:center;gap:6px;min-height:var(--tap);font:400 14px/1.3 var(--mono);word-break:break-all}

/* Сертификат */
.case-cert{display:grid;gap:20px}
.case-cert .ph{aspect-ratio:1.414/1;font-size:13px}
@container site (min-width:64rem){.case-cert{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:center}}

/* Принципы */
.case-rules{list-style:none;counter-reset:rule;display:grid;gap:12px;grid-template-columns:minmax(0,1fr)}
.case-rules li{counter-increment:rule;position:relative;padding:16px 16px 16px 60px;background:var(--paper-2);border:1.5px solid var(--ink);border-radius:var(--radius);min-height:72px}
.case-rules li::before{content:counter(rule,decimal-leading-zero);position:absolute;left:14px;top:14px;width:34px;height:34px;border-radius:50%;border:2px solid var(--blue);display:flex;align-items:center;justify-content:center;font:700 13px/1 var(--mono);color:var(--blue)}
.case-rules b{display:block;font-size:17px;line-height:1.3}
.case-rules span{display:block;margin-top:4px;color:var(--ink-2);font-size:15px}
@container site (min-width:40rem){.case-rules{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Карта-география */
.case-geo{margin:0;border:1.5px solid var(--mustard);border-radius:var(--radius);overflow:hidden}
.case-geo svg{width:100%}

/* v2 · страница кейса (28.09.2026): «Что было» из четырёх карточек — 2 × 2 на десктопе,
   карточки ниш без отдельной страницы в списке кейсов */
@container site (min-width:64rem){.svcp-when.case-when--2{grid-template-columns:repeat(2,minmax(0,1fr))}}
.case-scheme--after{margin-top:24px}
.result--niche .result__head{background:var(--ink-2,#3A3F4B)}
.result--niche .result__did{border-top:0;padding-top:0}
.case-note{font:400 13px/1.4 var(--mono);color:var(--muted)}
@container site (min-width:64rem){.case-kpis--3{grid-template-columns:repeat(3,minmax(0,1fr))}.case-kpis--3 .case-kpi:last-child:nth-child(odd){grid-column:auto}}
.page-head .case-kpis{max-width:72rem}


/* ---- ind.css ---- */
/* =========================================================================
   Отрасли (28.09.2026): хаб /otrasli/, страницы /otrasli/<slug>/ (.ind-*),
   обратные ссылки на страницах услуг и кейсов. Реестр — INDUSTRIES в build.py.
   ========================================================================= */

/* Хаб: карточки отраслей 1 → 2 → 3 колонки */
.ind-grid{list-style:none;display:grid;gap:12px;grid-template-columns:minmax(0,1fr)}
.ind-card{position:relative;display:flex;flex-direction:column;gap:6px;height:100%;padding:16px 48px 16px 16px;background:var(--paper);border:1.5px solid var(--ink);border-radius:var(--radius);color:var(--ink);text-decoration:none;transition:background .2s,box-shadow .2s}
.ind-card:hover{background:#fff;box-shadow:4px 4px 0 var(--mustard)}
.ind-card>.i{position:absolute;right:16px;top:18px;color:var(--blue)}
.ind-card__n{font:400 13px/19px var(--mono);text-transform:uppercase;color:var(--red)}
.ind-card__t{font-size:19px;line-height:1.3;font-weight:600;letter-spacing:-.015em}
.ind-card__d{font-size:15px;line-height:1.45;color:var(--ink-2)}
.ind-card__case{align-self:flex-start;margin-top:4px;padding:2px 8px;border:1.5px solid var(--blue);border-radius:999px;font:600 13px/19px var(--mono);color:var(--blue)}
@container site (min-width:40rem){.ind-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}}
@container site (min-width:64rem){.ind-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}}

/* Как идёт сделка: этапы-наблюдения, 1 → 2 → 3 колонки (переиспользует .obs) */
.ind-flow{display:grid;gap:12px;grid-template-columns:minmax(0,1fr)}
@container site (min-width:40rem){.ind-flow{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}}
@container site (min-width:64rem){.ind-flow{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}}

/* amoCRM или Битрикс24: два бланка рядом с планшета + вывод */
.ind-choice{display:grid;gap:16px;grid-template-columns:minmax(0,1fr)}
@container site (min-width:40rem){.ind-choice{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}}
.ind-choice .sheet{display:grid;gap:10px}
.ind-choice h3{font-size:21px;line-height:1.3;font-weight:600}
.ind-choice p,.ind-choice li{color:var(--ink-2);font-size:16px;line-height:1.5}
.ind-choice ul{list-style:none;display:grid;gap:8px}
.ind-choice li{display:flex;gap:8px;align-items:flex-start}
.ind-choice li .i{flex:none;color:var(--blue);margin-top:3px}
.ind-verdict{margin-top:20px}

/* Карточки «что настраиваем»: ссылка на услугу внизу */
.ind-setup .svc-feat__link{display:inline-flex;align-items:center;gap:6px;min-height:36px;margin-top:4px;font-weight:600;color:var(--blue);text-decoration:none}
.ind-setup .svc-feat__link:hover{text-decoration:underline;text-underline-offset:4px}
.ind-setup .svc-feat__link svg{width:16px;height:16px}

/* Услуги для отрасли: та же сетка, что «Связанные услуги», до 3 в ряд */
@container site (min-width:64rem){.svcp-rel.ind-rel{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* Обратные ссылки на странице услуги: компактный список */
.ind-links{list-style:none;display:flex;flex-wrap:wrap;gap:10px}
.ind-links a{display:inline-flex;align-items:center;gap:6px;min-height:48px;padding:10px 14px;background:var(--paper);border:1.5px solid var(--ink);border-radius:999px;color:var(--ink);font-weight:600;font-size:15px;line-height:1.3;text-decoration:none;transition:box-shadow .2s}
.ind-links a:hover{box-shadow:3px 3px 0 var(--mustard)}
.ind-links a .i{color:var(--blue)}

/* Кейс: плашка «Отрасль» над навигацией */
.ind-case{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin-top:24px}
.ind-case__link{display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:10px 14px;border:1.5px solid var(--blue);border-radius:999px;color:var(--blue);font-weight:600;text-decoration:none}
.ind-case__link:hover{background:#fff}

/* Ниша на /kejsy/: ссылка на отрасль вместо «Без отдельного разбора» */
.result__foot .ind-niche-link{font-weight:600}


/* ---- svc.css ---- */
/* =========================================================================
   Раздел «Услуги» и «Цены» (.svc-*). Базовые стили = телефон,
   адаптив только через container queries от .site.
   ========================================================================= */

/* Шапка страницы с иллюстрацией */
.svc-head{display:grid;gap:24px}
.svc-head__fig{margin:0}
@container site (min-width:64rem){.svc-head{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:48px;align-items:center}}

/* Штампы в шапке услуги */
.svc-stamps{display:flex;flex-wrap:wrap;gap:14px 12px;align-items:center;margin-top:20px}
.svc-stamps .stamp:nth-child(2n){transform:rotate(4deg)}

/* Направления (хаб) */
.svc-dirs{display:grid;gap:16px}
.svc-dir{display:grid;gap:14px;padding:18px 16px;background:var(--paper-2);border:1.5px solid var(--ink);border-radius:var(--radius);box-shadow:var(--shadow-sheet)}
.svc-dir--main{background:var(--blue);color:#fff;border-color:var(--blue);box-shadow:6px 6px 0 var(--mustard)}
.svc-dir__n{display:flex;justify-content:space-between;align-items:center;gap:8px;font:400 13px/19px var(--mono);color:var(--red);text-transform:uppercase;padding-bottom:8px;border-bottom:1px dashed var(--line)}
.svc-dir--main .svc-dir__n{color:var(--mustard);border-color:rgba(255,255,255,.3)}
.svc-dir__title{font-size:22px;line-height:1.2;font-weight:600;letter-spacing:-.02em}
.svc-dir__text{color:var(--ink-2)}
.svc-dir--main .svc-dir__text{color:var(--blue-ink)}
.svc-dir__links{display:grid;gap:8px;list-style:none}
.svc-dir__links a{display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:var(--tap);padding:8px 12px;border:1.5px solid currentColor;border-radius:var(--radius);font-weight:600;text-decoration:none;color:inherit}
.svc-dir--main .svc-dir__links a{color:#fff}
.svc-dir__links a:hover{background:var(--mustard);color:var(--ink);border-color:var(--mustard)}
.svc-dir__links small{display:block;font:400 13px/1.3 var(--mono);opacity:.85}
@container site (min-width:40rem){.svc-dir{padding:24px}}
@container site (min-width:64rem){.svc-dir{grid-template-columns:minmax(0,.9fr) minmax(0,1.2fr) minmax(0,1fr);gap:28px;align-items:start;padding:28px 32px}.svc-dir__n{grid-column:1/-1}}

/* Карточка «что входит» с иконкой */
.svc-feat{display:flex;flex-direction:column;gap:8px;height:100%;padding:16px;background:var(--paper-2);border:1.5px solid var(--ink);border-radius:var(--radius)}
.svc-feat__ico{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border:1.5px solid var(--blue);border-radius:50%;color:var(--blue);background:var(--sky-2)}
.svc-feat__title{font-size:18px;line-height:1.3;font-weight:600;letter-spacing:-.015em}
.svc-feat__text{color:var(--ink-2);font-size:15px}
.svc-feat__tag{margin-top:auto;padding-top:6px;font:400 13px/1.3 var(--mono);color:var(--red)}

/* Мини-шкаф симптомов */
.svc-cab{position:relative}
.svc-cab .cabinet__body{list-style:none}

/* Бланк заключения */
.svc-out{display:grid;gap:14px}
.svc-out__foot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:6px}
.svc-check{display:grid;gap:8px;list-style:none;margin-top:4px}
.svc-check li{display:flex;gap:10px;align-items:flex-start}
.svc-check li .i{color:var(--blue);margin-top:1px}
.section--blue .svc-check li .i,.section--ink .svc-check li .i{color:var(--mustard)}

/* Этапы: вариант на 4 шага */
@container site (min-width:64rem){.svc-steps4{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* Две услуги рядом (аудит) */
.svc-duo{display:grid;gap:16px}
@container site (min-width:64rem){.svc-duo{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}}

/* Заметка-сноска */
.svc-note{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border:1.5px dashed var(--blue);border-radius:var(--radius);background:var(--sky-2);color:var(--ink-2);font-size:15px}
.svc-note .i{color:var(--blue);margin-top:1px}

/* Прейскурант по группам */
.svc-pl{display:grid;gap:20px;grid-template-columns:minmax(0,1fr)}
.svc-pl__group{padding:16px 16px 8px;background:var(--paper-2);border:1.5px solid var(--ink);border-radius:var(--radius)}
.svc-pl__head{display:flex;justify-content:space-between;align-items:baseline;gap:8px;padding-bottom:8px;border-bottom:1.5px solid var(--ink);font:400 13px/19px var(--mono);color:var(--muted);text-transform:uppercase}
.svc-pl__title{font-size:20px;line-height:1.25;font-weight:600;letter-spacing:-.015em;margin-top:10px}
.svc-pl .price-row:last-child{border-bottom:0}
.svc-pl .price-row__name a{font-weight:600}
@container site (min-width:64rem){.svc-pl{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.svc-pl__group{padding:22px 24px 10px}}

/* Скриншоты рядом */
.svc-shots{display:grid;gap:12px}
.svc-shots figure{margin:0}
.svc-shots figcaption{margin-top:6px;font:400 13px/1.4 var(--mono);color:var(--muted)}
@container site (min-width:40rem){.svc-shots{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}}

/* Иллюстрация-схема на хабе */
.svc-fig svg{width:100%;max-width:520px;margin-inline:auto}
.svc-flow{stroke-dasharray:6 6;animation:svc-flow 1.6s linear infinite}
@keyframes svc-flow{to{stroke-dashoffset:-24}}
/* цены аудита: 4 бланка — по два на планшете, в ряд на десктопе */
@container site (min-width:40rem){.svc-price4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@container site (min-width:64rem){.svc-price4{grid-template-columns:repeat(4,minmax(0,1fr))}}
.price-box--accent .small{color:var(--blue-ink)}

/* ---- Категории услуг (28.09.2026): хаб из 6 категорий и страницы категорий ---- */
/* якоря услуг не прячутся под липкую шапку */
.svc-dir[id],.section[id],.svc-check li[id]{scroll-margin-top:96px}
.svc-dir__title a{color:inherit;text-decoration:none}
.svc-dir__title a:hover{text-decoration:underline;text-underline-offset:4px}
.svc-dir--main .svc-dir__more{color:var(--mustard)}
.svc-dir--main .svc-check li .i{color:var(--mustard)}
.svc-dir .svc-check{margin-top:0}
.svc-check li>span{min-width:0}
.cases__all{margin-top:16px}

/* ---- v2 категорий (28.09.2026): сетка услуг, CTA на карточках, выбор услуг, развилка на хабе, протокол агента ---- */
/* Первый экран категории: кнопка + запасной канал */
.svc-hero-cta{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;margin-top:22px}
.svc-hero-cta .btn{width:100%}
.svc-hero-cta__alt{font-size:15px;color:var(--muted)}
.svc-hero-cta__alt a{font-weight:600}
@container site (min-width:40rem){.svc-hero-cta .btn{width:auto}}

/* Услуги категории: главная — широкая синяя, остальные — карточки 2 в ряд с десктопа */
.svc-grid{display:grid;gap:16px}
.svc-grid .svc-card{display:flex;flex-direction:column;align-items:stretch;gap:12px}
.svc-card .svc-check{font-size:15px}
.svc-card__cta{margin-top:auto;padding-top:12px;border-top:1px dashed var(--line);font-weight:600}
.svc-dir__btn{align-self:flex-start}
@container site (min-width:64rem){
  .svc-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
  .svc-grid>.svc-dir--main{grid-column:1/-1}
  .svc-grid .svc-card{padding:24px 28px}
}
/* «Состав работ» — раскрывашка внутри карточки */
.svc-more{border-top:1px dashed var(--line)}
.svc-more summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:44px;cursor:pointer;font:400 13px/1.3 var(--mono);text-transform:uppercase;letter-spacing:.04em;color:var(--blue)}
.svc-more summary::-webkit-details-marker{display:none}
.svc-more summary .i{transition:transform .2s}
.svc-more[open] summary .i{transform:rotate(45deg)}
.svc-more>div{display:grid;gap:10px;padding-bottom:6px;color:var(--ink-2);font-size:15px}

/* Бланк «Отметьте, что нужно» */
.svc-pick{display:grid;gap:14px}
.svc-pick .radio{min-height:52px;font-size:15px;line-height:1.3}

/* Цены: главное действие рядом с прейскурантом */
.svc-price-cta{display:flex;flex-wrap:wrap;align-items:center;gap:14px 24px;margin-top:20px}
.svc-price-cta .btn{width:100%}
@container site (min-width:40rem){.svc-price-cta .btn{width:auto}}
.sup-inc .btn{margin-top:14px}

/* Хаб: Битрикс24 и amoCRM рядом, развилка, остальные 2×2 */
.svc-hub-main,.svc-hub-rest{display:grid;gap:16px}
@container site (min-width:64rem){
  .svc-hub-main,.svc-hub-rest{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
  .svc-hub-main .svc-dir,.svc-hub-rest .svc-dir{display:flex;flex-direction:column;align-items:stretch;gap:14px}
  .svc-grid .svc-card{align-items:stretch}
}
.svc-fork{display:flex;flex-direction:column;gap:16px;margin-block:20px;padding:18px 16px;background:var(--paper-2);border:1.5px dashed var(--blue);border-radius:var(--radius);box-shadow:var(--shadow-sheet)}
.svc-fork__title{font-size:20px;line-height:1.25;font-weight:600;letter-spacing:-.015em}
.svc-fork .btn{width:100%}
@container site (min-width:40rem){.svc-fork{padding:22px 28px}.svc-fork .btn{width:auto}}
@container site (min-width:64rem){.svc-fork{flex-direction:row;align-items:center;justify-content:space-between;gap:32px;margin-block:24px}.svc-fork__title{font-size:24px}}

/* Протокол «Как агент разбирает заявку»: бланки на синем, шаги проявляются по скроллу */
.svc-demo{list-style:none;display:grid;gap:14px;counter-reset:none}
.svc-demo__step{position:relative;display:flex;flex-direction:column;gap:8px;padding:16px;background:var(--paper-2);color:var(--ink);border-radius:var(--radius);box-shadow:0 3px 0 rgba(10,20,60,.35)}
.svc-demo__head{display:flex;justify-content:space-between;align-items:center;padding-bottom:8px;border-bottom:1.5px solid var(--ink);font:400 13px/19px var(--mono);color:var(--muted)}
.svc-demo__n{font-weight:700;color:var(--red)}
.svc-demo__title{font-size:18px;line-height:1.3;font-weight:600}
.svc-demo__text{font-size:15px;color:var(--ink-2)}
.svc-demo__chips{display:flex;flex-wrap:wrap;gap:6px;color:var(--blue)}
.svc-demo__msg{align-self:flex-start;max-width:92%;padding:8px 12px;border:1.5px solid var(--ink);border-radius:10px 10px 10px 2px;background:#fff;font-size:15px;line-height:1.35}
.svc-demo__msg--bot{align-self:flex-end;border-color:var(--blue);background:var(--sky-2);border-radius:10px 10px 2px 10px}
.svc-demo__typing{display:flex;gap:4px;align-self:flex-end;padding:0 6px}
.svc-demo__typing i{width:6px;height:6px;border-radius:50%;background:var(--blue);animation:svc-typing 1.2s infinite ease-in-out}
.svc-demo__typing i:nth-child(2){animation-delay:.15s}.svc-demo__typing i:nth-child(3){animation-delay:.3s}
@keyframes svc-typing{0%,80%,100%{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}
.svc-demo__fields{gap:8px}
.svc-demo__fields .field__value{font-size:15px}
.svc-demo__stamp{align-self:flex-start;margin-top:auto}
@container site (min-width:40rem){.svc-demo{grid-template-columns:repeat(2,minmax(0,1fr))}}
@container site (min-width:64rem){.svc-demo{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.svc-demo__step{padding:18px}}
/* проявление: скрываем только когда скрипт включил анимацию (без JS и при reduced motion всё видно) */
.svc-demo.is-anim .svc-demo__step{opacity:0;transform:translateY(14px);transition:opacity .5s ease,transform .5s ease}
.svc-demo.is-anim .svc-demo__stamp{transform:rotate(-7deg) scale(1.4);opacity:0;transition:transform .35s ease 1.5s,opacity .35s ease 1.5s}
.svc-demo.is-in .svc-demo__step{opacity:1;transform:none}
.svc-demo.is-in .svc-demo__step:nth-child(2){transition-delay:.35s}
.svc-demo.is-in .svc-demo__step:nth-child(3){transition-delay:.7s}
.svc-demo.is-in .svc-demo__step:nth-child(4){transition-delay:1.05s}
.svc-demo.is-in .svc-demo__stamp{transform:rotate(-7deg);opacity:1}

/* Тема анкеты, пришедшая со страницы услуги */
.wizard__topic{padding:8px 12px;border:1.5px dashed var(--blue);border-radius:var(--radius);background:var(--sky-2);font:400 14px/1.4 var(--mono);color:var(--blue)}
.svc-more+.svc-card__cta{border-top:0;padding-top:4px}

/* ---- v3 (28.09.2026): страница услуги /uslugi/<категория>/<услуга>/ (.svcp-*) ----
   Шаблон и обязательные блоки — docs/service-pages-spec.md. */
.svcp-when{display:grid;gap:12px;grid-template-columns:minmax(0,1fr)}
@container site (min-width:40rem){.svcp-when{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}}
@container site (min-width:64rem){.svcp-when{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}}

/* Состав работ: нумерованные карточки, 1 → 2 колонки */
.svcp-scope{list-style:none;display:grid;gap:12px;grid-template-columns:minmax(0,1fr);counter-reset:svcp}
.svcp-scope>li{counter-increment:svcp;position:relative}
.svcp-scope>li::after{content:counter(svcp,decimal-leading-zero);position:absolute;top:16px;right:16px;font:700 13px/1 var(--mono);color:var(--red)}
.svcp-scope .svc-feat__title{padding-right:28px}
@container site (min-width:40rem){.svcp-scope{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}}
@container site (min-width:64rem){.svcp-scope{gap:20px}.svcp-scope .svc-feat{padding:20px 22px}}

/* Акт выдачи и «вне сметы»: два бланка рядом с десктопа */
.svcp-duo{display:grid;gap:20px;grid-template-columns:minmax(0,1fr)}
@container site (min-width:64rem){.svcp-duo{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;align-items:start}}
.svcp-sheet{display:grid;gap:14px}
.svcp-sheet[id]{scroll-margin-top:96px}
.svcp-sheet__title{margin-top:4px}
.svcp-out{display:grid;gap:12px;margin:0}
.svcp-out>div{padding-bottom:10px;border-bottom:1px dashed var(--line)}
.svcp-out>div:last-child{border-bottom:0;padding-bottom:0}
.svcp-out dt{font:400 13px/19px var(--mono);letter-spacing:.04em;text-transform:uppercase;color:var(--blue)}
.svcp-out dd{margin:2px 0 0;color:var(--ink-2);font-size:16px;line-height:1.45}
.svcp-sheet--off{border-style:dashed;box-shadow:none}
.svcp-off{list-style:none;display:grid;gap:12px}
.svcp-off li{display:flex;gap:10px;align-items:flex-start;color:var(--ink-2);font-size:16px;line-height:1.45}
.svcp-off li .i{flex:none;color:var(--red);margin-top:2px}
.svcp-off li>span{min-width:0}
.svcp-off b{color:var(--ink);font-weight:600}

/* Этапы: 6 шагов — 3 в ряд на десктопе */
@container site (min-width:64rem){
  .svcp-steps6{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:28px;row-gap:40px}
  .svcp-steps6 .step{align-content:start}
  .svcp-steps6 .step::before{right:-28px}
  .svcp-steps6 .step:nth-child(3n)::before{display:none}
}

/* Что влияет на цену */
.svcp-factors{gap:12px}
.svcp-factors b{font-weight:600}

/* Типовые ошибки: карточки-наблюдения на синем */
.svcp-errs{display:grid;gap:12px;grid-template-columns:minmax(0,1fr)}
.svcp-err{display:flex;flex-direction:column;gap:8px;padding:16px;background:var(--paper-2);color:var(--ink);border-radius:var(--radius);box-shadow:0 3px 0 rgba(10,20,60,.35)}
.svcp-err__n{padding-bottom:8px;border-bottom:1.5px solid var(--ink);font:700 13px/19px var(--mono);color:var(--red);text-transform:uppercase}
.svcp-err__title{font-size:19px;line-height:1.3;font-weight:600;letter-spacing:-.015em}
.svcp-err p:last-child{font-size:16px;line-height:1.5;color:var(--ink-2)}
@container site (min-width:40rem){.svcp-errs{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}}
@container site (min-width:64rem){.svcp-errs{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.svcp-err{padding:20px}}

/* Связанные услуги */
.svcp-rel{list-style:none;display:grid;gap:12px;grid-template-columns:minmax(0,1fr)}
.svcp-rel a{position:relative;display:flex;flex-direction:column;gap:4px;height:100%;padding:16px 48px 16px 16px;background:var(--paper);border:1.5px solid var(--ink);border-radius:var(--radius);color:var(--ink);text-decoration:none;transition:background .2s,box-shadow .2s}
.svcp-rel a:hover{background:#fff;box-shadow:4px 4px 0 var(--mustard)}
.svcp-rel a>.i{position:absolute;right:16px;top:18px;color:var(--blue)}
.svcp-rel__n{font:400 13px/19px var(--mono);text-transform:uppercase;color:var(--red)}
.svcp-rel__t{font-size:19px;line-height:1.3;font-weight:600;letter-spacing:-.015em}
.svcp-rel__p{font:600 14px/1.4 var(--mono);color:var(--blue)}
.svcp-rel__d{font-size:15px;line-height:1.45;color:var(--ink-2)}
@container site (min-width:40rem){.svcp-rel{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}}
@container site (min-width:64rem){.svcp-rel{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}}

/* Категории: ссылка «Подробнее» на страницу услуги в карточке */
.svc-card__more{align-self:flex-start;font-weight:600}
.svc-dir--main .svc-card__more{color:var(--mustard)}
/* Категории: вводный текст «Интегратор …» + бланк «Как выбрать услугу» */
.svc-intro{display:grid;gap:28px;grid-template-columns:minmax(0,1fr)}
.svc-intro__text>*+*{margin-top:14px}
.svc-intro__text h3{margin-top:28px}
.svc-guide{display:grid;gap:14px;align-self:start}
.svc-guide__list{list-style:none;display:grid;gap:0}
.svc-guide__list li{display:grid;gap:4px;padding:12px 0;border-bottom:1px dashed var(--line)}
.svc-guide__list li:last-child{border-bottom:0}
.svc-guide__list span{color:var(--ink-2);font-size:15px;line-height:1.4}
.svc-guide__list a{display:inline-flex;align-items:center;gap:6px;min-height:36px;font-weight:600;text-decoration:none;color:var(--blue)}
.svc-guide__list a:hover{text-decoration:underline;text-underline-offset:4px}
.svc-guide__list a svg{width:18px;height:18px;flex:none}
@container site (min-width:64rem){.svc-intro{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:56px}.svc-guide{position:sticky;top:96px}}


/* ---- tool.css ---- */
/* ---- Калькуляторы, диагностика, образец отчёта (/kalkulyator/, /skolko-teryaete/, /diagnostika/, /primer-audita-bitrix24/) ---- */
.tool-grid{display:grid;gap:24px;grid-template-columns:minmax(0,1fr)}
@container site (min-width:64rem){.tool-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:40px;align-items:start}}

/* опрос по шагам */
.tool-quiz{display:grid;gap:18px}
.tool-quiz fieldset{border:0;padding:0;margin:0;min-width:0;display:grid;gap:12px}
.tool-quiz legend{font-size:20px;line-height:1.25;font-weight:600;letter-spacing:-.015em;margin-bottom:12px;padding:0}
.tool-quiz__hint{font-size:14px;color:var(--muted);margin-top:-6px}
.tool-quiz .radio{min-height:56px;line-height:1.3}
.tool-quiz__bar{height:4px;background:var(--sky);border-radius:2px;overflow:hidden;margin-top:8px}
.tool-quiz__bar i{display:block;height:100%;width:100%;background:var(--blue);transition:width .25s}
.tool-quiz__nav{display:flex;gap:10px}
.tool-quiz__nav .btn{flex:1}
.tool-quiz__nav [data-quiz-prev]{flex:0 0 auto}
.tool-quiz:not(.is-js) .tool-quiz__nav{display:none}
.tool-quiz:not(.is-js) fieldset+fieldset{margin-top:22px}
.tool-quiz.is-done .tool-quiz__nav{display:none}
.tool-quiz__done{display:none;font-size:15px;color:var(--ink-2)}
.tool-quiz.is-done .tool-quiz__done{display:block}

/* итог */
.tool-result{display:grid;gap:14px}
.tool-result:focus{outline:none}
.tool-total{font:700 34px/1.1 var(--mono);letter-spacing:-.02em;margin-top:6px}
@container site (min-width:40rem){.tool-total{font-size:42px}}
.tool-total-note{font-size:14px;color:var(--muted)}
.tool-start{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center;padding:12px 0;border-top:1.5px solid var(--ink);border-bottom:1.5px solid var(--ink)}
.tool-start .stamp{transform:rotate(-4deg)}
.tool-start p{flex:1 1 200px;font-weight:600}
.tool-notes{display:grid;gap:8px;padding-left:20px;font-size:15px;color:var(--ink-2)}
.tool-row--month{border-top:1.5px solid var(--ink);margin-top:6px}
.tool-actions{display:flex;flex-wrap:wrap;gap:10px}
.tool-actions .btn{flex:1 1 100%}
@container site (min-width:40rem){.tool-actions .btn{flex:0 1 auto}}
.tool-empty{border:1.5px dashed var(--line);border-radius:var(--radius);padding:18px 16px;color:var(--muted);font-size:15px;background:var(--paper-2)}

/* полосы по блокам диагностики */
.tool-bars{display:grid;gap:10px}
.tool-bar{display:grid;grid-template-columns:minmax(0,8.5em) minmax(0,1fr) 3.2em;gap:10px;align-items:center;font-size:14px}
.tool-bar>em{display:block;height:10px;border:1.5px solid var(--ink);border-radius:2px;background:var(--paper);overflow:hidden;font-style:normal}
.tool-bar>em i{display:block;height:100%;width:0;background:var(--blue);transition:width .4s}
.tool-bar b{font:700 13px/1 var(--mono);text-align:right}
.tool-score{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.tool-score .tool-total{margin:0}
.tool-score span{font:400 14px/1.3 var(--mono);color:var(--muted)}

/* калькулятор потерь */
.tool-loss{display:grid;gap:16px}
.tool-loss .input{font-family:var(--mono)}
.tool-kpis{display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}
.tool-kpi{border:1.5px solid var(--ink);border-radius:var(--radius);padding:10px 8px;background:var(--paper);min-width:0}
.tool-kpi span{display:block;font:400 12px/1.3 var(--mono);color:var(--muted);text-transform:uppercase;letter-spacing:.03em}
.tool-kpi b{display:block;font:700 14px/1.25 var(--mono);margin-top:4px;white-space:nowrap}
@container site (min-width:40rem){.tool-kpi b{font-size:18px}}
.tool-src{font-size:13px;line-height:1.5;color:var(--muted)}

/* тема заявки над анкетой */
.tool-topic{font-size:14px;line-height:1.45;padding:10px 12px;border:1.5px dashed var(--blue);border-radius:var(--radius);background:var(--sky-2);color:var(--ink-2)}

/* образец отчёта аудита */
.tool-finds{display:grid;gap:16px;counter-reset:find}
.tool-find{display:grid;gap:12px}
.tool-find__head{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}
.tool-find__head .h3{flex:1 1 auto}
.tool-find__n{font:400 13px/1 var(--mono);color:var(--muted)}
.tool-find dl{display:grid;gap:12px;margin:0}
.tool-find dt{font:400 12px/1.3 var(--mono);color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.tool-find dd{margin:4px 0 0;font-size:16px;line-height:1.55}
.tool-find__foot{display:grid;gap:6px;padding-top:10px;border-top:1px dashed var(--line);font-size:15px}
.tool-find__foot span{font:400 12px/1.3 var(--mono);color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-right:8px}
.tool-prio{font:700 12px/1 var(--mono);text-transform:uppercase;letter-spacing:.04em;padding:6px 8px;border:1.5px solid currentColor;border-radius:999px}
.tool-prio--hi{color:var(--red)}
.tool-prio--mid{color:var(--mustard-ink)}
.tool-prio--lo{color:var(--muted)}
@container site (min-width:64rem){.tool-find dl{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.tool-find__foot{grid-template-columns:auto 1fr;gap:24px}}
.tool-formula .report__row{grid-template-columns:minmax(0,1fr) minmax(0,auto)}
.tool-formula .report__row .num{text-align:right}
.tool-summary{display:grid;gap:8px;margin-top:10px;font-size:15px}
.tool-summary div{display:grid;gap:2px;padding-bottom:8px;border-bottom:1px dashed var(--line)}
.tool-summary dt{font:400 12px/1.3 var(--mono);color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.tool-summary dd{margin:0}
