.waitlist-page { position:relative; min-height:var(--hero-viewport); overflow:hidden; display:flex; align-items:center; background:#201929 url("../img/bg-festival-hero.jpg") center / cover no-repeat; }
.waitlist-page::before { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(16,14,14,.96) 0%,rgba(16,14,14,.73) 48%,rgba(16,14,14,.38) 100%),linear-gradient(0deg,#100e0e,transparent 30%); }
.waitlist-page__grid { position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,1.05fr) minmax(420px,.7fr); align-items:center; gap:clamp(44px,7vw,120px); padding-block:clamp(42px,5vw,84px); }
.waitlist-page__kicker,.waitlist-form__head p { color:var(--lime-soft); font-family:var(--font-bold); font-size:clamp(11px,.82vw,14px); font-weight:700; letter-spacing:.13em; text-transform:uppercase; }
.waitlist-page__copy h1 { margin-top:clamp(18px,2vw,32px); font-size:clamp(96px,10vw,178px); line-height:.76; text-shadow:0 3px 25px rgba(0,0,0,.35); }
.waitlist-page__copy h1 span { color:var(--lime-soft); }
.waitlist-page__copy > p:last-child { max-width:42ch; margin-top:clamp(24px,2.8vw,44px); font-size:clamp(15px,1.05vw,19px); line-height:1.55; }
.waitlist-form { display:grid; gap:18px; padding:clamp(28px,3.4vw,54px); border:1px solid rgba(255,255,255,.12); border-radius:24px; background:rgba(20,18,18,.9); box-shadow:0 28px 80px rgba(0,0,0,.35); backdrop-filter:blur(16px); }
.waitlist-form__head { display:flex; align-items:center; justify-content:space-between; gap:18px; padding-bottom:12px; border-bottom:1px solid rgba(255,255,255,.12); }
.waitlist-form__head span { color:#8e8989; font-size:10px; text-transform:uppercase; letter-spacing:.08em; }
.waitlist-field { display:grid; gap:7px; }
.waitlist-field label { font-size:11px; font-weight:700; letter-spacing:.07em; text-transform:uppercase; }
.waitlist-field input { width:100%; min-height:50px; padding:0 15px; border:1px solid #4a4646; border-radius:10px; outline:0; background:#272424; color:#fff; font:inherit; }
.waitlist-field select,.waitlist-field textarea { width:100%; padding:14px 15px; border:1px solid #4a4646; border-radius:10px; outline:0; background:#272424; color:#fff; font:inherit; }
.waitlist-field select { min-height:50px; }.waitlist-field textarea { min-height:140px; resize:vertical; line-height:1.5; }
.waitlist-field input:focus { border-color:var(--lime-soft); box-shadow:0 0 0 3px rgba(181,203,93,.13); }
.waitlist-field select:focus,.waitlist-field textarea:focus { border-color:var(--lime-soft); box-shadow:0 0 0 3px rgba(181,203,93,.13); }
.waitlist-field input[aria-invalid="true"] { border-color:#ff8073; }
.waitlist-field > span { min-height:15px; color:#ff9b91; font-size:11px; }
.waitlist-form__submit { width:100%; min-height:52px; margin-top:2px; }
.waitlist-form__note { color:#918c8c; font-size:10.5px; line-height:1.5; }
.waitlist-form__note a { color:#ddd; text-decoration:underline; text-underline-offset:3px; }
.waitlist-form__status { min-height:21px; font-size:12px; font-weight:700; }
.waitlist-form__status.is-ok { color:var(--lime-soft); }
.waitlist-form__status.is-bad { color:#ff9b91; }
.waitlist-hp { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; }
.application-page { min-height:var(--hero-viewport); padding-block:clamp(26px,3.4vw,56px); align-items:flex-start; background-image:linear-gradient(90deg,rgba(16,14,14,.96),rgba(16,14,14,.55)),url("../img/bg-partner-hero.jpg"); }
.application-page .waitlist-page__grid { align-items:start; padding-block:0; }
.application-page .waitlist-page__copy { position:sticky; top:clamp(24px,4vw,64px); padding-top:clamp(18px,2vw,34px); }
.application-page .waitlist-page__copy h1 { font-size:clamp(76px,8.2vw,142px); }
.application-page .waitlist-form { gap:13px; padding:clamp(22px,2.4vw,38px); }
.application-page .waitlist-field textarea { min-height:116px; }
.application-form { gap:16px; }.application-form__row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.community-page { background-image:linear-gradient(90deg,rgba(16,14,14,.97),rgba(16,14,14,.6)),url("../img/bg-festival-hero.jpg"); }
.community-page .waitlist-page__copy h1 { font-size:clamp(72px,7.4vw,132px); }
.community-form { gap:18px; }
.community-options { min-width:0; padding:0; border:0; }
.community-options legend { margin-bottom:9px; font-size:11px; font-weight:700; letter-spacing:.07em; text-transform:uppercase; }
.community-options__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.community-options__grid--three { grid-template-columns:repeat(3,minmax(0,1fr)); }
.community-choice { display:flex; align-items:center; gap:9px; min-height:42px; padding:9px 11px; border:1px solid #4a4646; border-radius:9px; background:#272424; color:#dedada; font-size:12px; cursor:pointer; }
.community-choice:has(input:checked) { border-color:var(--lime-soft); background:rgba(181,203,93,.13); color:#fff; }
.community-choice input { flex:0 0 auto; width:16px; height:16px; min-height:0; padding:0; accent-color:var(--lime-soft); }
.community-options__error { display:block; min-height:15px; margin-top:5px; color:#ff9b91; font-size:11px; }
.community-consent { display:flex; align-items:flex-start; gap:11px; color:#c8c3c3; font-size:11px; line-height:1.5; cursor:pointer; }
.community-consent input { flex:0 0 auto; width:17px; height:17px; margin-top:1px; accent-color:var(--lime-soft); }
@media (max-width:959px) {
  .waitlist-page { min-height:0; }
  .waitlist-page__grid { grid-template-columns:1fr; max-width:760px; padding-block:70px; }
  .waitlist-page__copy { text-align:center; }
  .waitlist-page__copy > p:last-child { margin-inline:auto; }
  .application-page .waitlist-page__copy { position:static; padding-top:0; }
}
@media (max-width:720px) {
  .waitlist-page__grid { gap:42px; padding-block:48px 64px; }
  .waitlist-page__copy h1 { font-size:clamp(76px,24vw,104px); }
  .waitlist-page__copy > p:last-child { margin-top:22px; font-size:13px; }
  .waitlist-form { gap:15px; padding:28px 20px; border-radius:18px; }
  .waitlist-form__head { align-items:flex-start; flex-direction:column; gap:5px; }
  .waitlist-field input { font-size:16px; }
  .waitlist-field select,.waitlist-field textarea { font-size:16px; }
  .application-form__row { grid-template-columns:1fr; gap:15px; }
  .community-options__grid,.community-options__grid--three { grid-template-columns:1fr; }
  .community-choice { font-size:13px; }
}
