/* ============================================================
   Feedback · промо «31 июля — мнём цены»
   Дизайн-система перенесена с feedback-massage.ru (см. DESIGN.md)
   Шрифты бренда: NeutralFace (дисплей) + TT Norms Pro (всё остальное)
   Градиенты и сплэши — авторский код с основного сайта, адаптирован
   ============================================================ */

@font-face{
  font-family:'NeutralFace';
  src:url('../fonts/NeutralFace.woff') format('woff');
  font-weight:300;font-style:normal;font-display:swap;
}
@font-face{
  font-family:'TT Norms Pro';
  src:url('../fonts/TT_Norms_Pro_L.woff') format('woff');
  font-weight:300;font-style:normal;font-display:swap;
}
@font-face{
  font-family:'TT Norms Pro';
  src:url('../fonts/TT_Norms_Pro_R.woff') format('woff');
  font-weight:400;font-style:normal;font-display:swap;
}

/* ---------- Токены ---------- */
:root{
  --bg:#1F1E1E;
  --bg-deep:#171617;
  --surface:#292828;
  --ink:#F2F1F6;
  --ink-dim:#B3B3B3;      /* серый вторичного текста сайта */
  --ink-faint:#969499;
  --accent:#FF8562;       /* оранжевый ссылок сайта */
  --line:rgba(242,241,246,.16);
  --line-strong:rgba(242,241,246,.55);
  /* фирменный перелив */
  --g-purple:#792192;
  --g-violet:#9B68B0;
  --g-lilac:#A17AB0;
  --g-pink:#E13C7E;
  --g-orange:#F59051;
  --g-peach:#FFBA7F;
  --g-deep:#661B76;
  --display:'NeutralFace', Arial, sans-serif;
  --ui:'TT Norms Pro', Arial, sans-serif;
  --container:1100px;
  --z-sticky:30;
  --ease:cubic-bezier(.19,1,.22,1);
}

/* ---------- База ---------- */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font:300 16px/1.62 var(--ui);
  overflow-x:clip;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--accent)}
:focus-visible{outline:2px solid var(--g-orange);outline-offset:3px;border-radius:4px}
.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:clamp(18px,4.5vw,32px)}
.section{padding-block:clamp(64px,11vw,120px)}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

.h2{
  font:300 clamp(1.85rem,5.4vw,3.3rem)/1.08 var(--display);
  letter-spacing:.015em;
  text-transform:uppercase;
  margin:0 0 .6em;
  text-wrap:balance;
}
p{margin:0 0 1em}

/* ---------- Фирменный перелив (авторский код сайта: .gradient-word) ---------- */
.gw{
  font-weight:500;
  background:linear-gradient(270deg,var(--g-purple),var(--g-violet),var(--g-orange),var(--g-purple),var(--g-violet),var(--g-orange));
  background-size:600% 600%;
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
  animation:shimmer 20s ease infinite;
}
/* светлая версия — для данных на тёмном фоне (контраст) */
.gw--bright{
  background-image:linear-gradient(270deg,var(--g-pink),var(--g-orange),var(--g-peach),var(--g-pink),var(--g-orange),var(--g-peach));
  animation-duration:14s;
}
@keyframes shimmer{
  0%{background-position:0% 50%}
  50%{background-position:100% 50%}
  100%{background-position:0% 50%}
}

