/* ============================================================
   Дыхание природы — премиальный лендинг массажа горячими камнями
   Design system: warm basalt + candlelight + forest green
   ============================================================ */

:root{
  /* grounds */
  --deep:      #0E1411;
  --deep-2:    #111A15;
  --deep-3:    #090D0B;
  --paper:     #F3EEE6;
  --paper-2:   #EBE3D5;

  /* ink */
  --ink:       #1B1E1A;
  --ink-soft:  #5B625A;
  --cream:     #EFE9DD;
  --cream-soft: rgba(239,233,221,.66);
  --cream-faint: rgba(239,233,221,.42);

  /* accents */
  --ember:     #C6863E;
  --ember-2:   #D89A54;
  --ember-lt:  #E4B26E;
  --jade:      #7C9A82;

  /* lines */
  --line-lt:   rgba(27,30,26,.12);
  --line-dk:   rgba(239,233,221,.14);

  --serif: 'Cormorant', Georgia, 'Times New Roman', serif;
  --sans:  'Manrope', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;

  --wrap: 1200px;
  --pad: clamp(20px, 5vw, 64px);
  --sect: clamp(84px, 12vh, 168px);
  --ease: cubic-bezier(.22,.61,.36,1);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth; scroll-padding-top:88px; -webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){ html{scroll-behavior:auto} }

