/* Стили юридических страниц. Токены совпадают с index.html. */
:root{
  --paper:#f3f2ee; --surface:#ffffff; --surface-2:#e9e7e1; --surface-ink:#15171d;
  --ink:#15171d; --ink-2:#55596a;
  --accent:#26702a; --accent-soft:rgba(38,112,42,.11); --accent-ink:#ffffff;
  --line:rgba(21,23,29,.13); --line-strong:rgba(21,23,29,.26);
  --r-surface:20px; --ease:cubic-bezier(.16,1,.3,1);
  --gutter:clamp(1.25rem,5vw,3rem);
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --paper:#0f1115; --surface:#171a21; --surface-2:#1f232c; --surface-ink:#edeff4;
    --ink:#edeff4; --ink-2:#a0a6b8;
    --accent:#6ecf5c; --accent-soft:rgba(110,207,92,.15); --accent-ink:#0b1a0d;
    --line:rgba(255,255,255,.13); --line-strong:rgba(255,255,255,.28);
  }
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:"Manrope",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  font-size:1rem;line-height:1.7;-webkit-font-smoothing:antialiased;
}
a{color:var(--accent)}
a:hover{text-decoration:underline}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}

.wrap{max-width:860px;margin-inline:auto;padding:0 var(--gutter) 5rem}

.topbar{
  position:sticky;top:0;z-index:10;
  background:color-mix(in srgb,var(--paper) 88%,transparent);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line);
  margin-bottom:clamp(2rem,1.5rem + 3vw,3.5rem);
}
.topbar__in{
  max-width:860px;margin-inline:auto;padding:0 var(--gutter);
  height:64px;display:flex;align-items:center;gap:1rem;
}
.back{
  display:inline-flex;align-items:center;gap:.5rem;
  font-weight:700;font-size:.9rem;color:var(--ink);text-decoration:none;
  padding:.5rem .9rem;border-radius:999px;border:1px solid var(--line-strong);
  transition:border-color .2s var(--ease),background-color .2s var(--ease),color .2s var(--ease);
}
.back:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft);text-decoration:none}

h1{
  font-family:"Unbounded",system-ui,sans-serif;font-weight:500;letter-spacing:-.03em;
  font-size:clamp(1.6rem,1.1rem + 2.4vw,2.6rem);line-height:1.14;margin:0 0 .9rem;
  text-wrap:balance;
}
.meta{color:var(--ink-2);font-size:.92rem;margin:0 0 2.5rem;padding-bottom:1.75rem;border-bottom:1px solid var(--line)}
h2{
  font-family:"Unbounded",system-ui,sans-serif;font-weight:500;letter-spacing:-.025em;
  font-size:clamp(1.1rem,.95rem + .9vw,1.45rem);line-height:1.25;
  margin:2.75rem 0 1rem;text-wrap:balance;
}
h2:first-of-type{margin-top:0}
p{margin:0 0 .9rem}
ul{margin:0 0 1.1rem;padding:0;list-style:none}
li{position:relative;padding-left:1.4rem;margin-bottom:.5rem}
li::before{
  content:"";position:absolute;left:0;top:.72em;
  width:7px;height:2px;border-radius:2px;background:var(--accent);
}
.callout{
  background:var(--surface);border:1px solid var(--line);border-radius:var(--r-surface);
  padding:clamp(1.1rem,.9rem + 1vw,1.6rem);margin:0 0 1.5rem;
}
.callout p:last-child{margin-bottom:0}
.req{font-size:.95rem}
.req b{font-weight:700}
.foot{
  margin-top:3.5rem;padding-top:1.5rem;border-top:1px solid var(--line);
  color:var(--ink-2);font-size:.85rem;
}
@media print{
  .topbar{display:none}
  body{background:#fff;color:#000}
  .wrap{max-width:none}
}