/* ---------- Кнопки (пилюли сайта: TT Norms 400, капс, radius 30) ---------- */
.btn{
  position:relative;
  display:inline-flex;align-items:center;justify-content:center;
  min-height:52px;padding:1em 2em;
  border-radius:30px;border:1px solid transparent;
  font:400 14px/1.15 var(--ui);
  letter-spacing:.05em;text-transform:uppercase;
  text-decoration:none;cursor:pointer;
  transition:transform .35s var(--ease),background-color .25s,border-color .25s,color .25s;
  will-change:transform;
}
.btn:active{transform:scale(.96,.9)} /* кнопку тоже мнём */
.btn > span{position:relative;z-index:2}
.btn--primary{background:var(--ink);color:var(--bg)}
.btn--primary:hover{background:#fff}
.btn--ghost{border-color:var(--line-strong);color:var(--ink);background:transparent}
.btn--ghost:hover{border-color:var(--ink)}

/* Сплэш-кнопка: пятно переливается из угла (авторский паттерн .button2/.corner-splash).
   Двухслойная структура как на сайте: blur лежит на обёртке ПОВЕРХ clip-path фигуры —
   поэтому края пятна всегда мягкие. */
.btn--splash{
  overflow:hidden;
  border-color:var(--line-strong);
  color:var(--ink);background:transparent;
  isolation:isolate;
}
.btn--splash .blob{
  position:absolute;inset:0;z-index:0;
  pointer-events:none;
  filter:blur(22px);
  transition:filter .3s ease;
}
.btn--splash .blob::before{
  content:'';
  position:absolute;
  left:-12%;bottom:-80%;
  width:85%;height:260%;
  background:radial-gradient(ellipse at 30% 70%,
    var(--g-deep) 0 14%,
    var(--g-lilac) 32%,
    var(--g-orange) 48%,
    var(--g-peach) 62% 80%,
    transparent 92%);
  clip-path:polygon(0% 0%,65% 0%,80% 12%,72% 28%,86% 42%,60% 55%,46% 70%,22% 62%,10% 78%,0% 62%);
  animation:fb-splash 9s ease-in-out infinite;
  transform-origin:bottom left;
  will-change:transform,clip-path;
}
.btn--splash:hover{border-color:var(--ink)}
.btn--splash:hover .blob{filter:blur(16px)}
/* объединённые splash-wander + morph-shape с сайта */
@keyframes fb-splash{
  0%{transform:translate(0,0) rotate(0) scale(1);
     clip-path:polygon(0% 0%,65% 0%,80% 12%,72% 28%,86% 42%,60% 55%,46% 70%,22% 62%,10% 78%,0% 62%)}
  25%{transform:translate(6%,-4%) rotate(2.2deg) scale(1.07)}
  50%{transform:translate(3%,3%) rotate(-1.8deg) scale(.96);
     clip-path:polygon(0% 0%,60% 0%,85% 15%,68% 36%,90% 52%,55% 82%,38% 110%,24% 94%,12% 110%,0% 92%)}
  75%{transform:translate(8%,4%) rotate(3deg) scale(1.09)}
  100%{transform:translate(0,0) rotate(0) scale(1);
     clip-path:polygon(0% 0%,65% 0%,80% 12%,72% 28%,86% 42%,60% 55%,46% 70%,22% 62%,10% 78%,0% 62%)}
}

/* ---------- Шапка ---------- */
.hdr{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding-block:18px;
}
.hdr__logo img{width:clamp(132px,17vw,168px);height:auto}
.hdr__right{display:flex;align-items:center;gap:18px}
.hdr__city{
  display:inline-flex;align-items:center;gap:7px;
  background:none;border:1px solid var(--line-strong);border-radius:30px;
  color:var(--ink);font:400 12px/1 var(--ui);
  letter-spacing:.05em;text-transform:uppercase;
  min-height:40px;padding:10px 16px;cursor:pointer;
  transition:border-color .25s;
}
.hdr__city:hover{border-color:var(--ink)}
.hdr__phone{
  color:var(--ink);text-decoration:none;
  font:400 14px/1 var(--ui);
  display:none;
}
.hdr__phone:hover{color:var(--accent)}

/* ---------- Hero ---------- */
.hero{
  position:relative;
  overflow:clip;
  display:flex;align-items:flex-end;
  min-height:max(560px,88svh);
  padding-block:clamp(48px,8vw,90px);
}
.hero__media{position:absolute;inset:0;z-index:0}
.hero__video{width:100%;height:100%;object-fit:cover}
.hero__shade{
  position:absolute;inset:0;
  background:
    linear-gradient(180deg,rgba(23,22,23,.66) 0%,rgba(23,22,23,.32) 40%,rgba(23,22,23,.94) 100%),
    radial-gradient(120% 90% at 80% 10%,transparent 40%,rgba(23,22,23,.5) 100%);
}
/* «31» — фирменный перелив в размере плаката */
.hero__num{
  position:absolute;z-index:1;
  right:-.04em;top:-.1em;
  font:500 clamp(13rem,38vw,30rem)/1 var(--display);
  background:linear-gradient(270deg,var(--g-purple),var(--g-violet),var(--g-orange),var(--g-purple),var(--g-violet),var(--g-orange));
  background-size:600% 600%;
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
  animation:shimmer 20s ease infinite,num-breathe 3.4s ease-in-out infinite alternate;
  user-select:none;
}
@keyframes num-breathe{from{opacity:.5}to{opacity:.85}}
.hero__inner{position:relative;z-index:2}
.hero__date{
  font:400 13px/1 var(--ui);letter-spacing:.1em;text-transform:uppercase;
  color:var(--g-peach);margin-bottom:18px;
}
.hero__title{
  font:300 clamp(2.7rem,11.5vw,5.9rem)/.98 var(--display);
  letter-spacing:.01em;text-transform:uppercase;
  margin:0 0 .35em;
  text-wrap:balance;
}
.hero__sub{max-width:34em;font-size:clamp(1.02rem,2.4vw,1.2rem);margin-bottom:30px}
.hero__cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.hero__proof{
  margin:22px 0 0;
  font:400 12px/1.5 var(--ui);letter-spacing:.05em;text-transform:uppercase;
  color:var(--ink-dim);
}

/* ---------- Каунтдаун ---------- */
.countdown{display:flex;gap:clamp(14px,4vw,28px)}
.countdown__cell{display:flex;flex-direction:column;gap:6px;min-width:2.2ch}
.countdown__num{
  font:300 clamp(1.7rem,6.5vw,2.7rem)/1 var(--display);
  font-variant-numeric:tabular-nums;
}
.countdown__lbl{font:400 11px/1 var(--ui);letter-spacing:.09em;text-transform:uppercase;color:var(--ink-dim)}
.countdown--compact{justify-content:center;margin-bottom:34px}
.countdown--compact .countdown__num{font-size:clamp(1.4rem,5vw,2rem)}

/* ---------- Почему ---------- */
.why{background:var(--bg-deep)}
.why__grid{display:grid;gap:clamp(32px,6vw,64px)}
.why__text p{color:var(--ink-dim);max-width:58ch}
.why__text p:first-of-type{color:var(--ink)}
.why__photo{margin:0}
.why__photo img{border-radius:14px;width:100%;height:100%;object-fit:cover}
.why__note{font-size:.92rem;color:var(--ink-faint)}
.compare{margin:28px 0 18px;border-top:1px solid var(--line)}
.compare__row{
  display:grid;grid-template-columns:1.4fr 1fr 1fr;
  align-items:baseline;gap:10px;
  padding:12px 0;border-bottom:1px solid var(--line);
}
.compare__row--head{
  font:400 11px/1 var(--ui);letter-spacing:.09em;text-transform:uppercase;color:var(--ink-faint);
}
.compare__today{color:var(--g-peach)}
.compare__old{color:var(--ink-faint);text-decoration:line-through;text-decoration-color:rgba(245,144,81,.55)}
.compare__new{font-family:var(--display);font-size:1.4rem;line-height:1}

/* ---------- Калькулятор ---------- */
.calc__title{max-width:14em}
.calc__hint{color:var(--ink-dim);max-width:52ch;margin-bottom:34px}
.calc__panel{
  position:relative;
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:16px;
  padding:clamp(22px,4.5vw,40px);
  overflow:hidden;
  isolation:isolate;
}
/* «пламя» из нижнего угла панели — авторский паттерн .corner-splash сайта.
   Blur на обёртке, clip-path на внутреннем слое → мягкие края. */
.calc__splash{
  position:absolute;z-index:0;pointer-events:none;
  left:-12%;bottom:-16%;
  width:60%;height:64%;
  filter:blur(44px);
  opacity:.45;
}
.calc__splash::before{
  content:'';
  position:absolute;inset:0;
  background:radial-gradient(ellipse at 35% 85%,
    var(--g-deep) 0%,
    var(--g-lilac) 22%,
    #F08930 42% 50%,
    var(--g-peach) 66% 84%,
    transparent 92%);
  clip-path:polygon(0% 100%,15% 75%,30% 50%,40% 35%,45% 30%,50% 32%,55% 30%,60% 35%,70% 50%,85% 75%,100% 100%);
  animation:fb-flame 12s ease-in-out infinite;
  transform-origin:center bottom;
  will-change:transform,clip-path;
}
/* объединённые flame-rise + flame-morph + splash-wander с сайта */
@keyframes fb-flame{
  0%{transform:translate(0,15%) rotate(0) scale(1);
     clip-path:polygon(0% 100%,15% 75%,30% 50%,40% 35%,45% 30%,50% 32%,55% 30%,60% 35%,70% 50%,85% 75%,100% 100%)}
  25%{transform:translate(4%,10%) rotate(2deg) scale(1.08);
     clip-path:polygon(0% 100%,12% 78%,28% 53%,38% 38%,43% 33%,50% 35%,57% 33%,62% 38%,72% 53%,88% 78%,100% 100%)}
  50%{transform:translate(-3%,12%) rotate(-1deg) scale(1.04);
     clip-path:polygon(0% 100%,18% 72%,32% 47%,42% 32%,47% 28%,50% 30%,53% 28%,58% 32%,68% 47%,82% 72%,100% 100%)}
  75%{transform:translate(2%,14%) rotate(1deg) scale(1.06);
     clip-path:polygon(0% 100%,13% 77%,29% 52%,39% 37%,44% 32%,50% 34%,56% 32%,61% 37%,71% 52%,87% 77%,100% 100%)}
  100%{transform:translate(0,15%) rotate(0) scale(1);
     clip-path:polygon(0% 100%,15% 75%,30% 50%,40% 35%,45% 30%,50% 32%,55% 30%,60% 35%,70% 50%,85% 75%,100% 100%)}
}
.calc__cities,.calc__packs-col,.calc__out{position:relative;z-index:1}
.calc__cities{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:26px}
.city-chip{
  border:1px solid var(--line-strong);background:none;border-radius:30px;
  color:var(--ink);font:400 12px/1 var(--ui);
  letter-spacing:.05em;text-transform:uppercase;
  min-height:44px;padding:11px 18px;cursor:pointer;
  transition:background-color .25s,color .25s,border-color .25s,transform .35s var(--ease);
}
.city-chip:hover{border-color:var(--ink)}
.city-chip:active{transform:scale(.94)}
.city-chip[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--bg)}

