/* День рождения: страница на каркасе главной */

/* ---- первый экран: текст слева, вертикальное фото справа на размытом фоне ---- */
body.home-v2 .hero-stage.bd-hero{ height:auto; min-height:0; overflow:hidden; position:relative; isolation:isolate; background:#07050b;
  padding:clamp(128px,17vh,168px) 0 clamp(44px,7vh,84px); }
.bd-hero::before{ content:""; position:absolute; inset:-60px; z-index:-2; background:url(/assets/gallery/bday-hero.jpg) center 58%/cover no-repeat; filter:blur(44px) saturate(1.25) brightness(.42); }
.bd-hero::after{ content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg,rgba(7,5,11,.55) 0%,rgba(7,5,11,.12) 38%,rgba(0,0,0,.92) 100%); }
.bd-grid{ display:grid; grid-template-columns:1.2fr .8fr; gap:clamp(28px,5vw,84px); align-items:center; }
.bd-kicker{ display:block; font-family:'Space Mono',monospace; font-size:14px; letter-spacing:.14em; text-transform:uppercase; color:var(--accent); }
body.home-v2 .bd-text h1{ font-size:clamp(36px,4.5vw,66px) !important; line-height:1.04 !important; font-weight:400; color:var(--accent); margin:0 0 .4em; max-width:none; }
.bd-lead{ font-size:clamp(18px,1.7vw,24px) !important; line-height:1.45; color:#fff; max-width:32ch; margin:0 !important; }
.bd-chips{ display:flex; flex-wrap:wrap; gap:10px; margin:26px 0 30px; }
.bd-chips span{ border:1px solid rgba(171,141,96,.55); border-radius:999px; padding:9px 16px; color:var(--text-primary); font-size:16px; background:rgba(8,6,14,.5); }
.bd-chips span b{ color:var(--accent); font-weight:600; }
.bd-actions{ display:flex; flex-wrap:wrap; gap:14px; margin-top:30px; }
.bd-actions .btn{ min-width:230px; justify-content:center; padding:.95em 1.6em; font-size:16px; letter-spacing:.08em; text-transform:uppercase; }
.bd-photo{ position:relative; border-radius:24px; overflow:hidden; aspect-ratio:3/4; justify-self:end; width:100%; max-width:470px; border:1px solid rgba(171,141,96,.55);
  box-shadow:0 0 60px rgba(224,173,88,.2), 0 30px 80px rgba(0,0,0,.65); }
.bd-photo img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .7s ease; }
.bd-photo:hover img{ transform:scale(1.05); }

/* ---- скидка ---- */
.bd-offer{ display:grid; grid-template-columns:auto 1fr auto; gap:clamp(18px,3.5vw,48px); align-items:center; padding:clamp(22px,3vw,36px) clamp(22px,3.5vw,46px);
  border:1px solid rgba(171,141,96,.55); border-radius:22px; background:linear-gradient(120deg,rgba(171,141,96,.16),rgba(8,6,14,.6)); }