body{
  margin:0;
  font-family:var(--sans);
  font-size:17px;
  line-height:1.62;
  color:var(--ink);
  background:var(--paper);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

img{max-width:100%; display:block}
a{color:inherit}
h1,h2,h3,h4{margin:0}
p{margin:0}
ul,ol{margin:0; padding:0; list-style:none}

.wrap{max-width:var(--wrap); margin-inline:auto; padding-inline:var(--pad); width:100%}

/* ---------- sections ---------- */
.section{padding-block:var(--sect); position:relative}
.section--tight{padding-block:clamp(40px,6vh,72px)}
.section--deep{background:var(--deep); color:var(--cream)}
.section--deep::before{ /* subtle top hairline */
  content:""; position:absolute; inset-inline:0; top:0; height:1px;
  background:linear-gradient(90deg, transparent, var(--line-dk), transparent);
}
.section--paper{background:var(--paper); color:var(--ink)}

/* ---------- type ---------- */
.eyebrow{
  font-family:var(--sans); font-weight:600; font-size:12.5px;
  text-transform:uppercase; letter-spacing:.24em; color:var(--ember);
  margin-bottom:22px;
}
.eyebrow--light{color:var(--ember-lt)}
.section--deep .eyebrow{color:var(--ember-lt)}

.h2{
  font-family:var(--serif); font-weight:500;
  font-size:clamp(32px, 5vw, 60px); line-height:1.03; letter-spacing:-.01em;
  text-wrap:balance;
}
.h2 em, .hero__title em, .booking__title em{
  font-style:italic; color:var(--ember-2); font-weight:500;
}
.section--paper .h2 em{color:var(--ember)}

.lead{
  font-size:clamp(17px, 2.1vw, 21px); line-height:1.6; font-weight:400;
  color:var(--ink-soft); max-width:60ch; margin-top:20px;
}
.section--deep .lead{color:var(--cream-soft)}
.lead--center{margin-inline:auto; text-align:center}

/* ---------- buttons ---------- */
.btn{
  --btn-bg:var(--ember); --btn-fg:#1a1205;
  display:inline-flex; align-items:center; justify-content:center; gap:.5em;
  font-family:var(--sans); font-weight:600; font-size:15px; letter-spacing:.01em;
  text-decoration:none; cursor:pointer; border:1px solid transparent;
  padding:15px 30px; border-radius:100px; transition:transform .35s var(--ease), background-color .35s var(--ease), border-color .35s var(--ease), color .35s var(--ease), box-shadow .35s var(--ease);
  will-change:transform;
}
.btn--lg{padding:18px 38px; font-size:16px}
.btn--block{display:flex; width:100%}
.btn--ember{background:var(--ember); color:#1c1305; box-shadow:0 10px 30px -12px rgba(198,134,62,.7)}
.btn--ember:hover{background:var(--ember-2); transform:translateY(-3px); box-shadow:0 16px 40px -12px rgba(198,134,62,.85)}
.btn--ghost{background:transparent; color:var(--cream); border-color:var(--line-dk)}
.btn--ghost:hover{border-color:var(--cream); transform:translateY(-3px)}
.btn--ghost-light{background:rgba(239,233,221,.06); color:var(--cream); border-color:rgba(239,233,221,.28); backdrop-filter:blur(6px)}
.btn--ghost-light:hover{background:rgba(239,233,221,.14); transform:translateY(-3px)}
.btn--outline{background:transparent; color:var(--ink); border-color:rgba(27,30,26,.28)}
.btn--outline:hover{background:var(--ink); color:var(--paper); transform:translateY(-3px)}
.btn--nav{padding:11px 24px; font-size:14px; background:var(--ember); color:#1c1305}
.btn--nav:hover{background:var(--ember-2)}
.btn:focus-visible{outline:2px solid var(--ember-lt); outline-offset:3px}

/* ============================================================
   PRELOADER
   ============================================================ */
.preloader{
  position:fixed; inset:0; z-index:9999; background:var(--deep-3);
  display:flex; align-items:center; justify-content:center;
  transition:opacity .8s var(--ease), visibility .8s;
}
.preloader.done{opacity:0; visibility:hidden}
.preloader__mark{display:flex; flex-direction:column; align-items:center; gap:18px}
.preloader__leaf{
  width:44px; height:44px; border-radius:50%;
  border:1.5px solid var(--ember); border-top-color:transparent;
  animation:spin 1s linear infinite;
}
.preloader__word{
  font-family:var(--serif); font-style:italic; font-size:22px; letter-spacing:.02em;
  color:var(--cream); opacity:.9;
}
@keyframes spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){ .preloader__leaf{animation:none} }

/* ============================================================
   NAV
   ============================================================ */
.nav{
  position:fixed; inset-inline:0; top:0; z-index:1000;
  transition:background-color .5s var(--ease), backdrop-filter .5s, box-shadow .5s, padding .4s var(--ease);
  padding-block:22px;
}
.nav.scrolled{
  background:rgba(11,16,13,.78); backdrop-filter:blur(14px) saturate(1.1);
  padding-block:13px; box-shadow:0 1px 0 var(--line-dk);
}
.nav__inner{
  max-width:var(--wrap); margin-inline:auto; padding-inline:var(--pad);
  display:flex; align-items:center; gap:24px;
}
.brand{display:inline-flex; align-items:center; gap:11px; text-decoration:none; color:var(--cream)}
.brand__mark{color:var(--ember); flex:none}
.brand__name{font-family:var(--serif); font-size:23px; font-weight:600; letter-spacing:.005em; white-space:nowrap}
.nav__links{display:flex; gap:30px; margin-left:auto}
.nav__links a{
  text-decoration:none; color:var(--cream-soft); font-size:14.5px; font-weight:500;
  position:relative; padding-block:4px; transition:color .3s;
}
.nav__links a::after{
  content:""; position:absolute; left:0; bottom:0; width:0; height:1px;
  background:var(--ember-lt); transition:width .35s var(--ease);
}
.nav__links a:hover{color:var(--cream)}
.nav__links a:hover::after{width:100%}
.nav .btn--nav{flex:none}
.nav__burger{
  display:none; flex-direction:column; gap:5px; width:40px; height:40px;
  align-items:center; justify-content:center; background:none; border:none; cursor:pointer;
}
.nav__burger span{width:22px; height:2px; background:var(--cream); border-radius:2px; transition:transform .35s var(--ease), opacity .3s}
.nav__burger[aria-expanded="true"] span:nth-child(1){transform:translateY(3.5px) rotate(45deg)}
.nav__burger[aria-expanded="true"] span:nth-child(2){transform:translateY(-3.5px) rotate(-45deg)}
.nav__mobile{
  display:flex; flex-direction:column; gap:6px;
  padding:0 var(--pad); background:rgba(11,16,13,.97); backdrop-filter:blur(14px);
  max-height:0; overflow:hidden; transition:max-height .5s var(--ease), padding .4s var(--ease);
}
.nav.open .nav__mobile{padding:14px var(--pad) 26px}
.nav__mobile a{text-decoration:none; color:var(--cream); font-size:17px; padding:12px 0; border-bottom:1px solid var(--line-dk)}
.nav__mobile .btn{margin-top:14px; border:none}

/* ============================================================
   HERO
   ============================================================ */
.hero{position:relative; min-height:100svh; display:flex; align-items:center; overflow:hidden; background:var(--deep-3)}
.hero__media{position:absolute; inset:0; z-index:0}
.hero__img{width:100%; height:100%; object-fit:cover; object-position:65% center; transform:scale(1.06); transform-origin:center}
.hero__scrim{
  position:absolute; inset:0;
  background:
    linear-gradient(90deg, rgba(9,13,11,.92) 0%, rgba(9,13,11,.72) 34%, rgba(9,13,11,.28) 62%, rgba(9,13,11,.5) 100%),
    linear-gradient(0deg, rgba(9,13,11,.82) 0%, transparent 38%);
}
.hero__content{position:relative; z-index:2; max-width:var(--wrap); margin-inline:auto; padding-inline:var(--pad); width:100%; color:var(--cream)}
.hero__title{
  font-family:var(--serif); font-weight:500; color:var(--cream);
  font-size:clamp(46px, 8.2vw, 108px); line-height:.98; letter-spacing:-.015em;
  margin-top:12px; text-wrap:balance;
}
.hero__sub{
  font-size:clamp(17px, 2.1vw, 21px); line-height:1.58; color:var(--cream-soft);
  max-width:44ch; margin-top:26px;
}
.hero__cta{display:flex; flex-wrap:wrap; gap:14px; margin-top:38px}
.hero__trust{
  display:flex; flex-wrap:wrap; gap:14px 30px; margin-top:44px;
  font-size:14px; color:var(--cream-soft);
}
.hero__trust li{position:relative; padding-left:20px}
.hero__trust li::before{content:""; position:absolute; left:0; top:.55em; width:7px; height:7px; border-radius:50%; background:var(--ember); box-shadow:0 0 10px rgba(198,134,62,.8)}
.hero__trust strong{color:var(--cream); font-weight:600}
.hero__scroll{position:absolute; z-index:2; left:50%; bottom:30px; transform:translateX(-50%); width:1px; height:56px; display:block}
.hero__scroll-line{position:absolute; inset:0; background:var(--line-dk); overflow:hidden}
.hero__scroll-line::after{content:""; position:absolute; inset:0; background:var(--ember-lt); animation:scrolldot 2.1s var(--ease) infinite}
@keyframes scrolldot{0%{transform:translateY(-100%)}60%,100%{transform:translateY(100%)}}
@media (prefers-reduced-motion:reduce){ .hero__scroll-line::after{animation:none} }

/* ============================================================
   PROBLEM
   ============================================================ */
.problem__grid{display:grid; grid-template-columns:0.82fr 1.18fr; gap:clamp(40px,7vw,100px); align-items:start}
.problem__intro{position:sticky; top:104px}
.problem__intro .h2{margin-top:6px}
.pains{display:flex; flex-direction:column; margin:0}
.pain{display:grid; grid-template-columns:auto 1fr; gap:clamp(18px,2.6vw,32px); padding:30px 0; border-top:1px solid var(--line-dk); align-items:baseline}
.pain:first-child{padding-top:4px; border-top:none}
.pain__no{font-family:var(--serif); font-style:italic; font-size:26px; color:var(--ember-2); line-height:1}
.pain__body h3{font-family:var(--serif); font-size:clamp(23px,2.6vw,29px); font-weight:600; color:var(--cream); line-height:1.15}
.pain__body p{margin-top:10px; font-size:16px; color:var(--cream-soft); line-height:1.56; max-width:54ch}
.bridge{
  font-family:var(--serif); font-size:clamp(24px,3.4vw,40px); line-height:1.25; text-align:center;
  max-width:24ch; margin:clamp(70px,9vh,104px) auto 0; color:var(--cream);
}
.bridge em{font-style:italic; color:var(--ember-2)}

/* ============================================================
   MECHANISM
   ============================================================ */
.mech__grid{display:grid; grid-template-columns:0.92fr 1.08fr; gap:clamp(36px,6vw,84px); align-items:center}
.mech__media{position:relative; border-radius:18px; overflow:hidden; aspect-ratio:4/5}
.mech__media img{width:100%; height:100%; object-fit:cover; transform:scale(1.12)}
.mech__temp{
  position:absolute; left:22px; bottom:22px; z-index:2;
  font-family:var(--serif); font-style:italic; font-size:28px; color:var(--cream);
  background:rgba(14,20,17,.5); backdrop-filter:blur(8px); border:1px solid var(--line-dk);
  padding:10px 20px; border-radius:100px;
}
.pillars{display:grid; gap:1px; margin-top:40px; border-top:1px solid var(--line-lt)}
.pillar{padding:26px 0; border-bottom:1px solid var(--line-lt)}
.pillar h3{font-family:var(--serif); font-size:26px; font-weight:600; color:var(--ink)}
.pillar h3::before{content:""; display:inline-block; width:26px; height:1px; background:var(--ember); vertical-align:middle; margin-right:14px}
.pillar p{margin-top:8px; color:var(--ink-soft); font-size:16px; max-width:52ch; padding-left:40px}

/* ============================================================
   RITUAL
   ============================================================ */
.ritual__head{max-width:640px; margin-bottom:66px}
.ritual__grid{display:grid; grid-template-columns:0.85fr 1.15fr; gap:clamp(36px,6vw,90px); align-items:start}
.ritual__sticky{position:sticky; top:96px}
.ritual__visual{position:relative; border-radius:18px; overflow:hidden; aspect-ratio:3/4}
.ritual__visual img{width:100%; height:100%; object-fit:cover}
.ritual__index{
  position:absolute; left:20px; bottom:18px; z-index:2; display:flex; align-items:baseline; gap:6px;
  font-family:var(--serif); color:var(--cream);
}
.ritual__index span{font-size:52px; font-style:italic; line-height:1}
.ritual__index i{font-size:18px; color:var(--cream-soft); font-style:italic}
.steps{display:flex; flex-direction:column}
.step{display:grid; grid-template-columns:auto 1fr; gap:26px; padding:34px 0; border-bottom:1px solid var(--line-dk)}
.step:first-child{padding-top:0}
.step:last-child{border-bottom:none}
.step__no{
  font-family:var(--serif); font-style:italic; font-size:30px; color:var(--ember-2);
  min-width:44px; line-height:1.1;
}
.step h3{font-family:var(--serif); font-size:clamp(24px,3vw,32px); font-weight:600; color:var(--cream)}
.step p{margin-top:12px; color:var(--cream-soft); font-size:16px; max-width:48ch}
.step.is-active .step__no{color:var(--ember-lt)}

/* ============================================================
   EFFECT
   ============================================================ */
.effect__grid{display:grid; grid-template-columns:1.1fr .9fr; gap:clamp(36px,6vw,84px); align-items:center}
.benefits{margin-top:36px; display:flex; flex-direction:column; gap:20px}
.benefits li{display:grid; grid-template-columns:auto 1fr; gap:16px; align-items:start; font-size:16.5px; color:var(--ink-soft); line-height:1.5}
.benefits strong{color:var(--ink); font-weight:600}
.benefits__ic{width:26px; height:26px; border-radius:50%; border:1px solid var(--ember); position:relative; flex:none; margin-top:2px}
.benefits__ic::after{content:""; position:absolute; left:8px; top:12px; width:6px; height:10px; border-right:1.5px solid var(--ember); border-bottom:1.5px solid var(--ember); transform:rotate(40deg)}
.effect__note{margin-top:34px; font-family:var(--serif); font-style:italic; font-size:clamp(19px,2.4vw,24px); line-height:1.4; color:var(--ink); max-width:46ch}
.effect__media{border-radius:18px; overflow:hidden; aspect-ratio:3/4}
.effect__media img{width:100%; height:100%; object-fit:cover; transform:scale(1.1)}

/* ============================================================
   BREATHER
   ============================================================ */
.breather{position:relative; min-height:64vh; display:flex; align-items:center; justify-content:center; overflow:hidden; background:var(--deep-3)}
.breather__img{position:absolute; inset:-12% 0; width:100%; height:124%; object-fit:cover}
.breather__scrim{position:absolute; inset:0; background:rgba(9,13,11,.62)}
.breather__quote{
  position:relative; z-index:2; margin:0; padding:0 var(--pad);
  font-family:var(--serif); font-style:italic; font-weight:400;
  font-size:clamp(26px,4.4vw,52px); line-height:1.28; color:var(--cream); text-align:center; text-wrap:balance;
}

/* ============================================================
   WHY US
   ============================================================ */
.why__grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); gap:1px; margin-top:60px; background:var(--line-dk); border:1px solid var(--line-dk); border-radius:16px; overflow:hidden}
.feat{background:var(--deep); padding:38px 32px; transition:background-color .5s var(--ease)}
.feat:hover{background:var(--deep-2)}
.feat h3{font-family:var(--serif); font-size:25px; font-weight:600; color:var(--cream); line-height:1.15}
.feat p{margin-top:14px; color:var(--cream-soft); font-size:15.5px; line-height:1.56}
.stats{display:grid; grid-template-columns:repeat(4,1fr); gap:24px; margin-top:70px; padding-top:52px; border-top:1px solid var(--line-dk)}
.stat{text-align:center}
.stat__n{display:block; font-family:var(--serif); font-size:clamp(40px,5.6vw,68px); font-weight:500; line-height:1; color:var(--ember-lt); font-variant-numeric:tabular-nums}
.stat__l{display:block; margin-top:12px; font-size:13.5px; color:var(--cream-soft); letter-spacing:.02em}