/* Продуктовая сетка абонементов.
   Правый столбец — жёсткая логика сверху вниз: скидка → цена сейчас → цена было,
   одинаково во всех карточках, выравнивание по правому краю. */
.calc__packs{display:grid;gap:9px;margin-bottom:28px}
.pack{
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  background:none;border:1px solid var(--line);border-radius:12px;
  color:var(--ink);font-family:var(--ui);padding:14px 16px;cursor:pointer;text-align:left;
  transition:border-color .25s,background-color .25s,transform .35s var(--ease);
}
.pack:hover{border-color:var(--g-lilac)}       /* ховер сайта: #A17AB0 */
.pack:active{transform:scale(.98)}
.pack[aria-pressed="true"]{
  border-color:var(--g-lilac);
  box-shadow:0 0 0 1px var(--g-lilac);
  background:rgba(161,122,176,.07);
}
.pack__left{display:flex;flex-direction:column;gap:5px;min-width:0}
.pack__top{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.pack__hours{font:300 1.3rem/1 var(--display)}
.pack__flag{
  font:400 10px/1 var(--ui);letter-spacing:.08em;text-transform:uppercase;
  font-style:normal;
  border:1px solid var(--line-strong);border-radius:30px;
  padding:4px 9px;color:var(--ink-dim);
}
.pack__flag--hit{border-color:var(--g-orange);color:var(--g-peach)}
.pack__name{font:300 13px/1.3 var(--ui);color:var(--ink-dim)}
.pack__right{
  display:flex;flex-direction:column;align-items:flex-end;gap:3px;
  flex:0 0 auto;
}
.pack__disc{font:500 1.05rem/1 var(--display)}
.pack__new{font:300 1.12rem/1 var(--display);color:var(--ink);white-space:nowrap}
.pack__was{font:300 12px/1 var(--ui);color:var(--ink-faint);white-space:nowrap;text-decoration-color:rgba(245,144,81,.55)}

/* Надж под списком пакетов */
.calc__nudge{margin:12px 0 0;font:300 13px/1.5 var(--ui);color:var(--ink-dim)}

/* Выдача цены: строгая иерархия — кикер, большая цифра со скидкой,
   одна тихая строка «вместо», один акцент «экономия», кнопка, две микро-строки */
.calc__out{border-top:1px solid var(--line);padding-top:28px}
.out__kicker{
  margin:0 0 16px;
  font:400 12px/1.4 var(--ui);letter-spacing:.09em;text-transform:uppercase;
  color:var(--ink-dim);
}
.out__price{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;margin:0 0 12px}
.out__sum{font:300 clamp(2.4rem,8vw,3.6rem)/1 var(--display);color:var(--ink)}
.out__disc{font:500 clamp(1.15rem,3.5vw,1.4rem)/1 var(--display)}
.out__was{margin:0 0 16px;font:300 15px/1.55 var(--ui);color:var(--ink-dim)}
.out__was s{
  display:inline-block;
  color:var(--ink-faint);
  text-decoration-color:rgba(245,144,81,.6);
  text-decoration-thickness:1.5px;
}
.out__was b{font-weight:400;color:var(--ink)}
.out__save{margin:0 0 24px;font:300 15px/1.55 var(--ui)}
.out__save .gw{font-family:var(--ui);font-weight:500}
.out__left{margin:14px 0 0;font:400 12.5px/1.5 var(--ui);color:var(--g-peach);text-align:center}
.out__note{margin:6px 0 0;font:300 12.5px/1.5 var(--ui);color:var(--ink-faint);text-align:center}
.knead{animation:knead .55s var(--ease)}
@keyframes knead{
  0%{transform:none}
  30%{transform:scaleY(.25) scaleX(1.12) skewX(-9deg)}
  60%{transform:scaleY(1.18) scaleX(.94) skewX(4deg)}
  100%{transform:none}
}
.calc__cta{width:100%;font-size:15px;min-height:58px}
.calc__rules{
  list-style:none;margin:36px 0 0;padding:0;
  display:grid;gap:10px;
}
.calc__rules li{color:var(--ink-dim);padding-left:26px;position:relative}
.calc__rules li::before{content:'✳';position:absolute;left:0;color:var(--g-orange)}

/* ---------- Кому этот день (новички / постоянники) ---------- */
.paths{background:var(--bg-deep)}
.paths__grid{display:grid;gap:clamp(28px,5vw,56px)}
.path{max-width:52ch}
.path__h{
  margin:0 0 14px;
  font:300 clamp(1.15rem,3vw,1.5rem)/1.2 var(--display);
  text-transform:uppercase;letter-spacing:.02em;
}
.path p{color:var(--ink-dim)}
.path__ps{color:var(--ink)}
.path .btn{margin-top:6px}
.path .btn b{font-weight:400}

/* ---------- Почему больше — выгоднее ---------- */
.worth__row{
  display:grid;gap:10px 48px;
  padding-block:26px;
  border-top:1px solid var(--line);
}
.worth__row:last-child{border-bottom:1px solid var(--line)}
.worth__h{
  margin:0;
  font:300 clamp(1.05rem,2.6vw,1.3rem)/1.25 var(--display);
  text-transform:uppercase;letter-spacing:.02em;
}
.worth__body p{color:var(--ink-dim);max-width:60ch;margin-bottom:14px}
.worth__body p:last-child{margin-bottom:0}
.ladder{display:flex;flex-wrap:wrap;gap:8px}
.ladder__step{
  border:1px solid var(--line);border-radius:30px;
  padding:9px 14px;
  font:400 13px/1.3 var(--ui);color:var(--ink-dim);
  white-space:nowrap;
}
.ladder__step b{font-weight:400;color:var(--ink);display:block}
.ladder__step--max{border-color:rgba(245,144,81,.6)}
.ladder__step--max b{font-weight:500}

/* ---------- Цифры ---------- */
.stats{background:var(--bg-deep);padding-block:clamp(48px,8vw,84px)}
.stats__row{display:grid;grid-template-columns:repeat(2,1fr);gap:32px 18px}
.stat{display:flex;flex-direction:column;gap:8px}
.stat__num{font:300 clamp(2.6rem,9vw,4.2rem)/1 var(--display)}
.stat__num--grad{font-weight:500}
.stat__lbl{font:400 12px/1.3 var(--ui);letter-spacing:.09em;text-transform:uppercase;color:var(--ink-dim)}

/* ---------- FAQ (паттерн сайта: открытый заголовок переливается, ховер сиреневый) ---------- */
.faq__inner{max-width:760px}
.faq__item{border-bottom:1px solid var(--line)}
.faq__item summary{
  list-style:none;cursor:pointer;
  display:flex;align-items:center;justify-content:space-between;gap:18px;
  padding:20px 0;
  font:400 1.02rem/1.4 var(--ui);
  transition:color .3s ease;
}
.faq__item summary:hover{color:var(--g-lilac)}
.faq__item summary::-webkit-details-marker{display:none}
.faq__item summary::after{
  content:'+';flex:0 0 auto;
  font:300 1.6rem/1 var(--display);color:var(--g-orange);
  transition:transform .35s var(--ease);
}
.faq__item[open] summary{
  font-weight:500;
  background:linear-gradient(270deg,var(--g-pink),var(--g-orange),var(--g-peach),var(--g-pink),var(--g-orange),var(--g-peach));
  background-size:600% 600%;
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
  animation:shimmer 14s ease infinite;
}
.faq__item[open] summary::after{transform:rotate(45deg);-webkit-text-fill-color:var(--g-orange)}
.faq__item p{color:var(--ink-dim);margin:0 0 22px;max-width:60ch}

/* ---------- Финал ---------- */
.last{background:var(--bg-deep);text-align:center;position:relative;overflow:clip}
.last__inner{position:relative;z-index:1}
.last__num{
  position:absolute;inset-inline:0;top:-.18em;z-index:0;
  font:300 clamp(5rem,22vw,11rem)/1 var(--display);
  color:transparent;
  -webkit-text-stroke:1px rgba(245,144,81,.3);
  pointer-events:none;user-select:none;
}
.last .h2{margin-inline:auto}
.last__loss{color:var(--ink-dim);margin-bottom:26px}
.last .btn{margin-top:6px}

/* ---------- Футер ---------- */
.ftr{background:#141314;padding-top:clamp(48px,8vw,72px)}
.ftr__grid{display:grid;gap:40px;padding-bottom:40px}
.ftr__brand img{width:150px;margin-bottom:18px}
.ftr__brand p{color:var(--ink-dim);font-size:.95rem}
.ftr__socials{display:flex;gap:18px}
.ftr__socials a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line);font:400 14px/1.6 var(--ui)}
.ftr__socials a:hover{color:var(--g-peach);border-color:var(--g-peach)}
.ftr__h{font:300 1.1rem/1.2 var(--display);text-transform:uppercase;letter-spacing:.02em;margin:0 0 16px}
.ftr__list{list-style:none;margin:0 0 18px;padding:0;display:grid;gap:8px}
.ftr__list li{color:var(--ink-dim);font-size:.95rem}
.ftr__city a{color:var(--ink)}
.ftr__legal{border-top:1px solid var(--line);padding-block:22px 30px}
.ftr__legal p{font-size:.8rem;color:var(--ink-faint);max-width:72ch}