.bd-offer-num{ font-size:clamp(58px,8vw,104px); line-height:1; color:var(--accent); font-weight:400; letter-spacing:-.03em; }
.bd-offer h2{ font-size:clamp(24px,2.6vw,36px) !important; margin:0 0 .35em; }
.bd-offer p{ margin:0; color:#fff; font-size:clamp(16px,1.35vw,19px); line-height:1.5; max-width:52ch; }

/* ---- видео ---- */
.bd-video-grid{ display:grid; grid-template-columns:minmax(0,380px) 1fr; gap:clamp(28px,6vw,96px); align-items:center; }
.bd-video-grid.is-flip{ grid-template-columns:1fr minmax(0,380px); }
.bd-video-grid.is-flip .bd-video-col{ order:2; }
.bd-video-col{ display:flex; justify-content:center; }
.bd-reel, .bd-loop{ position:relative; width:min(100%,360px); aspect-ratio:9/16; border-radius:22px; overflow:hidden; border:1px solid rgba(171,141,96,.45); background:#000;
  box-shadow:0 0 50px rgba(224,173,88,.14), 0 24px 70px rgba(0,0,0,.6); }
.bd-loop video, .bd-loop img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; }
.bd-loop::after{ content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(180deg,rgba(0,0,0,0) 62%,rgba(0,0,0,.7) 100%); }
.bd-loop-cap{ position:absolute; z-index:2; left:18px; right:18px; bottom:16px; color:#fff; font-size:15px; line-height:1.35; }
.bd-loop-cap strong{ display:block; color:var(--accent); font-weight:600; font-size:18px; }
.bd-text-col p{ max-width:46ch; }
.bd-hl{ color:var(--accent); font-size:clamp(20px,1.9vw,26px) !important; line-height:1.4; max-width:30ch !important; }
.bd-note{ font-size:15px !important; color:var(--text-secondary); }

/* ---- адаптив ---- */
@media (max-width:980px){
  .bd-grid, .bd-video-grid, .bd-video-grid.is-flip{ grid-template-columns:1fr; }
  .bd-photo{ order:-1; aspect-ratio:16/11; justify-self:stretch; max-width:none; }
  .bd-photo img{ object-position:center 60%; }
  body.home-v2 .hero-stage.bd-hero{ padding-top:96px; }
  .bd-video-grid.is-flip .bd-video-col{ order:0; }
  .bd-offer{ grid-template-columns:1fr; text-align:left; }
  .bd-offer .btn{ width:100%; box-sizing:border-box; justify-content:center; padding-left:.8em; padding-right:.8em; letter-spacing:.05em; font-size:15px; }
}
@media (max-width:560px){
  .bd-actions .btn{ width:100%; }
  .bd-chips span{ font-size:15px; padding:8px 14px; }
}
@media (prefers-reduced-motion:reduce){ .bd-photo img{ transition:none; } .bd-photo:hover img{ transform:none; } }

.bd-wide .hero-textbox p{ text-wrap:balance; }

/* первый экран: текст крупнее, плашка шире и ниже (на компьютере закрывает стол) */
@media (min-width:641px){
  body.home-v2 .hero-stage.bd-wide .hero-textbox{ width:min(100%,560px); }
  body.home-v2 .hero-stage.bd-wide .hero-static h1{ font-size:clamp(48px,6.4vw,70px) !important; }
  body.home-v2 .hero-stage.bd-wide .hero-h1-sub{ font-size:clamp(29px,3.9vw,41px); }
  body.home-v2 .hero-stage.bd-wide .hero-static p{ font-size:clamp(18px,1.55vw,22px) !important; }
  body.home-v2 .hero-stage.bd-wide .hero-static .hero-book{ width:min(100%,560px); }
}
@media (min-width:981px){
  body.home-v2 .hero-stage.bd-wide .hero-static{ padding-bottom:clamp(6px,1.4vh,14px); }
}
@media (max-width:640px){
  body.home-v2 .hero-stage.bd-wide .hero-static p{ font-size:18px !important; }
}

/* блок скидки: свет за курсором, искры и счётчик при наведении */
.bd-offer{ position:relative; --mx:50%; --my:50%; transition:border-color .35s, box-shadow .35s; }
.bd-offer > *{ position:relative; z-index:1; }
.bd-offer::before{ content:""; position:absolute; inset:0; border-radius:inherit; z-index:0; pointer-events:none; opacity:0; transition:opacity .35s;
  background:radial-gradient(280px circle at var(--mx) var(--my), rgba(224,173,88,.26), rgba(224,173,88,.08) 45%, transparent 72%); }
.bd-offer.is-hot{ border-color:rgba(240,200,120,.9); box-shadow:0 0 44px rgba(224,173,88,.22); }
.bd-offer.is-hot::before{ opacity:1; }
.bd-offer-num{ position:relative; display:inline-block; font-variant-numeric:tabular-nums; transition:transform .35s cubic-bezier(.2,.7,.2,1), text-shadow .35s; }
.bd-offer.is-hot .bd-offer-num{ transform:scale(1.06); text-shadow:0 0 30px rgba(246,216,135,.55); }
.bd-spark{ position:absolute; left:50%; top:50%; z-index:3; pointer-events:none; color:#f6d887; font-size:var(--s,16px); line-height:1;
  text-shadow:0 0 10px rgba(246,216,135,.9); animation:bdSpark var(--t,900ms) cubic-bezier(.15,.7,.3,1) forwards; }
@keyframes bdSpark{ from{ opacity:1; transform:translate(-50%,-50%) scale(.4) } to{ opacity:0; transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) scale(1.1) rotate(140deg) } }
@media (prefers-reduced-motion:reduce){
  .bd-offer-num, .bd-offer.is-hot .bd-offer-num{ transition:none; transform:none; }
}