/* ============================================================
   PRICING
   ============================================================ */
.pricing .eyebrow, .pricing .h2{text-align:center}
.pricing .h2{margin-inline:auto}
.plans{display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:60px; align-items:stretch}
.plan{
  position:relative; background:#fff; border:1px solid var(--line-lt); border-radius:20px;
  padding:40px 32px; display:flex; flex-direction:column;
  transition:transform .5s var(--ease), box-shadow .5s var(--ease), border-color .5s;
}
.plan:hover{transform:translateY(-6px); box-shadow:0 30px 60px -30px rgba(27,30,26,.28)}
.plan--featured{background:var(--deep); color:var(--cream); border-color:transparent; box-shadow:0 30px 70px -30px rgba(14,20,17,.6)}
.plan--featured .plan__name, .plan--featured .plan__price{color:var(--cream)}
.plan--featured .plan__desc, .plan--featured .plan__dur{color:var(--cream-soft)}
.plan--featured .plan__list li{color:var(--cream-soft); border-color:var(--line-dk)}
.plan__badge{
  position:absolute; top:-13px; left:50%; transform:translateX(-50%);
  background:var(--ember); color:#1c1305; font-size:12px; font-weight:700; letter-spacing:.04em;
  padding:6px 16px; border-radius:100px; white-space:nowrap;
}
.plan__name{font-family:var(--serif); font-size:27px; font-weight:600; color:var(--ink)}
.plan__dur{margin-top:4px; font-size:14px; letter-spacing:.03em; color:var(--ink-soft); text-transform:uppercase}
.plan__price{margin-top:20px; font-family:var(--serif); font-size:46px; font-weight:500; color:var(--ink); line-height:1}
.plan__price span{font-size:24px; color:var(--ember)}
.plan__desc{margin-top:16px; font-size:15px; color:var(--ink-soft); line-height:1.55; min-height:66px}
.plan__list{margin-top:22px; margin-bottom:30px; display:flex; flex-direction:column; gap:0}
.plan__list li{font-size:14.5px; padding:12px 0 12px 26px; position:relative; border-top:1px solid var(--line-lt); color:var(--ink-soft)}
.plan__list li::before{content:""; position:absolute; left:2px; top:18px; width:9px; height:9px; border-right:1.5px solid var(--ember); border-bottom:1.5px solid var(--ember); transform:rotate(40deg)}
.plan .btn{margin-top:auto}
.pricing__gift{text-align:center; margin-top:40px; color:var(--ink-soft); font-size:16px}
.pricing__gift a{color:var(--ember); text-decoration:underline; text-underline-offset:3px}