/* ---------- Sticky CTA ---------- */
.sticky{
  position:fixed;inset-inline:0;bottom:0;z-index:var(--z-sticky);
  display:flex;align-items:center;gap:14px;
  background:rgba(20,19,20,.92);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  border-top:1px solid var(--line);
  padding:10px clamp(16px,4.5vw,28px) calc(10px + env(safe-area-inset-bottom));
  transform:translateY(110%);
  transition:transform .45s var(--ease);
}
.sticky.is-on{transform:none}
.sticky__info{display:flex;flex-direction:column;gap:1px;min-width:0}
.sticky__disc{font:400 11px/1.2 var(--ui);letter-spacing:.06em;color:var(--g-peach)}
.sticky__old{font-size:12px;color:var(--ink-faint)}
.sticky__price{font:300 1.35rem/1.1 var(--display);color:var(--ink);white-space:nowrap}
.sticky__btn{margin-left:auto;flex:0 0 auto;min-height:48px;padding-inline:1.6em}

/* ---------- Reveal ---------- */
html.js .rev{opacity:0;transform:translateY(14px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
html.js .rev.in{opacity:1;transform:none}

/* ---------- Десктоп ---------- */
@media (min-width:720px){
  .hdr__phone{display:inline}
  .why__grid{grid-template-columns:1.1fr .9fr;align-items:center}
  .stats__row{grid-template-columns:repeat(4,1fr)}
  .worth__row{grid-template-columns:.9fr 1.1fr}
  .paths__grid{grid-template-columns:1fr 1fr}
  .calc__cta{width:auto;padding-inline:3em}
  .out__left,.out__note{text-align:left}
  .ftr__grid{grid-template-columns:1fr 1.2fr}
}
@media (min-width:1000px){
  .calc__panel{
    display:grid;
    grid-template-columns:1.05fr .95fr;
    gap:0 56px;
  }
  .calc__cities{grid-column:1 / -1}
  .calc__out{
    grid-row:2;grid-column:2;
    border-top:0;border-left:1px solid var(--line);
    padding-top:0;padding-left:56px;
    align-self:start;
  }
  .calc__packs{margin-bottom:0}
  .calc__nudge{margin-top:14px}
}
@media (min-width:820px){
  .sticky{display:none}
}

/* ---------- Reduced motion (паттерн сайта: глушим всё) ---------- */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .gw,.gw--bright,.hero__num,.faq__item[open] summary{animation:none;background-position:50% 50%}
  .btn--splash .blob::before,.calc__splash::before{animation:none}
  .knead{animation:none}
  .btn,.city-chip,.pack{transition:none}
  html.js .rev{opacity:1;transform:none;transition:none}
  .sticky{transition:none}
}
