/* Venue — light section (no full-bleed photo, so it contrasts with the dark CTA below) */
.venue-light{background:var(--white);border-top:1px solid var(--line);padding:clamp(72px,10vh,120px) 0}
.venue-light-grid{display:grid;grid-template-columns:1fr .8fr;gap:52px;align-items:center}
.venue-light-text h2{margin:12px 0 14px}
.venue-light-text .lead{max-width:34ch}
.venue-light-card{margin-top:26px;padding:24px 26px;background:var(--chalk);border:1px solid var(--line);border-radius:16px;max-width:420px}
.venue-light-card .addr{font-family:var(--mono);font-size:.84rem;line-height:1.9;color:var(--muted)}
.venue-light-card .addr a{color:var(--ink);font-weight:700}
.venue-light-link{display:inline-block;margin-top:16px;padding-top:16px;border-top:1px solid var(--line-2);font-weight:700;color:var(--aqua);font-size:.92rem}
.venue-light-photo img{display:block;width:100%;height:340px;object-fit:cover;border-radius:16px}
@media(max-width:860px){
  .venue-light-grid{grid-template-columns:1fr;gap:28px}
  .venue-light-photo{order:-1}
  .venue-light-photo img{height:220px}
}

/* Hero: grade is baked into the video file — drop the runtime filter (cheaper GPU, smoother scroll) */
.hero-video{filter:none}
.hero-overlay{background:linear-gradient(180deg,rgba(6,34,46,.42) 0%,rgba(6,34,46,.26) 40%,rgba(6,34,46,.42) 72%,rgba(6,34,46,.86) 100%)}
/* smoother compositing */
.hero-video,.band .bg{will-change:auto;transform:translateZ(0)}