/* ============================================================
   REVIEWS
   ============================================================ */
.reviews__head{display:flex; align-items:flex-end; justify-content:space-between; gap:24px; flex-wrap:wrap; margin-bottom:52px}
.reviews__rating{display:flex; flex-direction:column; gap:4px; align-items:flex-end}
.reviews__stars{color:var(--ember-lt); letter-spacing:3px; font-size:18px}
.reviews__num{font-size:14px; color:var(--cream-soft)}
.reviews__grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px}
.review{margin:0; background:var(--deep-2); border:1px solid var(--line-dk); border-radius:18px; padding:32px 30px; display:flex; flex-direction:column; gap:16px}
.review__stars{color:var(--ember-lt); letter-spacing:2px; font-size:15px}
.review blockquote{margin:0; font-family:var(--serif); font-size:20px; line-height:1.42; color:var(--cream); font-style:italic}
.review figcaption{margin-top:auto; font-size:14px; font-weight:600; color:var(--cream); display:flex; flex-direction:column; gap:3px}
.review figcaption span{font-weight:400; font-size:13px; color:var(--cream-soft)}

/* ============================================================
   FAQ
   ============================================================ */
.faq__wrap{display:grid; grid-template-columns:0.8fr 1.2fr; gap:clamp(36px,6vw,90px); align-items:start}
.faq__intro{position:sticky; top:110px}
.faq__list{display:flex; flex-direction:column}
.qa{border-top:1px solid var(--line-lt); padding:6px 0}
.qa:last-child{border-bottom:1px solid var(--line-lt)}
.qa summary{
  list-style:none; cursor:pointer; padding:22px 44px 22px 0; position:relative;
  font-family:var(--serif); font-size:clamp(20px,2.4vw,25px); font-weight:600; color:var(--ink);
  transition:color .3s;
}
.qa summary::-webkit-details-marker{display:none}
.qa summary::after{
  content:""; position:absolute; right:4px; top:50%; width:13px; height:13px;
  border-right:2px solid var(--ember); border-bottom:2px solid var(--ember);
  transform:translateY(-70%) rotate(45deg); transition:transform .35s var(--ease);
}
.qa[open] summary::after{transform:translateY(-30%) rotate(-135deg)}
.qa summary:hover{color:var(--ember)}
.qa p{padding:0 44px 24px 0; color:var(--ink-soft); font-size:16px; line-height:1.62; max-width:60ch}

