/* СТАНОК · юридические страницы · наследуют токены лендинга */

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--color-paper);
  color: var(--color-ink);
  font-family: var(--font-body);
  font-size: var(--text-base);
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}

.wrap {
  max-width: 46rem;
  margin: 0 auto;
  padding: 0 var(--page-gutter) var(--space-3xl);
}

/* --- шапка-шильдик, как на лендинге --- */
.plate {
  background: var(--color-steel);
  color: var(--color-paper-inv);
  border-bottom: var(--rule-heavy) solid var(--color-accent);
}
.plate .wrap {
  padding-top: var(--space-lg);
  padding-bottom: var(--space-lg);
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--space-md);
  flex-wrap: wrap;
}
.plate a { color: inherit; text-decoration: none; }
.brand {
  font-family: var(--font-display);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: var(--text-lg);
}
.brand span { color: var(--color-accent); }
.back {
  font-family: var(--font-outlier);
  font-size: var(--text-xs);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--color-muted-inv);
  border-bottom: 1px solid var(--color-rule-inv);
  padding-bottom: 2px;
}
.back:hover, .back:focus-visible { color: var(--color-paper-inv); border-color: var(--color-accent); }

/* --- титул документа --- */
.doc-head { padding: var(--space-2xl) 0 var(--space-xl); border-bottom: var(--rule-hair) solid var(--color-rule); margin-bottom: var(--space-xl); }
.doc-kicker {
  font-family: var(--font-outlier);
  font-size: var(--text-xs);
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: var(--color-accent-2);
  margin: 0 0 var(--space-sm);
}
h1 {
  font-family: var(--font-display);
  font-weight: 700;
  text-transform: uppercase;
  line-height: 1.06;
  font-size: var(--text-display-s);
  margin: 0 0 var(--space-md);
  overflow-wrap: anywhere;
}
.doc-meta {
  font-family: var(--font-outlier);
  font-size: var(--text-xs);
  color: var(--color-muted);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

/* --- тело --- */
h2 {
  font-family: var(--font-display);
  font-weight: 700;
  text-transform: uppercase;
  font-size: var(--text-xl);
  line-height: 1.1;
  margin: var(--space-2xl) 0 var(--space-md);
  padding-top: var(--space-md);
  border-top: var(--rule-heavy) solid var(--color-ink);
  overflow-wrap: anywhere;
}
h3 {
  font-family: var(--font-body);
  font-weight: 600;
  font-size: var(--text-md);
  margin: var(--space-lg) 0 var(--space-xs);
}
p, li { margin: 0 0 var(--space-sm); }
ul, ol { margin: 0 0 var(--space-md); padding-left: 1.25rem; }
li::marker { color: var(--color-accent-2); }
strong { font-weight: 600; }
a { color: var(--color-accent-2); text-decoration: underline; text-underline-offset: 2px; }
a:focus-visible, button:focus-visible { outline: 2px solid var(--color-focus); outline-offset: 2px; }

/* нумерация пунктов документа */
.num { counter-reset: item; list-style: none; padding-left: 0; }
.num > li { counter-increment: item; position: relative; padding-left: 2.75rem; margin-bottom: var(--space-sm); }
.num > li::before {
  content: counter(item);
  position: absolute; left: 0; top: 0.1em;
  font-family: var(--font-outlier);
  font-size: var(--text-xs);
  color: var(--color-accent-2);
  background: var(--color-paper-3);
  padding: 0.15em 0.5em;
  min-width: 2rem;
  text-align: center;
}

/* врезка-предупреждение */
.note {
  background: var(--color-paper-2);
  border-left: var(--rule-heavy) solid var(--color-accent);
  padding: var(--space-md) var(--space-lg);
  margin: var(--space-lg) 0;
  font-size: var(--text-sm);
}
.note p:last-child { margin-bottom: 0; }

/* таблица */
table { width: 100%; border-collapse: collapse; margin: var(--space-md) 0 var(--space-lg); font-size: var(--text-sm); }
.table-scroll { overflow-x: auto; }
th, td { text-align: left; padding: var(--space-xs) var(--space-sm); border-bottom: var(--rule-hair) solid var(--color-rule); vertical-align: top; }
th { font-family: var(--font-outlier); font-size: var(--text-xs); text-transform: uppercase; letter-spacing: 0.06em; color: var(--color-muted); }

/* реквизиты */
.req {
  font-family: var(--font-outlier);
  font-size: var(--text-sm);
  background: var(--color-paper-2);
  padding: var(--space-lg);
  border: var(--rule-hair) solid var(--color-rule);
}
.req dt { color: var(--color-muted); font-size: var(--text-xs); text-transform: uppercase; letter-spacing: 0.06em; margin-top: var(--space-sm); }
.req dt:first-child { margin-top: 0; }
.req dd { margin: 0 0 var(--space-2xs); }

/* колофон */
.colophon {
  border-top: var(--rule-heavy) solid var(--color-ink);
  margin-top: var(--space-3xl);
  padding-top: var(--space-lg);
  font-family: var(--font-outlier);
  font-size: var(--text-xs);
  color: var(--color-muted);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  display: flex; justify-content: space-between; gap: var(--space-md); flex-wrap: wrap;
}

/* оглавление */
.toc { background: var(--color-paper-2); padding: var(--space-lg); margin-bottom: var(--space-xl); }
.toc ol { margin: 0; padding-left: 1.25rem; font-size: var(--text-sm); }
.toc li { margin-bottom: var(--space-2xs); }

@media (max-width: 640px) {
  h2 { font-size: var(--text-lg); }
  .num > li { padding-left: 2.25rem; }
}

@media print {
  .plate, .back { background: none; color: #000; }
  body { background: #fff; font-size: 11pt; }
  h2 { break-after: avoid; }
}