/* два видео в одном блоке */
#show{ position:relative; isolation:isolate; }
#show::before{ content:""; position:absolute; inset:0; z-index:-1; pointer-events:none;
  background:radial-gradient(560px 460px at 27% 58%, rgba(168,46,78,.30), transparent 70%), radial-gradient(560px 460px at 73% 58%, rgba(110,70,210,.28), transparent 70%); }
.bd-duo-head{ text-align:center; max-width:780px; margin:0 auto clamp(30px,4vw,52px); }
.bd-duo-head p{ margin:1em auto 0; font-size:clamp(21px,2vw,27px); line-height:1.5; max-width:34em; color:#fff; text-wrap:balance; }
.bd-duo-grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(24px,5vw,80px); max-width:1000px; margin:0 auto; }
.bd-duo-card{ display:flex; flex-direction:column; align-items:center; text-align:center; }
.bd-duo-card .bd-reel, .bd-duo-card .bd-loop{ margin-inline:auto; }
.bd-duo-card h3{ margin:22px 0 .4em; font-size:clamp(20px,1.8vw,26px); line-height:1.3; color:var(--accent); font-weight:500; }
.bd-duo-card p{ margin:0; max-width:36ch; font-size:clamp(15.5px,1.3vw,18px); line-height:1.55; }
.bd-duo-cta{ text-align:center; margin-top:clamp(28px,4vw,44px); }
@media (max-width:720px){ .bd-duo-grid{ grid-template-columns:1fr; gap:44px; } }

/* телефон: фото первого экрана чуть крупнее (3:2, кадр целиком), подпись в одну строку */
@media (max-width:640px){
  body.home-v2 .hero-stage.bd-wide .hero-poster, body.home-v2 .hero-stage.bd-wide .hero-scrim{ height:56vw; }
  body.home-v2 .hero-stage.bd-wide .hero-play-zone{ height:56vw; }
  body.home-v2 .hero-stage.bd-wide .hero-poster{ object-position:center 0%; }
  body.home-v2 .hero-stage.bd-wide .hero-static p{ font-size:21px !important; line-height:1.4 !important; white-space:normal; text-wrap:balance; }
}

/* телефон: текст первого экрана по центру */
@media (max-width:640px){
  body.home-v2 .hero-stage.bd-wide .hero-static{ align-items:center; text-align:center; }
  body.home-v2 .hero-stage.bd-wide .hero-textbox, body.home-v2 .hero-stage.bd-wide .hero-static h1, body.home-v2 .hero-stage.bd-wide .hero-h1-sub, body.home-v2 .hero-stage.bd-wide .hero-static p{ text-align:center; }
}

