@charset "UTF-8";
/* ============================================================
   Бизнес-девичник · сообщество «Наследие»
   Айдентика взята из макетов smm/: лайм #7CE60C, чёрный, бумага.
   Шрифты бренда: NeueMetanaNext SemiBold (дисплей) + Bookman (текст).
   Serif здесь не «для премиальности», а потому что он в бренд-паке.

   РАДИУСЫ (одна система на весь сайт):
     999px  — всё интерактивное и все плашки-«наклейки»
     28px   — карточки и ячейки
     14px   — поля ввода
   ============================================================ */

@font-face{
  font-family:"Metana";
  src:url("../fonts/NeueMetanaNext-SemiBold.woff2") format("woff2");
  font-weight:600;font-style:normal;font-display:swap;
}
@font-face{
  font-family:"Bookman";
  src:url("../fonts/Bookman.woff2") format("woff2");
  font-weight:400;font-style:normal;font-display:swap;
}

:root{
  --lime:#7CE60C;
  --lime-deep:#5FB800;
  --ink:#0A0A0A;
  --paper:#FDFDFD;
  --paper-2:#F2F3F1;
  --line:rgba(10,10,10,.14);

  --fg:var(--ink);
  --fg-soft:#4A4A48;
  --bg:var(--paper);
  --bg-2:var(--paper-2);
  --card:#FFFFFF;

  --r-pill:999px;
  --r-card:28px;
  --r-field:14px;

  --pad:clamp(1.25rem,4vw,3rem);
  --gap:clamp(1rem,2.2vw,1.75rem);
  --sec:clamp(4.5rem,11vh,8rem);

  --shadow:0 18px 44px -22px rgba(10,10,10,.32);
  --ease:cubic-bezier(.16,1,.3,1);
}

@media (prefers-color-scheme:dark){
  :root{
    --fg:#F4F5F2;
    --fg-soft:#A9AAA5;
    --bg:#0C0D0B;
    --bg-2:#141613;
    --card:#191B17;
    --line:rgba(244,245,242,.16);
    --shadow:0 18px 44px -22px rgba(0,0,0,.8);
  }
}

*,*::before,*::after{box-sizing:border-box}
/* без этого .form{display:grid} перебивает атрибут hidden
   и после отправки форма остаётся на экране под блоком «Вы в списке» */
[hidden]{display:none !important}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

