/* Каркас сайта: служебная строка, шапка, меню, подвал, контакты, правовые
   документы. Макет _makety/2026-10-05-karkas/, «да» владельца 05.10.2026.
   Классы с приставкой k3- (каркас), kn- (контакты), dk- (документ): старые
   .shapka/.podval/.m-panel в stil.css с ними не пересекаются.
   Кегли по шкале DESIGN.md (13/17/24/36): макет брал промежуточные 15, 19,
   22, 26, 30, при переносе они сведены к ближайшим из шкалы. */
:root{--krasn-t:#9E0E19}
.k3-list{max-width:1280px;margin:0 auto;padding-inline:var(--pad)}
.k3-mel{font-size:13px;letter-spacing:.08em;text-transform:uppercase}
.k3-shapka ul,.k3-oglav ul,.k3-panel ul,.k3-podval ul,.dk ol,.dk ul,.kn ul{list-style:none}
.k3-shapka button,.k3-oglav button,.k3-panel button,.kn button{font:inherit;color:inherit;cursor:pointer}

/* ===== Служебная строка: дата сверки и почта ===== */
.k3-sluzh{background:var(--tma);color:var(--svet);font-size:13px}
.k3-sluzh .k3-list{display:flex;align-items:center;gap:22px;min-height:34px}
.k3-sluzh span{color:var(--tusk-t)}
.k3-sluzh span b{font-weight:500;color:var(--svet)}
.k3-sluzh a{margin-left:auto;text-decoration:none;padding:0 10px;min-height:34px;display:inline-flex;gap:8px;align-items:center}
.k3-sluzh a::before{content:"";width:6px;height:6px;background:var(--krasn)}
.k3-sluzh a:hover{background:var(--liniya-t)}

/* ===== Шапка: разделы корешками папки ===== */
.k3-shapka{position:relative;z-index:30;background:var(--svet);border-bottom:1px solid var(--tma)}
.k3-ryad{display:flex;align-items:flex-end;gap:10px;height:72px}
.k3-logo{display:flex;gap:11px;align-items:center;align-self:center;min-height:44px;font-weight:700;text-decoration:none;font-size:17px;letter-spacing:-.01em;margin-right:22px;white-space:nowrap}
.k3-logo svg{flex:none}
.k3-koreshki{display:flex;gap:2px;align-items:flex-end;height:100%}
.k3-kor{position:relative;display:flex;align-items:center;gap:8px;height:46px;padding:0 20px 0 16px;text-decoration:none;font-weight:500;font-size:17px;border:1px solid transparent;border-bottom:0;background:none;white-space:nowrap;clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,0 100%)}
.k3-kor:hover{background:var(--bumaga);border-color:var(--liniya)}
.k3-kor[aria-current]{background:var(--bumaga);border-color:var(--tma);margin-bottom:-1px;height:47px;box-shadow:inset 0 3px 0 var(--krasn)}
.k3-kor small{font-size:13px;font-weight:500;background:var(--tma);color:var(--svet);padding:0 6px;line-height:1.5}
.k3-kor[aria-expanded="true"]{background:var(--tma);color:var(--svet);border-color:var(--tma)}
.k3-kor[aria-expanded="true"] small{background:var(--krasn)}
.k3-str{width:8px;height:8px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translate(-2px,-2px);transition:transform .2s}
.k3-kor[aria-expanded="true"] .k3-str{transform:rotate(225deg) translate(-2px,-2px)}
.k3-yurist,.k3-yurist-kr{margin-left:auto;align-self:center;display:inline-flex;align-items:center;gap:12px;min-height:46px;padding:0 20px;background:var(--tma);color:var(--svet);text-decoration:none;font-weight:500;white-space:nowrap}
.k3-yurist span{width:9px;height:9px;background:var(--krasn);flex:none}
.k3-yurist:hover,.k3-yurist-kr:hover{background:var(--krasn)}
.k3-yurist-kr,.k3-burg{display:none}

