/* Оформление корпуса документов. Источник - шаблон
   Продвижение/12_Документы_ФИНАЛ/_tools/md2doc.py: правила вынесены
   из него один в один, чтобы страница на сайте и файл, собранный
   скриптом напрямую, выглядели одинаково. Править здесь руками
   нечего - изменения вносятся в md2doc.py и пересобираются.
   Все правила ограничены областью .statute: тот же лист подключён на
   всём сайте ради встроенного просмотрщика документов. */
body.statute{margin:0;background:#ece5d6}
.statute{background:#ece5d6}
.statute{
  --page:  #ece5d6;
  --ivory: #fbf9f3;
  --navy:  #1d4163;
  --gold:  #8a6a2f;
  --ink:   #3a4046;
  --ink-soft: #5f6670;
  --rule:  rgba(138,106,47,.32);
  --rule-soft: rgba(138,106,47,.16);
  /* Мера строки задаётся в ch, а не в пикселях: колонка обязана расти
     вместе с кеглем, иначе при укрупнении шрифта строка становится
     короче принятых на сайте 66-70 знаков. Значение подобрано замером
     в браузере: в Georgia знак «0» узкий, поэтому ch тут мельче
     среднего символа кириллицы. */
  --measure: 78ch;
  --serif: Georgia, "PT Serif", "Times New Roman", "Liberation Serif", serif;
  --mono:  ui-monospace, "JetBrains Mono", Consolas, "Courier New", monospace;
  --hero-1: #17334c; --hero-2: #10263a; --hero-3: #0c1c29;
  --hero-gold: #c7a56a; --hero-mut: rgba(233,238,242,.62);
}.statute, .statute *{ box-sizing: border-box; }.statute{ scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }.statute{
  margin: 0; background: var(--page); color: var(--ink);
  font: 400 18px/1.78 var(--serif);
}.statute a{ color: var(--gold); }.statute a:hover{ text-decoration: none; }.statute /* ------------------------------------------------ герой (только главная) */
.hero{
  background: radial-gradient(120% 100% at 20% -10%, var(--hero-1) 0%, var(--hero-2) 45%, var(--hero-3) 100%);
  color: #e9eef2; padding: clamp(4.5rem,10vw,8rem) 0 clamp(4rem,9vw,7rem);
}.statute .hero-in{ max-width: 1040px; margin: 0 auto; padding: 0 clamp(1.4rem,5vw,4rem); }.statute .hero-mark{
  margin: 0; font-family: var(--mono); font-size: .8rem; font-weight: 600;
  letter-spacing: .42em; text-transform: uppercase; color: var(--hero-gold);
}.statute .hero-q{
  margin: 2.6rem 0 0; color: #fff; font-weight: 500;
  font-size: clamp(1.45rem,3vw,2.5rem); line-height: 1.3; max-width: 44ch;
}.statute .hero-l{ display: block; text-wrap: balance; }.statute .hero-q em{
  display: block; margin-top: .6em; font-style: italic;
  color: var(--hero-gold); text-wrap: balance;
}.statute .hero-hint{
  margin: 3.2rem 0 0; font-family: var(--mono); font-size: .74rem;
  letter-spacing: .28em; text-transform: uppercase; color: var(--hero-mut);
}.statute /* ------------------------------------------------ лист */
.sheet{
  max-width: 1040px; margin: 0 auto; background: var(--ivory);
  border-left: 1px solid var(--rule-soft); border-right: 1px solid var(--rule-soft);
  box-shadow: 0 0 44px rgba(20,41,58,.08);
  padding: clamp(40px,7vw,84px) 0 96px;
}.statute .col, .statute .article{ max-width: var(--measure); margin: 0 auto; padding: 0 clamp(20px,5vw,40px); }.statute /* ------------------------------------------------ шапка документа */
.doc-head{ text-align: center; }.statute .doc-title{
  margin: 0; color: var(--navy); font-weight: 600;
  font-size: clamp(1.9rem,5vw,2.8rem); line-height: 1.2;
}.statute .rule-double{
  margin: 2.6rem auto 0; height: 5px; max-width: 220px;
  border-top: 2px solid var(--gold); border-bottom: 1px solid var(--rule);
}.statute /* ------------------------------------------------ оглавление */
.toc{ margin: 3.6rem auto 0; }.statute .toc-title{
  text-align: center; font-size: .74rem; letter-spacing: .28em; text-transform: uppercase;
  color: var(--gold); margin: 0 0 1.8rem; font-weight: 400;
}.statute .toc-part{
  margin: 1.9rem 0 .9rem; color: var(--navy); font-size: .78rem;
  letter-spacing: .16em; text-transform: uppercase;
  padding-bottom: .5rem; border-bottom: 1px solid var(--rule-soft);
}.statute .toc-part:first-child{ margin-top: 0; }.statute .toc-item{
  display: grid; grid-template-columns: 6.4rem 1fr; column-gap: .8rem;
  padding: .34rem 0; color: var(--ink); text-decoration: none;
}.statute .toc-item.nolabel{ grid-template-columns: 1fr; }.statute .toc-item.sub{ padding-left: 1.4rem; font-size: .95rem; }.statute .toc-no{ color: var(--gold); font-size: .88rem; white-space: nowrap; }.statute .toc-name{ border-bottom: 1px solid transparent; }.statute .toc-item:hover .toc-name{ border-bottom-color: var(--rule); }
@media (max-width: 600px) {.statute .toc-item{ grid-template-columns: 4.4rem 1fr; column-gap: .6rem; }.statute .toc-no{ font-size: .8rem; }
}.statute /* ------------------------------------------------ вступление */
.lead{ margin: 3.4rem auto 0; }.statute .lead p:first-of-type{ margin-top: 0; }.statute /* ------------------------------------------------ части */
.part{
  position: relative; text-align: center; max-width: var(--measure);
  margin: 5.4rem auto 3.4rem; padding: 1.7rem 0;
  border-top: 1px solid var(--rule); border-bottom: 1px solid var(--rule);
}.statute .part::before{
  content: ""; position: absolute; top: -4px; left: 50%;
  width: 7px; height: 7px; margin-left: -3.5px;
  background: var(--ivory); border: 1px solid var(--gold); transform: rotate(45deg);
}.statute .part-no{
  font-size: .72rem; letter-spacing: .3em; text-transform: uppercase;
  color: var(--gold); margin-bottom: .7rem;
}.statute .part-title{
  margin: 0; color: var(--navy); font-weight: 600;
  font-size: clamp(1.1rem,2.6vw,1.35rem); letter-spacing: .08em;
  text-transform: uppercase; line-height: 1.4;
}.statute /* части, .statute которые сами являются разделами: заголовок слева, .statute без полос */
.part.flat{
  text-align: left; margin: 4.2rem auto 1.8rem; padding: 1.6rem 0 0;
  border-bottom: 0; border-top: 1px solid var(--rule-soft);
  padding-left: clamp(20px,5vw,40px); padding-right: clamp(20px,5vw,40px);
  max-width: var(--measure);
}.statute .part.flat::before{ display: none; }.statute .part.flat .part-no{ margin-bottom: .5rem; }.statute .part.flat .part-title{
  text-transform: none; letter-spacing: 0;
  font-size: clamp(1.4rem,3.4vw,1.75rem); line-height: 1.28;
}.statute /* ------------------------------------------------ статьи и текст */
.article{ margin-bottom: 3.6rem; }.statute .art-head{ margin: 3.2rem 0 1.9rem; }.statute .art-no{
  font-size: .74rem; letter-spacing: .24em; text-transform: uppercase;
  color: var(--gold); margin-bottom: .55rem;
}.statute .art-title{
  margin: 0; color: var(--navy); font-weight: 600;
  font-size: clamp(1.32rem,3.2vw,1.62rem); line-height: 1.32;
}.statute .article h3{
  margin: 2.6rem 0 .9rem; color: var(--navy);
  font-size: 1.06rem; font-weight: 600; line-height: 1.45;
}.statute .article h3::after{
  content: ""; display: block; width: 26px; height: 2px;
  background: var(--gold); opacity: .6; margin-top: .55rem;
}.statute .article h4{
  margin: 2rem 0 .6rem; color: var(--navy);
  font-size: .98rem; font-weight: 600; letter-spacing: .02em; line-height: 1.45;
}.statute p{ margin: 0 0 1.2rem; }.statute strong{ color: var(--navy); font-weight: 700; }.statute ul, .statute ol{ margin: 1.2rem 0 1.5rem; padding-left: 1.5rem; }.statute li{ margin-bottom: .7rem; padding-left: .3rem; }.statute li::marker{ color: var(--gold); }.statute /* вводная врезка */
.note{
  margin: 1.8rem 0 2rem; padding-left: 1.5rem;
  border-left: 2px solid var(--gold); color: var(--ink-soft);
}.statute .note p:last-child{ margin-bottom: 0; }.statute /* ------------------------------------------------ таблицы */
.tbl-wrap{ overflow-x: auto; margin: 1.8rem 0 2rem; }.statute table{ border-collapse: collapse; width: 100%; font-size: .95rem; line-height: 1.6; }.statute thead th{
  text-align: left; vertical-align: bottom; color: var(--navy);
  font-size: .78rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase;
  padding: 0 1.2rem .6rem 0; border-bottom: 2px solid var(--gold);
}.statute tbody td{
  padding: .75rem 1.2rem .75rem 0; vertical-align: top;
  border-bottom: 1px solid var(--rule-soft);
}.statute tbody tr:last-child td{ border-bottom: 1px solid var(--rule); }.statute th:last-child, .statute td:last-child{ padding-right: 0; }

/* ------------------------------------------------ печать */
@media print {.statute{ background: #fff; font-size: 11.5pt; }.statute .sheet{ box-shadow: none; border: 0; max-width: none; padding: 0; }.statute .hero{ background: #fff; color: #000; padding: 0 0 2rem; }.statute .hero-q, .statute .hero-q em, .statute .hero-mark{ color: #000; }.statute .part{ page-break-before: always; }.statute .art-head, .statute h3{ page-break-after: avoid; }.statute .tbl-wrap, .statute tr{ page-break-inside: avoid; }
}
.statute /* ------------------------------------------------ подзаголовок документа */
.doc-subtitle{
  margin: 1.5rem auto 0; max-width: 34em; color: var(--ink-soft);
  font-size: clamp(1.02rem,2.2vw,1.18rem); line-height: 1.5; font-style: italic;
}.statute .doc-subtitle strong{ color: var(--ink-soft); font-weight: 400; }.statute /* ------------------------------------------------ навигация по корпусу */
.seo-prev-next{
  display: flex; gap: 12px; align-items: stretch; max-width: 1040px;
  margin: 0 auto; padding: 28px clamp(20px,5vw,40px) 56px;
  font-family: var(--serif); font-size: 15px;
}.statute .seo-prev-next a{
  display: inline-flex; align-items: center; justify-content: center;
  padding: 14px 20px; border: 1px solid var(--rule); border-radius: 4px;
  color: var(--navy); text-decoration: none; background: var(--ivory);
  transition: border-color .15s, background .15s;
}.statute .seo-prev-next a:hover{ border-color: var(--gold); background: #fff; }.statute .seo-prev-next .pn-side{ flex: 1; display: block; }.statute .seo-prev-next .pn-next{ text-align: right; }.statute .seo-prev-next .pn-label{
  display: block; font-family: var(--mono); font-size: 11px;
  letter-spacing: .18em; text-transform: uppercase; color: var(--gold);
  margin-bottom: 5px;
}.statute .seo-prev-next .pn-name{ display: block; font-weight: 600; color: var(--navy); }
@media (max-width: 600px) {.statute .seo-prev-next{ flex-wrap: wrap; }.statute .seo-prev-next .pn-side{ flex: 1 1 100%; }
}