/* ============================================================
   CARE
   ============================================================ */
.care__wrap{max-width:760px; margin-inline:auto; text-align:center; border:1px solid var(--line-lt); border-radius:18px; padding:clamp(28px,4vw,44px); background:rgba(255,255,255,.5)}
.care__title{font-family:var(--serif); font-size:24px; font-weight:600; color:var(--ink)}
.care__wrap p{margin-top:14px; color:var(--ink-soft); font-size:15.5px; line-height:1.6}
.care__wrap a{color:var(--ember); text-decoration:underline; text-underline-offset:3px}
.care__disclaimer{margin-top:18px; font-size:13px; color:var(--ink-soft); opacity:.75}

/* ============================================================
   BOOKING
   ============================================================ */
.booking{position:relative; min-height:88vh; display:flex; align-items:center; overflow:hidden; background:var(--deep-3); color:var(--cream)}
.booking__img{position:absolute; inset:-12% 0; width:100%; height:124%; object-fit:cover; object-position:center}
.booking__scrim{position:absolute; inset:0; background:linear-gradient(180deg, rgba(9,13,11,.72), rgba(9,13,11,.86))}
.booking__content{position:relative; z-index:2; text-align:center; max-width:760px}
.booking__title{font-family:var(--serif); font-weight:500; font-size:clamp(38px,6.4vw,80px); line-height:1.02; color:var(--cream); margin-top:12px; text-wrap:balance}
.booking__sub{margin:26px auto 0; max-width:52ch; font-size:clamp(17px,2vw,20px); color:var(--cream-soft); line-height:1.55}
.booking__actions{display:flex; flex-wrap:wrap; gap:14px; justify-content:center; margin-top:40px}
.booking__meta{margin-top:34px; font-size:14.5px; color:var(--cream-soft)}
.booking__meta a{color:var(--ember-lt); text-decoration:none}
.booking__meta a:hover{text-decoration:underline}