/* ===== «Проверки»: оглавление книги с отточием ===== */
.k3-oglav{background:var(--bumaga);border-bottom:1px solid var(--tma);position:relative;z-index:29}
.k3-oglav .k3-list{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 260px;gap:44px;padding-block:34px 38px}
.k3-oglav h3{font-size:13px;letter-spacing:.08em;text-transform:uppercase;font-weight:500;padding-bottom:12px;color:var(--tusk)}
.k3-ot{display:flex;align-items:baseline;gap:10px;text-decoration:none;padding:9px 0;min-height:44px}
.k3-ot>span:first-child{min-width:0}
.k3-ot b{font-weight:500;font-size:17px;letter-spacing:-.01em}
.k3-ot em{font-style:normal;color:var(--tusk);font-size:13px;display:block;font-weight:400}
.k3-ot i{flex:1;border-bottom:2px dotted var(--tusk-t);transform:translateY(-5px);min-width:24px}
.k3-ot > span:last-child{white-space:nowrap;font-size:13px}
.k3-ot:hover b{box-shadow:inset 0 -2px 0 var(--krasn)}
.k3-ot[aria-current] b{color:var(--krasn)}
.k3-ot[aria-current] > span:last-child::before{content:"вы здесь · ";color:var(--krasn)}
.k3-oglav__yu{margin-top:18px}
.k3-oglav__yu a{display:flex;min-height:44px;align-items:center;font-weight:500;text-decoration:none}
.k3-oglav__bok{border-left:1px solid var(--liniya);padding-left:32px;display:grid;gap:18px;align-content:start}
.k3-oglav__bok a{text-decoration:none;display:grid;gap:2px}
.k3-oglav__bok a b{font-size:24px;font-weight:700;letter-spacing:-.02em}
.k3-oglav__bok a span{font-size:13px;color:var(--tusk)}
.k3-oglav__bok a:hover b{color:var(--krasn)}
.k3-oglav__bok p{font-size:13px;color:var(--tusk)}