/* Sticky Early Bird bar — full-width dark strip */
.ebbar-fixed{display:flex!important;align-items:center;justify-content:center;gap:28px;
  left:0;right:0;bottom:0;min-height:0;padding:20px var(--pad);
  background:linear-gradient(90deg,#04161e 0%,#06222e 45%,#0a3a44 100%);
  border-top:1px solid rgba(28,175,170,.32);backdrop-filter:none;
  box-shadow:0 -14px 40px rgba(4,20,28,.32);
  transition:transform .4s cubic-bezier(.2,.8,.2,1),opacity .3s}
.ebbar-fixed.eb-hidden{transform:translateY(120%);opacity:0;pointer-events:none}
.ebbar-fixed .mtxt{display:flex;align-items:center;gap:18px;margin:0;padding:0;background:none;border:0;flex-wrap:wrap;justify-content:center}
.eb-dot{width:9px;height:9px;border-radius:50%;background:var(--aqua-bright);flex:none;
  box-shadow:0 0 0 0 rgba(28,175,170,.5);animation:ebpulse 2.6s ease-out infinite}
@keyframes ebpulse{0%{box-shadow:0 0 0 0 rgba(28,175,170,.45)}70%{box-shadow:0 0 0 12px rgba(28,175,170,0)}100%{box-shadow:0 0 0 0 rgba(28,175,170,0)}}
.eb-label{font-family:var(--mono);font-weight:700;font-size:.68rem;letter-spacing:.24em;
  text-transform:uppercase;color:#87AEB4}
.eb-clock{font-family:var(--mono);font-weight:700;font-size:1.75rem;letter-spacing:.04em;
  color:#fff;font-variant-numeric:tabular-nums;line-height:1;
  text-shadow:0 2px 18px rgba(28,175,170,.28)}
.ebbar-fixed .mobile-cta{margin:0;padding:16px 34px;font-size:1rem;border-radius:12px;
  box-shadow:0 12px 30px rgba(233,106,34,.34)}
.ebbar-fixed .eb-close{position:absolute;top:50%;right:18px;transform:translateY(-50%);
  width:30px;height:30px;border:1px solid rgba(255,255,255,.18);background:transparent;
  color:#87AEB4;font-size:1.2rem;line-height:1;border-radius:50%;cursor:pointer}
.ebbar-fixed .eb-close:hover{color:#fff;border-color:rgba(255,255,255,.4)}

footer{padding-bottom:34px}
@media(max-width:860px){
  .ebbar-fixed{gap:16px;padding:14px 16px}
  .eb-clock{font-size:1.25rem}
  .eb-label{font-size:.6rem;letter-spacing:.16em}
  .ebbar-fixed .mobile-cta{padding:13px 22px;font-size:.9rem}
  .ebbar-fixed .eb-close{display:none}
}
@media(max-width:560px){
  .ebbar-fixed .mtxt{gap:10px}
  .eb-label{display:none}
  .eb-clock{font-size:1.1rem}
}
@media(prefers-reduced-motion:reduce){.eb-dot{animation:none}}
/* Delegate rate line — three tiers in one row */
.rate-line{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin:0;padding:0;
  border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--white);flex:1;min-width:280px}
.rate-line .rate-item{display:flex;flex-direction:column;gap:5px;padding:16px 20px;border-left:1px solid var(--line);margin:0}
.rate-line .rate-item:first-child{border-left:0}
.rate-line .rate-item .rate-label{font-family:var(--mono);font-weight:700;font-size:.62rem;letter-spacing:.18em;
  text-transform:uppercase;color:var(--muted)}
.rate-line .rate-item .rate-price{font-family:var(--mono);font-weight:700;font-size:1.5rem;color:var(--ink);
  line-height:1;font-variant-numeric:tabular-nums}
.rate-line .rate-item .rate-window{font-size:.72rem;color:var(--muted);font-family:var(--body);letter-spacing:0;text-transform:none}
.rate-line .rate-item.is-current{background:var(--navy)}
.rate-line .rate-item.is-current .rate-label{color:var(--aqua-bright)}
.rate-line .rate-item.is-current .rate-price{color:#fff}
.rate-line .rate-item.is-current .rate-window{color:#A9C2C4}
.rate-line .rate-item.is-past{opacity:.5}
.rate-line .rate-item.is-past .rate-price{text-decoration:line-through;text-decoration-thickness:1px}
@media(max-width:760px){
  .rate-line{grid-template-columns:1fr}
  .rate-line .rate-item{border-left:0;border-top:1px solid var(--line)}
  .rate-line .rate-item:first-child{border-top:0}
  .rate-line .rate-item .rate-price{font-size:1.3rem}
}

/* отступ под плашку — только когда она показана */
body{padding-bottom:0!important}
html.eb-on footer{padding-bottom:108px}
@media(max-width:860px){
  html.eb-on footer{padding-bottom:92px}
}

/* ============ MOBILE POLISH ============ */
@media(max-width:720px){
  /* 1. читаемость: мелкий текст 10px -> 12px */
  .tkt-desc,.rate-label{font-size:.8rem!important;letter-spacing:.1em}
  .form-privacy{font-size:.8rem}
  .lbl{font-size:.82rem}

  /* 2. воздух: секции дышат ровнее, без тесноты */
  section,.stats{padding-top:72px;padding-bottom:72px}
  #about,.final{padding-top:88px;padding-bottom:88px}

  /* 3. hero не должен упираться в край */
  .hero{padding-top:96px;padding-bottom:104px}
  .hero-sub{margin-top:24px}
  .hero-cta{margin-top:28px;width:100%}
  .hero-cta .btn{flex:1 1 100%;justify-content:center}

  /* 4. таймер в hero дублирует нижнюю плашку — убираем дубль */
  html.eb-on .hero .cd{display:none}

  /* 5. заголовки не жмутся к краям */
  h2{font-size:clamp(1.5rem,6.4vw,2rem)}

  /* 6. карточки и сетки — крупнее тап-зоны */
  .tkt{padding:22px}
  .stepper button{width:46px;height:46px}
  .field input{min-height:48px;font-size:16px} /* 16px = iOS не зумит при фокусе */
}

/* планшеты: сетки не должны липнуть в 2 узкие колонки */
@media(min-width:721px) and (max-width:1024px){
  section,.stats{padding-top:84px;padding-bottom:84px}
  .venue-light-grid{gap:34px}
}

/* мягкий импульс скролла на тач-устройствах */
@media(hover:none){
  html{-webkit-text-size-adjust:100%}
  .band .bg,.hero-video{transform:translateZ(0);backface-visibility:hidden}
}

/* ============ FAQ ============ */
/* Отвечает сразу на вопросы, которые задают перед покупкой, и служит
   источником цитат для поисковиков и языковых моделей. */
.faq{background:var(--chalk);border-top:1px solid var(--line);padding:clamp(72px,10vh,120px) 0}
.faq h2{margin:12px 0 40px;max-width:22ch}
.faq-list{display:grid;grid-template-columns:1fr 1fr;gap:0 56px;margin:0}
.faq-item{padding:24px 0;border-top:1px solid var(--line)}
.faq-item dt{font-family:var(--display);font-weight:700;font-size:1.02rem;line-height:1.35;
  color:var(--ink);margin:0 0 10px}
.faq-item dd{margin:0;font-size:.94rem;line-height:1.75;color:var(--muted);max-width:52ch}
@media(max-width:860px){
  .faq-list{grid-template-columns:1fr;gap:0}
  .faq h2{margin-bottom:24px}
  .faq-item{padding:20px 0}
  .faq-item dt{font-size:.98rem}
}
