/* ══ ТЕМА ЮРИДИЧЕСКИХ СТРАНИЦ — токены из brandbook.html дословно ══ */
:root{
  --canvas:#101214; --surface:#1C1E23; --surface-high:#272A30;
  --line:#363636; --line-soft:#25262A;
  --text:#F0F4F7; --text-dim:#A4ACB4; --text-mute:#828A93;
  --violet:#8A2BE2; --violet-text:#BF8CFF; --violet-hi:#AC64FF;
  --cyan:#00FFFF; --cyan-dim:#00D9D9; --amber:#FBB61B; --red:#FE5553;
  --r-sm:10px; --r-md:16px; --r-lg:22px; --r-pill:9999px;
  --s1:4px; --s2:8px; --s3:12px; --s4:16px; --s6:24px; --s8:32px;
  --s12:48px; --s16:64px; --s24:96px; --s32:128px;
  --sans:'Geist',system-ui,sans-serif; --mono:'Geist Mono',ui-monospace,monospace;
  --spring:cubic-bezier(0.32,0.72,0,1);
  --hdr-h:68px;
}
@supports (color:oklch(0.5 0.1 270)){
  :root{
    --surface:oklch(0.235 0.010 268); --surface-high:oklch(0.285 0.012 268);
    --line-soft:oklch(0.270 0.008 268);
    --text:oklch(0.965 0.006 250); --text-dim:oklch(0.740 0.014 250);
    --text-mute:oklch(0.630 0.016 250);
    --violet-text:oklch(0.740 0.180 301); --violet-hi:oklch(0.660 0.230 301);
    --cyan-dim:oklch(0.800 0.140 195);
  }
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--hdr-h) + var(--s4))}
body{background:var(--canvas);color:var(--text);font-family:var(--sans);font-size:16px;
  line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%}
a{color:inherit}
:focus-visible{outline:2px solid var(--cyan);outline-offset:2px;border-radius:2px}
.skip{position:absolute;left:var(--s4);top:-200px;z-index:80;
  background:var(--surface-high);color:var(--text);border:1px solid var(--line);
  border-radius:var(--r-sm);padding:var(--s3) var(--s4);font-size:.875rem;text-decoration:none}
.skip:focus{top:var(--s3)}

/* ── шапка ── */
.hdr{position:sticky;top:0;z-index:50;background:rgba(16,18,20,.82);
  backdrop-filter:blur(18px) saturate(180%);-webkit-backdrop-filter:blur(18px) saturate(180%);
  border-bottom:1px solid var(--line-soft)}
.hdr-in{max-width:880px;margin:0 auto;min-height:var(--hdr-h);
  padding:var(--s3) var(--s4);display:flex;align-items:center;justify-content:space-between;gap:var(--s4)}
@media(min-width:768px){.hdr-in{padding:var(--s3) var(--s8)}}
.brandmark{display:inline-flex;align-items:center;gap:var(--s3);font-weight:600;
  font-size:1.0625rem;letter-spacing:-.01em;text-decoration:none;min-height:44px}
.brandmark img{display:block;flex:0 0 auto}
.back{display:inline-flex;align-items:center;gap:var(--s2);min-height:44px;padding:0 var(--s4);
  border-radius:var(--r-pill);background:rgba(255,255,255,.06);border:1px solid var(--line);
  color:var(--text);font-size:.8125rem;font-weight:500;letter-spacing:.06em;
  text-transform:uppercase;text-decoration:none;
  transition:background 160ms var(--spring),border-color 160ms var(--spring)}
.back:hover{background:rgba(255,255,255,.10);border-color:var(--violet-hi)}

/* ── полотно документа ── */
.doc{max-width:880px;margin:0 auto;padding:var(--s16) var(--s4) var(--s24)}
@media(min-width:768px){.doc{padding:var(--s24) var(--s8) var(--s32)}}
.doc-label{display:block;font-size:.75rem;font-weight:500;letter-spacing:.14em;
  text-transform:uppercase;color:var(--violet-text);margin-bottom:var(--s3)}
h1{font-size:clamp(2rem,4.5vw,3rem);font-weight:600;line-height:1.08;letter-spacing:-.03em;
  max-width:20ch}
.doc-meta{margin-top:var(--s4);font-family:var(--mono);font-size:.8125rem;color:var(--text-mute)}
.doc-intro{margin-top:var(--s8);font-size:1.0625rem;color:var(--text-dim);max-width:68ch}

h2{font-size:1.375rem;font-weight:600;line-height:1.3;letter-spacing:-.02em;
  margin:var(--s16) 0 var(--s4);scroll-margin-top:calc(var(--hdr-h) + var(--s6))}
h2 .num{color:var(--text-mute);font-family:var(--mono);font-size:.875rem;
  font-weight:500;margin-right:var(--s3);letter-spacing:0}
