/* Общий стиль юридических страниц Пруфлекс — в палитре premium-редизайна.
   Шрифт Montserrat отдаётся с нашего сервера (/fonts), без сторонних CDN. */
@font-face {
  font-family: "Montserrat Variable"; font-style: normal; font-display: swap; font-weight: 100 900;
  src: url(/fonts/montserrat-cyrillic-wght-normal.woff2) format("woff2-variations");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: "Montserrat Variable"; font-style: normal; font-display: swap; font-weight: 100 900;
  src: url(/fonts/montserrat-latin-wght-normal.woff2) format("woff2-variations");
  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;
}
:root {
  --bg: #06100d;
  --panel: #0a1813;
  --text: #e9eee5;
  --muted: rgba(233, 238, 229, .58);
  --line: rgba(255, 255, 255, .1);
  --lime: #b8ff43;
  --sans: "Montserrat Variable", "Segoe UI", system-ui, -apple-system, sans-serif;
}
* { box-sizing: border-box; }
html { background: var(--bg); color-scheme: dark; }
body {
  margin: 0;
  min-height: 100vh;
  background:
    radial-gradient(900px 480px at 85% -10%, rgba(184, 255, 67, .08), transparent 65%),
    radial-gradient(700px 420px at -10% 10%, rgba(98, 242, 184, .06), transparent 60%),
    var(--bg);
  color: var(--text);
  font: 16px/1.7 var(--sans);
  -webkit-font-smoothing: antialiased;
}
a { color: var(--lime); text-underline-offset: 3px; }
a:focus-visible { outline: 2px solid var(--lime); outline-offset: 3px; border-radius: 6px; }

.topbar {
  position: sticky; top: 0; z-index: 10;
  display: flex; align-items: center; justify-content: space-between;
  padding: 16px clamp(20px, 4vw, 48px);
  background: rgba(6, 16, 13, .72);
  backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px);
  border-bottom: 1px solid var(--line);
}
.topbar .brand {
  display: flex; align-items: center; gap: 12px;
  color: var(--text); text-decoration: none;
  font-weight: 600; letter-spacing: .12em; font-size: 15px;
}
.topbar .brand img { height: 32px; width: auto; display: block; }
.topbar .back {
  color: var(--text); text-decoration: none; font-size: 14px; font-weight: 500;
  padding: 10px 18px; border-radius: 999px;
  border: 1px solid var(--line); background: rgba(255, 255, 255, .05);
  transition: background .25s ease, color .25s ease;
}
.topbar .back:hover { background: var(--lime); color: var(--bg); }

.doc { max-width: 820px; margin: 0 auto; padding: clamp(32px, 6vw, 72px) clamp(20px, 4vw, 32px) 96px; }
.crumbs { font-size: 13px; color: var(--muted); margin: 0 0 28px; letter-spacing: .02em; }
.crumbs a { color: var(--muted); }
/* В документах h1 — это разделы; крупным заголовком выводится только единственный h1 (индекс). */
.doc h1 {
  font-size: clamp(22px, 2.6vw, 28px); line-height: 1.2; letter-spacing: -.02em;
  font-weight: 500; margin: 48px 0 14px;
}
.doc h1:only-of-type {
  font-size: clamp(32px, 5vw, 52px); line-height: 1.02; letter-spacing: -.04em; margin: 0 0 28px;
}
.doc > p:first-of-type strong { color: var(--lime); letter-spacing: .12em; font-size: 13px; font-weight: 600; }
.doc h2 { font-size: 21px; font-weight: 600; letter-spacing: -.01em; margin: 44px 0 12px; }
.doc h3 { font-size: 17px; font-weight: 600; margin: 28px 0 8px; }
.doc p { margin: 12px 0; color: rgba(233, 238, 229, .82); }
.doc strong { color: var(--text); }
.doc ul, .doc ol { padding-left: 22px; margin: 12px 0; color: rgba(233, 238, 229, .82); }
.doc li { margin: 6px 0; }
.doc li::marker { color: var(--lime); }
.doc table {
  border-collapse: collapse; width: 100%; margin: 18px 0; font-size: 14px;
  display: block; overflow-x: auto;
}
.doc td, .doc th { border: 1px solid var(--line); padding: 10px 12px; text-align: left; vertical-align: top; }
.doc th { background: rgba(255, 255, 255, .04); }

.index-list { list-style: none; padding: 0 !important; margin: 24px 0; display: grid; gap: 10px; }
.index-list li { margin: 0; }
.index-list a {
  display: flex; justify-content: space-between; align-items: center; gap: 16px;
  padding: 20px 22px; border-radius: 18px;
  background: rgba(255, 255, 255, .035); border: 1px solid var(--line);
  color: var(--text); text-decoration: none; font-weight: 500;
  transition: border-color .25s ease, background .25s ease;
}
.index-list a::after { content: "→"; color: var(--lime); }
.index-list a:hover { border-color: rgba(184, 255, 67, .4); background: rgba(184, 255, 67, .05); }

.doc-footer { border-top: 1px solid var(--line); background: rgba(255, 255, 255, .02); }
.doc-footer .in { max-width: 820px; margin: 0 auto; padding: 36px clamp(20px, 4vw, 32px); }
.doc-footer h4 { margin: 0 0 14px; font-size: 12px; letter-spacing: .18em; text-transform: uppercase; color: var(--lime); font-weight: 500; }
.doc-footer .cols { display: flex; flex-wrap: wrap; gap: 6px 28px; }
.doc-footer a { display: block; color: var(--muted); text-decoration: none; font-size: 14px; padding: 3px 0; }
.doc-footer a:hover { color: var(--text); }
.copy { color: rgba(233, 238, 229, .4); font-size: 13px; margin-top: 24px; }
