/* Общие стили юридических страниц: оферта, политика, согласие */
:root{
  --ink:#06101D; --cyan:#0B1C31; --prussian:#1B3A5C; --paper:#E4ECF6; --muted:#8FA3BD; --dim:#5F7590;
  --red:#EE343A; --acc:#AFC0D6; --line:rgba(196,216,242,.12); --line-strong:rgba(196,216,242,.22);
  --font-ui:"Manrope",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --font-mono:"JetBrains Mono",ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace;
  --gut:max(16px,4vw);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--ink);color:var(--paper);font-family:var(--font-ui);font-size:17px;line-height:1.7;-webkit-font-smoothing:antialiased}
a{color:var(--acc);text-underline-offset:3px}
a:hover{color:var(--paper)}

.top{position:sticky;top:0;z-index:10;background:rgba(6,16,29,.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.top .in{max-width:1100px;margin:0 auto;padding:14px var(--gut);display:flex;align-items:center;justify-content:space-between;gap:16px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--paper);font-size:13px;letter-spacing:.22em;text-transform:uppercase}
.brand img{width:32px;height:auto}
.back{font-size:14px;text-decoration:none;color:var(--muted);white-space:nowrap}

.doc{max-width:780px;margin:0 auto;padding:clamp(40px,7vw,88px) var(--gut) 72px}
.eyebrow{font-family:var(--font-mono);font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);display:flex;align-items:center;gap:12px;margin:0 0 18px}
.eyebrow::before{content:"";width:28px;height:1px;background:var(--line-strong)}
h1{font-size:clamp(30px,5vw,48px);line-height:1.1;letter-spacing:-.025em;font-weight:800;margin:0 0 18px}
.meta{font-family:var(--font-mono);font-size:12px;letter-spacing:.08em;color:var(--dim);margin:0 0 36px}
.lead{font-size:18px;color:#C2D0E2;margin:0 0 36px}

.toc{border:1px solid var(--line-strong);padding:20px 24px;margin:0 0 48px;background:rgba(11,28,49,.5)}
.toc b{display:block;font-family:var(--font-mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);font-weight:400;margin-bottom:10px}
.toc ol{margin:0;padding-left:22px;columns:2;column-gap:32px;font-size:15px}
.toc li{break-inside:avoid;margin:2px 0}
.toc a{color:var(--paper);text-decoration:none}
.toc a:hover{color:var(--acc);text-decoration:underline}

h2{font-size:clamp(21px,2.6vw,26px);line-height:1.25;letter-spacing:-.015em;font-weight:700;margin:52px 0 16px;scroll-margin-top:80px;padding-top:22px;border-top:1px solid var(--line)}
h2 .num{font-family:var(--font-mono);font-size:.62em;font-weight:400;color:var(--red);letter-spacing:.08em;margin-right:12px;vertical-align:.15em}
p{margin:0 0 14px;color:#C9D5E4}
p .n{font-family:var(--font-mono);font-size:13px;color:var(--muted);margin-right:8px}
ul{margin:0 0 16px;padding-left:22px;color:#C9D5E4}
li{margin:4px 0}
strong{color:var(--paper);font-weight:700}

/* Поля, которые нужно заполнить перед запуском */
.fill{color:#FFC7C9;background:rgba(238,52,58,.12);border-bottom:1px dashed rgba(238,52,58,.7);padding:0 4px;border-radius:2px;white-space:normal}

.note{border-left:2px solid var(--red);padding:12px 18px;background:rgba(238,52,58,.06);margin:18px 0;font-size:16px}
.req{display:grid;grid-template-columns:minmax(140px,220px) 1fr;border:1px solid var(--line-strong);margin-top:12px}
.req div{padding:10px 16px;border-bottom:1px solid var(--line);font-size:15px}
.req div:nth-child(odd){color:var(--muted);font-family:var(--font-mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;padding-top:13px}
.req div:nth-last-child(-n+2){border-bottom:0}

.foot{border-top:1px solid var(--line);margin-top:24px}
.foot .in{max-width:1100px;margin:0 auto;padding:28px var(--gut) 40px;display:flex;flex-wrap:wrap;gap:12px 28px;justify-content:space-between;font-size:14px;color:var(--dim)}
.foot nav{display:flex;flex-wrap:wrap;gap:8px 22px}
.foot a{color:var(--muted);text-decoration:none}
.foot a:hover,.foot a[aria-current]{color:var(--paper)}

@media (max-width:640px){
  .toc ol{columns:1}
  .req{grid-template-columns:1fr}
  .req div:nth-child(odd){border-bottom:0;padding-bottom:0}
  .brand span{display:none}
}
@media print{
  body{background:#fff;color:#000;font-size:12pt}
  .top,.foot,.toc{display:none}
  p,ul,.lead,.note{color:#000}
  h2{border-top:1px solid #ccc}
  h2 .num{color:#000}
  a{color:#000}
  .fill{color:#000;background:none;border-bottom:1px solid #000}
}