body{
  margin:0;
  background:var(--bg);
  color:var(--fg);
  font-family:"Bookman",Georgia,"Times New Roman",serif;
  font-size:clamp(1rem,.96rem + .22vw,1.1rem);
  line-height:1.62;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

img{max-width:100%;height:auto;display:block}
a{color:inherit}

h1,h2,h3,.stamp,.btn,.head__when,.marq,.tag,.foot__nav{
  font-family:"Metana","Arial Black",system-ui,sans-serif;
  font-weight:600;
  letter-spacing:-.01em;
}
h1,h2,h3{margin:0;line-height:1.02;text-wrap:balance}
p{margin:0}

.wrap{width:min(100% - (var(--pad) * 2),1240px);margin-inline:auto}

:where(a,button,input,textarea):focus-visible{
  outline:3px solid var(--lime-deep);
  outline-offset:3px;
  border-radius:6px;
}
@media (prefers-color-scheme:dark){
  :where(a,button,input,textarea):focus-visible{outline-color:var(--lime)}
}

.skip{
  position:absolute;left:-9999px;top:0;z-index:99;
  background:var(--ink);color:#fff;padding:.9rem 1.4rem;border-radius:0 0 var(--r-pill) 0;
}
.skip:focus{left:0}

/* ── кнопка ─────────────────────────────────────────────── */
.btn{
  --btn-bg:var(--lime);
  --btn-fg:var(--ink);
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  white-space:nowrap;
  padding:1.05rem 2.1rem;
  font-size:clamp(1rem,.95rem + .2vw,1.12rem);
  text-decoration:none;
  background:var(--btn-bg);color:var(--btn-fg);
  border:none;border-radius:var(--r-pill);
  box-shadow:0 5px 0 0 var(--lime-deep);
  cursor:pointer;
  transition:transform .18s var(--ease),box-shadow .18s var(--ease),background .18s var(--ease);
}
.btn:hover{transform:translateY(-2px);box-shadow:0 7px 0 0 var(--lime-deep)}
.btn:active{transform:translateY(3px);box-shadow:0 1px 0 0 var(--lime-deep)}
.btn--sm{padding:.72rem 1.4rem;font-size:.98rem;box-shadow:0 4px 0 0 var(--lime-deep)}
.btn--wide{width:100%;padding-block:1.2rem}
.btn--ghost{
  background:transparent;color:var(--lime);
  box-shadow:inset 0 0 0 2px var(--lime);
}
.btn--ghost:hover{background:var(--lime);color:var(--ink);box-shadow:inset 0 0 0 2px var(--lime)}
.btn[disabled]{opacity:.62;cursor:progress}
@media (prefers-reduced-motion:reduce){
  .btn,.btn:hover,.btn:active{transform:none;transition:background .18s linear}
}

/* ── плашка-«наклейка» с датой ──────────────────────────── */
.stamp{
  display:inline-flex;align-items:baseline;gap:.55rem;flex-wrap:wrap;
  max-width:100%;                 /* иначе на узких экранах тянет всю страницу вширь */
  padding:.68rem 1.5rem;
  background:var(--card);
  border:2.5px solid var(--lime);
  border-radius:var(--r-pill);
  font-size:clamp(.95rem,.9rem + .25vw,1.15rem);
  line-height:1.25;
}
/* на телефоне место переезжает на вторую строку плашки, а не режется */
@media (max-width:520px){
  .stamp{border-radius:22px}
  .stamp__sep{display:none}
  .stamp__place{flex-basis:100%}
}
.stamp b{font-size:1.28em;letter-spacing:-.02em}
.stamp__sep{color:var(--lime-deep)}
.stamp__place{font-family:"Bookman",Georgia,serif;font-weight:400}
.stamp--dark{background:transparent;color:#F4F5F2}
.hero .stamp{
  background:rgba(10,10,10,.46);color:#F4F5F2;
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
}

/* ── шапка ──────────────────────────────────────────────── */
.head{
  position:sticky;top:0;z-index:20;
  background:color-mix(in srgb,var(--bg) 86%,transparent);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line);
}
.head__in{
  width:min(100% - (var(--pad) * 2),1240px);margin-inline:auto;
  height:72px;display:flex;align-items:center;gap:clamp(.75rem,2vw,2rem);
}
.head__logo{flex:none;line-height:0}
.head__logo img{width:clamp(112px,13vw,150px);height:auto}
/* у бренда есть готовые тёмная и светлая версии логотипа, инверсия не нужна */
.on-dark{display:none}
@media (prefers-color-scheme:dark){
  .on-light{display:none}
  .on-dark{display:block}
}
.head__when{
  margin-left:auto;font-size:.95rem;letter-spacing:0;
  color:var(--fg-soft);white-space:nowrap;
}
.head__when span{color:var(--fg)}
@media (max-width:719px){
  .head__in{height:64px}
  .head__when{display:none}
  .btn--sm{padding:.62rem 1.1rem;font-size:.9rem}
}

/* ── hero ───────────────────────────────────────────────── */
.hero{
  position:relative;padding-block:clamp(2.4rem,6vh,4.8rem) var(--sec);overflow:hidden;
  isolation:isolate;color:#F4F5F2;
  background:
    radial-gradient(ellipse 62% 66% at 4% 20%,rgba(124,230,12,.2),transparent 70%),
    radial-gradient(ellipse 58% 72% at 88% 38%,rgba(124,230,12,.15),transparent 68%),
    linear-gradient(122deg,#070806 0%,#0D110A 54%,#050605 100%);
}
.hero::before{
  content:"";position:absolute;z-index:-1;
  width:min(48rem,72vw);aspect-ratio:1;right:-18rem;top:-22rem;
  background:radial-gradient(circle,rgba(124,230,12,.2),rgba(124,230,12,.06) 42%,transparent 70%);
  filter:blur(24px);pointer-events:none;
}
.hero__in{
  position:relative;
  width:min(100% - (var(--pad) * 2),1240px);margin-inline:auto;
  display:grid;gap:clamp(2.5rem,5vw,4rem);
  align-items:center;
}
@media (min-width:980px){
  .hero__in{grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr)}
}

.hero__h{
  margin-block:clamp(1.35rem,3vw,2rem) .9rem;
  font-size:clamp(2.85rem,10vw,6.25rem);
  letter-spacing:-.035em;
  line-height:.92;
}
@media (min-width:980px){.hero__h{font-size:clamp(4rem,5.9vw,5.9rem)}}

.hero__sub{
  max-width:41ch;
  color:rgba(244,245,242,.72);
  font-size:clamp(1.02rem,.98rem + .3vw,1.24rem);
}
.hero__act{display:flex;align-items:center;gap:1.15rem;flex-wrap:wrap;margin-top:2rem}
.hero__free{
  padding:.62rem 1.35rem;
  background:#F4F5F2;color:var(--ink);
  border-radius:var(--r-pill);
  font-size:.94rem;
}

/* коллаж-стикеры */
.hero__art{position:relative;aspect-ratio:1/.92;min-height:280px}
.blob{
  position:absolute;inset:8% 6% 12% 10%;
  background:var(--lime);
  border-radius:58% 42% 46% 54% / 52% 48% 52% 48%;
  opacity:.9;
}
@media (prefers-reduced-motion:no-preference){
  .blob{animation:wobble 14s ease-in-out infinite}
}
@keyframes wobble{
  0%,100%{border-radius:58% 42% 46% 54% / 52% 48% 52% 48%;transform:rotate(0)}
  50%{border-radius:44% 56% 58% 42% / 46% 54% 46% 54%;transform:rotate(3deg)}
}

.hero__pic{
  position:absolute;margin:0;overflow:hidden;
  border-radius:var(--r-card);
  background:var(--card);
  box-shadow:0 0 0 7px var(--card),var(--shadow);
}
.hero__pic img{width:100%;height:100%;object-fit:contain;object-position:center bottom}
.hero__pic--a{width:47%;left:0;top:6%;transform:rotate(-4deg);z-index:3}
.hero__pic--b{width:44%;right:2%;top:0;transform:rotate(3.5deg);z-index:2}
.hero__pic--c{width:43%;left:29%;bottom:0;transform:rotate(-1.5deg);z-index:4}

.hero__sticker{position:absolute;width:19%;height:auto;z-index:5;filter:drop-shadow(0 8px 16px rgba(10,10,10,.18))}
.hero__sticker--heart{left:-3%;bottom:16%;transform:rotate(-12deg)}
.hero__sticker--chat{right:-2%;top:44%;transform:rotate(10deg)}

@media (max-width:979px){
  .hero__art{max-width:520px;margin-inline:auto;width:100%}
}

/* ── зачем приходить ────────────────────────────────────── */
.why{padding-block:var(--sec)}
.why__h{font-size:clamp(1.85rem,6.2vw,3.9rem);letter-spacing:-.03em}
.why__lead{margin-top:1.1rem;max-width:56ch;color:var(--fg-soft)}

.bento{
  margin-top:clamp(2.2rem,5vw,3.4rem);
  display:grid;gap:var(--gap);
  grid-template-columns:1fr;
}
/* 4 карточки на 2 ряда: 2+1 сверху, 1+2 снизу. Пустых ячеек не остаётся. */
@media (min-width:760px){
  .bento{grid-template-columns:repeat(3,1fr)}
  .cell--wide{grid-column:span 2}
  .cell--span2{grid-column:span 2}
}
.cell{
  position:relative;overflow:hidden;
  padding:clamp(1.5rem,2.6vw,2.2rem);
  background:var(--card);
  border:1px solid var(--line);
  border-radius:var(--r-card);
  display:flex;flex-direction:column;
  min-height:clamp(200px,22vw,250px);
}
/* иконки бренда двухцветные, поэтому им нужна белая подложка-стикер:
   на лайме терялась зелёная часть, на чёрном - чёрная */
.cell__ic{
  display:grid;place-items:center;
  width:clamp(60px,6.4vw,74px);aspect-ratio:1;
  margin-bottom:1.15rem;
  background:#FDFDFD;border-radius:50%;
  box-shadow:0 6px 14px -6px rgba(10,10,10,.35);
}
.cell__ic img{width:64%;height:64%;object-fit:contain}
.cell h3{font-size:clamp(1.3rem,2.4vw,1.85rem);letter-spacing:-.02em}
.cell p{margin-top:.7rem;color:var(--fg-soft);font-size:.98rem;max-width:44ch}

.cell--lime{background:var(--lime);border-color:transparent;color:var(--ink)}
.cell--lime p{color:rgba(10,10,10,.76)}
.cell--lime::after{
  content:"";position:absolute;right:-16%;bottom:-46%;width:58%;aspect-ratio:1;
  background:rgba(255,255,255,.26);border-radius:50%;
}
.cell--ink{background:var(--ink);border-color:transparent;color:#F4F5F2}
.cell--ink p{color:rgba(244,245,242,.72)}
/* в тёмной теме чёрная плашка растворяется в фоне,
   поэтому контрастная ячейка зеркалится в светлую */
@media (prefers-color-scheme:dark){
  .cell--ink{background:#F4F5F2;color:var(--ink)}
  .cell--ink p{color:rgba(10,10,10,.72)}
}
.cell--span2{
  background:
    radial-gradient(110% 120% at 88% 6%,rgba(124,230,12,.42) 0%,transparent 60%),
    var(--card);
}

/* ── бегущая строка ─────────────────────────────────────── */
/* обёртка обязательна: полоса повёрнута и растянута, без неё
   она расширяет документ и на телефоне появляется боковой сдвиг */
.marq-wrap{overflow:hidden}
.marq{
  overflow:hidden;
  background:var(--lime);
  color:var(--ink);
  transform:rotate(-1.6deg) scale(1.04);
  padding-block:.85rem;
  border-block:3px solid var(--ink);
}
.marq__track{display:flex;width:max-content}
.marq__set{
  display:flex;align-items:center;flex:none;
  font-size:clamp(1.5rem,4vw,2.6rem);
  letter-spacing:-.02em;text-transform:lowercase;
}
.marq__set b{padding-inline:.6rem;font-weight:600}
.marq__set i{width:.62em;height:.62em;background:var(--ink);border-radius:50%;flex:none}
@media (prefers-reduced-motion:no-preference){
  .marq__track{animation:slide 26s linear infinite}
}
@keyframes slide{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
@media (prefers-reduced-motion:reduce){
  .marq{padding-block:1rem}
  .marq__track{width:100%;justify-content:center}
  .marq__set:last-child{display:none}
  .marq__set{flex-wrap:wrap;justify-content:center}
}

/* ── спикеры ────────────────────────────────────────────── */
.spk{padding-block:var(--sec)}
.spk__h{font-size:clamp(1.9rem,6.2vw,3.9rem);letter-spacing:-.03em}
.spk__grid{
  margin-top:clamp(2.2rem,5vw,3.4rem);
  display:grid;gap:clamp(1.6rem,3.4vw,2.6rem);
  grid-template-columns:1fr;
}
@media (min-width:820px){
  .spk__grid{grid-template-columns:repeat(3,1fr);align-items:start}
  /* карточки посажены «от руки», как наклейки.
     Поворот и сдвиг живут в переменных, чтобы не драться
     за transform с анимацией появления. */
  .spk__grid .card:nth-child(1){--rot:-1.6deg;--ty:0rem}
  .spk__grid .card:nth-child(2){--rot:1.1deg;--ty:clamp(1.5rem,4vw,3rem)}
  .spk__grid .card:nth-child(3){--rot:-.7deg;--ty:clamp(.5rem,1.4vw,1rem)}
  .spk__grid .card:hover{--rot:0deg;--ty:-6px}
}
.card{
  background:var(--card);
  border-radius:var(--r-card);
  padding:clamp(1rem,1.6vw,1.4rem);
  box-shadow:var(--shadow);
  border:1px solid var(--line);
  transform:rotate(var(--rot,0deg)) translateY(calc(var(--ty,0rem) + var(--rise,0rem)));
  transition:transform .35s var(--ease);
}
@media (prefers-reduced-motion:reduce){
  .card{transform:none;transition:none}
}
.card__pic{
  margin:0 0 1.2rem;overflow:hidden;
  border-radius:20px;
  background:linear-gradient(145deg,rgba(124,230,12,.19),rgba(124,230,12,.035) 58%,#FDFDFD);
  aspect-ratio:4/5;
}
.card__pic img{width:100%;height:100%;object-fit:contain;object-position:center bottom}
.card__name{font-size:clamp(1.35rem,2.4vw,1.7rem);letter-spacing:-.02em}
.card__txt{margin-top:.65rem;color:var(--fg-soft);font-size:.98rem}

/* ── место и формат ─────────────────────────────────────── */
.venue{padding-block:var(--sec);background:var(--bg-2)}
.venue__in{display:grid;gap:clamp(2.4rem,5vw,4rem)}
@media (min-width:900px){
  .venue__in{grid-template-columns:minmax(0,1fr) minmax(0,.9fr);align-items:center}
}
.venue__h{font-size:clamp(2rem,7vw,4.4rem);letter-spacing:-.035em}
.venue__addr{
  margin-top:1.2rem;font-size:clamp(1.1rem,1rem + .6vw,1.4rem);
}
.venue__note{margin-top:1.1rem;max-width:42ch;color:var(--fg-soft)}
.lnk{
  display:inline-block;margin-top:1.5rem;
  color:var(--fg);text-decoration:none;
  border-bottom:2px solid var(--lime);padding-bottom:2px;
  transition:border-color .2s var(--ease);
}
.lnk:hover{border-color:var(--fg)}

.tags{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.9rem}
.tag{
  display:inline-flex;align-items:center;gap:.7rem;
  padding:.72rem 1.4rem .72rem .8rem;
  background:var(--card);
  border:2px solid var(--ink);
  border-radius:var(--r-pill);
  font-size:clamp(.95rem,.92rem + .2vw,1.08rem);
  letter-spacing:-.005em;
}
.tag img{width:32px;height:32px;object-fit:contain;flex:none}
@media (prefers-color-scheme:dark){
  .tag{border-color:var(--line)}
}

/* ── регистрация (единственный тёмный блок, финал страницы) ── */
.reg{
  background:var(--ink);color:#F4F5F2;
  /* снизу отступ меньше: подвал того же цвета и читается как продолжение блока */
  padding-block:var(--sec) calc(var(--sec) * .55);
  border-radius:var(--r-card) var(--r-card) 0 0;
}
.reg__in{
  width:min(100% - (var(--pad) * 2),1080px);margin-inline:auto;
  display:grid;gap:clamp(2.4rem,5vw,4rem);align-items:start;
}
@media (min-width:900px){
  .reg__in{grid-template-columns:minmax(0,.95fr) minmax(0,1fr)}
}
.reg__h{font-size:clamp(2rem,7vw,4rem);letter-spacing:-.035em}
.reg__sub{margin-top:1.1rem;max-width:38ch;color:rgba(244,245,242,.72)}
.reg .stamp--dark{margin-top:1.8rem}

.form{display:grid;gap:1.35rem}
.field{display:grid;gap:.5rem}
.field label{font-size:.94rem;color:rgba(244,245,242,.9)}
.field input{
  width:100%;
  padding:1rem 1.15rem;
  font-family:inherit;font-size:1.02rem;
  color:var(--ink);background:#FDFDFD;
  border:2px solid transparent;border-radius:var(--r-field);
  transition:border-color .18s var(--ease);
}
.field input::placeholder{color:#6B6B6B}
.field input:hover{border-color:rgba(124,230,12,.5)}
.field input:focus{border-color:var(--lime);outline-offset:2px}
.field input[aria-invalid="true"]{border-color:#FF6B57}
.phone-control{
  display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;
  background:#FDFDFD;border:2px solid transparent;border-radius:var(--r-field);
  transition:border-color .18s var(--ease);overflow:hidden;
}
.phone-control:hover{border-color:rgba(124,230,12,.5)}
.phone-control:focus-within{border-color:var(--lime)}
.phone-control:has(input[aria-invalid="true"]){border-color:#FF6B57}
.phone-control__prefix{
  padding-left:1.15rem;color:var(--ink);font-size:1.02rem;white-space:nowrap;
  user-select:none;-webkit-user-select:none;
}
.field .phone-control input{
  min-width:0;padding-left:.45rem;border:0;border-radius:0;background:transparent;
  letter-spacing:.04em;
}
.field .phone-control input:hover,.field .phone-control input:focus,
.field .phone-control input[aria-invalid="true"]{border-color:transparent;outline:none}
.hint{font-size:.86rem;color:rgba(244,245,242,.62)}
.err{font-size:.88rem;color:#FF8F7E}

.check{display:grid;grid-template-columns:auto 1fr;gap:.4rem .75rem;align-items:start}
.check input{
  width:22px;height:22px;margin:2px 0 0;flex:none;
  accent-color:var(--lime);cursor:pointer;
}
.check label{font-size:.9rem;color:rgba(244,245,242,.78);line-height:1.5}
.check a{color:var(--lime)}
.check .err{grid-column:1/-1}

.form__note{min-height:1.2em;font-size:.92rem;color:#FF8F7E}
.form__note[data-ok]{color:var(--lime)}

.spin{
  display:none;width:17px;height:17px;flex:none;
  border:2.5px solid rgba(10,10,10,.28);border-top-color:var(--ink);
  border-radius:50%;
}
.btn[disabled] .spin{display:block}
@media (prefers-reduced-motion:no-preference){
  .btn[disabled] .spin{animation:spin .7s linear infinite}
}
@keyframes spin{to{transform:rotate(360deg)}}

.done{text-align:center;padding-block:1.5rem}
.done img{width:88px;margin:0 auto 1.5rem}
.done h2{font-size:clamp(2rem,5vw,2.9rem);letter-spacing:-.03em}
.done p{margin:1rem auto 2rem;max-width:36ch;color:rgba(244,245,242,.74)}
@media (min-width:900px){.done{grid-column:1/-1}}

/* ── подвал ─────────────────────────────────────────────── */
.foot{background:var(--ink);color:rgba(244,245,242,.68);padding-block:clamp(2.5rem,6vw,4rem)}
.foot__in{display:grid;gap:clamp(1.8rem,4vw,2.8rem)}
.foot__partners{
  width:100%;display:flex;align-items:center;justify-content:center;
  gap:clamp(2rem,5vw,4.5rem);
}
.foot__partners-line{
  width:min(100%,780px);height:auto;
}
.foot__national-projects{
  width:clamp(130px,16vw,190px);height:auto;flex:none;
}
@media (max-width:760px){
  .foot__partners{flex-direction:column;gap:2rem}
  .foot__partners-line{width:100%}
  .foot__national-projects{width:min(44vw,180px)}
}
.foot__legal{
  max-width:92ch;justify-self:center;text-align:center;
  color:rgba(244,245,242,.66);font-size:clamp(.8rem,.76rem + .15vw,.9rem);line-height:1.55;
}
.foot__legal a{
  color:#F4F5F2;text-decoration-color:var(--lime);text-underline-offset:3px;
}
.foot__legal a:hover{color:var(--lime)}
.foot__row{
  display:grid;gap:1rem;
  padding-top:clamp(1.5rem,3vw,2.2rem);
  border-top:1px solid rgba(244,245,242,.14);
}
@media (min-width:760px){
  .foot__row{grid-template-columns:1fr auto;align-items:center;gap:2rem}
}
.foot__org{font-size:.92rem}
.foot__nav{display:flex;flex-wrap:wrap;gap:1.2rem;font-size:.9rem}
.foot__nav a{color:rgba(244,245,242,.8);text-decoration:none;border-bottom:1px solid transparent}
.foot__nav a:hover{border-bottom-color:var(--lime);color:#F4F5F2}

/* ── появление при скролле ──────────────────────────────── */
@media (prefers-reduced-motion:no-preference){
  .js [data-rise]{opacity:0;transform:translateY(20px)}
  .js [data-rise].in{
    opacity:1;transform:none;
    transition:opacity .7s var(--ease),transform .7s var(--ease);
    transition-delay:calc(var(--d,0) * 90ms);
  }
  /* карточки-наклейки едут по --rise, сохраняя свой поворот */
  .js .card[data-rise]{--rise:1.25rem;transform:rotate(var(--rot,0deg)) translateY(calc(var(--ty,0rem) + var(--rise)))}
  .js .card[data-rise].in{
    --rise:0rem;
    transition:opacity .7s var(--ease),transform .7s var(--ease);
    transition-delay:calc(var(--d,0) * 90ms);
  }
}

/* ── документ (политика) ────────────────────────────────── */
.doc{padding-block:clamp(3rem,8vw,5.5rem)}
.doc__in{width:min(100% - (var(--pad) * 2),720px);margin-inline:auto}
.doc__h{font-size:clamp(1.75rem,6.4vw,3.6rem);letter-spacing:-.035em}
.doc__lead{margin-top:1.2rem;color:var(--fg-soft)}
.doc section{margin-top:clamp(2.2rem,5vw,3rem)}
.doc h2{font-size:clamp(1.25rem,2.6vw,1.6rem);letter-spacing:-.02em;margin-bottom:.8rem}
.doc p + p{margin-top:.9rem}
.doc ul{margin:.9rem 0 0;padding-left:1.2rem;color:var(--fg-soft)}
.doc li + li{margin-top:.35rem}
.doc a{color:var(--fg);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--lime)}
/* места, которые нужно заполнить реквизитами */
[data-fill]{
  background:rgba(124,230,12,.22);
  padding:.05em .3em;border-radius:5px;
  font-weight:inherit;
}
.doc__date{margin-top:clamp(2.2rem,5vw,3rem);color:var(--fg-soft);font-size:.9rem}
.doc .btn{margin-top:2rem}

/* ── тёмная тема: финальный блок ────────────────────────── */
/* фон страницы почти чёрный, поэтому блок регистрации и подвал
   поднимаются на тон выше, иначе граница между ними пропадает */
@media (prefers-color-scheme:dark){
  .reg,.foot{background:#191B14}
  .foot{border-top:1px solid rgba(244,245,242,.08)}
}
