/* ============================================================
   СЕКЦИИ по хэндофу. Раскладки держатся на auto-fit + minmax,
   медиазапросов почти нет — колонки складываются сами.
   ============================================================ */

/* ---------- 1. герой ---------- */
.hero {
  position:relative;
  overflow:hidden;   /* орбы вынесены за край и иначе растягивают страницу */
  padding-block:clamp(48px,6vw,84px) clamp(72px,8vw,110px);
  background:
    radial-gradient(88% 68% at 82% 4%, var(--sun) 0%, transparent 62%),
    radial-gradient(78% 58% at 4% 44%, var(--sea-mist) 0%, transparent 62%),
    linear-gradient(180deg, #FDF7F0, var(--ivory-2));
}
.hero-grid { align-items:stretch; }
.hero-col { display:flex; flex-direction:column; justify-content:space-between; gap:28px; }
.hero h1 span { display:block; }
.hero h1 .l1 { color:var(--raspberry); }
.hero h1 .l2 { color:var(--coral); white-space:nowrap; }
.hero-sub {
  margin:22px 0 0;
  font-family:'Cormorant Garamond', Georgia, serif;
  font-size:clamp(21px,2.4vw,28px); line-height:1.25; color:var(--sea);
}
.hero-lead { margin:18px 0 0; max-width:44ch; font-size:18px; line-height:1.7; color:var(--body-2); }
.hero-cta { margin-top:8px; }
.hero .orb--1 { top:-40px; right:6%; width:240px; height:240px; color:rgba(196,104,94,.42); animation-duration:9s; }
.hero .orb--2 { bottom:8%; left:-40px; width:170px; height:170px; color:rgba(94,158,154,.45); animation-duration:13s; }
.hero-fig { max-width:440px; margin-inline:auto; width:100%; }
.hero-fig img { width:100%; height:auto; }
.hero-nums { margin-top:clamp(44px,5vw,72px); }

/* ---------- 2. для кого ---------- */
.who-end { margin-top:44px; }
.who-end .display {
  display:block; margin-bottom:16px;
  font-size:30px; letter-spacing:.035em; text-transform:uppercase; color:var(--raspberry);
}
.who-end p { max-width:70ch; font-size:var(--fs-body); line-height:1.7; color:var(--muted-3); }
.cue {
  margin:36px 0 18px;
  font-size:var(--fs-label); letter-spacing:.14em; text-transform:uppercase; color:var(--muted);
}

/* ---------- 3. ведущая ---------- */
.author-fig { position:relative; overflow:hidden; display:flex; flex-direction:column; gap:12px; }
.author-fig .orb { top:-30px; left:-30px; width:190px; height:190px; color:rgba(166,47,85,.3); }
.author-fig .ph:first-of-type img { height:auto; }
/* второй кадр тянется, чтобы низ колонки совпал с текстовой */
.author-fig .ph--fill { flex:1; min-height:200px; }
.author-fig .ph--fill img { height:100%; object-position:center 30%; }
.author-nums { margin:28px 0; }

.author-quote { margin-top:clamp(56px,6vw,80px); align-items:start; }
.author-quote blockquote {
  font-style:italic; font-size:var(--fs-quote); line-height:1.32; color:var(--emerald);
}
.author-quote .sep { margin:26px 0 24px; height:1px; background:var(--line-2); border:0; }
.author-quote p { font-size:var(--fs-body); line-height:1.75; color:var(--body-2); }
.author-quote .ph img { height:480px; object-position:center 40%; }

.author-final { margin-top:clamp(56px,6vw,84px); text-align:center; }
.author-final .rule { width:44px; height:1px; margin:0 auto 26px; background:var(--raspberry); opacity:.45; }
.author-final blockquote {
  font-style:italic; font-size:clamp(28px,3.4vw,46px); line-height:1.2; color:var(--raspberry);
}
.author-final blockquote span { display:block; }
.author-final .sign {
  margin-top:22px; font-size:var(--fs-label); font-weight:500;
  letter-spacing:.2em; text-transform:uppercase; color:var(--muted);
}

/* ---------- 5. программа ---------- */
.program-head { align-items:center; margin-bottom:44px; }
.program-head .ph img { height:380px; object-position:center 50%; }

/* ---------- 6. ритм дня ---------- */
.day-row {
  display:flex; flex-wrap:wrap; gap:10px 26px; align-items:baseline;
  padding:26px 0; border-bottom:1px solid var(--line);
}
.day-row time {
  font-family:'Cormorant Garamond', Georgia, serif;
  font-size:30px; line-height:1; color:var(--coral);
  font-variant-numeric:lining-nums tabular-nums;
  flex:0 0 auto;
}
.day-row h3 { flex:1 1 220px; font-size:19px; font-weight:500; line-height:1.4; }
.day-row p { flex:2 1 320px; margin:0; font-size:var(--fs-small); line-height:1.6; color:var(--muted-3); }

/* ---------- 7. результаты ---------- */
.center-cta { display:flex; justify-content:center; margin-top:44px; }

/* ---------- 8. Павитра ---------- */
.guest { position:relative; align-items:center; }
.guest, .form-side, .venue-photos { overflow:hidden; }
.guest .orb { right:-30px; bottom:-30px; width:220px; height:220px; color:rgba(240,195,169,.4); }
.guest .ph img { height:520px; object-position:center 22%; }
.guest-name { font-size:clamp(38px,5vw,64px); line-height:1.05; color:var(--on-dark); text-transform:none; letter-spacing:.01em; }
.guest-role { margin:14px 0 0; font-size:19px; line-height:1.5; color:var(--on-dark-80); }
.guest-text { margin:26px 0 0; font-size:var(--fs-body); line-height:1.75; color:var(--on-dark-72); }
.guest-quote {
  margin-top:30px; padding-left:26px; border-left:1px solid rgba(240,195,169,.6);
}
.guest-quote blockquote { font-style:italic; font-size:clamp(23px,2.5vw,31px); line-height:1.35; color:var(--on-dark); }
.guest-quote .sign { margin-top:16px; font-size:var(--fs-label); letter-spacing:.2em; text-transform:uppercase; color:var(--apricot); }

/* ---------- 10. место ---------- */
.venue-photos { position:relative; display:grid; grid-template-columns:repeat(auto-fit, minmax(min(230px, 100%), 1fr)); gap:16px; margin:40px 0; }
.venue-photos .orb { left:-34px; bottom:-34px; width:200px; height:200px; color:rgba(94,158,154,.42); }
.venue-photos img { height:400px; }
.venue-info { display:grid; grid-template-columns:repeat(auto-fit, minmax(min(250px, 100%), 1fr)); gap:32px 44px; margin-top:44px; }
.venue-info .icon { color:var(--raspberry); margin-bottom:14px; }
.venue-info h3 { font-size:22px; margin-bottom:10px; }
.venue-info p { margin:0; font-size:var(--fs-small); line-height:1.65; color:var(--muted-3); }

/* ---------- 11. школа ---------- */
.proof { display:grid; grid-template-columns:repeat(auto-fit, minmax(min(180px, 100%), 1fr)); gap:20px; margin-top:44px; }
.proof img { height:230px; }
.proof .ph { border-radius:24px; }

/* ---------- 12. стоимость ---------- */
.price-box {
  display:flex; flex-wrap:wrap; align-items:center; gap:26px 48px;
  margin:40px 0 44px;
  padding:44px 46px;
  background:linear-gradient(150deg, var(--emerald), var(--emerald-2));
  border-radius:32px;
  box-shadow:var(--sh-price);
  color:var(--on-dark);
}
.price-box .sum {
  font-family:'Cormorant Garamond', Georgia, serif; font-weight:500;
  font-size:clamp(44px,5.4vw,68px); line-height:1; color:var(--ivory);
  font-variant-numeric:lining-nums tabular-nums;
}
.price-box .sum span { display:block; margin-top:10px; font-family:'Golos Text', system-ui, sans-serif; font-size:var(--fs-small); color:var(--apricot); }
.price-box .terms { flex:1 1 300px; margin:0; font-size:var(--fs-small); line-height:1.7; color:var(--on-dark-90); }
.price-cols { display:grid; grid-template-columns:repeat(auto-fit, minmax(min(250px, 100%), 1fr)); gap:32px 44px; }
.price-cols h3 {
  margin-bottom:18px;
  font-family:'Golos Text', system-ui, sans-serif;
  font-size:var(--fs-label); font-weight:500; letter-spacing:.14em;
  text-transform:uppercase; color:var(--muted);
}

/* ---------- 13. вопросы ---------- */
.faq { max-width:860px; margin-inline:auto; }

/* ---------- 14. заявка ---------- */
.form-grid { align-items:stretch; }
.form-col { display:flex; flex-direction:column; }
.lead-form { display:flex; flex-direction:column; flex:1; margin-top:32px; }
.lead-form .btn { margin-top:auto; align-self:flex-start; }
.form-side { position:relative; display:flex; flex-direction:column; gap:20px; }
.form-side .orb { top:-30px; right:-30px; width:180px; height:180px; color:rgba(240,195,169,.35); }
.form-side .ph { border-radius:28px; }
.form-side .ph img { height:340px; object-position:center 62%; }
.form-side .note { margin:0; font-size:var(--fs-label); line-height:1.6; color:var(--on-dark-68); }

/* ---------- 15. футер ---------- */
.ft {
  display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:16px;
  max-width:var(--w-page); margin-inline:auto;
  padding:40px var(--px) 64px;
  font-size:var(--fs-label); color:var(--muted);
}
.ft-brand { font-family:'Cormorant Garamond', Georgia, serif; font-size:19px; color:var(--emerald); }
.ft a { display:inline-flex; align-items:center; min-height:44px; color:var(--muted); }
.ft a:hover { color:var(--raspberry); }

/* ---------- узкие экраны ----------
   Хэндоф обходится auto-fit, но крупные фиксированные высоты кадров
   и внутренние отступы плашек на телефоне надо ужимать вручную. */
@media (max-width:720px) {
  .cols, .cols--60 { gap:36px; }
  .card, .card--pain { padding:26px 22px; }
  .card--pain { gap:18px; }
  .card--pain .n { font-size:52px; }
  .num-card { padding:22px 20px; }
  .num-card b { font-size:38px; }
  .price-box { padding:30px 24px; gap:22px; }
  .author-quote .ph img { height:340px; }
  .guest .ph img { height:420px; }
  .venue-photos img { height:280px; }
  .proof img { height:200px; }
  .program-head .ph img { height:300px; }
  .form-side .ph img { height:280px; }
  .ph--arch { border-radius:180px 180px 24px 24px; }
  .btn--main { padding:18px 32px; font-size:17px; }
  .day-row { padding:20px 0; gap:6px 18px; }
  .day-row time { font-size:26px; }
}