/* телефон: крупнее текст по всей странице; если строка переносится, она по центру и ровно */
@media (max-width:640px){
  body.home-v2 .bd-offer p, body.home-v2 .bd-duo-head p, body.home-v2 .bd-duo-card p,
  body.home-v2 #gallery .section-head p, body.home-v2 #faq .faq-a p, body.home-v2 #book .xf-text p{ font-size:21px !important; line-height:1.55 !important; }
  body.home-v2 #faq .faq-q{ font-size:21px !important; line-height:1.35 !important; }
  body.home-v2 .section-head h2, body.home-v2 .bd-duo-head h2, body.home-v2 #book .xf-text h2{ font-size:32px !important; line-height:1.2 !important; text-wrap:balance; }
  body.home-v2 .bd-offer h2{ font-size:30px !important; line-height:1.2 !important; text-wrap:balance; }
  body.home-v2 .bd-duo-card h3{ font-size:26px !important; line-height:1.25 !important; text-wrap:balance; }
  body.home-v2 .bd-duo-card p{ text-wrap:pretty; }
  body.home-v2 .bd-duo-head p, body.home-v2 .bd-offer p{ text-wrap:balance; }
  body.home-v2 .concept-facts .fact b{ font-size:26px !important; }
  body.home-v2 .concept-facts .fact .sub{ font-size:20px !important; }
  body.home-v2 .concept-facts .fact small{ font-size:19px !important; line-height:1.45 !important; }
  body.home-v2 .inline-reel-caption strong{ font-size:21px !important; }
  body.home-v2 .inline-reel-caption span{ font-size:18px !important; }
  body.home-v2 .bd-offer{ text-align:center; justify-items:center; }
  body.home-v2 .bd-offer p{ margin-inline:auto; }
  body.home-v2 .bd-offer .btn, body.home-v2 .bd-duo-cta .btn, body.home-v2 #book .btn, body.home-v2 .bd-wide .hero-book{
    font-size:19px !important; line-height:1.25; white-space:normal; text-align:center; justify-content:center; }
  body.home-v2 #book .book-form label, body.home-v2 #book .book-contacts a, body.home-v2 #book .book-contacts span{ font-size:19px !important; }
  body.home-v2 #book .consent-line span{ font-size:17px !important; line-height:1.45 !important; }
  body.home-v2 footer .footer-col h4{ font-size:16px !important; }
  body.home-v2 footer .footer-col a, body.home-v2 footer .footer-col span, body.home-v2 footer .footer-bottom span, body.home-v2 footer .footer-bottom a{ font-size:19px !important; }
}

@media (max-width:640px){ body.home-v2 .bd-duo-head p{ font-size:24px !important; line-height:1.45 !important; } }

body.home-v2 .bd-duo-head p{ font-size:clamp(21px,2vw,27px) !important; line-height:1.5 !important; }
@media (max-width:640px){ body.home-v2 .bd-duo-head p{ font-size:24px !important; line-height:1.45 !important; } }

/* заголовок под видео в одну строку */
.bd-duo-card h3.bd-oneline{ white-space:nowrap; }
@media (max-width:400px){ body.home-v2 .bd-duo-card h3.bd-oneline{ font-size:23px !important; } }

/* звезда разделителя не должна заезжать на кнопку «Позвонить» в первом экране */
@media (min-width:981px){ body.home-v2 .hero-stage.bd-wide .hero-static{ padding-bottom:clamp(22px,3vh,34px); } }
@media (max-width:640px){ body.home-v2 .hero-stage.bd-wide .hero-static{ padding-bottom:34px; } }
@media (min-width:641px) and (max-width:980px){ body.home-v2 .hero-stage.bd-wide .hero-static{ padding-bottom:30px; } }