/* ============================================================
   FOOTER
   ============================================================ */
.footer{background:var(--deep-3); color:var(--cream-soft); padding-block:64px 34px}
.footer__inner{display:grid; grid-template-columns:1.6fr 1fr 1fr; gap:40px}
.footer .brand{color:var(--cream); margin-bottom:18px}
.footer__tag{font-size:15px; line-height:1.6; max-width:42ch; color:var(--cream-soft)}
.footer__col h4{font-family:var(--sans); font-size:12.5px; text-transform:uppercase; letter-spacing:.16em; color:var(--cream-faint); margin-bottom:16px; font-weight:600}
.footer__col a, .footer__col span{display:block; text-decoration:none; color:var(--cream-soft); font-size:15px; padding:6px 0; transition:color .3s}
.footer__col a:hover{color:var(--ember-lt)}
.footer__bottom{display:flex; justify-content:space-between; gap:20px; flex-wrap:wrap; margin-top:52px; padding-top:26px; border-top:1px solid var(--line-dk); font-size:12.5px; color:var(--cream-faint)}
.footer__legal{max-width:52ch}

/* ============================================================
   REVEAL (initial hidden states, only when JS active)
   ============================================================ */
html.js [data-reveal], html.js [data-rise]{opacity:0; will-change:transform,opacity}
html.js [data-reveal]{transform:translateY(30px)}
html.js [data-rise]{transform:translateY(38px)}
@media (prefers-reduced-motion:reduce){
  html.js [data-reveal], html.js [data-rise]{opacity:1 !important; transform:none !important}
}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:1020px){
  .mech__grid, .effect__grid, .ritual__grid, .faq__wrap, .problem__grid{grid-template-columns:1fr}
  .problem__intro{position:relative; top:0; margin-bottom:6px}
  .ritual__sticky{position:relative; top:0}
  .ritual__visual{aspect-ratio:16/10; max-height:52vh}
  .faq__intro{position:relative; top:0; margin-bottom:20px}
  .mech__media{max-width:520px}
  .effect__media{max-width:460px; margin-inline:auto}
  .plans{grid-template-columns:1fr; max-width:460px; margin-inline:auto}
  .plan--featured{order:-1}
  .reviews__grid{grid-template-columns:1fr}
  .stats{grid-template-columns:repeat(2,1fr); gap:36px 24px}
}
@media (max-width:760px){
  .nav__links, .nav .btn--nav{display:none}
  .nav__burger{display:flex}
  .footer__inner{grid-template-columns:1fr; gap:34px}
  .pains{grid-template-columns:1fr 1fr}
  .hero__img{object-position:70% center}
}
@media (max-width:520px){
  body{font-size:16px}
  .pains{grid-template-columns:1fr}
  .step{grid-template-columns:1fr; gap:8px}
  .step__no{font-size:24px}
  .reviews__head{flex-direction:column; align-items:flex-start}
  .reviews__rating{align-items:flex-start}
  .footer__bottom{flex-direction:column}
  .hero__cta .btn, .booking__actions .btn{flex:1 1 100%}
}

/* ============================================================
   АКЦИЯ (offer band)
   ============================================================ */
