/* V11: printed festival objects, composed as scenes rather than cards. */
.arrival{min-height:980px}.arrival .central-mark{top:24%}
.hero-invitation{font-size:clamp(18px,1.7vw,25px);font-weight:650;line-height:1.45;max-width:34ch;margin:20px auto 0;text-wrap:balance}
.hero-status{color:var(--gold);font-size:12px;margin:16px auto 0;letter-spacing:.03em}
.journey-chapter{min-height:720px;padding-block:85px}
.journey-chapter .festival-scene{height:420px;position:relative;isolation:isolate;overflow:visible}
.festival-scene .journey-visual{position:relative;padding:0}
.scene-object{display:block;position:relative;width:100%;height:100%;padding:0;border:0;background:none;border-radius:12px;z-index:2}
.scene-object>img{transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.scene-object:hover>img,.scene-object:focus-visible>img{transform:translateY(-7px) rotate(-1deg)}
.scene-plus{position:absolute;right:2%;bottom:8%;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--chapter-color);color:#111;font-size:23px;transition:transform .25s}
.scene-object:hover .scene-plus{transform:rotate(45deg)}
.scene-stage{width:124%;margin-left:-12%}.scene-stage .journey-visual{isolation:isolate}.scene-stage .scene-object{z-index:2}
.stage-beams{position:absolute;inset:-16% 7% 23%;z-index:1;pointer-events:none;opacity:0;transform:scaleY(.7);transform-origin:bottom;transition:opacity .6s,transform .8s}
.stage-beams i{position:absolute;inset:0;background:#f3b833;clip-path:polygon(0 0,24% 0,52% 100%,48% 100%);opacity:.22}
.stage-beams i:nth-child(2){background:#f32f91;clip-path:polygon(36% 0,66% 0,52% 100%,48% 100%);opacity:.3}
.stage-beams i:nth-child(3){background:#18c7c0;clip-path:polygon(76% 0,100% 0,52% 100%,48% 100%)}
.lights-on .stage-beams{opacity:1;transform:scaleY(1)}
.scene-switch,.instrument-controls button{background:#111;border:1px solid #716049;border-radius:50px;min-height:44px;padding:10px 18px;font-size:12px;position:relative;z-index:3}
.scene-switch{display:flex;gap:24px;align-items:center;margin:-5px auto 0}.scene-switch span{font-size:20px;color:var(--gold)}
.scene-switch:hover,.scene-switch[aria-pressed=true]{background:var(--gold);color:#111}.scene-switch[aria-pressed=true] span{color:#111}
.scene-makers .maker-rig{position:absolute;top:-4%;left:-10%;width:120%;max-width:none;height:64%;object-fit:contain}
.instrument-display{position:absolute;inset:20% 4% 0;isolation:isolate}
.instrument-display .instrument{position:absolute;inset:0;opacity:0;transform:translateY(20px) rotate(5deg) scale(.9);transition:opacity .4s,transform .6s;pointer-events:none}
.instrument-display .instrument.is-current{opacity:1;transform:translateY(0) rotate(0) scale(1)}
.instrument-controls{display:flex;justify-content:center;gap:8px;margin:12px -15px 0}
.instrument-controls button{padding:9px 17px;border-color:#555}.instrument-controls button[aria-pressed=true]{background:var(--gold);border-color:var(--gold);color:#111}.instrument-controls button:hover{border-color:var(--gold)}
.scene-stories .story-mic{position:absolute;width:65%;height:100%;left:0;top:0;transform:rotate(-12deg)}
.scene-stories .story-cases{position:absolute;width:48%;height:50%;right:-4%;bottom:-4%;transform:rotate(7deg);z-index:3;pointer-events:none}
.scene-stories .story-film{position:absolute;width:42%;height:40%;right:-2%;top:0;transform:rotate(12deg);pointer-events:none}
.story-mic .scene-plus{right:3%;bottom:19%;transform:rotate(12deg)}
.scene-impact .impact-speaker{width:84%;height:94%;margin:0 auto;transform:rotate(-6deg)}
.scene-impact .impact-moon{position:absolute;width:29%;height:29%;top:-8%;right:-7%;transform:rotate(15deg);z-index:3;pointer-events:none}
.sound-orbits{position:absolute;inset:7% -4%;pointer-events:none;transform:rotate(-18deg)}
.sound-orbits i{position:absolute;inset:25% -3%;border:1px solid #f32f91;border-radius:50%;opacity:.65;transition:transform .5s}
.sound-orbits i:nth-child(2){inset:16% -11%;opacity:.35}.sound-orbits i:nth-child(3){inset:7% -19%;opacity:.15}
.scene-impact:focus-within .sound-orbits i,.scene-impact:hover .sound-orbits i{transform:scale(1.08)}
.scene-community{width:119%;margin-left:-10%}.scene-community .community-crew{position:absolute;left:33%;top:37%;width:32%;height:43%;pointer-events:none;z-index:3;transform:rotate(-9deg)}
.community-gate .scene-plus{bottom:7%;right:7%}
.chapter-copy>p.chapter-bridge{font-size:14px;line-height:1.65;font-weight:400;color:#aaa6a2;margin-top:25px;max-width:35ch}
.lineup-list-link{display:inline-block;font-size:12px;border-bottom:1px solid #78616c;margin-top:13px;padding-bottom:5px;min-height:32px}.lineup-list-link:hover{color:var(--gold)}
.register label[for=artist-request]{margin-top:24px}.register label span{color:#a5a5a0}.register #artist-request{width:100%;border:1px solid #555;color:white;font-size:16px;min-height:54px}.register input:disabled{opacity:.6}
.dialog-help{border-top:1px solid #414141;margin-top:24px;padding-top:20px;font-size:13px}.dialog-help p{color:#bbb}.dialog-help a{display:block;padding:12px 0;min-height:44px;color:var(--gold);text-decoration:underline;text-underline-offset:4px}
@media(min-width:1600px){.arrival .central-mark{top:22%}}
@media(min-width:701px) and (max-width:1050px){.journey-chapter .festival-scene{height:340px}.journey-chapter{min-height:690px}.hero-invitation{font-size:20px}.arrival .central-mark{top:25%}}
@media(max-width:700px){
 .arrival{height:940px;min-height:0}.arrival .central-mark{top:30%;width:84vw;max-width:84vw}.hero-invitation{font-size:19px;max-width:29ch;margin-top:20px}.hero-status{font-size:11px;max-width:29ch}
 .arrival .crew-signal{top:73%;width:127px}.arrival .crew-venus{top:73%;width:159px}.arrival .hero-moon{top:41%;right:-20%}
 .journey-chapter{min-height:0;padding-top:38px;padding-bottom:65px;gap:30px}.journey-chapter .festival-scene{height:295px;margin-bottom:8px}
 .scene-stage{width:125%;margin-left:-14%;margin-top:15px}.scene-stage .scene-switch{margin-top:-16px}.scene-switch{padding:8px 16px}
 .scene-makers{margin-bottom:55px!important}.scene-makers .maker-rig{top:0}.instrument-controls{gap:7px;margin:4px -12px 0}.instrument-controls button{padding:8px 12px}
 .scene-stories .story-cases{right:0}.scene-stories .story-film{right:0}.scene-impact .impact-moon{right:0}
 .chapter-copy>p.chapter-bridge{font-size:13px;line-height:1.6;margin-top:22px}.scene-plus{width:44px;height:44px;bottom:3%}.scene-community{width:115%;margin-left:-10%}.music-lineup{margin-top:0}
}
@media(max-width:359px){.arrival{height:870px}.arrival .central-mark{top:29%}.hero-invitation{font-size:17px}.arrival .crew-signal{width:108px;top:73%}.arrival .crew-venus{width:135px;top:73%}.journey-chapter .festival-scene{height:255px}.instrument-controls button{padding-inline:9px;font-size:11px}}
@media(prefers-reduced-motion:reduce){.festival-scene *, .festival-scene *::before{transition:none!important}.scene-object:hover>img{transform:none}}
.motion-paused .festival-scene *{transition:none!important}
/* Keep complete silhouettes and touch targets inside narrow screens. */
@media(max-width:700px){.scene-stage{width:110%;margin-left:-8%}.scene-makers .maker-rig{width:110%;left:-5%}}

/* October 8: mental health leads; community and the app continue the voyage. */
.chapter-music:nth-of-type(even) .chapter-art{grid-column:3;grid-row:1 / span 2}
.chapter-music:nth-of-type(even) .chapter-copy,.chapter-music:nth-of-type(even) .music-lineup{grid-column:1}
.chapter-app{--chapter-color:var(--turquoise)}
.scene-app .journey-visual{isolation:isolate}
.app-orbit{position:absolute;inset:22% -12%;border:2px solid var(--turquoise);border-radius:50%;transform:rotate(-25deg);opacity:.55;z-index:-1}
.scene-app .app-star{position:absolute;width:48px;height:48px;right:-2%;top:5%;transform:rotate(12deg)}
.community-phone{position:relative;width:258px;height:408px;padding:18px 17px;background:#181c22;border:2px solid #76738d;border-radius:30px;box-shadow:10px 12px 0 #282337;transform:rotate(-5deg)}
.phone-top{display:flex;align-items:center;justify-content:space-between;font:700 15px var(--display);letter-spacing:.08em}
.phone-top .app-preview-label{font:400 9px var(--body);letter-spacing:0;color:#c6bade;border:1px solid #594e71;padding:4px 6px;border-radius:20px}
.phone-avatar{height:178px;position:relative;margin-top:8px;background:radial-gradient(ellipse,#49375e 0,transparent 68%)}
.phone-avatar img{object-fit:contain;width:100%;height:100%;filter:drop-shadow(0 12px 9px #0005)}
.avatar-controls{display:flex;justify-content:center;gap:7px;margin-top:5px}
.avatar-controls button{border:1px solid #686373;background:#22252d;width:40px;min-height:44px;border-radius:50%;font-size:11px}
.avatar-controls button[aria-pressed=true]{background:var(--gold);border-color:var(--gold);color:#111}
.phone-message{font-size:13px;line-height:1.45;text-align:center;min-height:54px;display:grid;place-items:center;margin:10px 0 6px;color:#f2ece5}
.app-view-controls{display:flex;justify-content:space-between;border-top:1px solid #4b4459;padding-top:4px}
.app-view-controls button{border:0;background:none;padding:8px 10px;min-height:44px;font-size:11px;color:#b5adbf}
.app-view-controls button[aria-pressed=true]{color:var(--turquoise);text-decoration:underline;text-underline-offset:6px}
.register h2{font-size:clamp(58px,8.5vw,112px);line-height:.93;text-wrap:balance;overflow-wrap:normal}
.register-moon{opacity:.18;right:-300px;pointer-events:none}
@media(max-width:1050px) and (min-width:701px){.journey-chapter .scene-app{height:440px}.community-phone{width:245px}.scene-app .app-star{right:-6%}.chapter-action .chapter-copy h3{font-size:49px}}
@media(max-width:700px){
 .journey-chapter .scene-app{height:410px;margin-block:18px 15px}
 .community-phone{width:min(258px,100%);transform:rotate(-3deg);padding-inline:12px;box-shadow:6px 8px 0 #282337}
 .scene-app .app-star{width:30px;height:30px;right:-4%;top:-4%}
 .app-orbit{inset:26% -3%;opacity:.4}
 .arrival-tools .lineup-link{display:block}.arrival-tools .lineup-link>span{font-size:11px;margin-top:5px;gap:8px}
 .arrival-tools .cta{font-size:12px;padding:12px 15px;gap:14px}
 .register h2{font-size:clamp(53px,13.5vw,88px)}
 .register-moon{right:-220px;opacity:.16}
 .register .input-row{flex-direction:column}.register .input-row .cta{justify-content:center;gap:20px}
}
@media(max-width:359px){.voyage-intro h2{font-size:88px}.community-phone{padding-inline:9px}.app-view-controls button{padding-inline:7px}.avatar-controls{gap:4px}.avatar-controls button{width:38px}.phone-top .app-preview-label{font-size:8px}}

/* Festival edit: a logo-only opening, compact experiences and practical info. */
.arrival{height:100svh;min-height:760px;max-height:960px}.arrival .central-mark{top:30%}
.voyage-intro{grid-template-columns:1.15fr 1fr;gap:8%;padding-block:25px 50px}
.voyage-intro .festival-intro-title{font-size:clamp(62px,6.2vw,89px);line-height:.94;text-wrap:balance}
.voyage-intro .voyage-lead{font-size:clamp(22px,2.1vw,28px);max-width:29ch}
.voyage-intro .festival-status{color:var(--gold);font-size:12px;line-height:1.5;margin:20px 0 0}
.voyage-nav{padding-bottom:25px;gap:8px 28px}
.journey-chapter{min-height:580px;padding-block:55px}
.journey-chapter .festival-scene{height:350px}
.journey-chapter .scene-app{height:420px}
.chapter-copy h3{font-size:clamp(52px,5vw,72px);margin-bottom:21px}
.chapter-copy>p.chapter-lead{font-size:clamp(19px,1.55vw,23px);line-height:1.5;max-width:32ch}
.music-lineup{border-top:2px solid var(--pink);padding-top:18px}
.music-lineup h4{font-size:clamp(42px,4vw,58px)}
.music-lineup .lineup-coming{font:900 clamp(25px,2.6vw,36px)/1.1 var(--display);text-transform:uppercase;letter-spacing:.01em}
.festival-info{max-width:1160px;margin:35px auto 70px;padding:65px 0 20px;display:grid;grid-template-columns:1fr 1.4fr;gap:10%;border-top:1px solid #343434;scroll-margin-top:30px}
.festival-info .eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.13em;margin-bottom:18px}
.festival-info h2{font-size:clamp(52px,5vw,72px);text-transform:uppercase;line-height:.95}
.festival-faqs{min-width:0}.festival-faqs details{border-bottom:1px solid #414141}
.festival-faqs details:first-child{border-top:1px solid #414141}
.festival-faqs summary{list-style:none;display:flex;justify-content:space-between;gap:18px;align-items:center;padding:20px 8px 20px 0;font-size:16px;font-weight:600;cursor:pointer;min-height:64px}
.festival-faqs summary::-webkit-details-marker{display:none}
.festival-faqs summary span{font-size:0;line-height:1;color:var(--pink);width:26px;flex:none;text-align:center}.festival-faqs summary span::before{content:"+";font-size:26px}
.festival-faqs details[open] summary span::before{content:"−"}
.festival-faqs summary:focus-visible{outline:2px solid var(--gold);outline-offset:5px}
.festival-faqs details p{font-size:14px;color:#c5c3c0;line-height:1.75;padding-bottom:22px;max-width:55ch}
.festival-faqs details a,.faq-support{display:inline-block;color:var(--gold);background:none;border:0;border-bottom:1px solid #70613e;padding:0 0 10px;margin-bottom:20px;font-size:13px;min-height:44px}
.register{padding-block:65px 85px}
@media(max-width:1250px){.festival-info{margin-inline:6vw}}
@media(min-width:701px) and (max-width:1050px){.journey-chapter .festival-scene{height:300px}.journey-chapter .scene-app{height:420px}.journey-chapter{min-height:550px}.chapter-copy h3{font-size:52px}.festival-info{gap:6%;grid-template-columns:.8fr 1.2fr}.festival-info h2{font-size:54px}}
@media(max-width:700px){
 .arrival{height:760px;min-height:0}.arrival .central-mark{top:35%;width:82vw;max-width:82vw}
 .arrival .crew-signal,.arrival .crew-venus{top:70%}
 .voyage{padding-top:20px}.voyage-intro{padding-bottom:30px}
 .voyage-intro .festival-intro-title{font-size:clamp(49px,13vw,77px);line-height:.95;margin-bottom:24px}
 .voyage-intro .voyage-lead{font-size:21px;line-height:1.45}.voyage-intro .festival-status{font-size:11px;margin-top:16px}
 .voyage-nav{gap:0 20px;padding-bottom:15px}.voyage-nav a{font-size:11px}
 .journey-chapter{min-height:0;gap:22px;padding-block:25px 42px}.journey-chapter .festival-scene{height:230px;margin-bottom:0}
 .journey-chapter .scene-app{height:410px;margin-block:18px 8px}
 .chapter-copy h3{font-size:clamp(43px,11.5vw,65px);margin-bottom:18px}.chapter-copy>p.chapter-lead{font-size:18px;line-height:1.5}
 .scene-makers{margin-bottom:48px!important}.music-lineup{padding-top:18px}.music-lineup h4{font-size:43px}.music-lineup .lineup-coming{font-size:27px}
 .festival-info{display:block;margin:20px 24px 40px;padding-top:40px}.festival-info-heading{margin-bottom:28px}.festival-info h2{font-size:55px}.festival-info .eyebrow{margin-bottom:13px}
 .festival-faqs summary{font-size:14px;padding-block:17px}.festival-faqs details p{font-size:13px}
}
@media(max-width:359px){.arrival{height:700px}.journey-chapter .festival-scene{height:210px}.journey-chapter .scene-app{height:410px}.chapter-copy h3{font-size:42px}.chapter-copy>p.chapter-lead{font-size:17px}.festival-info h2{font-size:48px}}
@media(prefers-reduced-motion:reduce){.festival-faqs summary span{transition:none}}

/* Signup consent stays hidden until database and privacy details are configured. */
.registration-consent:not([hidden]){display:flex;align-items:flex-start;gap:12px;margin-top:18px;font-size:13px;line-height:1.6;text-align:left}.register .registration-consent input{width:20px;height:20px;min-height:20px;margin:0;flex-shrink:0;accent-color:var(--pink)}.registration-privacy{margin-top:16px;text-align:left;font-size:13px;line-height:1.6;color:#ccc}.registration-privacy summary{cursor:pointer}.registration-privacy a{text-decoration:underline;overflow-wrap:anywhere}

#interest-form [hidden]{display:none!important}
