/* BRO.Фрейд, оформление юридических документов.
   Одна колонка, крупный интерлиньяж, спокойный контраст: эти тексты читают долго. */
:root{
  color-scheme: dark;
  --bg:#0F1115; --bg-2:#141821; --surface:#171C25; --line:#262D3A; --line-soft:#1E2531;
  --ink:#ECE8E1; --ink-2:#A8B0BC; --ink-3:#6F7887;
  --brass:#E3A44E; --brass-dim:#B57F35; --brass-ink:#1A1206;
  --sans:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --serif:"Literata",Georgia,"Times New Roman",serif;
  --ease:cubic-bezier(.22,.61,.36,1);
}
*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
@media (prefers-reduced-motion:reduce){ html{ scroll-behavior:auto; } }
body{
  margin:0; background:var(--bg); color:var(--ink); font-family:var(--sans);
  font-size:16.5px; line-height:1.72; -webkit-font-smoothing:antialiased;
}
a{ color:inherit; }
::selection{ background:var(--brass); color:var(--brass-ink); }
:focus-visible{ outline:2px solid var(--brass); outline-offset:3px; border-radius:4px; }

.shell{ width:100%; max-width:840px; margin-inline:auto; padding-inline:clamp(20px,5vw,32px); }

.logo{ color:var(--ink); display:inline-flex; align-items:baseline; gap:1px; font-size:1.1rem; text-decoration:none; white-space:nowrap; }
/* Знак без подложки: шапка тёмная, рисунок читается на ней сам. */
.logo .mark{ height:33px; width:auto; align-self:center; margin-right:12px; flex:none; }
.logo .bro{ font-family:var(--sans); font-weight:900; letter-spacing:.02em; }
.logo .dot{ color:var(--brass); font-weight:900; font-family:var(--sans); }
.logo .fr{ font-family:var(--serif); font-weight:600; }

.nav{
  position:sticky; top:0; z-index:20; background:rgba(15,17,21,.92);
  backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line-soft);
}
.nav-in{ display:flex; align-items:center; gap:20px; height:62px; }
.nav-in .back{
  margin-left:auto; text-decoration:none; color:var(--ink-2); font-size:.9rem;
  display:inline-flex; align-items:center; gap:7px; transition:color .18s var(--ease);
}
.nav-in .back:hover{ color:var(--brass); }

.doc-head{ padding:clamp(38px,6vw,66px) 0 clamp(22px,3vw,32px); border-bottom:1px solid var(--line-soft); }
.doc-head .kind{ font-size:.76rem; font-weight:600; letter-spacing:.13em; text-transform:uppercase; color:var(--brass); }
.doc-head h1{
  font-family:var(--serif); font-weight:700; line-height:1.15; letter-spacing:-.015em;
  font-size:clamp(1.75rem,4.4vw,2.55rem); margin:14px 0 0;
}
.doc-meta{ margin-top:18px; display:flex; flex-wrap:wrap; gap:8px 22px; font-size:.87rem; color:var(--ink-3); }

.draft{
  margin:26px 0 0; padding:16px 18px; border-radius:12px;
  border:1px solid rgba(227,164,78,.3); background:rgba(227,164,78,.08);
  font-size:.9rem; color:var(--ink-2); line-height:1.6;
}
.draft b{ color:var(--brass); font-weight:600; }

/* Оглавление */
.toc{
  margin:30px 0 0; padding:22px 24px; background:var(--surface);
  border:1px solid var(--line-soft); border-radius:14px;
}
.toc h2{ font-family:var(--sans); font-size:.78rem; letter-spacing:.11em; text-transform:uppercase; color:var(--ink-3); margin:0 0 14px; font-weight:600; }
.toc ol{ margin:0; padding:0; list-style:none; display:grid; gap:9px; }
.toc li{ line-height:1.45; }
.toc a{ color:var(--ink-2); text-decoration:none; font-size:.93rem; transition:color .18s var(--ease); }
.toc a:hover{ color:var(--brass); }

/* Тело документа */
.doc{ padding:clamp(30px,4vw,44px) 0 clamp(50px,7vw,80px); }
.doc h2{
  font-family:var(--serif); font-weight:700; font-size:clamp(1.3rem,2.6vw,1.6rem);
  line-height:1.25; letter-spacing:-.01em; margin:clamp(38px,5vw,54px) 0 16px;
  scroll-margin-top:80px; padding-top:4px;
}
.doc h2:first-child{ margin-top:0; }
.doc h3{
  font-family:var(--sans); font-weight:600; font-size:1.06rem; line-height:1.4;
  margin:30px 0 12px; color:var(--ink); scroll-margin-top:80px;
}
.doc p{ margin:0 0 15px; color:var(--ink-2); }
.doc p strong, .doc li strong{ color:var(--ink); font-weight:600; }
.doc ul, .doc ol{ margin:0 0 18px; padding-left:1.4em; display:grid; gap:9px; color:var(--ink-2); }
.doc li::marker{ color:var(--ink-3); }
.doc a{ color:var(--brass); text-decoration:none; border-bottom:1px solid rgba(227,164,78,.35); }
.doc a:hover{ border-bottom-color:var(--brass); }
.doc code{
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:.88em;
  background:var(--surface); border:1px solid var(--line-soft); border-radius:5px; padding:1px 6px;
}
.doc hr{ border:0; border-top:1px solid var(--line-soft); margin:34px 0; }
.doc blockquote{
  margin:0 0 18px; padding:14px 18px; border-left:2px solid var(--brass-dim);
  background:var(--bg-2); border-radius:0 10px 10px 0; color:var(--ink-2);
}
.doc table{ width:100%; border-collapse:collapse; margin:0 0 20px; font-size:.93rem; }
.doc .tbl{ overflow-x:auto; border:1px solid var(--line-soft); border-radius:12px; margin-bottom:20px; }
.doc .tbl table{ margin:0; min-width:520px; }
.doc th, .doc td{ padding:12px 15px; text-align:left; border-bottom:1px solid var(--line-soft); vertical-align:top; }
.doc thead th{ background:var(--bg-2); font-size:.79rem; letter-spacing:.07em; text-transform:uppercase; color:var(--ink-3); font-weight:600; }
.doc td{ color:var(--ink-2); }
.doc tbody tr:last-child td, .doc tbody tr:last-child th{ border-bottom:none; }

/* Плейсхолдер реквизитов: должен быть видно за версту */
.ph{
  background:rgba(227,164,78,.15); border-bottom:1px dashed var(--brass-dim);
  color:var(--brass); padding:0 4px; border-radius:3px; font-weight:500;
  white-space:nowrap;
}

footer{ border-top:1px solid var(--line-soft); background:var(--bg-2); padding:38px 0 44px; }
.foot-links{ display:flex; flex-wrap:wrap; gap:10px 24px; margin-bottom:20px; }
.foot-links a{ color:var(--ink-2); text-decoration:none; font-size:.9rem; }
.foot-links a:hover{ color:var(--brass); }
.foot-note{ font-size:.82rem; color:var(--ink-3); line-height:1.65; }