.akciya{background:var(--deep-2)}
.akciya__card{
  position:relative; max-width:980px; margin-inline:auto; text-align:center;
  border:1px solid color-mix(in srgb, var(--ember) 42%, var(--line-dk));
  border-radius:24px; padding:clamp(34px,5vw,60px) clamp(24px,5vw,60px);
  background:
    radial-gradient(120% 140% at 50% -10%, color-mix(in srgb, var(--ember) 14%, transparent), transparent 60%),
    var(--deep);
  overflow:hidden;
}
.akciya__chip{
  display:inline-flex; align-items:center; gap:8px; margin-bottom:22px;
  font-family:var(--sans); font-size:12.5px; font-weight:600; letter-spacing:.06em; text-transform:uppercase;
  color:var(--ember-lt); border:1px solid color-mix(in srgb, var(--ember) 40%, transparent);
  padding:7px 16px; border-radius:100px; background:rgba(198,134,62,.07);
}
.akciya__chip::before{content:""; width:7px; height:7px; border-radius:50%; background:var(--ember); box-shadow:0 0 10px var(--ember); animation:pulse 2s ease-in-out infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.35}}
@media (prefers-reduced-motion:reduce){.akciya__chip::before{animation:none}}
.akciya__title{font-family:var(--serif); font-weight:500; font-size:clamp(30px,4.6vw,54px); line-height:1.04; color:var(--cream); text-wrap:balance}
.akciya__title em{font-style:italic; color:var(--ember-2)}
.akciya__offers{display:flex; flex-wrap:wrap; justify-content:center; gap:14px; margin:30px 0 8px}
.akciya__offer{
  display:flex; align-items:center; gap:14px; text-align:left;
  background:rgba(239,233,221,.04); border:1px solid var(--line-dk); border-radius:14px; padding:16px 22px; min-width:240px;
}
.akciya__offer .akciya__big{font-family:var(--serif); font-size:40px; line-height:1; color:var(--ember-lt); font-weight:500}
.akciya__offer span{font-size:14.5px; color:var(--cream-soft); line-height:1.4}
.akciya__offer span strong{color:var(--cream); font-weight:600; display:block; font-size:15.5px}
.akciya__desc{margin:22px auto 0; max-width:56ch; color:var(--cream-soft); font-size:16px}
.akciya__cta{margin-top:30px; display:flex; flex-wrap:wrap; gap:14px; justify-content:center; align-items:center}
.akciya__terms{margin-top:18px; font-size:13px; color:var(--cream-faint)}
.akciya__terms b{color:var(--ember-lt); font-weight:600}

/* ============================================================
   ЛИД-МАГНИТ (guide)
   ============================================================ */
.lm__card{
  position:relative; border:1px solid color-mix(in srgb, var(--ember) 42%, var(--line-dk));
  border-radius:26px; padding:clamp(40px,5.5vw,68px) clamp(24px,5vw,60px) clamp(34px,5vw,60px);
  background:
    radial-gradient(120% 130% at 12% -5%, color-mix(in srgb, var(--ember) 13%, transparent), transparent 55%),
    linear-gradient(180deg, var(--deep-2), var(--deep));
  box-shadow:0 40px 90px -50px rgba(198,134,62,.5);
}
.lm__gift{
  position:absolute; top:-17px; left:0; right:0; margin-inline:auto; width:max-content; max-width:calc(100% - 32px);
  display:inline-flex; align-items:center; gap:9px;
  font-family:var(--sans); font-weight:700; font-size:13px; letter-spacing:.06em; text-transform:uppercase; color:#1c1305;
  background:var(--ember); padding:10px 24px; border-radius:100px;
  box-shadow:0 14px 30px -10px rgba(198,134,62,.75);
}
.lm__gift svg{flex:none}
.lm__grid{display:grid; grid-template-columns:0.9fr 1.1fr; gap:clamp(40px,7vw,90px); align-items:center}
.lm__coverwrap{perspective:1700px; display:flex; justify-content:center; align-items:center}
.lm__doc{
  position:relative; width:min(460px,100%); aspect-ratio:210/297; border-radius:8px;
  transform:rotateY(-9deg) rotateX(2deg); transform-style:preserve-3d;
  box-shadow:-30px 44px 76px -30px rgba(0,0,0,.72);
  transition:transform .7s var(--ease); will-change:transform;
}
.lm__doc:hover{transform:rotateY(-3deg) rotateX(1deg)}
/* стопка страниц позади - читается как многостраничный PDF */
.lm__doc::before, .lm__doc::after{content:""; position:absolute; inset:0; border-radius:8px; background:var(--paper-2); z-index:-1}
.lm__doc::before{transform:translate(9px,7px); filter:brightness(.82)}
.lm__doc::after{transform:translate(18px,14px); filter:brightness(.66)}
.lm__doc-photo{position:relative; height:56%; overflow:hidden; border-radius:8px 8px 0 0}
.lm__doc-photo img{width:100%; height:100%; object-fit:cover}
.lm__doc-tag{
  position:absolute; top:16px; right:16px; z-index:2;
  font-family:var(--sans); font-size:12px; font-weight:700; letter-spacing:.14em; color:#1c1305;
  background:var(--ember); padding:6px 12px; border-radius:5px; box-shadow:0 8px 18px -6px rgba(0,0,0,.55);
}
.lm__doc-panel{
  height:44%; display:flex; flex-direction:column; padding:clamp(20px,4.6%,30px);
  background:linear-gradient(180deg,var(--deep-2),var(--deep-3));
  border:1px solid var(--line-dk); border-top:none; border-radius:0 0 8px 8px;
}
.lm__doc-eyebrow{font-family:var(--sans); font-size:11px; font-weight:600; letter-spacing:.2em; text-transform:uppercase; color:var(--ember-lt)}
.lm__doc-title{font-family:var(--serif); font-weight:600; font-size:clamp(26px,3.4vw,35px); line-height:1.02; color:var(--cream); margin:10px 0 9px; display:block}
.lm__doc-sub{font-size:13px; color:var(--cream-soft); line-height:1.44; display:block}
.lm__doc-foot{margin-top:auto; display:flex; justify-content:space-between; align-items:center; gap:10px; padding-top:14px; border-top:1px solid var(--line-dk)}
.lm__doc-brand{font-family:var(--serif); font-style:italic; font-size:14.5px; color:var(--ember-lt)}
.lm__doc-pages{font-size:12px; color:var(--cream-soft); letter-spacing:.03em; white-space:nowrap}