/* ===== Мобильное меню: тёмный экран, проверки ветками дерева ===== */
.k3-panel{position:fixed;inset:0;z-index:50;background:var(--tma);color:var(--svet);overflow-y:auto;overscroll-behavior:contain;padding:0 var(--pad) 28px}
.k3-panel[hidden]{display:none}
.k3-panel__verh{display:flex;align-items:center;justify-content:space-between;height:62px;border-bottom:1px solid var(--liniya-t)}
.k3-panel .k3-logo{color:var(--svet)}
.k3-zakr{background:none;border:0;min-height:44px;min-width:44px;display:inline-flex;gap:8px;align-items:center;justify-content:flex-end;font-size:13px;color:var(--svet)}
.k3-zakr i{position:relative;width:18px;height:18px}
.k3-zakr i::before,.k3-zakr i::after{content:"";position:absolute;left:0;top:8px;width:18px;height:2px;background:currentColor;transform:rotate(45deg)}
.k3-zakr i::after{transform:rotate(-45deg)}
.k3-vetv{padding-top:22px}
.k3-vetv h3{font-size:36px;font-weight:700;letter-spacing:-.03em;line-height:1.05;display:flex;align-items:baseline;gap:10px}
.k3-vetv h3 a{text-decoration:none}
.k3-vetv h3 small{font-size:13px;font-weight:400;color:var(--tusk-t);letter-spacing:.02em}
.k3-vetv ul{margin:8px 0 0 8px;border-left:1px solid var(--tusk)}
.k3-vetv li{position:relative}
.k3-vetv li:last-child{background:var(--tma);margin-left:-1px;border-left:1px solid var(--tma)}
.k3-vetv li:last-child::after{content:"";position:absolute;left:-1px;top:0;height:23px;border-left:1px solid var(--tusk)}
.k3-vetv li a{display:block;text-decoration:none;padding:11px 0 11px 26px;min-height:46px;position:relative;font-size:17px;line-height:1.3}
.k3-vetv li a::before{content:"";position:absolute;left:0;top:23px;width:16px;border-top:1px solid var(--tusk)}
.k3-vetv li a span{display:block;font-size:13px;color:var(--tusk-t);margin-top:2px}
.k3-vetv li a[aria-current]{color:#fff}
.k3-vetv li a[aria-current]::before{border-top:2px solid var(--krasn)}
.k3-dvoe{display:grid;grid-template-columns:1fr 1fr;margin-top:26px;border-top:1px solid var(--liniya-t);border-bottom:1px solid var(--liniya-t)}
.k3-dvoe a{text-decoration:none;padding:16px 14px 16px 0;display:grid;gap:4px;align-content:start;min-height:44px}
.k3-dvoe a+a{border-left:1px solid var(--liniya-t);padding-left:14px}
.k3-dvoe b{font-size:24px;font-weight:700;letter-spacing:-.01em;line-height:1.1}
.k3-dvoe span{font-size:13px;color:var(--tusk-t);line-height:1.35}
.k3-pochta-m{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;margin-top:22px;padding:0 16px;border:1px solid var(--tusk);text-decoration:none;font-size:17px;overflow-wrap:anywhere}
.k3-pochta-m span{font-size:13px;color:var(--tusk-t);letter-spacing:.06em;text-transform:uppercase}
.k3-panel .k3-yurist-m{margin-top:10px;display:flex;align-items:center;justify-content:space-between;min-height:56px;padding:0 18px;background:var(--krasn);color:#fff;text-decoration:none;font-weight:500;font-size:17px}
.k3-panel__niz{margin-top:16px;font-size:13px;color:var(--tusk-t)}

@media (max-width:1260px){
  .k3-kor{padding:0 14px 0 12px}
  .k3-logo{margin-right:8px}
  .k3-yurist{display:none}
  .k3-yurist-kr{display:inline-flex}
}
@media (max-width:1080px){
  .k3-sluzh,.k3-koreshki{display:none}
  .k3-oglav{display:none}
  .k3-ryad{height:62px;align-items:center}
  .k3-logo{gap:9px}
  .k3-yurist-kr{min-height:44px;padding:0 14px;font-size:13px}
  .k3-burg{display:inline-flex;flex-direction:column;justify-content:center;gap:5px;min-width:44px;min-height:44px;padding:0 0 0 6px;background:none;border:0}
  .k3-burg i{display:block;width:24px;height:4px;background:var(--tma)}
  .k3-burg i:last-child{width:14px;background:var(--krasn)}
}

/* ===== Подвал: опись сайта, подпись исполнителя, штамп сверки ===== */
.k3-podval{background:var(--tma);color:var(--svet)}
.k3-opis{padding-block:56px 40px}
.k3-opis__zag{display:flex;align-items:baseline;gap:18px;border-bottom:2px solid var(--svet);padding-bottom:12px}
.k3-opis__zag h2{font-size:36px;font-weight:700;letter-spacing:-.025em;line-height:1.05}
.k3-opis__zag span{font-size:13px;color:var(--tusk-t)}
.k3-opis__kol{display:grid;grid-template-columns:1.25fr 1fr 1fr 1fr;gap:0 36px}
.k3-opis__gr h3{font-size:13px;letter-spacing:.08em;text-transform:uppercase;font-weight:500;color:var(--tusk-t);padding:18px 0 6px;line-height:1.5}
.k3-opis li a{display:grid;grid-template-columns:30px minmax(0,1fr);gap:6px;padding:9px 0;border-bottom:1px solid var(--liniya-t);text-decoration:none;line-height:1.35;min-height:44px;align-items:center;overflow-wrap:anywhere;transition:padding .15s;font-size:17px}
.k3-opis li b{font-weight:700;font-size:13px;color:var(--tusk-t);font-variant-numeric:tabular-nums}
.k3-opis li a:hover{color:#fff;box-shadow:inset 3px 0 0 var(--krasn);padding-left:8px}
.k3-podpis{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:48px;align-items:end;padding-block:8px 44px}
.k3-podpis__ln{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 20px;align-items:end;max-width:760px}
.k3-podpis__ln > span{font-size:13px;color:var(--tusk-t);padding-bottom:6px}
.k3-podpis__ln > b{font-family:var(--serif);font-style:italic;font-weight:400;font-size:24px;border-bottom:1px solid var(--svet);padding:0 4px 4px}
.k3-podpis__ln > small{grid-column:2;font-size:13px;color:var(--tusk-t);letter-spacing:.02em}
.k3-shtamp{grid-column:2;border:3px double var(--svet);padding:12px 18px;transform:rotate(-2deg);text-align:center;display:grid;gap:2px;min-width:210px}
.k3-shtamp span{font-size:13px;letter-spacing:.14em;text-transform:uppercase}
.k3-shtamp b{font-size:36px;font-weight:800;letter-spacing:-.02em;line-height:1.1}
.k3-shtamp em{font-style:normal;font-size:13px;color:var(--tusk-t)}
.k3-niz{position:relative;padding-block:18px 26px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:32px;align-items:center;font-size:13px;color:var(--tusk-t)}
/* Линии рисуются по полю листа, а не по краю отступов: иначе выступают за текст. */
.k3-niz::before{content:"";position:absolute;top:0;left:var(--pad);right:var(--pad);border-top:1px solid var(--liniya-t)}
.k3-avtor{display:flex;gap:10px;align-items:center;text-decoration:none;color:var(--svet);min-height:44px}
.k3-avtor svg{width:22px;height:22px;flex:none}
.k3-avtor b{display:block;font-size:13px;letter-spacing:.06em}
.k3-avtor em{display:block;font-style:normal;font-size:13px;color:var(--tusk-t)}
@media (max-width:1080px){.k3-opis__kol{grid-template-columns:1fr 1fr}}
@media (max-width:900px){
  .k3-opis{padding-block:40px 24px}
  .k3-opis__zag{flex-direction:column;gap:2px}
  .k3-opis__zag h2{font-size:24px}
  .k3-opis__kol{grid-template-columns:minmax(0,1fr)}
  .k3-podpis{grid-template-columns:minmax(0,1fr);gap:28px}
  .k3-podpis__ln{grid-template-columns:minmax(0,1fr)}
  .k3-podpis__ln > small{grid-column:1}
  .k3-shtamp{grid-column:1;justify-self:start}
  .k3-niz{grid-template-columns:minmax(0,1fr);gap:12px}
}

/* ===== Контакты ===== */
/* 1. Конверт: адрес как на письме, срок ответа считается на глазах */
.kn-konv{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:64px;align-items:center;padding-block:64px 80px}
.kn-konv .k3-mel{color:var(--tusk)}
.kn-konv h1{font-size:56px;line-height:1;letter-spacing:-.04em;font-weight:300;margin-top:12px}
.kn-konv h1 b{font-weight:800}
.kn-lid{margin-top:22px;font-size:17px;max-width:30em;color:var(--tusk)}
.kn-pismo{position:relative;background:var(--bumaga);border:1px solid var(--tma);padding:64px 36px 30px;box-shadow:10px 10px 0 var(--tma)}
.kn-pismo::before{content:"";position:absolute;left:0;right:0;top:0;height:46px;background:linear-gradient(to bottom right,transparent calc(50% - 1px),var(--tma) 50%,transparent calc(50% + 1px)) left/50% 100% no-repeat,linear-gradient(to bottom left,transparent calc(50% - 1px),var(--tma) 50%,transparent calc(50% + 1px)) right/50% 100% no-repeat}
.kn-marka{position:absolute;right:22px;top:16px;width:74px;height:86px;border:2px solid var(--krasn);outline:3px solid var(--bumaga);outline-offset:-6px;display:grid;place-items:center;background:var(--bumaga)}
.kn-marka svg{width:40px;height:40px}
.kn-str{display:grid;grid-template-columns:76px minmax(0,1fr);gap:14px;align-items:end;padding:12px 0;border-bottom:1px solid var(--liniya)}
.kn-str span{font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--tusk);padding-bottom:4px}
.kn-str b{font-family:var(--serif);font-weight:400;font-style:italic;font-size:24px;line-height:1.25;overflow-wrap:anywhere}
.kn-str.kn-kuda b{font-family:var(--sans);font-style:normal;font-weight:700;letter-spacing:-.02em}
.kn-srok b{color:var(--krasn)}
.kn-knopki{display:flex;gap:10px;margin-top:24px;flex-wrap:wrap}
.kn-knopki a,.kn-knopki button{min-height:52px;display:inline-flex;align-items:center;gap:10px;padding:0 22px;font-weight:500;font-size:17px;text-decoration:none;border:1px solid var(--tma);background:none}
.kn-knopki a{background:var(--tma);color:var(--svet)}
.kn-knopki a:hover{background:var(--krasn);border-color:var(--krasn)}
.kn-knopki button:hover{background:var(--svet)}

/* 2. Каналы проводами: сплошной провод проверен */
.kn-komm{padding-block:56px;border-top:1px solid var(--tma)}
.kn-zag{display:grid;grid-template-columns:240px minmax(0,1fr);gap:40px;align-items:baseline;margin-bottom:28px}
.kn-zag h2{font-size:36px;letter-spacing:-.03em;font-weight:700;line-height:1.05}
.kn-zag p{color:var(--tusk);max-width:40em}
.kn-provod{display:grid;grid-template-columns:240px minmax(80px,1fr) 400px;align-items:center;min-height:76px;border-bottom:1px solid var(--liniya)}
.kn-provod > b{font-size:24px;font-weight:500;letter-spacing:-.02em}
.kn-provod > i{height:0;border-top:3px solid var(--tma);position:relative;margin-right:18px}
.kn-provod > i::after{content:"";position:absolute;right:-6px;top:-8px;width:13px;height:13px;background:var(--tma)}
.kn-provod > span{font-size:17px;line-height:1.4;padding-block:10px}
.kn-provod > span a{color:var(--krasn-t);font-weight:500}
.kn-provod > span em{display:block;font-style:normal;color:var(--tusk);font-size:13px}

/* 3. Черновик: письмо уже начато */
.kn-chern{background:var(--tma);color:var(--svet);padding-block:64px}
.kn-chern .kn-zag p{color:var(--tusk-t)}
.kn-chern__set{display:grid;grid-template-columns:240px minmax(0,1fr);gap:40px}
.kn-temy{display:grid;gap:6px;align-content:start}
.kn-temy button{text-align:left;min-height:52px;padding:10px 16px;background:none;border:1px solid var(--liniya-t);color:var(--svet);font-size:17px}
.kn-temy button:hover{border-color:var(--tusk-t)}
.kn-temy button[aria-pressed="true"]{background:var(--svet);color:var(--tma);border-color:var(--svet)}
.kn-list{background:var(--bumaga);color:var(--tma);padding:30px 36px 30px 64px;position:relative;font-family:var(--serif);font-size:17px;line-height:1.7;max-width:760px}
.kn-list::before{content:"";position:absolute;left:40px;top:0;bottom:0;border-left:2px solid var(--krasn)}
.kn-tema{font-family:var(--sans);font-size:13px;color:var(--tusk);border-bottom:1px solid var(--liniya);padding-bottom:10px;margin-bottom:14px}
.kn-tema b{color:var(--tma);font-weight:500}
.kn-list p+p{margin-top:10px}
.kn-list u{text-decoration:none;background:#F7E3E4;padding:0 4px;font-style:italic}
.kn-list .kn-knopki{font-family:var(--sans)}

/* 4. Реквизиты: ИНН по клеткам, как в налоговом бланке */
.kn-rekv{padding-block:64px;display:grid;grid-template-columns:240px minmax(0,1fr);gap:40px}
.kn-rekv h2{font-size:36px;letter-spacing:-.03em;font-weight:700;line-height:1.05}
.kn-pole{display:grid;gap:8px;padding-bottom:22px}
.kn-pole + .kn-pole{padding-top:22px;border-top:1px solid var(--liniya)}
.kn-pole > span{font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--tusk)}
.kn-pole > b{font-size:24px;font-weight:500;letter-spacing:-.01em}
.kn-kletki{display:flex}
.kn-kletki i{font-style:normal;width:44px;height:56px;display:grid;place-items:center;border:1px solid var(--tma);margin-left:-1px;font-size:24px;font-weight:500;font-variant-numeric:tabular-nums;background:var(--bumaga)}
.kn-kletki i:first-child{margin-left:0}
.kn-pole p{color:var(--tusk);max-width:44em}

/* 5. Персональные данные: заметка на полях */
.kn-polya{padding-block:0 80px;display:grid;grid-template-columns:240px minmax(0,1fr);gap:40px}
.kn-polya aside{border-left:4px solid var(--krasn);padding:4px 0 4px 22px;max-width:46em;font-family:var(--serif);font-size:17px;line-height:1.6}
.kn-polya aside a{color:var(--krasn-t)}
.kn-polya span{font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--tusk);text-align:right;padding-top:6px}

@media (max-width:900px){
  .kn-konv{grid-template-columns:minmax(0,1fr);gap:36px;padding-block:36px 56px}
  .kn-konv h1{font-size:36px}
  .kn-pismo{padding:58px 18px 22px;box-shadow:6px 6px 0 var(--tma)}
  .kn-marka{width:56px;height:66px;right:14px;top:12px}
  .kn-marka svg{width:30px;height:30px}
  .kn-str{grid-template-columns:minmax(0,1fr);gap:2px}
  .kn-str b{font-size:17px}
  .kn-str.kn-kuda b{font-size:24px}
  .kn-zag,.kn-chern__set,.kn-rekv,.kn-polya{grid-template-columns:minmax(0,1fr);gap:16px}
  .kn-zag h2,.kn-rekv h2{font-size:24px}
  .kn-provod{grid-template-columns:96px minmax(24px,1fr);padding-block:14px;row-gap:4px}
  .kn-provod > b{font-size:17px}
  .kn-provod > span{grid-column:1/-1;padding-block:0}
  .kn-list{padding:22px 18px 22px 36px}
  .kn-list::before{left:20px}
  .kn-kletki i{width:calc((100vw - 2 * var(--pad) + 11px) / 12);height:46px;font-size:17px}
  .kn-polya span{text-align:left}
  .kn-knopki{flex-direction:column}
  .kn-knopki a,.kn-knopki button{justify-content:center}
}

/* ===== Правовой документ ===== */
.dk-progress{position:fixed;left:0;top:0;height:3px;background:var(--krasn);width:0;z-index:60;pointer-events:none}
/* 1. Титул и лента редакций */
.dk-titul{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:64px;padding-block:56px 48px}
.dk-titul::after{content:"";position:absolute;left:var(--pad);right:var(--pad);bottom:0;border-bottom:2px solid var(--tma)}
.dk-titul .k3-mel{color:var(--tusk)}
.dk-titul h1{font-family:var(--serif);font-weight:400;font-size:56px;line-height:1.05;letter-spacing:-.02em;margin-top:14px;max-width:16em}
.dk-lid{margin-top:20px;font-size:17px;color:var(--tusk);max-width:34em}
.dk-rekv{margin-top:28px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px;max-width:720px}
.dk-rekv div{display:grid;gap:2px;padding:10px 0;border-top:1px solid var(--liniya)}
.dk-rekv span{font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--tusk)}
.dk-rekv b{font-weight:500;overflow-wrap:anywhere}
.dk-red{align-self:end;display:grid}
.dk-red > span{font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--tusk);padding-bottom:10px}
.dk-red ol{border-left:2px solid var(--liniya);margin-left:6px}
.dk-red li{position:relative;padding:0 0 18px 22px}
.dk-red li:last-child{padding-bottom:0}
.dk-red li::before{content:"";position:absolute;left:-7px;top:6px;width:12px;height:12px;background:var(--svet);border:2px solid var(--tusk-t)}
.dk-red li.dk-tek::before{background:var(--krasn);border-color:var(--krasn)}
.dk-red li b{display:block;font-weight:500}
.dk-red li span{font-size:13px;color:var(--tusk)}
.dk-red li.dk-tek b{font-size:24px;font-weight:700;letter-spacing:-.02em}