/* компьютер: мелкий текст на тёмном фоне крупнее и чисто белый */
@media (min-width:641px){
  body.home-v2 .bd-duo-card p{ font-size:clamp(19px,1.65vw,22px) !important; line-height:1.55 !important; color:#fff; max-width:34ch; }
  body.home-v2 .bd-offer p{ font-size:clamp(19px,1.6vw,22px) !important; color:#fff; }
  body.home-v2 .concept-facts .fact small{ font-size:clamp(16px,1.3vw,18px) !important; color:#fff; }
  body.home-v2 #gallery .section-head p{ font-size:clamp(19px,1.6vw,22px) !important; color:#fff; }
  body.home-v2 #faq .faq-a p{ font-size:clamp(18px,1.45vw,20px) !important; color:#fff; }
  body.home-v2 #book .xf-text p{ font-size:clamp(18px,1.45vw,20px) !important; color:#fff; }
}

/* телефон: в кнопке скидки просто «Забронировать» */
@media (max-width:640px){ .bd-hide-m{ display:none; } }

/* телефон: значок скидки в правом нижнем углу фото первого экрана */
.bd-hero-badge{ display:none; }
@media (max-width:640px){
  .bd-hero-badge{ position:absolute; right:34px; bottom:14px; z-index:5; width:112px; height:112px; border-radius:50%; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px;
    text-decoration:none; color:#fff; text-align:center; -webkit-tap-highlight-color:transparent;
    background:radial-gradient(circle at 34% 28%, rgba(246,216,135,.3), rgba(8,6,14,.72) 62%);
    border:1.5px solid rgba(240,200,120,.95); -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px);
    box-shadow:0 8px 26px rgba(0,0,0,.55), 0 0 22px rgba(224,173,88,.35), inset 0 0 14px rgba(246,216,135,.14); }
  .bd-hero-badge::after{ content:""; position:absolute; inset:-7px; border-radius:50%; border:1px dashed rgba(240,200,120,.55); pointer-events:none; animation:bd-badge-pulse 2.8s ease-in-out infinite; }
  .bd-hero-badge b{ font-size:32px; line-height:1; font-weight:500; color:#f6d887; letter-spacing:-.02em; }
  .bd-hero-badge span{ font-size:10.5px; line-height:1; letter-spacing:.04em; text-transform:uppercase; }
  .bd-hero-badge:active{ transform:scale(.95); }
}
@keyframes bd-badge-pulse{ 0%,100%{ opacity:.35; transform:scale(.97); } 50%{ opacity:.9; transform:scale(1.04); } }
@media (prefers-reduced-motion:reduce){ .bd-hero-badge::after{ animation:none; opacity:.7; } }
@media (max-width:360px){ .bd-hero-badge{ width:92px; height:92px; right:24px; bottom:10px; } .bd-hero-badge b{ font-size:26px; } .bd-hero-badge span{ font-size:9px; } }

/* блок скидки: форма (имя + телефон) только на телефоне, «−20%» в кружке */
.bd-offer-form{ display:none; }
@media (max-width:640px){
  body.home-v2 .bd-offer .bd-offer-cta{ display:none; }
  .bd-offer-form{ display:flex; flex-direction:column; gap:12px; width:100%; margin-top:6px; text-align:left; }
  .bd-offer-form > input{ background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.24); border-radius:10px; padding:14px 16px; color:#fff; font:inherit; font-size:19px; width:100%; box-sizing:border-box; }
  .bd-offer-form > input::placeholder{ color:rgba(255,255,255,.55); }
  .bd-offer-form > input:focus{ border-color:var(--accent); outline:none; }
  .bd-offer-form .btn{ width:100%; box-sizing:border-box; min-height:58px; font-family:inherit; }
  .bd-offer-form .consent-line{ font-size:15px; line-height:1.45; gap:10px; color:rgba(255,255,255,.75); }
  .bd-offer-form .form-success p{ color:#fff; font-size:19px; line-height:1.4; margin:0; text-align:center; }
  body.home-v2 .bd-offer .bd-offer-num{ display:grid; place-items:center; width:136px; height:136px; border-radius:50%; font-size:46px; letter-spacing:-.02em; color:#f6d887; margin-bottom:2px;
    border:1.5px solid rgba(240,200,120,.95);
    background:radial-gradient(circle at 34% 28%, rgba(246,216,135,.34), rgba(171,141,96,.14) 58%, rgba(8,6,14,.5));
    box-shadow:0 0 26px rgba(224,173,88,.32), inset 0 0 18px rgba(246,216,135,.14); }
  body.home-v2 .bd-offer .bd-offer-num::after{ content:""; position:absolute; inset:-8px; border-radius:50%; border:1px dashed rgba(240,200,120,.5); pointer-events:none; }
  body.home-v2 .bd-offer.is-hot .bd-offer-num{ transform:scale(1.06); text-shadow:0 0 22px rgba(246,216,135,.7); }
}
