@font-face {
  font-family:"Montserrat";
  font-style:normal;
  font-weight:100 900;
  font-display:swap;
  src:url("/assets/fonts/montserrat-cyrillic.woff2") format("woff2");
  unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}
@font-face {
  font-family:"Montserrat";
  font-style:normal;
  font-weight:100 900;
  font-display:swap;
  src:url("/assets/fonts/montserrat-latin.woff2") format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

:root {
  --legal-ink:#060606;
  --legal-paper:#fff;
  --legal-cream:#fffbea;
  --legal-lilac:#c895f5;
  --legal-neon:#baff00;
  --legal-grey:#eee;
  font-family:"Montserrat","Avenir Next",Arial,sans-serif;
  color:var(--legal-ink);
  background:var(--legal-grey);
  line-height:1.55;
}
* { box-sizing:border-box; }
body {
  min-width:320px;
  margin:0;
  background:
    radial-gradient(ellipse 340px 250px at 50% 126px, rgba(200,149,245,.28), transparent 72%),
    var(--legal-grey);
}
a { color:inherit; }
.legal-header,
.legal-main,
.legal-footer { width:min(100% - 36px,540px); margin-inline:auto; }
.legal-header {
  min-height:92px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:22px 0 20px;
}
.legal-header a:last-child {
  min-height:40px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:8px 13px 9px;
  border:2px solid var(--legal-ink);
  border-radius:999px;
  background:var(--legal-paper);
  font-size:12px;
  font-weight:850;
  line-height:1;
  text-decoration:none;
}
.legal-header a:last-child:hover { background:var(--legal-neon); }
.legal-brand {
  color:var(--legal-ink);
  font:italic 900 28px/.9 "Montserrat","Arial Black",Arial,sans-serif;
  letter-spacing:-2.5px;
  text-decoration:none;
  transform:skew(-5deg) scaleX(1.03);
}
.legal-main {
  position:relative;
  isolation:isolate;
  margin-bottom:26px;
  padding:34px 26px 32px;
  overflow:hidden;
  border:3px solid var(--legal-ink);
  border-radius:32px;
  background:var(--legal-paper);
  box-shadow:7px 9px 0 rgba(0,0,0,.12);
}
.legal-main::before {
  content:"";
  position:absolute;
  z-index:-1;
  top:76px;
  left:50%;
  width:360px;
  height:250px;
  border-radius:999px;
  background:var(--legal-lilac);
  opacity:.34;
  filter:blur(48px);
  transform:translateX(-50%);
  pointer-events:none;
}
.legal-kicker {
  display:table;
  max-width:calc(100% + 12px);
  margin:0 0 21px -5px;
  padding:7px 12px 8px;
  border:2px solid var(--legal-ink);
  border-radius:999px;
  background:var(--legal-neon);
  box-shadow:0 0 18px 2px rgba(186,255,0,.34);
  color:var(--legal-ink);
  font-size:11px;
  font-weight:900;
  line-height:1;
  letter-spacing:0;
  text-transform:lowercase;
  transform:rotate(-2deg);
}
.legal-main h1 {
  max-width:460px;
  margin:0 0 14px;
  font:900 clamp(35px,9vw,48px)/.98 "Montserrat","Arial Black",Arial,sans-serif;
  letter-spacing:-1.8px;
}
.legal-meta {
  display:inline-block;
  margin:0 0 26px !important;
  padding:5px 9px 6px;
  border:2px solid var(--legal-ink);
  border-radius:999px;
  background:var(--legal-paper);
  color:var(--legal-ink);
  font-size:11px !important;
  font-weight:800;
  line-height:1.2;
}
.legal-main h2 {
  margin:35px 0 13px;
  font:900 clamp(21px,5.7vw,28px)/1.05 "Montserrat","Arial Black",Arial,sans-serif;
  letter-spacing:-.75px;
}
.legal-main h2:first-of-type { margin-top:34px; }
.legal-main p,
.legal-main li {
  font-size:15px;
  line-height:1.55;
  letter-spacing:-.16px;
}
.legal-main p { margin:0 0 18px; }
.legal-main ul {
  display:grid;
  gap:9px;
  margin:0 0 20px;
  padding:0;
  list-style:none;
}
.legal-main li {
  position:relative;
  padding-left:22px;
}
.legal-main li::before {
  content:"";
  position:absolute;
  top:.58em;
  left:0;
  width:10px;
  height:10px;
  border:2px solid var(--legal-ink);
  border-radius:50%;
  background:var(--legal-neon);
}
.legal-main a {
  font-weight:800;
  text-decoration-thickness:2px;
  text-decoration-color:var(--legal-ink);
  text-underline-offset:3px;
}
.legal-note {
  margin:25px 0 !important;
  padding:16px 17px !important;
  border:2px solid var(--legal-ink);
  border-radius:18px;
  background:var(--legal-lilac);
  box-shadow:4px 4px 0 var(--legal-ink);
  font-weight:650;
  transform:rotate(-.7deg);
}
.legal-footer {
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:8px 14px;
  padding:0 0 44px;
  color:var(--legal-ink);
  font-size:12px;
  font-weight:650;
  line-height:1.35;
  text-align:center;
}
.legal-footer a {
  text-decoration-thickness:1px;
  text-underline-offset:3px;
}
.legal-footer a:hover { color:#6f28ad; }
@media (max-width:420px) {
  .legal-header,
  .legal-main,
  .legal-footer { width:min(100% - 28px,540px); }
  .legal-header { min-height:80px; padding:18px 0 16px; }
  .legal-brand { font-size:25px; }
  .legal-header a:last-child { min-height:38px; padding-inline:11px; font-size:11px; }
  .legal-main { padding:27px 18px 26px; border-radius:27px; }
  .legal-main h1 { font-size:clamp(33px,10vw,43px); }
  .legal-main h2 { margin-top:31px; font-size:22px; }
  .legal-main p,
  .legal-main li { font-size:14px; }
  .legal-footer { gap:8px 11px; font-size:11px; }
}
@media (prefers-reduced-motion:reduce) { * { scroll-behavior:auto; } }

/* общий футер сайта и документов */
.site-footer { margin:48px 0 0; padding:40px 22px 30px; border-radius:32px 32px 0 0; background:#060606; color:#fff; font-family:inherit; text-align:left; }
.site-footer a, .site-footer button { color:#fff; }
.site-footer-top { display:grid; gap:28px; }
.site-footer-logo { display:inline-block; margin:0 0 10px; font:900 26px/1 "Archivo Black","Arial Black",Arial,sans-serif; letter-spacing:-.5px; text-decoration:none; }
.site-footer-brand p { margin:0; max-width:300px; color:rgba(255,255,255,.72); font-size:14px; line-height:1.5; }
.site-footer-col { display:flex; flex-direction:column; align-items:flex-start; gap:10px; }
.site-footer-title { margin:0 0 4px; color:#baff00; font-size:12px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.site-footer-col a, .site-footer-cookies { font-size:15px; font-weight:600; text-decoration:none; }
.site-footer-col a:hover, .site-footer-cookies:hover { color:#baff00; }
.site-footer-cookies { padding:0; border:0; background:none; font:inherit; font-size:15px; font-weight:600; cursor:pointer; text-align:left; opacity:.72; }
.site-footer-bottom { display:grid; gap:8px; margin-top:32px; padding-top:20px; border-top:1px solid rgba(255,255,255,.16); }
.site-footer-bottom small { color:rgba(255,255,255,.55); font-size:12px; line-height:1.5; }
@media (min-width:700px) {
  .site-footer { padding:48px 40px 32px; }
  .site-footer-top { grid-template-columns:1.4fr 1fr 1fr 1fr; gap:24px; }
}

.site-footer { width:min(100% - 36px, 760px); margin:56px auto 0; }

/* футер: светло-сиреневый, в тон сайту */
.site-footer { background:#f4efff; color:#060606; border-top:2px solid #060606; }
.site-footer a, .site-footer button { color:#060606; }
.site-footer-brand p { color:rgba(6,6,6,.7); }
.site-footer-title { color:#060606; opacity:.55; }
.site-footer-col a:hover, .site-footer-cookies:hover { color:#6f28ad; }
.site-footer-bottom { border-top-color:rgba(6,6,6,.14); }
.site-footer-bottom small { color:rgba(6,6,6,.55); }

/* футер: кремовый с мягким сиреневым пятном */
.site-footer { position:relative; overflow:hidden; isolation:isolate; background:#fffbea; }
.site-footer::before { content:""; position:absolute; z-index:-1; width:520px; height:520px; right:-160px; top:-220px; border-radius:50%; background:radial-gradient(circle, rgba(200,149,245,.45) 0%, rgba(200,149,245,.18) 40%, rgba(200,149,245,0) 70%); pointer-events:none; }

.site-footer { border-top:0; }
.site-footer::before { background:radial-gradient(circle, rgba(186,255,0,.26) 0%, rgba(186,255,0,.10) 40%, rgba(186,255,0,0) 70%); }

.site-footer { background:#fff; border:2px solid #060606; border-radius:32px; }
.site-footer::before { content:none; }

/* футер А+Б: низ страницы во всю ширину, компактный, без рамки */
.site-footer { margin:56px 0 0; padding:28px 20px calc(24px + env(safe-area-inset-bottom)); border:0; border-top:1px solid rgba(6,6,6,.14); border-radius:0; background:transparent; color:#060606; text-align:left; }
.site-footer::before { content:none; }
.site-footer-main { display:flex; flex-direction:column; gap:18px; }
.site-footer-logo { font-size:20px; margin:0 0 6px; }
.site-footer-brand p { margin:0; max-width:300px; font-size:13px; line-height:1.45; color:rgba(6,6,6,.65); }
.site-footer-nav { display:flex; flex-wrap:wrap; gap:8px 18px; }
.site-footer-nav a { color:#060606; font-size:14px; font-weight:700; text-decoration:none; }
.site-footer-nav a:hover, .site-footer-legal a:hover, .site-footer-cookies:hover { color:#6f28ad; }
.site-footer-legal { margin-top:20px; padding-top:14px; border-top:1px solid rgba(6,6,6,.08); }
.site-footer-legal nav { display:flex; flex-wrap:wrap; gap:6px 14px; margin-bottom:10px; }
.site-footer-legal nav a, .site-footer-cookies { color:rgba(6,6,6,.7); font-size:12px; font-weight:600; text-decoration:none; }
.site-footer-cookies { padding:0; border:0; background:none; font:inherit; font-size:12px; font-weight:600; cursor:pointer; opacity:1; }
.site-footer-legal small { display:block; color:rgba(6,6,6,.5); font-size:11px; line-height:1.5; }
.site-footer-legal small a { color:inherit; }
@media (min-width:700px) {
  .site-footer { padding:30px 36px 28px; }
  .site-footer-main { flex-direction:row; justify-content:space-between; align-items:flex-start; gap:32px; }
  .site-footer-nav { justify-content:flex-end; max-width:380px; padding-top:4px; }
}

.site-footer { width:min(100% - 36px, 760px); margin:56px auto 0; padding-inline:0; }