/* Тело: содержание на полях слева, текст, нормы на полях справа */
.dk-telo{display:grid;grid-template-columns:200px minmax(0,640px) minmax(0,1fr);gap:48px;padding-block:48px 80px}
.dk-sod{position:sticky;top:24px;align-self:start;font-size:13px}
.dk-sod > span{font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--tusk);display:block;padding-bottom:8px}
.dk-sod a{display:grid;grid-template-columns:24px minmax(0,1fr);text-decoration:none;padding:7px 0 7px 10px;border-left:2px solid var(--liniya);min-height:36px;color:var(--tusk);align-items:center}
.dk-sod a:hover{color:var(--tma)}
.dk-sod a.akt{border-left-color:var(--krasn);color:var(--tma);font-weight:500}
.dk-mob-sod{display:none}
.dk-razd{position:relative;scroll-margin-top:24px}
.dk-razd + .dk-razd{margin-top:56px}
.dk-razd h2{font-size:24px;font-weight:700;letter-spacing:-.02em;line-height:1.15;display:flex;gap:14px;align-items:baseline;margin-bottom:16px}
.dk-razd h2 small{font-size:13px;font-weight:500;color:var(--krasn);font-variant-numeric:tabular-nums}
.dk-razd > p,.dk-razd li{font-family:var(--serif);font-size:17px;line-height:1.7}
.dk-razd > p + p{margin-top:12px}
.dk-razd .perechen{margin-top:14px;grid-template-columns:minmax(0,1fr)}
.dk-razd .perechen span{font-family:var(--sans);font-size:17px;line-height:1.45}
.dk-razd .perechen > div{padding:12px 0;border-bottom:1px solid var(--liniya)}
.dk-razd p.opis{font-family:var(--sans);font-size:13px;margin-top:10px}
.dk-razd .stroka{display:flex;justify-content:space-between;gap:20px;padding:10px 0;border-bottom:1px solid var(--liniya);font-size:17px}
.dk-razd .stroka .mono{white-space:nowrap;font-weight:500}
/* Норма уходит на правое поле, вровень с заголовком своего раздела: под абзацем
   она съезжала к соседнему разделу и читалась как его. В разделе одна норма. */
