/* ============================================================
   FEEL YOUR BODY — landing
   Базовая сетка макета: 1240px, контент-контейнер 1120px
   ============================================================ */

:root{
  --dark:#2C211A;
  --brown:#6F4A30;
  --brown-cta:#7A5230;
  --tan:#C8AB82;
  --cream:#F6F1E9;
  --cream-2:#F2EDE5;
  --mute:#8C7D6E;
  --mute-2:#A58F76;
  --bullet:#E6DCCB;
  --on-brown:#E6D8C9;
  --body-dark:#4A3D32;
  --old-price:#C2B4A2;
  --old-price-dark:#B79A7F;
  --footer-legal:#B3A595;

  --r-lg:24px;   /* крупные блоки */
  --r-md:20px;   /* карточки */
}

*,*::before,*::after{box-sizing:border-box}

html{-webkit-text-size-adjust:100%}

body{
  margin:0;
  background:#fff;
  color:var(--dark);
  font-family:"Inter","Helvetica Neue",Arial,sans-serif;
  font-size:16px;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
ul{margin:0;padding:0;list-style:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
h1,h2,h3,p,figure,blockquote{margin:0}

.page{
  max-width:1240px;
  margin:0 auto;
  padding:20px 20px 21px;
}

.tan{color:var(--tan)}

.logo{
  font-family:"Inter Tight","Inter",sans-serif;
  font-weight:700;
  font-size:17px;
  line-height:1;
  letter-spacing:-.015em;
  white-space:nowrap;
}

/* --- общие «таблетки» ------------------------------------- */
.chip{
  display:inline-flex;
  align-items:center;
  height:31px;
  padding:0 17px;
  border-radius:999px;
  font-size:12px;
  line-height:1;
  white-space:nowrap;
}
.chip--white{background:#fff;color:var(--mute)}
.chip--cream{background:var(--cream-2);color:var(--mute)}
.chip--tan{background:var(--tan);color:#fff}

.arr{
  display:inline-block;
  width:.62em;height:.62em;
  background:currentColor;
  -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'><path d='M2.6 9.4 9.4 2.6M3.6 2.6h5.8v5.8' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/></svg>") center/contain no-repeat;
  mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'><path d='M2.6 9.4 9.4 2.6M3.6 2.6h5.8v5.8' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/></svg>") center/contain no-repeat;
  vertical-align:-.02em;
}

/* --- стрелки слайдеров ------------------------------------ */
.arrows{display:flex;gap:8px}
.arrow{
  width:44px;height:44px;
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:16px;line-height:1;
  transition:transform .18s ease,opacity .18s ease;
}
.arrow--light{background:var(--cream-2);color:var(--dark)}
.arrow--white{background:#fff;color:var(--dark)}
.arrow--dark{background:var(--dark);color:#fff}
.arrow:hover{transform:translateY(-2px)}
.arrow:disabled{opacity:.35;cursor:default;transform:none}

/* --- заголовок секции с точкой ---------------------------- */
.sechead{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  padding:0 40px;
}
.sechead__label{
  display:inline-flex;
  align-items:center;
  gap:12px;
  font-size:14px;
  line-height:1;
  color:var(--mute);
  padding-bottom:5px;
}
.sechead__stack{display:flex;flex-direction:column;align-items:flex-start;gap:14px}

/* общий заголовок секции */
.h2{
  font-family:"Inter Tight","Inter",sans-serif;
  font-size:52px;
  font-weight:700;
  line-height:1.04;
  letter-spacing:-.03em;
  max-width:18ch;
}

.dot{
  width:8px;height:8px;border-radius:50%;
  background:var(--tan);
  display:inline-block;
  flex:none;
}

/* --- слайдеры --------------------------------------------- */
/* нативная горизонтальная прокрутка: свайп, тачпад, стрелки */
.slider{
  position:relative;              /* offsetLeft карточек — от начала ленты */
  margin:0 40px;
  overflow-x:auto;
  overflow-y:hidden;
  scroll-snap-type:x proximity;
  overscroll-behavior-x:contain;  /* свайп не листает историю браузера */
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
}
.slider::-webkit-scrollbar{display:none}
.slider__track{
  display:flex;
  gap:14px;
  width:max-content;
}
.reviews .slider__track{align-items:flex-start}
.slider__track > *{scroll-snap-align:start}

/* ============================================================
   HERO
   ============================================================ */
.hero{
  position:relative;
  height:780px;
  border-radius:var(--r-lg);
  overflow:hidden;
  color:#fff;
  isolation:isolate;
}
.hero__bg{
  position:absolute;inset:0;
  width:100%;height:100%;
  object-fit:cover;
  object-position:50% 42%;
  z-index:-2;
}
.hero__veil{
  position:absolute;inset:0;
  z-index:-1;
  background:
    linear-gradient(180deg,rgba(28,20,15,.38) 0%,rgba(28,20,15,0) 22%),
    linear-gradient(0deg,rgba(28,20,15,.55) 0%,rgba(28,20,15,0) 45%);
}

.nav{
  display:flex;
  align-items:center;
  padding:30px 40px 0;
}
.nav__list{
  display:flex;
  gap:10px;
  margin-left:auto;
}
.pill{
  display:inline-flex;
  align-items:center;
  height:36px;
  padding:0 20px;
  border-radius:999px;
  background:rgba(255,255,255,.18);
  -webkit-backdrop-filter:blur(6px);
  backdrop-filter:blur(6px);
  font-size:13px;
  font-weight:500;
  line-height:1;
  color:#fff;
  white-space:nowrap;
  transition:background .18s ease;
}
.pill:hover{background:rgba(255,255,255,.3)}
.pill--cta{
  margin-left:24px;
  height:38px;
  padding:0 22px;
  background:var(--brown-cta);
  font-weight:600;
}
.pill--cta:hover{background:#8a5f39}

.hero__body{
  position:absolute;
  left:40px;
  bottom:45px;
  width:auto;
  right:270px;
}
.hero__title{
  font-family:"Inter Tight","Inter",sans-serif;
  font-size:66px;
  font-weight:700;
  line-height:69px;
  letter-spacing:-.0275em;
  margin-bottom:22px;
}
.hero__text b{font-weight:600;color:#fff}
.hero__text{
  max-width:462px;
  font-size:16px;
  line-height:25.5px;
  color:rgba(255,255,255,.93);
  margin-bottom:27px;
}
.hero__actions{display:flex;gap:11px}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  height:52px;
  padding:0 31px;
  border-radius:999px;
  font-size:15px;
  font-weight:600;
  line-height:1;
  white-space:nowrap;
  transition:transform .18s ease,background .18s ease;
}
.btn:hover{transform:translateY(-2px)}
.btn--tan{background:var(--tan);color:#fff}
.btn--ghost{
  border:1.5px solid rgba(255,255,255,.55);
  color:#fff;
  padding:0 31px;
  gap:7px;
}
.btn--ghost:hover{background:rgba(255,255,255,.12)}
/* треугольник рисуем сами: символ ▶ на айфоне превращается в эмодзи */
.play{
  display:inline-block;
  width:0;height:0;
  border-style:solid;
  border-width:5px 0 5px 8px;
  border-color:transparent transparent transparent currentColor;
}

.stat{
  position:absolute;
  right:40px;
  bottom:44px;
  width:194px;
  padding:26px 26px 22px;
  border-radius:var(--r-md);
  background:rgba(255,255,255,.13);
  -webkit-backdrop-filter:blur(16px);
  backdrop-filter:blur(16px);
}
.stat__num{
  font-family:"Inter Tight","Inter",sans-serif;
  font-size:30px;
  font-weight:700;
  line-height:1;
  letter-spacing:-.01em;
}
.stat__cap{
  font-size:13px;
  line-height:1.3;
  margin-top:5px;
  color:rgba(255,255,255,.85);
}
.stat__rule{
  border:0;
  border-top:1px solid rgba(255,255,255,.3);
  margin:12px 0;
}
.stat__row{
  font-size:13px;
  line-height:22px;
  color:rgba(255,255,255,.92);
  white-space:nowrap;
}

/* ============================================================
   INTRO
   ============================================================ */
.intro{padding:71px 40px 0}
.intro__title{
  font-family:"Inter Tight","Inter",sans-serif;
  font-size:34px;
  font-weight:500;
  line-height:46px;
  letter-spacing:-.017em;
  max-width:822px;
}
.intro__lead{display:block;color:var(--dark)}
.intro__rest{display:block;color:var(--mute-2)}

/* ============================================================
   ПРОБНЫЕ ТРЕНИРОВКИ
   ============================================================ */
.trial{padding:72px 40px 0}
.trial__head{display:flex;flex-direction:column;align-items:flex-start;gap:14px}
.trial__grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
  margin-top:32px;
}
.video__frame{
  position:relative;
  aspect-ratio:16/9;
  border-radius:var(--r-md);
  overflow:hidden;
  background:var(--cream);
}
.video__frame iframe{
  position:absolute;inset:0;
  width:100%;height:100%;
  border:0;
}
.video figcaption{
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:14px;
  font-size:15px;
  font-weight:600;
  line-height:1.2;
}
.video figcaption .chip{height:27px;padding:0 13px;font-weight:400}

/* ============================================================
   НАПРАВЛЕНИЯ
   ============================================================ */
.directions{padding-top:58px}
.directions .slider{margin-top:24px}

.dircard{
  position:relative;
  flex:none;
  width:280px;
}
.dircard__media{
  position:relative;
  height:360px;
  border-radius:var(--r-md);
  overflow:hidden;
  background:#D8C3A3;
}
.dircard__media img{
  width:100%;height:100%;
  object-fit:cover;
}
.dircard__text{
  margin-top:14px;
  padding:0 4px;
  font-size:14px;
  line-height:22px;
  color:var(--mute);
}

/* бонусные карточки без фото */
.dircard--extra{
  height:360px;
  padding:28px;
  border-radius:var(--r-md);
  background:linear-gradient(160deg,#EFE4D3 0%,#D9C19E 100%);
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  overflow:hidden;
}
.dircard__title{
  margin-top:auto;
  font-family:"Inter Tight","Inter",sans-serif;
  font-size:26px;
  font-weight:700;
  line-height:1.1;
  letter-spacing:-.02em;
}
.dircard--extra p{
  margin-top:12px;
  font-size:14px;
  line-height:22px;
  color:var(--body-dark);
}
.dircard__plus{
  position:absolute;
  top:14px;right:22px;
  font-family:"Inter Tight","Inter",sans-serif;
  font-size:72px;
  font-weight:500;
  line-height:1;
  color:rgba(255,255,255,.7);
}
.dircard--dark{background:linear-gradient(160deg,var(--brown) 0%,var(--dark) 100%);color:#fff}
.dircard--dark p{color:var(--on-brown)}
.dircard--dark .dircard__plus{color:rgba(200,171,130,.45)}
.dircard__n{
  position:absolute;top:16px;left:16px;
  display:inline-flex;align-items:center;
  height:29px;padding:0 15px;
  border-radius:999px;
  background:#fff;
  font-size:12px;line-height:1;
  color:var(--dark);
}
.dircard__tag{
  position:absolute;bottom:16px;left:16px;
  display:inline-flex;align-items:center;
  height:37px;padding:0 19px;
  border-radius:999px;
  background:#fff;
  font-size:14px;font-weight:600;line-height:1;
  color:var(--dark);
}

/* ============================================================
   О ТРЕНЕРЕ
   ============================================================ */
/* Текст и фото — в разных колонках. При листании карточка
   переворачивается, на обороте секунду виден факт по теме слайда. */
.about{
  margin-top:72px;
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);
  align-items:center;
  gap:56px;
  padding:64px 72px;
  border-radius:var(--r-lg);
  background:var(--cream);
}
.about__chip{gap:8px;margin-bottom:24px}

.about__swap{transition:opacity .28s ease,transform .28s ease}
.about__swap.is-out{opacity:0;transform:translateY(7px)}

.about__title{
  font-family:"Inter Tight","Inter",sans-serif;
  font-size:64px;
  font-weight:700;
  line-height:1.02;
  letter-spacing:-.031em;
  min-height:2.04em;           /* две строки — высота не прыгает между слайдами */
  margin-bottom:18px;
}

.about__side{display:flex;justify-content:center}

.flipcard{
  position:relative;
  width:min(100%,300px);
  aspect-ratio:300/370;
  perspective:1400px;
  cursor:pointer;
  outline:none;
}
.flipcard:focus-visible .flipcard__inner{box-shadow:0 0 0 3px var(--tan),0 26px 54px rgba(44,33,26,.26)}
.flipcard__inner{
  position:relative;
  width:100%;height:100%;
  border-radius:22px;
  transform-style:preserve-3d;
  transform:rotate(-4deg);
  transition:transform .6s cubic-bezier(.45,.15,.2,1),box-shadow .35s ease;
  box-shadow:0 26px 54px rgba(44,33,26,.26);
}
.flipcard:hover .flipcard__inner:not(.is-flipped){
  transform:rotate(0deg) translateY(-6px) scale(1.01);
  box-shadow:0 32px 60px rgba(44,33,26,.32);
}
.flipcard__inner.is-flipped{transform:rotate(-4deg) rotateY(180deg)}
.flipcard__face{
  position:absolute;
  inset:0;
  border-radius:22px;
  overflow:hidden;
  -webkit-backface-visibility:hidden;
  backface-visibility:hidden;
}
.flipcard__back{
  transform:rotateY(180deg);
  background:linear-gradient(155deg,var(--tan),var(--brown-cta));
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:24px;
  text-align:center;
  color:#fff;
}
.flipcard__stat{
  font-family:"Inter Tight","Inter",sans-serif;
  font-size:48px;
  font-weight:700;
  line-height:1;
  letter-spacing:-.02em;
}
.flipcard__cap{max-width:18ch;margin-top:12px;font-size:14px;line-height:1.4;opacity:.92}
.flipcard__badge{
  position:absolute;
  top:-12px;right:4px;
  z-index:3;
  box-shadow:0 10px 20px -6px rgba(44,33,26,.3);
}
.flipcard__hint{
  position:absolute;
  bottom:-14px;left:50%;
  z-index:3;
  transform:translateX(-50%);
  padding:6px 12px;
  border-radius:999px;
  background:#fff;
  color:var(--mute);
  font-size:11px;
  font-weight:500;
  white-space:nowrap;
  box-shadow:0 6px 14px -6px rgba(44,33,26,.25);
}

.photo{background:#D8C3A3}
.photo img{width:100%;height:100%;object-fit:cover;object-position:center 20%}
.photo__badge{
  position:absolute;
  left:30px;right:30px;bottom:29px;
  height:55px;
  border-radius:16px;
  background:rgba(255,255,255,.92);
  -webkit-backdrop-filter:blur(8px);
  backdrop-filter:blur(8px);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:2px;
  text-align:center;
}
.photo__badge b{font-size:14px;font-weight:700;line-height:1.2;color:var(--dark)}
.photo__badge span{font-size:12px;line-height:1.2;color:var(--mute)}

.about__text{
  max-width:44ch;
  min-height:4.8em;            /* под самый длинный текст слайда */
  font-size:15px;
  line-height:24px;
  letter-spacing:-.006em;
  color:var(--mute);
}
.about__nav{
  display:flex;
  align-items:center;
  gap:8px;
  margin-top:28px;
}
.dots{display:flex;align-items:center;gap:8px}
.dots .dot{background:#D3C3AC;transition:background .2s ease}
.dots .dot--on{background:var(--dark)}
[data-dots="about"] .dot{cursor:pointer}

/* появление при входе в блок: класс about--anim ставит JS,
   без JS всё видно сразу */
.about--anim .about__chip,
.about--anim .about__title,
.about--anim .about__text,
.about--anim .about__nav,
.about--anim .flipcard,
.about--anim .flipcard__badge,
.about--anim .flipcard__hint{opacity:0}
.about--anim.is-visible .about__chip{animation:aboutUp .6s ease .1s forwards}
.about--anim.is-visible .about__title{animation:aboutUp .6s ease .22s forwards}
.about--anim.is-visible .about__text{animation:aboutUp .6s ease .34s forwards}
.about--anim.is-visible .about__nav{animation:aboutUp .6s ease .46s forwards}
.about--anim.is-visible .flipcard{animation:aboutIn .9s cubic-bezier(.2,.9,.25,1) .15s forwards,aboutFloat 5.5s ease-in-out 1.1s infinite}
.about--anim.is-visible .flipcard__badge{animation:aboutUp .5s ease .8s forwards}
.about--anim.is-visible .flipcard__hint{animation:aboutUpHint .5s ease 1.4s forwards}
.flipcard:hover{animation-play-state:paused !important}

@keyframes aboutUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes aboutUpHint{from{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%,0)}}
@keyframes aboutIn{from{opacity:0}to{opacity:1}}
@keyframes aboutFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}

@media (prefers-reduced-motion:reduce){
  .about *,.about{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important}
}

/* ============================================================
   ФОРМАТ / ОБОРУДОВАНИЕ / ВИДЕО
   ============================================================ */
.club{padding:72px 40px 0}
.club__head{display:flex;flex-direction:column;align-items:flex-start;gap:14px;margin-bottom:32px}
.features{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  grid-auto-rows:1fr;          /* все карточки одной высоты — по самой высокой */
  gap:28px 16px;
}
.feature{display:flex;flex-direction:column}
.feature__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:12px;
}
.feature__n{font-size:12px;line-height:1;color:var(--mute-2)}
.feature__card{
  position:relative;
  overflow:hidden;
  flex:1;
  min-height:250px;
  padding:32px;
  border-radius:var(--r-md);
  background:var(--cream);
}
/* 3D-иконка в правом нижнем углу, обрезается краем карточки */
.feature__icon{
  transform:scale(.8);
  transform-origin:right bottom;
  position:absolute;
  right:0;bottom:0;
  height:auto;
  pointer-events:none;
}
.feature__card h3,.feature__card p{position:relative;z-index:1}
.feature__card h3{
  font-family:"Inter Tight","Inter",sans-serif;
  font-size:22px;
  font-weight:700;
  line-height:1.2;
  letter-spacing:-.01em;
}
/* крупный знак вместо иконки */
.feature__mark{
  position:absolute;
  right:24px;bottom:14px;
  font-family:"Inter Tight","Inter",sans-serif;
  font-size:88px;
  font-weight:700;
  line-height:1;
  letter-spacing:-.04em;
  color:#E8DCC9;
  pointer-events:none;
}
.feature__card p{
  max-width:calc(100% - 110px); /* текст не заезжает на иконку */
  margin-top:13px;
  font-size:14px;
  line-height:23px;
  color:var(--mute);
}
.feature__plus{position:relative;z-index:1;height:25px;margin-top:10px;padding:0 11px;font-size:11px;font-weight:500}
.feature__card--dark{background:var(--brown)}
.feature__card--dark h3{color:#fff}
.feature__card--dark p{color:var(--on-brown)}

/* ============================================================
   КАК ВСЁ ПРОХОДИТ
   ============================================================ */
.how{
  margin:72px 0 0;
  padding:60px 40px 40px;
  border-radius:var(--r-lg);
  background:var(--cream);
}
.how__head{display:flex;flex-direction:column;align-items:flex-start;gap:14px}
.steps{
  counter-reset:step;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
  margin:32px 0 0;
  padding:0;
  list-style:none;
}
.step{
  position:relative;
  min-height:210px;
  padding:24px 24px 26px;
  border-radius:var(--r-md);
  background:#fff;
  display:flex;
  flex-direction:column;
  gap:18px;
}
.step__n{
  align-self:flex-start;
  display:inline-flex;align-items:center;
  height:27px;padding:0 13px;
  border-radius:999px;
  background:var(--tan);
  color:#fff;
  font-size:12px;line-height:1;
}
.step p{
  font-size:15px;
  line-height:23px;
  color:var(--mute);
}
.step p b{font-weight:600;color:var(--dark)}
.step--cta{
  background:var(--brown);
  justify-content:space-between;
}
.step--cta p{
  font-family:"Inter Tight","Inter",sans-serif;
  font-size:28px;
  font-weight:700;
  line-height:1.1;
  letter-spacing:-.02em;
  color:#fff;
}
.step--cta .btn{align-self:flex-start;height:46px;padding:0 24px;font-size:14px}

/* ============================================================
   ТАРИФЫ
   ============================================================ */
.pricing{padding:69px 40px 0}
.pricing__head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  margin-bottom:34px;
}
.pricing__title{
  font-family:"Inter Tight","Inter",sans-serif;
  font-size:52px;
  font-weight:700;
  line-height:1;
  letter-spacing:-.03em;
}
.pricing__note{font-size:14px;line-height:1;color:var(--mute);padding-bottom:3px}

.plans{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:16px;
}
.plan{
  min-height:367px;
  padding:40px;
  border-radius:var(--r-md);
  background:var(--cream);
  display:flex;
  flex-direction:column;
}
.plan__top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}
.plan__label{font-size:14px;line-height:17px;color:var(--mute)}
.plan__badge{height:29px;font-size:12px;padding:0 15px}

.plan__price{
  display:flex;
  align-items:baseline;
  gap:14px;
  margin-top:22px;
}
.plan__price b{
  font-family:"Inter Tight","Inter",sans-serif;
  font-size:50px;
  font-weight:700;
  line-height:1;
  letter-spacing:-.03em;
}
.plan__price s{
  font-size:19px;
  line-height:1;
  color:var(--old-price);
  text-decoration-thickness:1px;
}

.plan__list{margin-top:26px;margin-bottom:35px}
.plan__list li{
  font-size:14px;
  line-height:27px;
  color:var(--body-dark);
}

.plan__btn{
  margin-top:auto !important;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  height:50px;
  margin-top:35px;
  border-radius:999px;
  border:1.5px solid var(--dark);
  font-size:15px;
  font-weight:600;
  line-height:1;
  transition:background .18s ease,color .18s ease;
}
.plan__btn:hover{background:var(--dark);color:#fff}

.plan--dark{background:var(--brown);color:#fff}
.plan--dark .plan__label{color:var(--on-brown)}
.plan--dark .plan__price s{color:var(--old-price-dark)}
.plan--dark .plan__list li{color:var(--on-brown)}
.plan__btn--tan{
  border-color:var(--tan);
  background:var(--tan);
  color:#fff;
}
.plan__btn--tan:hover{background:#d4ba97;border-color:#d4ba97;color:#fff}

/* ============================================================
   РЕЗУЛЬТАТЫ И ОТЗЫВЫ
   ============================================================ */
.reviews{padding-top:64px}
.reviews .slider{margin-top:24px}

.shot{
  position:relative;
  flex:none;
  width:260px;
  height:330px;
  border-radius:var(--r-md);
  overflow:hidden;
  background:#D8C3A3;
}
.shot img{width:100%;height:100%;object-fit:cover}
.shot figcaption{
  position:absolute;bottom:16px;left:16px;
  display:inline-flex;align-items:center;
  height:34px;padding:0 16px;
  border-radius:999px;
  background:#fff;
  font-size:13px;font-weight:600;line-height:1;
  color:var(--dark);
}

.review{
  position:relative;
  flex:none;
  width:320px;
  height:330px;
  padding:28px;
  border-radius:var(--r-md);
  background:var(--cream);
}
.review__stars{
  font-size:14px;
  line-height:1;
  letter-spacing:.04em;
  color:var(--tan);
}
.review p{
  margin-top:24px;
  font-size:15px;
  line-height:24px;
  color:var(--body-dark);
}
.review footer{
  position:absolute;
  left:28px;bottom:24px;
  font-size:13px;
  font-weight:600;
  line-height:1;
  color:var(--dark);
}

/* --- отзывы: фото над текстом, у каждого отзыва своя галерея --- */
.rcard{
  flex:none;
  width:360px;
  border-radius:var(--r-md);
  background:var(--cream);
  overflow:hidden;
  display:flex;
  flex-direction:column;
}
.rcard__media{
  position:relative;
  width:100%;
  height:300px;
  background:var(--cream-2);
}
.rcard__media img{width:100%;height:100%;object-fit:cover;object-position:center 30%}
.rcard__cap,.rcard__count{
  position:absolute;
  display:inline-flex;align-items:center;
  height:30px;padding:0 13px;
  border-radius:999px;
  font-size:12px;font-weight:600;line-height:1;
  pointer-events:none;
}
.rcard__cap{left:14px;bottom:14px;background:#fff;color:var(--dark)}
.rcard__count{right:14px;top:14px;background:rgba(44,33,26,.72);color:#fff}
.rcard__body{flex:1;padding:24px 28px 28px;display:flex;flex-direction:column;align-items:flex-start}
.rcard__tag{height:28px;padding:0 13px}
.rcard__title{
  margin-top:16px;
  font-family:"Inter Tight","Inter",sans-serif;
  font-size:21px;
  font-weight:700;
  line-height:1.2;
  letter-spacing:-.01em;
  min-height:2.4em;            /* заголовок в 1 и 2 строки — текст начинается на одной высоте */
}
.rcard__text{
  margin-top:12px;
  min-height:96px;             /* 4 строки — короткие отзывы той же высоты, что свёрнутые длинные */
  font-size:15px;
  line-height:24px;
  color:var(--body-dark);
}
.rcard--long .rcard__text{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:7;
  overflow:hidden;
}
.rcard--photo.rcard--long .rcard__text{-webkit-line-clamp:4}
.rcard--long.is-open .rcard__text{display:block;-webkit-line-clamp:unset;overflow:visible}
.rcard__more{
  margin-top:auto;             /* у свёрнутых карточек — на одной линии внизу */
  padding-top:14px;
  font-size:14px;font-weight:600;line-height:1.2;
  color:var(--brown-cta);
  text-decoration:underline;text-decoration-color:rgba(122,82,48,.3);text-underline-offset:4px;
}
.rcard__more:hover{text-decoration-color:currentColor}

/* длинный отзыв раскрывается вниз по нажатию; растёт только открытая карточка */
.rcard--long{cursor:pointer}
/* на десктопе любая карточка открывает попап */
@media (min-width:761px){
  .rcard{cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}
  .rcard:hover{transform:translateY(-3px);box-shadow:0 14px 30px -18px rgba(44,33,26,.35)}
}

/* общий крестик попапов: значок строго по центру кружка */
.pop__close{
  position:absolute;top:-14px;right:-14px;z-index:2;
  width:40px;height:40px;
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  padding:0;
  background:#fff;color:var(--dark);
  box-shadow:0 6px 18px rgba(28,20,15,.3);
}
.pop__close svg{display:block;flex:none}

/* попап отзыва (десктоп): слева фото с листанием, справа полный текст */
.rpop{
  width:min(94vw,1040px);
  height:min(86vh,680px);
  padding:0;
  border:0;
  border-radius:var(--r-lg);
  background:var(--cream);
  color:var(--dark);
  overflow:visible;
}
.rpop[open]{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}
.rpop::backdrop,.spop::backdrop{background:rgba(28,20,15,.78)}
.rpop__media{
  position:relative;
  min-height:0;
  display:flex;
  flex-direction:column;
  background:#fff;
  border-radius:var(--r-lg) 0 0 var(--r-lg);
  overflow:hidden;
}
.rpop__img{flex:1;min-height:0;width:100%;object-fit:contain}
.rpop__nav{display:flex;align-items:center;justify-content:center;gap:14px;padding:14px 0 18px}
.rpop__nav[hidden]{display:none}
.rpop__n{min-width:48px;text-align:center;font-size:14px;font-weight:600;color:var(--mute)}
.rpop__body{min-height:0;overflow:auto;padding:40px 40px 36px;display:flex;flex-direction:column;align-items:flex-start}
.rpop__tag{height:28px;padding:0 13px;flex:none}
.rpop__title{
  margin-top:16px;
  font-family:"Inter Tight","Inter",sans-serif;
  font-size:26px;
  font-weight:700;
  line-height:1.15;
  letter-spacing:-.015em;
}
.rpop__text{margin-top:16px;font-size:16px;line-height:26px;color:var(--body-dark)}

/* попап «набор закрыт» */
.spop{
  width:min(92vw,480px);
  padding:40px 36px 32px;
  border:0;
  border-radius:var(--r-lg);
  background:var(--cream);
  color:var(--dark);
  text-align:center;
  overflow:visible;
}
.spop[open]{display:flex;flex-direction:column;align-items:center}
.spop__chip{height:32px;padding:0 16px;font-size:13px}
.spop__chip b{font-weight:700}
.spop__title{
  margin-top:20px;
  font-family:"Inter Tight","Inter",sans-serif;
  font-size:28px;
  font-weight:700;
  line-height:1.15;
  letter-spacing:-.02em;
}
.spop__text{margin-top:12px;max-width:34ch;font-size:15px;line-height:24px;color:var(--mute)}
.spop__text b{color:var(--dark)}
.spop__actions{display:flex;flex-direction:column;align-items:stretch;gap:10px;width:100%;margin-top:26px}
.spop__tg{gap:8px}
.spop__tg .soc__ic{width:16px;height:16px}
.spop__ok{
  height:48px;
  border-radius:999px;
  border:1.5px solid rgba(44,33,26,.18);
  font-size:15px;font-weight:600;
  transition:border-color .18s ease;
}
.spop__ok:hover{border-color:var(--dark)}
@media (max-width:640px){
  .spop{padding:34px 22px 24px}
  .spop__title{font-size:24px}
  .pop__close{top:8px;right:8px}
}
html.pop-open,html.pop-open body{overflow:hidden}
.rcard__nav{
  position:absolute;top:50%;z-index:1;
  width:34px;height:34px;
  margin-top:-17px;
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  padding:0;
  background:rgba(255,255,255,.92);color:var(--dark);
  box-shadow:0 4px 12px rgba(28,20,15,.18);
  transition:transform .18s ease;
}
.rcard__nav:hover{transform:scale(1.06)}
.rcard__nav svg{display:block;flex:none}
.rcard__nav--prev{left:12px}
.rcard__nav--next{right:12px}

/* ============================================================
   FAQ
   ============================================================ */
.faq{
  margin:72px 20px 0;
  padding:52px 40px 49px;
  border-radius:var(--r-lg);
  background:var(--cream);
}
.faq__title{
  font-family:"Inter Tight","Inter",sans-serif;
  font-size:40px;
  font-weight:700;
  line-height:1;
  letter-spacing:-.03em;
}
.faq__list{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  column-gap:28px;
  align-items:start;
  margin-top:28px;
}

.qa{border-top:1px solid rgba(44,33,26,.12)}
.qa__head{
  display:flex;
  align-items:center;
  gap:20px;
  width:100%;
  padding:22px 3px 22px 0;
  text-align:left;
}
.qa__bullet{
  width:46px;height:46px;
  border-radius:50%;
  background:var(--bullet);
  flex:none;
  display:flex;align-items:center;justify-content:center;
  font-style:normal;
  font-size:13px;font-weight:600;line-height:1;
  letter-spacing:.02em;
  color:var(--mute);
}
.qa__q{
  flex:1;
  font-size:17px;
  font-weight:600;
  line-height:1.3;
  color:var(--dark);
}
.qa__sign{
  position:relative;
  width:12px;height:12px;
  flex:none;
  color:var(--mute);
}
.qa__sign::before,
.qa__sign::after{
  content:"";
  position:absolute;
  background:currentColor;
  transition:transform .22s ease,opacity .22s ease;
}
.qa__sign::before{left:0;top:5px;width:12px;height:1.6px}
.qa__sign::after{left:5px;top:0;width:1.6px;height:12px}
.qa__head[aria-expanded="true"] .qa__sign::after{transform:scaleY(0)}

.qa__body{
  display:grid;
  grid-template-rows:0fr;
  transition:grid-template-rows .28s ease;
}
.qa__body > p{
  overflow:hidden;
  font-size:14px !important;
  line-height:22px !important;
  font-size:15px;
  line-height:24px;
  color:var(--mute);
  padding-left:66px;
  padding-right:60px;
}
.qa.is-open .qa__body{grid-template-rows:1fr}
.qa.is-open .qa__body > p{padding-bottom:22px}
.faq .qa__head{align-items:flex-start;gap:14px;padding:20px 0}
.faq .qa__bullet{width:36px;height:36px;font-size:12px}
.faq .qa__q{font-size:15px;line-height:1.35;padding-top:8px}
.faq .qa__sign{margin-top:12px}
.faq .qa__body > p{padding-left:50px;padding-right:0}

/* ============================================================
   FOOTER
   ============================================================ */
.footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  margin:21px 20px 0;
  height:87px;
  padding:0 28px;
  border-radius:var(--r-md);
  background:var(--dark);
  color:#fff;
}
.footer .logo{font-size:15px;letter-spacing:0}
.footer__legal{
  font-size:12px;
  line-height:1.4;
  color:var(--footer-legal);
}
.footer__legal a{text-decoration:underline;text-decoration-color:rgba(255,255,255,.25);text-underline-offset:3px}
.footer__legal a:hover{color:#fff;text-decoration-color:currentColor}
.footer__tg{
  display:inline-flex;
  align-items:center;
  gap:6px;
  height:39px;
  padding:0 20px;
  border-radius:999px;
  background:var(--tan);
  color:var(--dark);
  font-size:13px;
  font-weight:600;
  line-height:1;
  white-space:nowrap;
  transition:background .18s ease;
}
.footer__tg:hover{background:#d4ba97}
.soc{display:flex;flex-wrap:wrap;gap:8px;flex:none}
.soc .footer__tg{gap:8px;padding:0 16px}
.soc__ic{width:16px;height:16px;flex:none}

/* «5 дней» в тарифах — жирным */
.pricing__note b,.plan__list b{font-weight:700;color:var(--dark)}
.plan--dark .plan__list b{color:#fff}
.plan__badge b{font-weight:700}

/* ============================================================
   АДАПТИВ
   ============================================================ */
@media (max-width:1100px){
  .hero{height:auto;min-height:680px;padding-bottom:1px}
  .hero__body{position:static;width:auto;max-width:none;padding:120px 40px 0;margin-bottom:36px}
  .hero__title{font-size:54px;line-height:57px}
  .stat{position:static;margin:0 40px 40px auto}
  .intro__title{font-size:30px;line-height:41px}
  .about{gap:40px;padding:56px 48px}
  .about__title{font-size:52px}
  .pricing__title{font-size:44px}
  .faq__list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .h2{font-size:44px}
  .trial__grid{grid-template-columns:1fr 1fr}
  .video--tour{grid-column:1 / -1}
  .steps{grid-template-columns:repeat(2,1fr)}
  .step{min-height:0}
  /* в три колонки карточки слишком узкие — иконка налезает на текст */
  .features{grid-template-columns:1fr 1fr;gap:24px 16px}
  .feature__card{height:auto;min-height:210px}
}

@media (max-width:860px){
  .about{grid-template-columns:1fr;text-align:center}
  .about__side{order:-1}
  .about__text{margin-left:auto;margin-right:auto}
  .about__nav{justify-content:center}
  .flipcard{width:260px}
  .sechead,.intro,.club,.trial,.pricing{padding-left:32px;padding-right:32px}
  .how{padding-left:28px;padding-right:28px}
  .features{grid-template-columns:1fr;grid-auto-rows:auto}
  .slider{margin-left:32px;margin-right:32px}
  .plans{grid-template-columns:1fr}
  .plan{height:auto}
  .faq{margin-left:12px;margin-right:12px;padding:40px 28px 48px}
  .faq__list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .footer{
    height:auto;
    flex-direction:column;
    align-items:flex-start;
    gap:18px;
    margin-left:12px;margin-right:12px;
    padding:28px;
  }
  .soc{flex:initial}
}

@media (max-width:640px){
  .page{padding:12px 12px 13px}
  .hero{min-height:600px;border-radius:20px}
  .nav{padding:18px 20px 0;flex-wrap:wrap;gap:10px}
  .nav__list{display:none}
  .pill--cta{margin-left:auto}
  .hero__body{padding:90px 20px 0}
  .hero__title{font-size:38px;line-height:41px}
  .hero__text{font-size:15px;line-height:24px}
  .hero__actions{flex-wrap:wrap}
  .stat{margin:0 20px 28px;width:auto}
  .sechead,.intro,.club,.trial,.pricing{padding-left:20px;padding-right:20px}
  .trial,.club{padding-top:48px}
  .h2{font-size:32px}
  .trial__grid{grid-template-columns:1fr;margin-top:24px}
  .how{margin-top:48px;padding:36px 20px 24px;border-radius:20px}
  .steps{grid-template-columns:1fr;gap:10px;margin-top:24px}
  .step{flex-direction:row;align-items:flex-start;gap:14px;padding:18px}
  .step__n{flex:none}
  .step--cta{flex-direction:column}
  .dircard{width:250px}
  .dircard__media,.dircard--extra{height:320px}
  .feature__mark{font-size:68px}
  .slider{margin-left:20px;margin-right:20px}
  .intro{padding-top:48px}
  .intro__title{font-size:24px;line-height:33px}
  .about{margin-top:48px;padding:40px 20px 36px;gap:36px}
  .about__title{font-size:38px;min-height:0}
  .pricing__head{flex-direction:column;align-items:flex-start;gap:10px}
  .pricing__title{font-size:36px}
  .plan{padding:28px}
  .plan__price b{font-size:40px}
  .flipcard{width:220px}
  .flipcard__stat{font-size:40px}
  .photo__badge{left:20px;right:20px;bottom:20px;height:50px;border-radius:14px}
  .photo__badge b{font-size:13px}
  .photo__badge span{font-size:11px}
  .about__text{font-size:14px;line-height:23px;min-height:0}
  .faq{margin-top:48px;padding:32px 20px 36px}
  .faq__title{font-size:30px}
  .faq__list{grid-template-columns:1fr;margin-top:18px}
  .qa__head{gap:14px}
  .qa__bullet{width:36px;height:36px;font-size:12px}
  .qa__q{font-size:15px}
  .qa__body > p{padding-left:50px;padding-right:0}
}

@media (max-width:640px){
  /* главный экран: фото отдельной карточкой, текст под ним — не лежит на лице */
  .hero{min-height:0;height:auto;overflow:visible;border-radius:0;color:var(--dark);padding-bottom:0}
  .hero__bg{position:relative;z-index:0;height:400px;border-radius:20px;object-position:53% 0}
  .hero__veil{inset:0 0 auto 0;height:400px;border-radius:20px;z-index:1;background:linear-gradient(180deg,rgba(28,20,15,.4) 0%,rgba(28,20,15,0) 30%)}
  .nav{position:absolute;top:0;left:0;right:0;z-index:2}
  .nav .logo{color:#fff}
  .hero__body{padding:24px 8px 0;margin-bottom:20px}
  .hero__title{font-size:36px;line-height:39px;margin-bottom:12px;color:var(--dark)}
  .hero__text{color:var(--mute);font-size:15px;line-height:24px;margin-bottom:20px}
  .hero__text b{color:var(--dark)}
  .hero__actions .btn{flex:1;height:48px;padding:0 14px;font-size:14px}
  .btn--ghost{border-color:var(--dark);color:var(--dark)}
  .btn--ghost:hover{background:rgba(44,33,26,.06)}
  .stat{
    margin:0 0 4px;width:auto;
    display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:14px;
    padding:16px 20px;
    background:var(--cream);color:var(--dark);
    -webkit-backdrop-filter:none;backdrop-filter:none;
  }
  .stat__num{grid-row:1 / 3;font-size:28px}
  .stat__cap{margin:0;color:var(--mute)}
  .stat__rule{display:none}
  .stat__row{color:var(--mute)}

  /* карточки «о клубе»: иконка меньше, текст не заходит на неё */
  .feature__icon{transform:scale(.7);transform-origin:right bottom}
  .feature__card p{max-width:calc(100% - 104px)}
}

@media (max-width:640px){
  .rcard{width:min(300px,82vw)}
  .rcard__media{height:250px}
  .rcard__body{padding:20px 22px 24px}
  .rcard__title{font-size:19px}
  .rcard__text{font-size:14px;line-height:23px;min-height:92px}
}
}

@media (max-width:400px){
  .feature__card{padding:28px 24px}
  .feature__icon{transform:scale(.62)}
  .feature__card p{max-width:calc(100% - 96px)}
}

/* ссылка на чат поддержки под кнопкой тарифа */
.plan__help{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  margin-top:16px;
  font-size:13px;
  line-height:18px;
  font-weight:600;
  color:var(--mute);
  text-decoration:underline;
  text-underline-offset:3px;
  transition:color .18s ease;
}
.plan__help:hover{color:var(--dark)}
.plan--dark .plan__help{color:var(--on-brown)}
.plan--dark .plan__help:hover{color:#fff}
