/* ============================================================
   Landing kit — общий стиль лендингов, семья со /studio
   Токены СКОПИРОВАНЫ ТОЧНО из frontend/studio/index.html
   (беж #F1E9DB, терракота #B5613E, Plus Jakarta Sans + Bricolage
   Grotesque, скругления 20/14). Не менять «по мотивам» — при
   правке студии синхронизировать вручную.
   Шрифты подключать в <head> лендинга тем же <link>, что в студии:
   <link href="https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..96,500;12..96,600;12..96,700;12..96,800&family=Plus+Jakarta+Sans:ital,wght@0,400;0,500;0,600;0,700;0,800&display=swap" rel="stylesheet">
   ============================================================ */

:root{
  /* --- канон из studio/index.html --- */
  --bg:#F1E9DB;--bg-2:#EBE1D0;--surface:#FFFDF8;--surface-2:#F6EEDF;--surface-3:#EADDC9;
  --line:rgba(74,52,33,.13);--line-2:rgba(74,52,33,.22);
  --txt:#2E271F;--txt-2:#6B5D4F;--txt-3:#9A8B7B;
  --tang:#C57A4E;--coral:#C5543F;--brand:#B5613E;
  --accent:#B5613E;--accent-soft:#F0DDD0;
  --grad-brand:linear-gradient(135deg,#C16B45 0%,#A24E2F 100%);
  --ok:#3E9E78;--warn:#C2862C;--bad:#C5543F;
  --shadow:0 18px 40px -18px rgba(90,60,35,.22);
  --r:20px;--r-sm:14px;
  --safe-b:env(safe-area-inset-bottom,0px);
}

*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;}
html{scroll-behavior:smooth;}
html,body{margin:0;}
body{
  font-family:"Plus Jakarta Sans",system-ui,sans-serif;
  color:var(--txt);
  background:var(--bg);
  -webkit-font-smoothing:antialiased;
  min-height:100dvh;
  line-height:1.5;
}
/* фон-меши на фикс-псевдоэлементе (паттерн .app студии) — без background-attachment:fixed,
   который даёт шов на десктопе и джанк-скролл на iOS */
body::before{
  content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
  background:
    radial-gradient(60% 40% at 90% 6%,rgba(181,97,62,.10),transparent 60%),
    radial-gradient(50% 35% at 5% 22%,rgba(181,97,62,.08),transparent 60%),
    radial-gradient(120% 80% at 50% -10%,#FAF4E8 0%,var(--bg) 55%);
}
img,video{display:block;max-width:100%;}
a{color:inherit;text-decoration:none;}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit;}
h1,h2,h3,h4{margin:0;}
.font-disp{font-family:"Bricolage Grotesque",sans-serif;}
::-webkit-scrollbar{width:8px;height:8px}
::-webkit-scrollbar-thumb{background:rgba(120,90,60,.28);border-radius:10px}
::-webkit-scrollbar-track{background:transparent}

/* ===== layout helper — центрирующая колонка (mobile-first 390px) ===== */
.wrap{width:100%;max-width:520px;margin:0 auto;padding:0 18px;}
/* широкая колонка для десктоп-композиции (hero/секции); .wrap оставить для читаемого текста */
.wrap-wide{width:100%;max-width:1080px;margin:0 auto;padding:0 20px;}
@media(min-width:820px){.hero-2col{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center;}}

/* ===== display-типошкала (единый масштаб для всех 8 вариантов) ===== */
.display{font-family:"Bricolage Grotesque",sans-serif;font-weight:800;line-height:1.04;letter-spacing:-.02em;font-size:clamp(34px,9vw,60px);}
.h1{font-family:"Bricolage Grotesque",sans-serif;font-weight:700;line-height:1.1;letter-spacing:-.01em;font-size:clamp(26px,6.5vw,40px);}
.h2{font-family:"Bricolage Grotesque",sans-serif;font-weight:700;line-height:1.15;font-size:clamp(20px,5vw,28px);}
.lead{font-size:clamp(15px,4vw,18px);color:var(--txt-2);line-height:1.5;}
.eyebrow{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--brand);}

/* ===== соединительная ткань секций (общая для 8 вариантов) ===== */
.section{padding:clamp(40px,10vw,88px) 0;}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:16px;box-shadow:var(--shadow);}
.step-num{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:999px;background:var(--grad-brand);color:#fff;font-family:"Bricolage Grotesque",sans-serif;font-weight:800;font-size:14px;box-shadow:0 8px 18px -8px rgba(181,97,62,.55);}
.icon-tile{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:12px;background:var(--surface-2);border:1px solid var(--line);font-size:20px;}

/* ===== инверсия поверх видео (fullscreen-hero вариантов A/H) ===== */
/* z-index кита (шкала): контент 0–9 · оверлеи клипа 10 · .cta-dock 50 */
.on-media{position:relative;color:#fff;}
.on-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,12,6,.05) 0%,rgba(20,12,6,.55) 78%,rgba(20,12,6,.72) 100%);pointer-events:none;}
.on-media>*{position:relative;z-index:1;}
.glass-card{background:rgba(30,20,12,.42);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.16);border-radius:var(--r);color:#fff;}