.dk-razd > p.norma{position:absolute;top:6px;left:calc(100% + 48px);width:240px;margin:4px 0 0;font-family:var(--sans);font-size:13px;line-height:1.45;color:var(--tusk);border-top:2px solid var(--tma);padding-top:8px}
.dk-razd > p.norma::before{content:"норма";display:block;color:var(--tma);font-weight:500;letter-spacing:.06em;text-transform:uppercase}

/* Политика: главное, шаги проверки, оператор на линиях бланка */
.dk-razd p.dk-vyn{font-family:var(--sans);font-size:24px;line-height:1.35;letter-spacing:-.01em;margin-bottom:16px}
.dk-shagi{counter-reset:sh;margin-top:14px;border-top:1px solid var(--tma)}
.dk-shagi li{counter-increment:sh;display:grid;grid-template-columns:34px minmax(0,1fr);padding:10px 0;border-bottom:1px solid var(--liniya);font-family:var(--sans)!important;line-height:1.5!important}
.dk-shagi li::before{content:"0" counter(sh);font-size:13px;font-weight:700;color:var(--krasn);padding-top:3px}
.dk-razd p.dk-blank{line-height:2.7}
.dk-blank span{display:inline-block;position:relative;border-bottom:1px solid var(--tma);padding:0 6px;line-height:1.4;font-style:italic;margin-bottom:12px}
.dk-blank span::after{content:attr(data-p);position:absolute;left:0;right:0;top:100%;font-family:var(--sans);font-style:normal;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--tusk);text-align:center;line-height:1.6;white-space:nowrap}