.lm__benefits{display:flex; flex-direction:column; gap:13px; margin:30px 0 34px}
.lm__benefits li{display:grid; grid-template-columns:auto 1fr; gap:14px; font-size:15.5px; color:var(--cream-soft); line-height:1.5}
.lm__benefits li::before{content:""; width:22px; height:22px; margin-top:1px; border-radius:50%; border:1px solid var(--ember); position:relative; background:radial-gradient(circle at 50% 45%, color-mix(in srgb,var(--ember) 30%, transparent), transparent 60%)}
.lm__benefits li::after{content:""; position:absolute; margin-left:7px; margin-top:6px; width:5px; height:9px; border-right:1.5px solid var(--ember-lt); border-bottom:1.5px solid var(--ember-lt); transform:rotate(40deg)}

.lm__form{display:flex; flex-direction:column; gap:14px}
.lm__fields{display:grid; grid-template-columns:1fr 1fr; gap:12px}
.lm__form input, .lm__form select{
  width:100%; font-family:var(--sans); font-size:15px; color:var(--cream);
  background:rgba(239,233,221,.05); border:1px solid var(--line-dk); border-radius:12px; padding:15px 18px;
  transition:border-color .3s, background-color .3s;
}
.lm__form input::placeholder{color:var(--cream-faint)}
.lm__form input:focus, .lm__form select:focus{outline:none; border-color:var(--ember); background:rgba(239,233,221,.08)}
.lm__form select{color:var(--cream-soft); appearance:none; cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23C6863E' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 18px center; padding-right:44px}
.lm__form select option{background:#1e1811; color:var(--cream)}
.lm__form select option:disabled{color:var(--cream-faint)}
.lm__field-full{grid-column:1 / -1}
.lm__consent{display:flex; gap:11px; align-items:flex-start; font-size:12.5px; color:var(--cream-faint); line-height:1.45; cursor:pointer}
.lm__consent input{width:17px; height:17px; margin-top:1px; accent-color:var(--ember); flex:none; cursor:pointer}
.lm__consent a{color:var(--ember-lt); text-decoration:underline; text-underline-offset:2px}
.lm__form .btn{margin-top:4px}
.lm__micro{font-size:12.5px; color:var(--cream-faint); line-height:1.5; margin-top:2px}
.lm__success{display:none; text-align:center; padding:34px 20px; border:1px solid color-mix(in srgb,var(--ember) 35%, var(--line-dk)); border-radius:16px; background:rgba(198,134,62,.06)}
.lm__success h3{font-family:var(--serif); font-size:26px; color:var(--cream); margin-bottom:8px}
.lm__success p{color:var(--cream-soft); font-size:15px}
.lm__form.is-sent{display:none}
.lm__form.is-sent + .lm__success{display:block}

@media (max-width:1020px){
  .lm__grid{grid-template-columns:1fr; gap:44px}
  .lm__coverwrap{order:-1}
}
@media (max-width:520px){
  .lm__fields{grid-template-columns:1fr}
  .akciya__offer{min-width:0; width:100%}
  .akciya__cta .btn{flex:1 1 100%}
}

/* ============================================================
   i18n (DE/RU) + переключатель языка
   ============================================================ */
.i18{display:inline}
:root[data-lang="de"] .i18[data-l="ru"]{display:none}
:root[data-lang="ru"] .i18[data-l="de"]{display:none}

.nav__lang{flex:none}
.langsw{display:inline-flex; align-items:center; border:1px solid var(--line-dk); border-radius:100px; overflow:hidden; background:rgba(239,233,221,.04)}
.langsw button{appearance:none; background:none; border:none; cursor:pointer; font-family:var(--sans); font-weight:700; font-size:12px; letter-spacing:.06em; color:var(--cream-soft); padding:7px 12px; line-height:1; transition:color .3s, background-color .3s}
.langsw button.active{background:var(--ember); color:#1c1305}
.langsw button:not(.active):hover{color:var(--cream)}
.langsw button:focus-visible{outline:2px solid var(--ember-lt); outline-offset:-1px}
.nav__mobile .nav__lang{margin-top:12px}
@media (max-width:760px){
  .nav__lang{margin-left:auto; margin-right:6px}
}