h3{font-size:1.0625rem;font-weight:600;line-height:1.4;margin:var(--s8) 0 var(--s3)}
p{max-width:74ch;margin-bottom:var(--s4);color:var(--text-dim)}
p strong{color:var(--text);font-weight:500}
ul,ol{max-width:74ch;margin:0 0 var(--s4) 0;padding-left:var(--s6);color:var(--text-dim)}
li{margin-bottom:var(--s2)}
li::marker{color:var(--text-mute)}
a.link{color:var(--violet-text);text-decoration:underline;
  text-decoration-color:rgba(191,140,255,.35);text-underline-offset:4px;
  transition:text-decoration-color 160ms var(--spring)}
a.link:hover{text-decoration-color:var(--violet-text)}
.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}

/* ── оглавление ── */
.toc{margin-top:var(--s12);background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.08);border-radius:var(--r-lg);padding:6px}
.toc-core{background:var(--surface);border-radius:var(--r-md);padding:var(--s6);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10), inset 0 -1px 0 rgba(0,0,0,.35)}
.toc span.t{display:block;font-size:.75rem;font-weight:500;letter-spacing:.14em;
  text-transform:uppercase;color:var(--text-mute);margin-bottom:var(--s3)}
.toc ol{margin:0;padding-left:var(--s6);counter-reset:none}
.toc li{margin-bottom:0}
.toc a{display:inline-flex;align-items:center;min-height:36px;
  color:var(--text-dim);text-decoration:none;font-size:.9375rem;
  transition:color 160ms var(--spring)}
.toc a:hover{color:var(--text)}

/* ── карточка реквизитов ── */
.req{margin-top:var(--s12);background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.08);border-radius:var(--r-lg);padding:6px}
.req-core{background:var(--surface);border-radius:var(--r-md);padding:var(--s2) var(--s6) var(--s6);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10), inset 0 -1px 0 rgba(0,0,0,.35)}
.req dl{display:grid;grid-template-columns:1fr;gap:0}
@media(min-width:620px){.req dl{grid-template-columns:200px minmax(0,1fr)}}
.req dt{padding:var(--s4) 0 2px;font-size:.75rem;font-weight:500;letter-spacing:.14em;
  text-transform:uppercase;color:var(--text-mute)}
.req dd{padding:0 0 var(--s4);color:var(--text);font-family:var(--mono);font-size:.875rem;
  font-variant-numeric:tabular-nums;border-bottom:1px solid var(--line-soft)}
@media(min-width:620px){
  .req dt{padding:var(--s4) 0;border-bottom:1px solid var(--line-soft)}
  .req dd{padding:var(--s4) 0}
}
.req dl>dt:last-of-type,.req dl>dd:last-of-type{border-bottom:0}

/* ── сноска ── */
.note{margin-top:var(--s8);padding:var(--s4) var(--s6);border-radius:var(--r-md);
  background:rgba(255,255,255,.03);border-left:2px solid var(--violet-hi)}
.note p{margin:0;font-size:.9375rem;color:var(--text-dim)}

/* ── подвал ── */
footer{border-top:1px solid var(--line-soft);padding:var(--s12) 0}
.foot{max-width:880px;margin:0 auto;padding:0 var(--s4);
  display:flex;flex-direction:column;gap:var(--s4)}
@media(min-width:768px){.foot{padding:0 var(--s8);flex-direction:row;
  justify-content:space-between;align-items:center;gap:var(--s6)}}
.foot-links{display:flex;flex-wrap:wrap;align-items:center;gap:0 var(--s2);
  font-family:var(--mono);font-size:.8125rem}
.foot-links a{display:inline-flex;align-items:center;min-height:44px;padding:0 2px;
  color:var(--text-dim);text-decoration:none;transition:color 160ms var(--spring)}
.foot-links a:hover{color:var(--text)}
.foot-links span{color:var(--text-mute)}

/* ── таблица цен ── */
.tbl{margin:0 0 var(--s4);max-width:74ch;overflow-x:auto;border:1px solid var(--line-soft);border-radius:var(--r-md)}
.tbl table{width:100%;border-collapse:collapse;font-size:.9375rem}
.tbl th,.tbl td{padding:var(--s3) var(--s4);text-align:left;border-bottom:1px solid var(--line-soft);white-space:nowrap}
.tbl th{font-size:.75rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--text-mute)}
.tbl td{color:var(--text-dim);font-family:var(--mono);font-variant-numeric:tabular-nums}
.tbl td:first-child{font-family:var(--sans);color:var(--text)}
.tbl tr:last-child td{border-bottom:0}

/* ── реквизиты, которые ещё не внесены ── */
.tbd{color:var(--amber);border-bottom:1px dashed currentColor}
.foot-req{margin:0;max-width:none;font-family:var(--mono);font-size:.75rem;color:var(--text-mute)}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
}