/* Что обрабатывается: поток «данные → откуда → зачем» */
.dk-potok{display:grid;gap:10px}
.dk-potok > div{display:grid;grid-template-columns:minmax(0,1.3fr) 26px minmax(0,.8fr) 26px minmax(0,1fr);align-items:center;background:var(--bumaga);border:1px solid var(--liniya);padding:16px 18px;gap:6px}
.dk-potok b{font-weight:500;font-size:17px;display:block}
.dk-potok em{font-style:normal;font-size:13px;color:var(--tusk);display:block;line-height:1.4;margin-top:2px}
.dk-potok i{font-style:normal;color:var(--krasn);font-size:17px;text-align:center}
.dk-potok span{font-size:13px;line-height:1.4}
.dk-potok > div.dk-potok__shapka{background:none;border:0;padding:0 18px;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--tusk)}
.dk-potok + p{margin-top:16px}

/* Чего не делаем: глагол перечёркнут красным */
.dk-zacherk{border-top:1px solid var(--tma)}
.dk-zacherk li{padding:14px 0;border-bottom:1px solid var(--liniya);font-family:var(--sans)!important;line-height:1.45!important}
.dk-zacherk li s{font-weight:700;letter-spacing:-.01em;text-decoration:line-through 3px var(--krasn)}
.dk-zacherk li > span{color:var(--tusk)}
.dk-vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* Кому передаются: схема с отметкой согласия */
.dk-shema{display:grid;grid-template-columns:110px 28px 130px 28px minmax(0,1fr);align-items:center;margin:8px 0 22px}
.dk-uzel{border:2px solid var(--tma);padding:12px 8px;text-align:center;font-weight:500;font-size:13px;background:var(--bumaga)}
.dk-uzel.dk-tma{background:var(--tma);color:var(--svet)}
.dk-shema > i{height:2px;background:var(--tma)}
.dk-vetki{display:grid;gap:14px;border-left:2px solid var(--tma)}
.dk-vetki div{display:grid;grid-template-columns:24px minmax(0,1fr);align-items:center}
.dk-vetki div::before{content:"";height:2px;background:var(--tma)}
.dk-vetki div.dk-uslovno::before{background:none;border-top:2px dashed var(--krasn)}
.dk-vetki p{font-family:var(--sans);font-size:13px;line-height:1.4;border:1px solid var(--liniya);padding:10px 12px;background:var(--bumaga)}
.dk-vetki p b{display:block;font-size:17px;font-weight:500}
.dk-vetki .dk-uslovno p{border-color:var(--krasn)}
.dk-galka{display:inline-flex;gap:6px;align-items:center;color:var(--krasn-t)}
.dk-galka i{width:13px;height:13px;border:2px solid var(--krasn);flex:none}

