/* Лендинг Фитнес Фрэндс. Один файл на обе локали: RU и EN отличаются только
   разметкой, не оформлением.

   Акцент — синий из логотипа (--acid). Раньше был жёлто-зелёный; переменные
   намеренно сохранили старые имена, чтобы правка цвета оставалась правкой
   одной строки, а не переименованием сотни мест. */

/* ── Manrope: один вариативный файл на подмножество, все веса из него ─────── */
@font-face{font-family:'Manrope';font-style:normal;font-weight:400 800;font-display:swap;
  src:url("../fonts/manrope-cyrillic-ext.woff2") format('woff2');
  unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}
@font-face{font-family:'Manrope';font-style:normal;font-weight:400 800;font-display:swap;
  src:url("../fonts/manrope-cyrillic.woff2") format('woff2');
  unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Manrope';font-style:normal;font-weight:400 800;font-display:swap;
  src:url("../fonts/manrope-greek.woff2") format('woff2');
  unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}
@font-face{font-family:'Manrope';font-style:normal;font-weight:400 800;font-display:swap;
  src:url("../fonts/manrope-vietnamese.woff2") format('woff2');
  unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}
@font-face{font-family:'Manrope';font-style:normal;font-weight:400 800;font-display:swap;
  src:url("../fonts/manrope-latin-ext.woff2") format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Manrope';font-style:normal;font-weight:400 800;font-display:swap;
  src:url("../fonts/manrope-latin.woff2") format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* ── Unbounded: заголовочная гарнитура ───────────────────────────────────── */
@font-face{font-family:'Unbounded';font-style:normal;font-weight:600 800;font-display:swap;
  src:url("../fonts/unbounded-cyrillic-ext.woff2") format('woff2');
  unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}
@font-face{font-family:'Unbounded';font-style:normal;font-weight:600 800;font-display:swap;
  src:url("../fonts/unbounded-cyrillic.woff2") format('woff2');
  unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Unbounded';font-style:normal;font-weight:600 800;font-display:swap;
  src:url("../fonts/unbounded-vietnamese.woff2") format('woff2');
  unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}
@font-face{font-family:'Unbounded';font-style:normal;font-weight:600 800;font-display:swap;
  src:url("../fonts/unbounded-latin-ext.woff2") format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Unbounded';font-style:normal;font-weight:600 800;font-display:swap;
  src:url("../fonts/unbounded-latin.woff2") format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root{
  --bg:#07090f;--bg2:#0d1119;--card:#12161f;--card2:#171c27;
  --line:rgba(255,255,255,.09);--line2:rgba(255,255,255,.16);
  --ink:#fff;--ink2:#a6aebf;--ink3:#6e778a;
  /* Синий из логотипа. --acid светлее --acid-mid: он идёт текстом по чёрному,
     где нужен контраст, а --acid-mid — заливкой под белым текстом. */
  --acid:#4ea8ff;--acid2:#7cc1ff;--acid-mid:#2f80ed;--acid-deep:#0b2a78;
  --acid-ink:#04101f;                       /* текст поверх --acid */
  --acid-06:rgba(78,168,255,.06);
  --acid-12:rgba(78,168,255,.12);
  --acid-18:rgba(78,168,255,.18);
  --paper:#f2f4f7;--paper-ink:#0b1020;--paper-ink2:#4a5265;--paper-line:#dfe3ea;
  --paper-acid:#1552b8;                     /* акцент на светлых секциях */
  --maxw:1240px;
  --font:'Manrope',-apple-system,'Segoe UI',sans-serif;
  --display:'Unbounded','Manrope',sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;background:var(--bg);scroll-padding-top:80px}
body{font-family:var(--font);color:var(--ink);background:var(--bg);line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body::before{content:'';position:fixed;inset:0;z-index:1;pointer-events:none;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)'/%3E%3C/svg%3E")}
a{color:var(--acid);text-decoration:none}
a:hover{color:var(--acid2)}
img{display:block;max-width:100%}
h1,h2,h3{font-family:var(--display);font-weight:800;line-height:1.02;letter-spacing:-.035em}
:focus-visible{outline:2px solid var(--acid);outline-offset:3px;border-radius:4px}

.wrap{max-width:var(--maxw);margin:0 auto;padding:0 clamp(18px,3vw,40px);position:relative;z-index:2}

/* Плотность: раздел должен помещаться в один экран без прокрутки. Отсюда
   заметно более скромные отступы и кегль, чем в первой генерации. */
.s{padding:clamp(52px,6vw,92px) 0;position:relative}
.paper{background:var(--paper);color:var(--paper-ink)}
.paper h2,.paper h3{color:var(--paper-ink)}
.paper .lead{color:var(--paper-ink2)}
.bg2{background:var(--bg2)}

.eyebrow{display:inline-flex;align-items:center;gap:9px;font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--acid)}
.eyebrow::before{content:'';width:22px;height:1px;background:var(--acid)}
.paper .eyebrow{color:var(--paper-acid)}
.paper .eyebrow::before{background:var(--paper-acid)}

h2.t{font-size:clamp(28px,4.2vw,54px)}
h2.t em{font-style:normal;color:var(--acid)}
.paper h2.t em{color:var(--paper-acid)}
.lead{font-size:clamp(15px,1.4vw,18px);color:var(--ink2);font-weight:500;max-width:62ch}
.head{display:flex;flex-direction:column;gap:14px;margin-bottom:clamp(24px,3vw,44px)}
.head.center{align-items:center;text-align:center}
.head.center .lead{text-align:center}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:var(--font);font-weight:800;font-size:15px;padding:14px 26px;border-radius:99px;border:1px solid transparent;cursor:pointer;transition:.18s;letter-spacing:-.01em}
.btn-acid{background:var(--acid);color:var(--acid-ink)}
.btn-acid:hover{background:var(--acid2);color:var(--acid-ink);transform:translateY(-2px)}
.btn-out{border-color:var(--line2);color:var(--ink);background:transparent}
.btn-out:hover{background:rgba(255,255,255,.06);color:var(--ink);border-color:var(--acid)}
.btn-dark{background:var(--paper-ink);color:#fff}
.btn-dark:hover{background:#1c2438;color:#fff;transform:translateY(-2px)}
.btn-lg{font-size:16px;padding:17px 32px}
.btn-sm{font-size:14px;padding:10px 18px}

/* ── шапка ───────────────────────────────────────────────────────────────── */
.nav{position:sticky;top:0;z-index:70;background:rgba(7,9,15,.72);backdrop-filter:blur(16px);border-bottom:1px solid transparent;transition:.25s}
.nav.on{border-color:var(--line);background:rgba(7,9,15,.94)}
.nav-in{display:flex;align-items:center;justify-content:space-between;height:68px;gap:20px}
.brand{display:flex;align-items:center;gap:11px;font-family:var(--display);font-weight:700;font-size:16px;letter-spacing:-.03em;color:var(--ink)}
.brand:hover{color:var(--ink)}
.mark{width:32px;height:32px;border-radius:9px;flex:none;display:block}
.nav-links{display:flex;gap:28px;font-size:14.5px;font-weight:600;color:var(--ink2)}
.nav-links a{color:var(--ink2)}
.nav-links a:hover{color:var(--acid)}
.nav-act{display:flex;align-items:center;gap:14px}
.link-btn{font-size:14.5px;font-weight:700;color:var(--ink2)}
.link-btn:hover{color:var(--acid)}
.lang{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:var(--ink3);border:1px solid var(--line);border-radius:99px;padding:6px 12px}
.lang:hover{color:var(--acid);border-color:var(--acid)}

/* ── первый экран ────────────────────────────────────────────────────────── */
/* position:relative обязателен: без него подсветка ::after позиционируется от
   вьюпорта, overflow:hidden её не режет и страница едет вбок на телефоне. */
.hero{padding:clamp(30px,4vw,56px) 0 clamp(38px,5vw,72px);overflow:hidden;position:relative}
.hero::after{content:'';position:absolute;top:-30%;right:-10%;width:70vw;height:70vw;background:radial-gradient(circle,var(--acid-12),transparent 62%);pointer-events:none}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(26px,4vw,60px);align-items:center}
h1{font-size:clamp(34px,5.6vw,72px);letter-spacing:-.045em}
h1 em{font-style:normal;color:var(--acid);display:block}   /* акцент — с новой строки */
.hero-badge{display:inline-flex;align-items:center;gap:9px;background:var(--acid-12);border:1px solid var(--acid-18);color:var(--acid);border-radius:99px;padding:7px 15px;font-size:12.5px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;margin-bottom:18px}
.hero-badge::before{content:'';width:7px;height:7px;border-radius:99px;background:var(--acid);box-shadow:0 0 0 4px var(--acid-18)}
.hero-lead{margin-top:20px;font-size:clamp(15px,1.5vw,18px);color:var(--ink2);font-weight:500;max-width:50ch}
.hero-cta{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:26px}
.plat{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:24px;font-size:12.5px;font-weight:700;color:var(--ink3)}
.plat span{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:99px;padding:6px 13px}
.plat span i{font-style:normal;color:var(--acid);font-weight:800}
.stats{display:flex;flex-wrap:wrap;gap:12px 36px;margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}
.stat b{display:block;font-family:var(--display);font-size:clamp(21px,2.6vw,30px);font-weight:800;letter-spacing:-.045em;line-height:1}
.stat span{display:block;margin-top:7px;font-size:12.5px;font-weight:600;color:var(--ink3);max-width:20ch;line-height:1.35}
.trust{display:flex;align-items:center;gap:12px;margin-top:18px;font-size:14px;font-weight:700;color:var(--ink2)}
.dots{display:flex}
.dots i{width:24px;height:24px;border-radius:99px;background:linear-gradient(140deg,#2c3446,#4a5468);border:2px solid var(--bg);margin-left:-8px}
.dots i:first-child{margin:0}

/* ── мокап телефона ──────────────────────────────────────────────────────────
   Корпус — не нарисованный, а готовый шаблон из папки «Мокапы» (phone-frame.png,
   вырезан из «Страница_3»). В нём вырублено окно под скриншот, а полоса со
   статус-баром и динамическим островом оставлена видимой: снимки приложения
   своей шторки не имеют, и без неё телефон терял бы лицо.

   Снимок позиционируется абсолютно, а не через padding: проценты в padding
   считаются от ширины РОДИТЕЛЯ, поэтому у телефона, зажатого max-width,
   окно уезжало и по краям оставались чёрные поля. У абсолютного потомка
   проценты считаются от самого .shot — и совпадают с вырубленным окном при
   любой ширине.

   Сами снимки заранее доведены до пропорции окна (588/1166), поэтому cover
   ничего не режет. */
.shot{position:relative;aspect-ratio:642 / 1322;
  filter:drop-shadow(0 24px 34px rgba(0,0,0,.55))}
.shot img{position:absolute;top:9.38%;left:4.36%;width:91.59%;height:87.14%;
  display:block;object-fit:cover;object-position:top;background:#05070b;
  /* Низ скруглён по вырубленному окну: иначе квадратные углы снимка вылезают
     за сужающийся корпус. */
  border-radius:0 0 16.33% 16.33% / 0 0 8.33% 8.33%}
.shot::after{
  content:'';position:absolute;inset:0;z-index:2;pointer-events:none;
  background:url("../img/phone-frame.png") center/100% 100% no-repeat}

.hero-shots{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:0;
  align-items:center;perspective:1400px;perspective-origin:50% 45%}
.hero-shots::before{content:'';position:absolute;z-index:0;inset:2% -8% 0 -6%;
  background:radial-gradient(58% 46% at 52% 48%,var(--acid-18),transparent 70%);
  filter:blur(18px);pointer-events:none}
.hero-shots .shot{transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.hero-shots .shot:first-child{
  transform:rotateY(15deg) rotateX(3deg) rotateZ(-4deg) translateY(-14px) scale(.93);z-index:1}
.hero-shots .shot:last-child{
  transform:rotateY(-11deg) rotateX(2deg) rotateZ(3deg) translateY(20px) translateX(-15%);z-index:2}
.hero-shots:hover .shot:first-child{
  transform:rotateY(11deg) rotateX(2deg) rotateZ(-3deg) translateY(-22px) scale(.93)}
.hero-shots:hover .shot:last-child{
  transform:rotateY(-8deg) rotateX(1deg) rotateZ(2deg) translateY(24px) translateX(-15%)}

/* ── «Знакомо?» ──────────────────────────────────────────────────────────── */
.tilt{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.tcard{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:20px;transition:.25s}
.tcard:hover{transform:translateY(-4px);border-color:var(--acid);background:var(--card2)}
.tcard h3{font-size:17px;margin-bottom:8px;letter-spacing:-.02em}
.tcard p{color:var(--ink2);font-size:14.5px}
.tcard::before{content:attr(data-n);display:block;font-family:var(--display);font-size:12px;font-weight:700;color:var(--acid);margin-bottom:12px}
.kicker{margin-top:30px;font-family:var(--display);font-size:clamp(18px,2.1vw,26px);font-weight:700;letter-spacing:-.03em;line-height:1.25;max-width:30ch}
.kicker em{font-style:normal;color:var(--acid)}
.kicker.center{margin-inline:auto;text-align:center}
.paper .kicker em{color:var(--paper-acid)}

/* ── «Как это работает» ──────────────────────────────────────────────────── */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(14px,1.8vw,24px)}
.step{display:flex;flex-direction:column;gap:12px;padding-top:20px;border-top:1px solid var(--line)}
.step .n{font-family:var(--display);font-size:12px;font-weight:700;color:var(--acid);letter-spacing:.06em}
.step h3{font-size:18px;letter-spacing:-.025em}
.step p{font-size:14.5px;color:var(--ink2)}
.step .car{margin-top:auto}
/* В четырёх колонках телефон помещается только маленьким — зато все шаги
   выходят одной высоты и без пустот. Высота фиксирована: у снимков пропорции
   от 0.41 до 0.55, без неё колонки разъезжаются по нижнему краю. */
.step .shot{max-width:168px;margin-inline:auto}

/* ── карусель: один компонент на все разделы со скриншотами ──────────────── */
.car{position:relative}
.car-track{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.car-track::-webkit-scrollbar{display:none}
.car-slide{flex:0 0 100%;scroll-snap-align:center;min-width:0}
.car-slide figcaption{margin-top:10px;font-size:13px;font-weight:600;color:var(--ink3);text-align:center;line-height:1.35;min-height:2.7em}
.paper .car-slide figcaption{color:var(--paper-ink2)}
.car-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:38px;height:38px;border-radius:99px;border:1px solid var(--line2);background:rgba(7,9,15,.82);backdrop-filter:blur(8px);color:var(--ink);display:grid;place-items:center;cursor:pointer;font-size:17px;line-height:1;transition:.18s;opacity:0}
.car:hover .car-nav,.car-nav:focus-visible{opacity:1}
.car-nav:hover{background:var(--acid);color:var(--acid-ink);border-color:var(--acid)}
.car-nav[disabled]{opacity:0!important;pointer-events:none}
.car-prev{left:10px}
.car-next{right:10px}
.paper .car-nav{background:rgba(255,255,255,.9);border-color:var(--paper-line);color:var(--paper-ink)}
.car-dots{display:flex;justify-content:center;gap:7px;margin-top:12px}
.car-dot{width:7px;height:7px;border-radius:99px;border:0;padding:0;background:var(--line2);cursor:pointer;transition:.2s}
.car-dot.on{background:var(--acid);width:22px}
.paper .car-dot{background:#c6cddb}
.paper .car-dot.on{background:var(--paper-acid)}
.car--single .car-nav,.car--single .car-dots{display:none}
@media(hover:none){.car-nav{display:none}}

/* ── «Что внутри»: четыре блока сразу, без переключения ─────────────────────
   Сначала здесь были вкладки, но их никто не нажимал: раздел выглядел как
   список заголовков. Показываем все четыре сразу — телефон слева, текст
   справа, внутри телефона карусель со снимками раздела. */
.feat{display:grid;grid-template-columns:1fr 1fr;gap:clamp(14px,1.8vw,22px)}
/* Текст по центру, а не прижат к верху: высоту карточки задаёт телефон, и при
   коротком тексте снизу оставалось пустое поле. */
.feat-card{display:grid;grid-template-columns:minmax(0,148px) minmax(0,1fr);
  gap:clamp(16px,2vw,26px);align-items:center;
  border:1px solid var(--line);border-radius:20px;background:var(--card);
  padding:clamp(18px,2vw,26px);transition:.25s}
.feat-card:hover{border-color:var(--line2);background:var(--card2)}
.feat-media{min-width:0}
.feat-media .car-slide figcaption{font-size:12px;min-height:3.2em}
.feat-body{min-width:0}
.feat-n{font-family:var(--display);font-size:11.5px;font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;color:var(--acid);margin-bottom:8px}
.feat-card h3{font-size:clamp(19px,2vw,25px);margin-bottom:14px}
.feat-card .ul{gap:9px}
.feat-card .ul li{font-size:14.5px;line-height:1.4}
.feat-card .tagfree{margin-bottom:10px}
.feat-body p{font-size:14.5px;line-height:1.45;color:var(--ink2)}

.ul{display:flex;flex-direction:column;gap:11px}
.ul li{list-style:none;display:flex;gap:11px;font-size:15px;line-height:1.45;color:var(--ink2)}
.ul li::before{content:'';width:6px;height:6px;border-radius:99px;background:var(--acid);flex:none;margin-top:8px}
.paper .ul li{color:var(--paper-ink2)}
.paper .ul li::before{background:var(--paper-acid)}

.badges{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:clamp(28px,3.5vw,48px)}
.bdg{border:1px solid var(--line);border-radius:14px;padding:16px;font-size:14px;font-weight:600;color:var(--ink2)}
.bdg b{display:block;font-family:var(--display);font-size:14.5px;color:var(--acid);margin-bottom:7px;letter-spacing:-.02em;font-weight:700}

.live-band{margin-top:clamp(28px,3.5vw,48px);padding-top:clamp(24px,3vw,40px);border-top:1px solid var(--line)}
.live-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:clamp(18px,2.2vw,28px)}
.live-head h3{font-size:clamp(19px,2.2vw,26px)}
.live-head .upd{font-size:12.5px;font-weight:600;color:var(--ink3);display:inline-flex;align-items:center;gap:8px}
.live-head .upd::before{content:'';width:7px;height:7px;border-radius:99px;background:var(--acid);box-shadow:0 0 0 4px var(--acid-18)}
.live-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(14px,1.8vw,24px)}
.live-i b{display:block;font-family:var(--display);font-size:clamp(23px,2.8vw,34px);font-weight:800;letter-spacing:-.05em;line-height:1}
.live-i span{display:block;margin-top:8px;font-size:13.5px;font-weight:600;color:var(--ink2);max-width:22ch;line-height:1.4}

/* ── «Как это выглядит»: сцена + миниатюры ─────────────────────────────────
   Снимки вертикальные, поэтому сцена — размером с телефон, а подпись и
   миниатюры уходят вправо: иначе полширины экрана занимали бы чёрные поля. */
.gal{display:grid;grid-template-columns:minmax(0,330px) 1fr;gap:clamp(26px,4vw,64px);align-items:center}
.gal-side{display:flex;flex-direction:column;gap:clamp(18px,2.4vw,30px)}
/* Тыкать в каждую миниатюру никто не станет — на самом мокапе стрелки. */
.gal-frame{position:relative;display:flex;justify-content:center}
.gal-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:5;
  width:42px;height:42px;border-radius:99px;cursor:pointer;
  border:1px solid var(--line2);background:rgba(9,12,18,.9);backdrop-filter:blur(8px);
  color:var(--ink);display:grid;place-items:center;font-size:19px;line-height:1;transition:.18s}
.gal-nav:hover{background:var(--acid);color:var(--acid-ink);border-color:var(--acid)}
.gal-prev{left:0}
.gal-next{right:0}
.gal-count{font-size:13px;font-weight:700;color:var(--ink3);letter-spacing:.04em}
.gal-count b{color:var(--acid);font-weight:800}
/* Сцена — тот же корпус из шаблона. Снимки лежат абсолютно (кросс-фейд),
   а абсолютный потомок считается от padding-box, поэтому окно под экран
   задаётся не padding, а inset: проценты по вертикали здесь от высоты. */
.gal-stage{position:relative;width:100%;max-width:300px;margin-inline:auto;aspect-ratio:642 / 1322;
  filter:drop-shadow(0 26px 40px rgba(0,0,0,.6))}
/* Размеры заданы явно: у абсолютно позиционированной картинки width:auto
   берётся из собственных размеров, а left/right при этом игнорируются. */
.gal-stage>img{position:absolute;top:9.38%;left:4.36%;width:91.59%;height:87.14%;
  object-fit:cover;object-position:top;background:#05070b;
  border-radius:0 0 16.33% 16.33% / 0 0 8.33% 8.33%;
  opacity:0;transition:opacity .45s}
.gal-stage>.live{opacity:1}
.gal-stage::after{content:'';position:absolute;inset:0;z-index:2;pointer-events:none;
  background:url("../img/phone-frame.png") center/100% 100% no-repeat}
.gal-cap{font-family:var(--display);font-size:clamp(17px,2.2vw,26px);font-weight:700;letter-spacing:-.03em;line-height:1.25;min-height:2.5em;max-width:22ch}
.thumbs{display:flex;gap:9px;overflow-x:auto;padding-bottom:6px;justify-content:flex-start;flex-wrap:wrap}
.thumb{flex:none;width:62px;aspect-ratio:9/16;border-radius:8px;overflow:hidden;border:1px solid var(--line);background:#04060a;cursor:pointer;opacity:.5;transition:.2s;padding:0}
.thumb.on{opacity:1;border-color:var(--acid)}
.thumb:hover{opacity:.85}
.thumb img{width:100%;height:100%;object-fit:cover;object-position:top}
.thumb .tl{display:grid;place-items:center;width:100%;height:100%;font-size:10px;color:var(--ink3);font-weight:700}

/* ── видеоблок ───────────────────────────────────────────────────────────── */
.video{margin-top:clamp(34px,4.5vw,64px);display:grid;grid-template-columns:1fr 1fr;gap:clamp(22px,3.5vw,48px);align-items:center;border-top:1px solid var(--line);padding-top:clamp(30px,4vw,52px)}
.video h3{font-size:clamp(21px,2.8vw,34px)}
.video p{color:var(--ink2);margin-top:14px;font-size:16px}
.vslot{position:relative;border-radius:16px;overflow:hidden;aspect-ratio:16/9;border:1px solid var(--line);background:#04060a;cursor:pointer;width:100%;padding:0;display:block}
.vslot iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.vslot>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.vslot .vposter{position:absolute;inset:0;display:grid;place-items:center;background:radial-gradient(circle at 50% 45%,rgba(4,10,22,.25),rgba(4,10,22,.62))}
.vslot .play{width:64px;height:64px;border-radius:99px;background:var(--acid);color:var(--acid-ink);display:grid;place-items:center;font-size:20px;font-weight:800;padding-left:4px;transition:.2s}
.vslot:hover .play{transform:scale(1.08)}

/* ── «Главный смысл» ─────────────────────────────────────────────────────── */
.mean h2{font-size:clamp(26px,4.4vw,58px);max-width:20ch}
.mean-body{display:grid;grid-template-columns:1fr 1fr;gap:clamp(22px,3.5vw,48px);margin-top:clamp(26px,3vw,44px);align-items:center}
.mean-body p{font-size:clamp(16px,1.6vw,19px);color:var(--ink2);margin-bottom:16px;line-height:1.55}
.mean-body p:last-child{margin-bottom:0}
.mean-body p b{color:#fff;font-weight:700}
.plate{border:1px solid var(--acid);border-radius:16px;padding:clamp(22px,2.6vw,32px);font-size:clamp(16px,1.7vw,20px);font-weight:600;line-height:1.5;color:var(--ink);background:var(--acid-06)}
.paper .plate{border-color:#9cc4ff;background:rgba(47,128,237,.1);color:var(--paper-ink)}

/* ── карточки общего вида ────────────────────────────────────────────────── */
.grid{display:grid;gap:14px}
.g2{grid-template-columns:repeat(2,1fr)}
.g3{grid-template-columns:repeat(3,1fr)}
.g5{grid-template-columns:repeat(5,1fr)}
.pcard{background:#fff;border:1px solid var(--paper-line);border-radius:16px;padding:20px;transition:.2s}
.pcard:hover{transform:translateY(-4px);box-shadow:0 20px 50px -24px rgba(11,16,32,.28)}
.pcard h3{font-size:17px;margin-bottom:8px;letter-spacing:-.02em}
.pcard p{color:var(--paper-ink2);font-size:14.5px}

/* «Что видит твой клиент»: телефон слева, перечисление справа */
.split{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(26px,4vw,60px);align-items:center}
.split-phone{max-width:250px;margin-inline:auto;width:100%}
.split-list{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start}

/* ── «Заходи откуда удобно» ──────────────────────────────────────────────── */
/* Карточки — ссылки в сторы и мессенджеры, поэтому нужен и вид ссылки,
   и защита от глобального a{color:var(--acid)}: иначе карточка синеет целиком. */
.acc{border:1px solid var(--line);border-radius:16px;padding:20px;transition:.2s;
  display:flex;flex-direction:column;gap:10px;color:inherit;text-decoration:none}
.acc:hover{border-color:var(--acid);background:var(--card)}
a.acc:hover{color:inherit;transform:translateY(-3px)}
a.acc h3::after{content:'↗';margin-left:7px;font-size:.8em;color:var(--ink3);transition:.2s}
a.acc:hover h3::after{color:var(--acid)}
.acc .ic{width:42px;height:42px;display:grid;place-items:center;flex:none}
.acc .ic img{width:100%;height:100%;object-fit:contain}
.acc h3{font-size:16px}
.acc p{font-size:14px;color:var(--ink2)}
.acc p br{content:'';display:block;margin-bottom:2px}

.cols{display:grid;grid-template-columns:1fr 1fr;gap:clamp(16px,2.4vw,28px)}
.col{border:1px solid var(--line);border-radius:18px;padding:clamp(20px,2.4vw,30px)}
.col-h{font-family:var(--display);font-weight:700;font-size:clamp(18px,2vw,25px);letter-spacing:-.03em;margin-bottom:18px}
.col-h span{color:var(--acid)}

/* ── FAQ ─────────────────────────────────────────────────────────────────── */
.faq{max-width:1000px;margin:0 auto;columns:2;column-gap:14px}
details{background:#fff;border:1px solid var(--paper-line);border-radius:12px;margin-bottom:10px;break-inside:avoid}
details[open]{border-color:#b9c2d1}
summary{cursor:pointer;list-style:none;padding:15px 18px;font-weight:700;font-size:15px;display:flex;justify-content:space-between;gap:12px;align-items:flex-start;letter-spacing:-.01em}
summary::-webkit-details-marker{display:none}
summary::after{content:'+';font-family:var(--display);font-size:18px;line-height:1;color:var(--paper-acid);transition:.2s;flex:none}
details[open] summary::after{transform:rotate(45deg)}
details p{padding:0 18px 17px;color:var(--paper-ink2);font-size:15px}

/* ── тарифы: карточки одной высоты ───────────────────────────────────────── */
.pricebar{display:inline-flex;align-items:center;gap:12px;background:var(--acid);color:var(--acid-ink);border-radius:99px;padding:11px 20px;margin-top:6px;font-size:15px;font-weight:800;letter-spacing:-.01em}
.plans{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:stretch}
.plan{border:1px solid var(--line);border-radius:20px;padding:clamp(22px,2.6vw,32px);display:flex;flex-direction:column;gap:16px;position:relative;background:var(--bg2);height:100%}
.plan.hi{border-color:var(--acid);background:linear-gradient(170deg,var(--acid-12),transparent 55%),var(--card)}
.tag{position:absolute;top:-13px;left:clamp(22px,2.6vw,32px);background:var(--acid);color:var(--acid-ink);font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;padding:6px 13px;border-radius:99px}
.plan h3{font-size:22px}
.price{font-family:var(--display);font-size:clamp(34px,4vw,50px);font-weight:800;letter-spacing:-.05em;line-height:1;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.price small{font-family:var(--font);font-size:14px;font-weight:600;color:var(--ink3);letter-spacing:0}
.first{font-size:14.5px;font-weight:700;color:var(--acid);display:flex;align-items:center;gap:9px}
.first s{color:var(--ink3);font-weight:600}
.cap{font-size:14.5px;font-weight:700;color:var(--ink2)}
.plan .ul{flex:1}
.plan .ul li{font-size:14.5px}
.plan .btn{margin-top:auto}
.foot-note{text-align:center;margin-top:24px;color:var(--ink3);font-size:14.5px;font-weight:600}

/* ── только в EN-версии: «всё бесплатно» и форма с почтой ────────────────── */
.tagfree{display:inline-flex;align-items:center;font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--acid-ink);background:var(--acid);border-radius:99px;padding:5px 11px;margin-bottom:12px}
.freebox{margin-top:clamp(28px,3.5vw,48px);padding:clamp(22px,3vw,36px);border:1px solid var(--acid);border-radius:20px;background:var(--acid-06);display:grid;grid-template-columns:1fr auto;gap:clamp(20px,3vw,40px);align-items:center}
.freebox h3{font-size:clamp(21px,2.8vw,34px);margin-bottom:12px}
.freebox p{color:var(--ink2);font-size:15.5px;max-width:46ch}
.freelist{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.freelist span{border:1px solid var(--line);border-radius:99px;padding:6px 13px;font-size:13px;font-weight:600;color:var(--ink2)}
.zero{font-family:var(--display);font-size:clamp(40px,5.4vw,72px);font-weight:800;letter-spacing:-.05em;line-height:.9;color:var(--acid);text-align:center;white-space:nowrap}
.zero small{display:block;font-family:var(--font);font-size:12.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink3);margin-top:10px}
.eform{display:flex;gap:10px;margin-top:26px;max-width:480px;flex-wrap:wrap}
.eform input{flex:1 1 220px;min-width:0;background:var(--card);border:1px solid var(--line2);border-radius:99px;padding:15px 22px;font-family:var(--font);font-size:15px;font-weight:600;color:var(--ink);outline:none;transition:.18s}
.eform input::placeholder{color:var(--ink3);font-weight:500}
.eform input:focus{border-color:var(--acid);background:var(--card2)}
.eform .btn{flex:0 0 auto}
.eform-note{margin-top:12px;font-size:13.5px;font-weight:600;color:var(--ink3)}
.eform-note b{color:var(--ink2);font-weight:700}
.final .eform{margin-inline:auto;justify-content:center}
.final .eform input{background:rgba(255,255,255,.9);border-color:rgba(4,16,31,.2);color:var(--acid-ink)}
.final .eform input::placeholder{color:#4a6689}

/* ── ленты и отзывы ──────────────────────────────────────────────────────── */
.strip{padding:clamp(34px,4vw,60px) 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--bg2)}
.strip-in{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.strip h3{font-size:clamp(19px,2.4vw,30px);max-width:24ch}
.strip p{color:var(--ink2);margin-top:9px;font-size:15px}
.rail{display:flex;gap:14px;overflow-x:auto;padding:4px clamp(18px,3vw,40px) 18px;margin:0 calc(-1 * clamp(18px,3vw,40px));scroll-snap-type:x proximity;scrollbar-width:thin}
/* У снимков переписок пропорции гуляют от 0.5 до 1.5. Фиксируем высоту, а
   ширину отдаём картинке — так лента ровная снизу и сверху, и ничего не
   обрезано. */
.msg{flex:none;height:clamp(340px,42vh,440px);scroll-snap-align:center;border-radius:16px;overflow:hidden;border:1px solid var(--line);background:var(--card)}
.msg img{height:100%;width:auto;max-width:none;display:block}

/* ── финал ───────────────────────────────────────────────────────────────── */
.final{background:linear-gradient(165deg,var(--acid),#2f80ed 70%);color:var(--acid-ink);text-align:center;overflow:hidden}
.final h2{color:var(--acid-ink);font-size:clamp(28px,4.6vw,64px);letter-spacing:-.05em}
.final p{color:#062246;font-size:16px;max-width:58ch;margin:0 auto 10px;font-weight:500}
.final .sub{margin-top:16px;font-size:13.5px;color:#0a2c58;font-weight:700}
.final .alt{display:inline-block;margin-top:14px;font-size:14px;font-weight:700;color:#062246;text-decoration:underline}

/* ── мелкие модификаторы вместо инлайновых стилей в шаблонах ─────────────── */
.mean .head{margin-bottom:0}
.video-cta{margin-top:22px}
.plate--after{margin-top:24px}
.kicker--wide{max-width:46ch}
/* Строки заданы <br> вручную — ограничение по ширине их только ломает.
   Кегль на ступеньку меньше обычного кикера: фраза должна помещаться в строку
   целиком, а не разваливаться на «...ничего не / меняешь». balance подстрахует
   на промежуточных ширинах и пока не загрузился шрифт. */
.lines{max-width:none;text-wrap:balance}
.kicker.lines{font-size:clamp(16px,1.75vw,22px)}
@media(max-width:640px){.lines br{display:none}}
.kicker--mid{max-width:44ch}
.car--spaced{margin-bottom:20px}
.col-h--sm{font-size:clamp(17px,1.9vw,21px)}
.col-title{font-size:clamp(19px,2.2vw,25px);margin-bottom:10px}
.col-text{color:var(--ink2);font-size:15.5px}
.final p:first-of-type{margin-top:22px}
.final .btn{margin-top:24px}
.ftag{margin-top:12px}

/* ── подвал ──────────────────────────────────────────────────────────────── */
footer{background:var(--bg);color:var(--ink3);padding:52px 0 40px;font-size:14.5px;border-top:1px solid var(--line)}
.fnav{display:flex;flex-wrap:wrap;gap:9px 22px;margin:22px 0;font-weight:600}
.fnav a{color:var(--ink2)}
.fnav a:hover{color:var(--acid)}
.fbot{display:flex;flex-wrap:wrap;gap:18px;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:22px;margin-top:22px}
.fic{display:flex;flex-wrap:wrap;gap:9px;font-size:13px;font-weight:600}
.fic span{border:1px solid var(--line);border-radius:99px;padding:6px 12px}

/* ── нижняя панель на телефоне ───────────────────────────────────────────── */
.mbar{position:fixed;left:0;right:0;bottom:0;z-index:80;background:rgba(7,9,15,.94);backdrop-filter:blur(14px);border-top:1px solid var(--line);padding:11px 15px;display:none;align-items:center;justify-content:space-between;gap:12px;transform:translateY(110%);transition:transform .3s}
.mbar.on{transform:none}
.mbar b{font-size:12.5px;font-weight:700;color:var(--ink2);line-height:1.3}
.mbar b i{color:var(--acid);font-style:normal}

.reveal{opacity:0;transform:translateY(18px)}
.reveal.in{opacity:1;transform:none;transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .reveal{opacity:1;transform:none}
  *{transition-duration:.01ms!important;animation-duration:.01ms!important}
}

@media(max-width:1020px){
  .live-grid,.badges{grid-template-columns:repeat(2,1fr)}
  .feat{grid-template-columns:1fr}
  .hero-grid,.video,.mean-body,.plans,.cols,.split,.gal{grid-template-columns:1fr}
  .steps,.g3{grid-template-columns:repeat(2,1fr)}
  .tilt{grid-template-columns:repeat(2,1fr)}
  .g5{grid-template-columns:repeat(3,1fr)}
  .nav-links{display:none}
  .faq{columns:1}
  .split-phone{max-width:250px}
  .gal-cap{text-align:center;max-width:100%;margin-inline:auto}
  .gal-prev{left:2%}
  .gal-next{right:2%}
  .thumbs{justify-content:center}
  .freebox{grid-template-columns:1fr;text-align:left}
  .zero{text-align:left}
}
@media(max-width:640px){
  .tilt,.steps,.g3,.g5,.badges,.live-grid,.split-list{grid-template-columns:1fr}
  .feat-card{grid-template-columns:1fr}
  .feat-media{max-width:172px;margin-inline:auto}
  .hero-shots{grid-template-columns:1fr;max-width:280px;margin-inline:auto}
  .hero-shots{perspective:none}
  .hero-shots::before{inset:0}
  .hero-shots .shot:first-child,.hero-shots .shot:last-child{transform:none}
  .hero-shots .shot:last-child{display:none}
  .brand span{display:none}
  .mbar{display:flex}
  footer{padding-bottom:92px}
  .thumb{width:70px}
}
