.dance-intro{--gold:#f4c68b;--night:#07101e;position:fixed;inset:0;width:100%;max-width:none;height:100%;max-height:none;margin:0;padding:0;border:0;border-radius:0;background:var(--night);color:#fff;overflow:hidden;overscroll-behavior:contain}.dance-intro::backdrop{background:var(--night)}.intro-stage{position:relative;width:100%;height:100%;min-height:400px;overflow:hidden;isolation:isolate;background:#07101e}.intro-stage button{border:0;background:none;color:#eee8df;font-size:.9rem;min-height:44px;padding:8px 14px}.intro-stage button:hover{color:var(--gold)}.intro-stage button:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.intro-top,.intro-bottom{position:absolute;z-index:9;left:4vw;right:4vw;display:flex;align-items:center;justify-content:space-between;gap:20px}.intro-top{top:22px}.intro-top>span{font-size:.8rem;letter-spacing:.2em;color:#dcc4a5}.intro-bottom{bottom:18px}.intro-progress{flex:1;max-width:320px;height:1px;background:#ffffff25;overflow:hidden}.intro-progress span{display:block;height:100%;background:var(--gold);transform:scaleX(0);transform-origin:left}.intro-art{position:absolute;inset:0;overflow:hidden;opacity:.7}.intro-art img{position:absolute;left:50%;top:50%;height:110%;width:auto;max-width:none;transform:translate(-50%,-50%);transform-origin:50% 32%;will-change:transform,opacity;object-fit:contain}.intro-halo{position:absolute;width:65vmax;height:65vmax;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,#db8e3d12,transparent 60%);mix-blend-mode:screen}.intro-sparks{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none}.intro-vignette{position:absolute;inset:0;z-index:3;background:linear-gradient(0deg,#07101ef5,transparent 30%,transparent 65%,#07101ed9),linear-gradient(90deg,#07101ed9,transparent 42%,#07101e33 70%,#07101ed9)}.intro-scene{position:absolute;z-index:4;left:8vw;right:8vw;top:50%;transform:translateY(-50%);opacity:0;pointer-events:none;text-align:center}.intro-overline{color:var(--gold);font-size:.85rem;letter-spacing:.3em;font-weight:500;margin:0 0 14px;line-height:1.8}.intro-presents{font-family:Georgia,serif;font-style:italic;font-size:clamp(3rem,8vw,7rem);line-height:1.1;margin:0;letter-spacing:-.03em}.intro-rule{display:block;width:80px;height:1px;background:var(--gold);margin:28px auto}.scene-dance,.scene-together{left:10vw;right:auto;text-align:left;top:58%}.intro-dance-title,.intro-step-title{font:italic clamp(3.6rem,9vw,9rem)/1.05 Georgia,serif;letter-spacing:-.04em;margin:0;color:#fff2dd;text-shadow:0 4px 40px #07101e}.scene-together{top:50%}.intro-beats{display:flex;gap:16px;margin-top:28px}.intro-beats i{height:5px;width:5px;background:var(--gold);border-radius:50%;box-shadow:0 0 20px #efb86e}.intro-director{font:italic clamp(4rem,9vw,8rem)/1.2 Georgia,serif;margin:0 0 35px}.intro-collaborators{display:flex;justify-content:center;gap:65px}.intro-collaborators span{display:block;color:var(--gold);font-size:.75rem;letter-spacing:.17em;line-height:1.8}.intro-collaborators strong{display:block;font:400 clamp(1.8rem,3vw,2.6rem)/1.5 Georgia,serif}.scene-finale h2{font:700 clamp(3.5rem,9vw,8rem)/1.05 'Segoe UI',sans-serif;letter-spacing:-.065em;margin:12px 0 25px;color:white}.scene-finale h2 span{color:#f18357}.intro-subtitle{font-size:1rem;letter-spacing:.04em;color:#e2d3c4;margin-bottom:30px}.intro-stage .intro-enter{border:1px solid #e7b67a80;border-radius:2px;padding:15px 30px;background:#0b1422b3;font-size:1rem;pointer-events:auto;color:#ffe1b3;backdrop-filter:blur(10px)}.intro-stage .intro-enter:hover{background:#e9b477;color:#07101e}.intro-reopen{display:block;margin:0 auto 28px;padding:8px 14px;border:0;background:none;color:#53606e;text-decoration:underline;text-underline-offset:4px;font-size:.9rem}.intro-playing .intro-art img{animation:intro-camera 18s linear forwards}.intro-playing .intro-progress span{animation:intro-progress 18s linear forwards}.intro-playing .scene-present{animation:intro-present 18s linear forwards}.intro-playing .scene-dance{animation:intro-dance 18s linear forwards}.intro-playing .scene-together{animation:intro-together 18s linear forwards}.intro-playing .scene-credits{animation:intro-credits 18s linear forwards}.intro-playing .scene-finale{animation:intro-finale 18s linear forwards}.intro-playing .intro-beats i{animation:intro-beat 2s ease-in-out infinite}.intro-beats i:nth-child(2){animation-delay:.3s}.intro-beats i:nth-child(3){animation-delay:.6s}.intro-beats i:nth-child(4){animation-delay:.9s}.intro-paused *{animation-play-state:paused!important}.intro-finished .intro-art img{animation:none;transform:translate(-50%,-50%) scale(1.03);opacity:.35}.intro-finished .intro-scene{animation:none;opacity:0}.intro-finished .scene-finale{opacity:1}.intro-finished .intro-progress span{transform:scaleX(1);animation:none}.intro-finished #intro-pause{visibility:hidden}
@keyframes intro-camera{0%{transform:translate(-50%,-30%) scale(1.06);opacity:.22}18%{transform:translate(-50%,-33%) scale(1.06);opacity:1}58%{transform:translate(-50%,-41%) scale(1.04);opacity:1}70%{transform:translate(-50%,-44%) scale(1.03);opacity:.25}100%{transform:translate(-50%,-50%) scale(1.03);opacity:.35}}
@keyframes intro-sway{from{rotate:-.7deg}to{rotate:.7deg}}@keyframes intro-progress{to{transform:scaleX(1)}}
@keyframes intro-present{0%{opacity:0;translate:0 14px}5%,12%{opacity:1;translate:0 0}18%,100%{opacity:0;translate:0 -14px}}@keyframes intro-dance{0%,17%{opacity:0;translate:0 15px}24%,34%{opacity:1;translate:0 0}40%,100%{opacity:0;translate:0 -10px}}@keyframes intro-together{0%,40%{opacity:0;translate:0 15px}46%,54%{opacity:1;translate:0 0}61%,100%{opacity:0;translate:0 -10px}}@keyframes intro-credits{0%,59%{opacity:0;translate:0 15px}66%,79%{opacity:1;translate:0 0}85%,100%{opacity:0;translate:0 -10px}}@keyframes intro-finale{0%,84%{opacity:0;translate:0 15px;visibility:hidden}85%{visibility:visible}94%,100%{opacity:1;translate:0 0;visibility:visible}}@keyframes intro-beat{0%,70%,100%{opacity:.4;transform:scale(1)}30%{opacity:1;transform:scale(1.7)}}
@media(max-width:700px){.intro-top{top:12px;left:16px;right:16px;gap:5px}.intro-top>span{font-size:.7rem;letter-spacing:.1em}.intro-stage button{font-size:.8rem;padding:8px 10px}.intro-bottom{left:14px;right:14px;bottom:10px;gap:12px}.intro-art img{height:95%}.intro-scene{left:24px;right:24px}.scene-dance{top:65%;text-align:center}.scene-together{top:50%;text-align:center}.intro-overline{font-size:.75rem;letter-spacing:.15em}.intro-collaborators{gap:25px;flex-wrap:wrap}.intro-collaborators>div{max-width:160px}.intro-collaborators span{font-size:.7rem;letter-spacing:.1em}.intro-director{margin-bottom:24px}.intro-subtitle{font-size:.9rem;max-width:280px;margin-left:auto;margin-right:auto}.intro-beats{justify-content:center}.scene-finale h2{font-size:clamp(2.7rem,12vw,5rem)}.intro-vignette{background:linear-gradient(0deg,#07101ef5,transparent 35%,#07101e33 60%,#07101ee0)}}
@media(prefers-reduced-motion:reduce){.intro-playing:not(.intro-optin) *{animation:none!important}.intro-playing:not(.intro-optin) .scene-finale{opacity:1}.intro-playing:not(.intro-optin) .intro-art img{opacity:.35}.intro-playing:not(.intro-optin) .intro-progress span{transform:scaleX(1)}}

.intro-top{justify-content:initial;gap:12px}.intro-top>span{margin-right:auto}.intro-top #intro-music{border:1px solid #dfb27666;border-radius:3px;color:#ffdfb5}.intro-top #intro-music[aria-pressed=true]{background:#dba46920}.intro-collaborators>div{max-width:300px}@media(max-width:700px){.intro-top{flex-wrap:wrap;justify-content:space-between;gap:0 8px}.intro-top>span{flex-basis:100%;margin-bottom:5px}.intro-top #intro-music{font-size:.8rem}.intro-collaborators>div{max-width:155px}}

.intro-loading *{animation-play-state:paused!important}.intro-sound-status{position:absolute;z-index:9;bottom:68px;left:16px;right:16px;text-align:center;color:#e2d3c4;font-size:.8rem;pointer-events:none}.intro-top #intro-music{background:#edbd7c;color:#07101e;font-weight:600}.intro-top #intro-music[aria-pressed=true]{color:#ffe0b5;background:#dba46920}