/* ===== CTA — единственная кнопка «Попробовать бесплатно» ===== */
.cta-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  width:100%;min-height:48px;padding:14px 22px;
  background:var(--grad-brand);color:#fff;
  font-family:"Plus Jakarta Sans",sans-serif;font-weight:700;font-size:16px;
  border-radius:var(--r);
  box-shadow:var(--shadow);
  transition:transform .15s cubic-bezier(.2,.8,.2,1),filter .15s,box-shadow .15s;
  text-align:center;
}
.cta-btn:hover{filter:brightness(1.04);box-shadow:0 22px 46px -18px rgba(90,60,35,.34);}
.cta-btn:active{transform:scale(.97);}
.cta-btn:focus-visible{outline:3px solid rgba(181,97,62,.5);outline-offset:2px;}
a:focus-visible{outline:3px solid rgba(181,97,62,.5);outline-offset:2px;border-radius:4px;}
/* второстепенная (текст под CTA — «без карты», конверсионная строка → --txt-2 для AA-контраста) */
.cta-note{margin-top:9px;font-size:13px;color:var(--txt-2);text-align:center;}
/* на десктопе CTA не растягивается на всю ширину экрана */
@media(min-width:560px){
  .cta-btn.auto{width:auto;}
}
/* фиксированный CTA-док с safe-area (вариант H, мобильные hero) — z-index 50 по шкале кита */
.cta-dock{position:fixed;left:0;right:0;bottom:0;padding:10px 14px calc(12px + var(--safe-b));z-index:50;}

/* ===== 9:16 видео-карточка ===== */
.clip{
  position:relative;aspect-ratio:9/16;overflow:hidden;
  border-radius:var(--r);background:var(--surface-3);
  border:1px solid var(--line);box-shadow:var(--shadow);
}
.clip video,.clip img{width:100%;height:100%;object-fit:cover;}
/* лёгкий нижний скрим под подпись — чтобы .clip-cap читался над светлым низом кадра */
.clip::after{content:"";position:absolute;left:0;right:0;bottom:0;height:38%;z-index:1;pointer-events:none;background:linear-gradient(180deg,transparent 0%,rgba(20,12,6,.45) 100%);}
.clip .clip-cap{
  position:absolute;left:10px;bottom:10px;right:10px;z-index:2;
  font-size:12.5px;font-weight:600;color:#fff;
  text-shadow:0 1px 6px rgba(0,0,0,.55);pointer-events:none;
}

/* ===== счётчик просмотров ===== */
.views-badge{
  display:inline-flex;align-items:center;gap:5px;
  font-size:12.5px;font-weight:700;color:#fff;
  background:rgba(30,20,12,.52);backdrop-filter:blur(6px);
  padding:5px 10px;border-radius:999px;
  border:1px solid rgba(255,255,255,.18);
}
.views-badge::before{content:"▶";font-size:9px;opacity:.9;}
/* когда бейдж лежит поверх клипа */
.clip .views-badge{position:absolute;top:10px;left:10px;z-index:2;}

/* ===== юр-футер (privacy/terms/refund — обязателен для Dodo) ===== */
.legal{
  margin-top:40px;padding:26px 0 calc(30px + var(--safe-b));
  border-top:1px solid var(--line);
  color:var(--txt-3);font-size:13px;text-align:center;
}
.legal .legal-links{display:flex;flex-wrap:wrap;gap:6px 16px;justify-content:center;margin-bottom:12px;}
.legal .legal-links a{color:var(--txt-2);font-weight:600;}
.legal .legal-links a:hover{color:var(--brand);}
.legal .copy{color:var(--txt-3);}

/* ===== фейды (IntersectionObserver → .in) ===== */
.fade{opacity:0;transform:translateY(14px);transition:opacity .6s cubic-bezier(.2,.8,.2,1),transform .6s cubic-bezier(.2,.8,.2,1);}
.fade.in{opacity:1;transform:none;}
/* стаггер: соседние .fade появляются каскадом (.d1–.d4) */
.fade.d1{transition-delay:.06s}.fade.d2{transition-delay:.12s}.fade.d3{transition-delay:.18s}.fade.d4{transition-delay:.24s}
/* page-load стаггер hero-детей (без IO — играет сразу на загрузке) */
.hero-load>*{opacity:0;transform:translateY(16px);animation:heroIn .7s cubic-bezier(.2,.8,.2,1) forwards;}
.hero-load>*:nth-child(1){animation-delay:.05s}.hero-load>*:nth-child(2){animation-delay:.15s}.hero-load>*:nth-child(3){animation-delay:.25s}.hero-load>*:nth-child(4){animation-delay:.35s}
@keyframes heroIn{to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){
  .fade{opacity:1;transform:none;transition:none;}
  .fade.d1,.fade.d2,.fade.d3,.fade.d4{transition-delay:0s;}
  .hero-load>*{animation:none;opacity:1;transform:none;}
  html{scroll-behavior:auto;}
}
