/* ============================================================
   Правовые страницы «Допуск Право»: политика и согласие.
   Тот же фирстиль var1, что на главной — navy + off-white, Source Serif + Manrope.
   Читаемость важнее эффектов: узкая колонка, крупный кегль, ноль анимаций.
   ============================================================ */

:root{
  --navy:#14243C; --navy-2:#0E1A2C;
  --paper:#EFEEE8; --paper-2:#E7E5DD; --paper-3:#F5F4EF;
  --ink:#14243C; --steel:#7E93AE; --steel-d:#48607E;
  --rule:#CFCCC1; --rule-2:#DAD8CE; --mute:#555E6B;
  --sans:'Manrope',system-ui,sans-serif;
  --serif:'Source Serif 4',Georgia,serif;
  --ease:cubic-bezier(.86,0,.07,1);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
html,body{background:var(--paper-3); overflow-x:hidden}
body{
  font-family:var(--sans); color:var(--ink); line-height:1.5;
  -webkit-font-smoothing:antialiased; font-optical-sizing:auto;
}
/* Сброс подчёркивания обязателен: без него браузер подчёркивает вордмарк, дескриптор-лок
   и пилюлю «На главную» в шапке — утверждённый лок показан искажённым (П9).
   Подчёркивание ссылок ВНУТРИ текста документа задано отдельно правилом `.doc a`. */
a{color:inherit; text-decoration:none}
::selection{background:var(--steel); color:var(--navy-2)}

/* фирменное плёночное зерно — то же, что на главной: материал страниц один */
.grain::after{
  content:""; position:fixed; inset:0; pointer-events:none; z-index:90; opacity:.022;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.86' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

.skip-link{position:absolute; left:16px; top:-60px; z-index:100; background:var(--navy); color:var(--paper); font-family:var(--sans); font-weight:700; font-size:13px; padding:12px 18px; min-height:44px; display:inline-flex; align-items:center; border-radius:5px; transition:top .25s var(--ease)}
.skip-link:focus{top:16px}
:focus-visible{outline:2px solid currentColor; outline-offset:3px; border-radius:2px}

/* ---- шапка ---- */
.dhead{background:linear-gradient(158deg,var(--navy) 0%,var(--navy-2) 100%); color:var(--paper); position:relative; overflow:hidden}
.dhead__tex{position:absolute; inset:0; pointer-events:none; opacity:.6;
  background:repeating-linear-gradient(118deg, rgba(239,238,232,.035) 0 1px, transparent 1px 17px);
  -webkit-mask-image:linear-gradient(105deg,transparent 0%,#000 55%,#000 100%);
  mask-image:linear-gradient(105deg,transparent 0%,#000 55%,#000 100%)}
.dhead__in{position:relative; max-width:1180px; margin:0 auto; padding:30px 56px;
  display:flex; align-items:center; justify-content:space-between; gap:28px; flex-wrap:wrap}
.brand{display:flex; flex-direction:column; gap:9px}
.brand__wm{font-family:var(--serif); font-weight:600; font-size:21px; letter-spacing:.02em; text-transform:uppercase; color:var(--paper); line-height:1}
.brand__wm .p2{font-weight:400; color:#C9D3E0}
.brand__lock{display:flex; align-items:center; gap:13px}
.brand__lock .bar{width:26px; height:1px; background:var(--steel)}
.brand__lock .t{font-weight:600; font-size:10.5px; letter-spacing:.19em; text-transform:uppercase; color:#C9D3E0}
.brand__lock .dot{color:var(--steel); margin:0 6px}
.dhead__back{display:inline-flex; align-items:center; justify-content:center; gap:11px; padding:12px 20px; min-height:44px;
  border:1px solid rgba(126,147,174,.4); border-radius:100px;
  font-weight:600; font-size:12.5px; color:var(--paper);
  transition:background-color .4s var(--ease), border-color .4s var(--ease)}
.dhead__back:hover{background:rgba(126,147,174,.16); border-color:var(--steel)}

/* ---- документ ---- */
.doc{max-width:1180px; margin:0 auto; padding:64px 56px 84px}
.doc__wrap{max-width:760px}
.doc__kick{font-weight:700; font-size:11px; letter-spacing:.28em; text-transform:uppercase; color:var(--steel-d);
  display:flex; align-items:center; gap:14px; margin-bottom:22px}
.doc__kick .ln{width:34px; height:1px; background:var(--steel-d)}
/* 20ch ломало заголовок политики на пять рваных строк при линейке .doc__meta во все 760 px —
   верх страницы разваливался. 26ch даёт три ровные строки. */
.doc h1{font-family:var(--serif); font-weight:400; font-size:clamp(30px,4vw,46px); line-height:1.1;
  letter-spacing:-.012em; color:var(--ink); text-wrap:balance; max-width:26ch}
.doc h1 b{font-weight:600}
.doc__meta{margin-top:20px; padding-top:18px; border-top:1px solid var(--rule);
  font-weight:500; font-size:13px; color:var(--mute); line-height:1.8}
.doc__meta b{color:var(--ink); font-weight:700}

.doc h2{font-family:var(--serif); font-weight:600; font-size:clamp(20px,2.2vw,25px); line-height:1.22;
  color:var(--ink); letter-spacing:-.008em; margin:46px 0 16px; scroll-margin-top:24px}
.doc h2 .no{font-family:var(--sans); font-weight:700; font-size:12px; letter-spacing:.1em;
  color:var(--steel-d); margin-right:14px; vertical-align:2px; font-variant-numeric:tabular-nums}
.doc p{font-weight:500; font-size:15.5px; line-height:1.72; color:#333E4E; margin-top:14px; max-width:68ch}
.doc p b, .doc li b{color:var(--ink); font-weight:700}
.doc ul{list-style:none; margin-top:16px; display:flex; flex-direction:column; gap:12px; max-width:68ch}
.doc li{position:relative; padding-left:26px; font-weight:500; font-size:15.5px; line-height:1.68; color:#333E4E}
.doc li::before{content:""; position:absolute; left:0; top:10px; width:8px; height:8px;
  border:1px solid var(--steel-d); transform:rotate(45deg)}
.doc a{color:var(--steel-d); text-decoration:underline; text-underline-offset:3px}
.doc a:hover{color:var(--navy)}

/* закрывающий блок документа */
.doc__end{margin-top:54px; padding-top:22px; border-top:1px solid var(--rule);
  display:flex; flex-direction:column; gap:7px}
.doc__end .a, .doc__end .b{font-weight:500; font-size:12px; color:var(--mute); letter-spacing:.01em}
.doc__end .b{font-size:11px; color:var(--mute)}   /* #6E7787 давал 4,09 при норме 4,5 */
.doc__end .back{margin-top:9px; align-self:flex-start; display:inline-flex; align-items:center; min-height:44px;
  font-weight:700; font-size:13px; color:var(--steel-d); text-decoration:underline; text-underline-offset:3px}
.doc__end .back:hover{color:var(--navy)}

/* карточка контактов оператора */
.opcard{margin-top:26px; background:var(--paper); border:1px solid var(--rule); border-radius:6px; padding:26px 30px}
.opcard dl{display:grid; grid-template-columns:auto 1fr; gap:11px 26px; align-items:baseline}
.opcard dt{font-weight:700; font-size:10.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--steel-d)}
.opcard dd{font-weight:600; font-size:15px; color:var(--ink)}

/* оглавление */
.toc{margin-top:34px; background:var(--paper); border:1px solid var(--rule); border-radius:6px; padding:24px 30px}
.toc__ttl{font-weight:700; font-size:10.5px; letter-spacing:.16em; text-transform:uppercase; color:var(--steel-d); margin-bottom:14px}
.toc ol{list-style:none; counter-reset:t; columns:2; column-gap:36px}
.toc li{counter-increment:t; padding-left:0; font-size:14px; line-height:1.55; margin-bottom:9px; break-inside:avoid}
.toc li::before{content:none}
.toc a{color:var(--ink); text-decoration:none; font-weight:600}
.toc a::before{content:counter(t) ". "; color:var(--steel-d); font-weight:700}
.toc a:hover{color:var(--steel-d); text-decoration:underline}

/* ---- подвал ---- */
.dfoot{background:var(--navy-2); color:var(--paper); margin-top:20px}
.dfoot__in{max-width:1180px; margin:0 auto; padding:46px 56px 40px;
  display:flex; justify-content:space-between; align-items:flex-start; gap:40px; flex-wrap:wrap}
.dfoot .wm{font-family:var(--serif); font-weight:600; font-size:24px; text-transform:uppercase; letter-spacing:.02em}
.dfoot .wm .p2{font-weight:400; color:#C9D3E0}
.dfoot .lock{font-weight:600; font-size:10px; letter-spacing:.18em; text-transform:uppercase; color:var(--steel); margin-top:11px}
.dfoot .r{text-align:right; display:flex; flex-direction:column; gap:9px}
.dfoot .r a, .dfoot .r span{font-weight:500; font-size:13px; color:#A9B7C8; transition:color .3s var(--ease)}
.dfoot .r a:hover{color:var(--paper)}
.dfoot .r b{color:var(--paper); font-weight:700}
.dfoot__legal{border-top:1px solid rgba(126,147,174,.14)}
.dfoot__legal .in{max-width:1180px; margin:0 auto; padding:18px 56px;
  display:flex; justify-content:space-between; align-items:center; gap:18px; flex-wrap:wrap}
.dfoot__legal .c, .dfoot__legal .lk{font-weight:500; font-size:11px; color:#8B9BB0; letter-spacing:.02em}
.dfoot__legal .lk a:hover{color:var(--paper)}

@media (max-width:820px){
  .dhead__in, .doc, .dfoot__in, .dfoot__legal .in{padding-left:22px; padding-right:22px}
  .dhead__in{gap:20px}
  .doc{padding-top:44px; padding-bottom:60px}
  .doc h1{max-width:none}   /* колонка на телефоне и так узкая, ограничение только рвёт строки */
  .toc a{display:inline-block; padding:4px 0}   /* зона нажатия пунктов оглавления */
  .toc ol{columns:1}
  .dfoot__in{flex-direction:column}
  .dfoot .r{text-align:left; align-items:flex-start}
  .opcard dl{grid-template-columns:1fr; gap:4px 0}
  .opcard dd{margin-bottom:12px}
  .opcard dd:last-child{margin-bottom:0}
}
@media (prefers-reduced-motion:reduce){
  *{animation:none !important; transition:none !important}
  html{scroll-behavior:auto}
}
