/* registration page */
.hero{padding:26px 0 64px;overflow:hidden}
.hero-bg{position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(ellipse 60% 55% at 72% 38%,rgba(95,43,197,.42),rgba(13,8,25,0) 70%),
             radial-gradient(ellipse 50% 40% at 15% 0%,rgba(150,76,255,.18),rgba(13,8,25,0) 70%)}
.hero .eyebrow{margin:0 0 16px}
.h1{font-size:36px;text-align:center;text-wrap:initial;max-width:1160px;margin:0 auto 26px}
.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.04fr);gap:44px;align-items:stretch}
.hero-copy{display:flex;flex-direction:column;gap:14px;justify-content:center}
.subhead{margin:0;font-size:20px;line-height:1.45;color:#EDE7FA}
.even{margin:0;color:var(--muted);font-size:17px;line-height:1.55;font-style:italic}
.hero-copy .even{order:2}.hero-copy .ticket{order:3}
/* hero art: stage plate + speaker slot + phone */
.hero-art{position:relative;margin:0;min-height:520px;border-radius:24px;overflow:hidden;background:#07040F;border:1px solid var(--line)}
.stage{position:absolute;inset:0;overflow:hidden;background:url(img/stage.jpg) center 30%/cover no-repeat,
  radial-gradient(ellipse 80% 50% at 50% 100%,rgba(95,43,197,.55),rgba(7,4,15,0) 70%),#07040F}
.stage .beam{position:absolute;top:-10%;width:34%;height:95%;background:linear-gradient(180deg,rgba(150,76,255,.55),rgba(150,76,255,0));clip-path:polygon(45% 0,55% 0,100% 100%,0 100%);filter:blur(6px);mix-blend-mode:screen}
.stage .b1{left:2%;transform:rotate(18deg)}.stage .b2{left:24%;transform:rotate(7deg)}.stage .b3{right:24%;transform:rotate(-7deg)}.stage .b4{right:2%;transform:rotate(-18deg)}
.stage .floor{position:absolute;left:6%;right:6%;bottom:22%;height:3px;border-radius:3px;background:linear-gradient(90deg,rgba(150,76,255,0),#964CFF 20%,#C9B6FF 50%,#964CFF 80%,rgba(150,76,255,0));box-shadow:0 0 18px #964CFF,0 0 40px rgba(150,76,255,.6)}
.has-stage .stage .beam,.has-stage .stage .floor{display:none}
.speaker{position:absolute;left:2%;bottom:0;width:66%;height:auto;max-height:92%;object-fit:contain;object-position:bottom;filter:drop-shadow(0 0 30px rgba(150,76,255,.35))}
.phone{position:absolute;right:6%;bottom:6%;width:42%;height:auto;filter:drop-shadow(0 20px 40px rgba(0,0,0,.6))}
/* why */
.why-intro{text-align:center}
.why-intro .big{font-family:var(--serif);font-size:24px;line-height:1.4;color:#fff}
.why-intro .turn{font-size:21px;color:#fff}
.diagram{margin:38px auto 44px;max-width:1120px}
.diagram img{width:100%;height:auto}
.points{list-style:none;margin:0 auto;padding:0;max-width:780px;display:flex;flex-direction:column;gap:16px}
.points li{display:flex;gap:18px;align-items:flex-start;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:20px 22px;line-height:1.6}
.points .n{flex:none;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-weight:700;font-size:19px;color:var(--ink);background:linear-gradient(180deg,#F5C54A,#B07A1E)}
/* how */
.how-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:10px}
.how-card{padding:26px 26px 28px;text-align:center}
.how-card .ico{width:132px;height:132px;margin:-6px auto 6px}
.how-card h3{font-size:24px;margin-bottom:10px}
.how-card p{margin:0;color:#E6DFF6;line-height:1.6}
.missed{max-width:760px;margin:30px auto 0;text-align:center;color:var(--muted)}
.short{max-width:760px;margin:12px auto 0;text-align:center;color:var(--muted)}
.short strong{color:var(--gold)}
/* glance */
.weeks{display:grid;grid-template-columns:1fr;gap:14px;max-width:1080px;margin:0 auto}
.week{padding:20px 26px;display:grid;grid-template-columns:130px 1fr 220px;grid-template-rows:auto auto;column-gap:26px;align-items:center}
.week .wk{grid-row:1}.week .days{grid-row:2;grid-column:1}
.week h3{grid-column:2;grid-row:1 / span 2}
.week .dots{grid-column:3;grid-row:1}.week .mn{grid-column:3;grid-row:2}
.week .wk{margin:0;font-family:var(--serif);font-style:italic;font-size:26px;color:var(--gold)}
.week .days{margin:2px 0 0;font-weight:900;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--lav)}
.week h3{font-size:20px;line-height:1.35;margin:0}
.week .dots{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.week .dots i{display:flex;flex-direction:column;align-items:center;gap:5px}
.week .dots i::before,.week .dots i::after{content:"";width:16px;height:16px;border-radius:50%}
.week .dots i::before{background:radial-gradient(circle,#FFE29A 30%,#F5C54A 58%,rgba(245,197,74,0) 74%)}
.week .dots i::after{background:radial-gradient(circle at 70% 35%,transparent 42%,#C9B6FF 44%);transform:rotate(-20deg)}
.week .mn{margin:8px 0 0;color:var(--muted);font-size:16px;text-align:center}
.legend{margin:18px 0 0;text-align:center;color:var(--muted);font-size:16px}
.legend .lg{display:inline-block;width:14px;height:14px;border-radius:50%;vertical-align:-2px;margin:0 6px 0 14px}
.legend .sun{background:radial-gradient(circle,#FFE29A 30%,#F5C54A 58%,rgba(245,197,74,0) 74%)}
.legend .moon{background:radial-gradient(circle at 70% 35%,transparent 42%,#C9B6FF 44%);transform:rotate(-20deg)}
/* forms down the page */
.ticket.mid{max-width:560px;margin:0 auto}
.close .h2{margin-bottom:26px}
/* origin */
.origin-grid{display:grid;grid-template-columns:340px 1fr;gap:48px;align-items:stretch}
.origin-photo{margin:0;min-height:380px;border-radius:20px;overflow:hidden;border:1px solid var(--line);background:radial-gradient(ellipse 70% 60% at 50% 70%,rgba(95,43,197,.55),rgba(13,8,25,0) 75%),var(--card);display:flex;align-items:flex-end;justify-content:center}
.origin-photo img{width:88%;height:auto;max-height:100%;object-fit:contain;object-position:bottom}
.origin-copy{align-self:center;line-height:1.62}
.origin-copy p{margin:0 0 16px}
.h2.left{text-align:left}
/* who */
.who-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:22px;max-width:1000px;margin:0 auto;align-items:stretch}
.who-grid>.card{height:100%}
.who-card{padding:26px 28px}
.who-card h3{font-size:22px;margin-bottom:14px}
.who-card ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}
.who-card li{position:relative;padding-left:34px;line-height:1.55}
.who-card li::before{content:"";position:absolute;left:0;top:3px;width:22px;height:22px;border-radius:50%}
.who-card.yes li::before{background:#F5C54A url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 12.5l4 4 8-9' fill='none' stroke='%231A1206' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/16px no-repeat}
.who-card.no{border-color:rgba(201,182,255,.22)}
.who-card.no li::before{background:#2A1E48 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 7l10 10M17 7L7 17' fill='none' stroke='%23C9B6FF' stroke-width='2.6' stroke-linecap='round'/%3E%3C/svg%3E") center/14px no-repeat;border:1px solid rgba(201,182,255,.4)}
/* faq */
.faq-head{display:flex;align-items:center;justify-content:center;gap:14px;margin-bottom:24px}
.faq-head .h2{margin:0}
.faq-head .ico{width:72px;height:72px}

/* headline cascade, forced per band: >=1100 two lines (break after "night,"); 768-1099 three lines (after "morning" and "night,"); <768 natural wrap */
.b-d{display:inline}.b-t{display:none}.b-s{display:inline}.b-w{display:inline}
.nobal{text-wrap:wrap}
@media (max-width:1199px){.h1{font-size:34px}.b-t{display:inline}.b-d{display:none}
  .hero-grid{grid-template-columns:1fr;gap:28px}.hero-copy{max-width:640px;margin:0 auto;width:100%}.subhead{text-align:center}.even{text-align:center}
  .hero-art{min-height:460px;max-width:640px;width:100%;margin:0 auto}
  .week{grid-template-columns:1fr;row-gap:4px}
  .week .wk,.week .days,.week h3,.week .dots,.week .mn{grid-column:1;grid-row:auto}
  .week h3{margin:8px 0 14px}.week .dots{max-width:300px}.week .mn{text-align:left}}
@media (max-width:767px){.b-d,.b-t,.b-s,.b-w{display:none}}
@media (max-width:999px){
  .how-grid{grid-template-columns:1fr}
  .origin-grid{grid-template-columns:1fr;gap:26px}
  .origin-photo{min-height:300px;max-width:420px;width:100%;margin:0 auto}
  .origin-photo img{width:auto;height:300px}
  .who-grid{grid-template-columns:1fr}
}
@media (max-width:767px){
  .hero{padding:20px 0 48px}
  .hero .eyebrow{font-size:12px;letter-spacing:.1em;margin-bottom:10px}
  .h1{font-size:28px;margin-bottom:14px;text-align:center}
  .hero-copy{gap:14px}
  .subhead{font-size:17px;line-height:1.45;text-align:center}
  .hero-copy .ticket{order:2}.hero-copy .even{order:3}
  .ticket .inst{font-size:16px;margin-bottom:10px}
  .ticket input[type=email]{height:52px}
  .ticket .sub{font-size:14px;margin-top:8px}
  .even{font-size:16px;text-align:center}
  .hero-art{min-height:380px;border-radius:20px}
  .speaker{width:68%;left:-2%}
  .phone{width:46%;right:4%}
  .why-intro .big{font-size:20px}
  .why-intro .turn{font-size:19px}
  .diagram{max-width:400px;margin:28px auto 30px}
  .points li{padding:16px;gap:14px}
  .how-card .ico{width:112px;height:112px}
  .faq-head{flex-direction:column;gap:6px}
  .h2.left{text-align:center}
}

.m-br{display:none}
@media (max-width:767px){.m-br{display:inline}}

.d-br{display:inline}
@media (max-width:767px){.d-br{display:none}}