/* Конец документа и соседние документы */
.dk-konec{display:flex;align-items:center;gap:14px;margin-top:56px;font-size:13px;color:var(--tusk)}
.dk-konec::before,.dk-konec::after{content:"";flex:1;border-top:1px solid var(--tma)}
.dk-konec b{width:10px;height:10px;background:var(--krasn);flex:none}
.dk-sosedi{display:grid;grid-template-columns:1fr 1fr;margin-top:28px;border:1px solid var(--tma)}
.dk-sosedi a{text-decoration:none;padding:20px 22px;display:grid;gap:4px;min-height:44px}
.dk-sosedi a + a{border-left:1px solid var(--tma);text-align:right}
.dk-sosedi a span{font-size:13px;color:var(--tusk)}
.dk-sosedi a b{font-size:17px;font-weight:500}
.dk-sosedi a:hover{background:var(--tma);color:var(--svet)}
.dk-sosedi a:hover span{color:var(--tusk-t)}

/* Полю норм нужно 240 px справа от текста: уже 1340 его нет, норма встаёт под абзац. */
@media (max-width:1340px){
  .dk-telo{grid-template-columns:200px minmax(0,1fr);gap:40px}
  .dk-razd > p.norma{position:static;width:auto;margin-top:14px;max-width:44em}
}
@media (max-width:900px){
  .dk-titul{grid-template-columns:minmax(0,1fr);gap:32px;padding-block:32px}
  .dk-titul h1{font-size:36px}
  .dk-rekv{grid-template-columns:minmax(0,1fr)}
  .dk-telo{grid-template-columns:minmax(0,1fr);padding-block:20px 56px;gap:24px}
  .dk-sod{display:none}
  .dk-mob-sod{display:block;border:1px solid var(--tma);background:var(--bumaga)}
  .dk-mob-sod summary{min-height:52px;display:flex;align-items:center;justify-content:space-between;padding:0 16px;font-weight:500;cursor:pointer;list-style:none}
  .dk-mob-sod summary::-webkit-details-marker{display:none}
  .dk-mob-sod summary::after{content:"+";font-size:24px;color:var(--krasn)}
  .dk-mob-sod[open] summary::after{content:"−"}
  .dk-mob-sod a{display:flex;gap:10px;min-height:44px;align-items:center;padding:0 16px;border-top:1px solid var(--liniya);text-decoration:none;font-size:13px}
  .dk-mob-sod a span{color:var(--krasn);min-width:16px}
  .dk-razd p.dk-vyn{font-size:17px;font-weight:500}
  .dk-potok > div{grid-template-columns:minmax(0,1fr);gap:2px}
  .dk-potok i{text-align:left;transform:rotate(90deg);width:20px}
  .dk-potok > div.dk-potok__shapka{display:none}
  .dk-shema{grid-template-columns:minmax(0,1fr);justify-items:start}
  .dk-shema > i{width:2px;height:22px;margin-left:30px}
  .dk-vetki{margin-left:30px;width:calc(100% - 30px)}
  .dk-razd p.dk-blank{line-height:1.7}
  .dk-blank span{display:inline;border:0;padding:0;margin:0;text-decoration:underline 1px;text-underline-offset:5px}
  .dk-blank span::after{content:none}
  .dk-sosedi{grid-template-columns:minmax(0,1fr)}
  .dk-sosedi a + a{border-left:0;border-top:1px solid var(--tma);text-align:left}
}
@media (prefers-reduced-motion:reduce){.k3-str,.k3-opis li a{transition:none}}
