/* v5: scoped visual iteration. Original v4 remains available. */
.ss-v5 .new-header{position:absolute;inset:0 0 auto;height:104px;background:transparent;z-index:20;border-bottom-color:#ffffff12;animation:enter-header .7s 1.35s both}
.ss-v5 .hero{height:100svh;min-height:720px;display:grid;place-items:center}
.ss-v5 .hero-inner{width:90%;max-width:1250px;margin:0;padding:80px 0 90px;text-align:center}
.ss-v5 h1{font-size:clamp(72px,7.8vw,142px);line-height:.96;margin:30px 0 27px}
.ss-v5 h1 .hero-line{display:block;color:var(--paper);animation:enter-type .95s .65s both}
.ss-v5 h1 .hero-accent{color:var(--acid);animation-delay:.83s}
.ss-v5 .hero .eyebrow{animation:enter-soft .8s .5s both}
.ss-v5 .hero .intro{max-width:510px;margin-inline:auto;font-size:17px;animation:enter-soft .8s 1s both}
.ss-v5 .hero .ss-actions{justify-content:center;animation:enter-soft .7s 1.18s both}
.ss-v5 .invite-caption{margin:14px 0 0;text-align:center;animation:enter-soft .7s 1.32s both}
.ss-v5 .hero .down,.ss-v5 .hero-baseline{animation:enter-soft .7s 1.48s both}
.ss-v5 #sound-wave{animation:enter-wave 1.55s cubic-bezier(.16,.6,.22,1) both}
.ss-v5 .hero:not(.wave-original) .hero-shade{background:radial-gradient(ellipse at 50% 48%,#050706a3,transparent 69%),linear-gradient(0deg,#050706,transparent 22%,transparent 78%,#05070699)}
@keyframes enter-wave{from{opacity:0;clip-path:inset(0 100% 0 0)}to{opacity:1;clip-path:inset(0 0 0 0)}}
@keyframes enter-type{from{opacity:0;transform:translateY(34px);filter:blur(9px);clip-path:inset(0 0 100%)}to{opacity:1;transform:none;filter:blur(0);clip-path:inset(-15% -5%)}}
@keyframes enter-soft{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:none}}
@keyframes enter-header{from{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:none}}
.ss-v5 .new-header nav a,.ss-v5 .new-header nav button{position:relative}
.ss-v5 .new-header nav a:after,.ss-v5 .new-header nav button:after{content:'';position:absolute;bottom:4px;left:0;width:100%;height:1px;background:var(--acid);transform:scaleX(0);transform-origin:left;transition:transform .25s}
.ss-v5 .new-header nav :is(a,button):hover:after{transform:scaleX(1)}
.ss-v5 .icon,.ss-v5 .login,.ss-v5 .footer-top :is(a,button){transition:color .2s,transform .25s}
.ss-v5 .icon:hover,.ss-v5 .login:hover{color:var(--acid);transform:translateY(-2px)}
.ss-v5 .ss-button span,.ss-v5 .story-info i,.ss-v5 .step i{transition:transform .25s}
.ss-v5 .ss-button:hover span,.ss-v5 .story:hover .story-info i{transform:translate(2px,-2px)}
.ss-v5 .step>button:hover i{transform:scale(1.12)}
.ss-v5 .footer-top :is(a,button):hover{transform:translateX(4px)}
.ss-v5 .resonance{padding-top:80px;padding-bottom:112px;overflow:visible;isolation:isolate}
.ss-v5 .signal-thread{top:-35px;height:calc(100% + 85px);opacity:.85;z-index:-1;overflow:visible}
.ss-v5 .signal-thread path{fill:none;stroke:url(#signal-color);stroke-width:.8;stroke-dasharray:1;stroke-dashoffset:var(--signal-offset,0);vector-effect:non-scaling-stroke}
.ss-v5 .signal-thread path:nth-of-type(5n){stroke-width:1.2}
.ss-v5 .team-copy{padding-top:40px}
.ss-v5 .showcase-city{margin:0 14px 23px;display:flex;align-items:center;gap:10px;color:#c4cfb8;font-size:10px;letter-spacing:.08em}
.ss-v5 .showcase-city>span:last-child{margin-left:auto;font-size:9px;letter-spacing:0;color:#9aa491}
.ss-v5 .city-pin{color:var(--acid);font-size:17px}
.ss-v5 .dj-card{border-color:#8e9c7770;cursor:default;isolation:isolate}
.ss-v5 .dj-card:hover{filter:none;translate:none}
.ss-v5 .dj-portrait{background:#18201a}
.ss-v5 .dj-portrait img{filter:saturate(.3) contrast(1.03);object-fit:cover;width:100%;height:100%;position:absolute;inset:0}
.ss-v5 .dj-card:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#10200f14,transparent 40%,#03070533 63%,#030705e8);z-index:1}
.ss-v5 .dj-card-info{z-index:2;background:transparent!important;padding-bottom:23px!important;min-height:0!important}
.ss-v5 .choice-transition{height:170px;overflow:hidden;position:relative;--bend:0}
.ss-v5 .choice-transition svg{transform-origin:bottom;transform:scaleY(calc(.55 + var(--bend)*.45));will-change:transform}
.ss-v5 .choice-transition:after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--paper)}
.ss-v5 [data-reveal]{transition:opacity .8s,translate .8s cubic-bezier(.2,.65,.2,1)}
.ss-v5.motion-ready [data-reveal]:not(.is-revealed){opacity:0;translate:0 25px}
.ss-v5.motion-ready .team-card-slot:nth-child(2) [data-reveal]{transition-delay:70ms}
.ss-v5.motion-ready .team-card-slot:nth-child(3) [data-reveal]{transition-delay:140ms}
.ss-v5.motion-ready .team-card-slot:nth-child(4) [data-reveal]{transition-delay:210ms}
.ss-v5 .ribbons{height:270px;background:var(--ink);isolation:isolate;overflow:hidden}
.ss-v5 .ribbons:before{content:'';position:absolute;inset:0;z-index:-1;background:var(--paper);clip-path:polygon(0 0,100% 0,100% calc(133px - 4.37vw + var(--seam-drop,0px)),0 calc(133px + 4.37vw + var(--seam-drop,0px)))}
.ss-v5 .ribbon{width:120%;left:-10%;height:58px;rotate:0;overflow:hidden}
.ss-v5 .ribbon-a{top:98px;border:0;transform:rotate(-5deg) translateX(var(--entry-a,0%));z-index:3}
.ss-v5 .ribbon-b{top:68px;transform:rotate(5deg) translateX(var(--entry-b,0%));border-block:1px solid var(--ink);z-index:2}
.ss-v5 .ribbon-run{display:flex;width:max-content;transform:translateX(var(--ribbon-offset,-300px));will-change:transform}
.ss-v5 .ribbon-group{display:block;flex-shrink:0;white-space:pre;padding-right:.2em}
.ss-v5 .for-dj{background:var(--ink);margin-top:-1px}
.ss-v5 .workshop{border-radius:0;padding-top:45px;margin-top:-1px}
.ss-v5 .workshop-entry{height:82px;background:var(--ink);display:flex;align-items:end;gap:0;overflow:hidden}
.ss-v5 .workshop-entry span{flex:1;display:block;background:var(--acid);height:calc(18% + var(--bar,1)*82%);transform-origin:bottom}
.ss-v5 .workshop-entry span:nth-child(6n+1){--bar:.15}
.ss-v5 .workshop-entry span:nth-child(6n+2){--bar:.42}
.ss-v5 .workshop-entry span:nth-child(6n+3){--bar:.76}
.ss-v5 .workshop-entry span:nth-child(6n+4){--bar:1}
.ss-v5 .workshop-entry span:nth-child(6n+5){--bar:.67}
.ss-v5 .workshop-entry span:nth-child(6n){--bar:.32}
.ss-v5.motion-ready .workshop-entry span{transform:scaleY(calc(.12 + var(--workshop-progress,1)*.88))}
/* One shared cursor, including header and the dialog top layer. Native on touch,
   reduced motion, text inputs and keyboard interaction. */
.ss-cursor{position:fixed;inset:0 auto auto 0;width:7px;height:7px;transform:translate(-50%,-50%);border-radius:50%;background:#efffdd;color:#d8ebc9;pointer-events:none;z-index:2147483647;opacity:0;transition:width .2s,height .2s,background .2s,opacity .15s}
.ss-cursor.is-visible{opacity:1}
.ss-cursor:after{content:'';position:absolute;inset:-9px;border:1px solid currentColor;border-radius:50%;opacity:0;transform:scale(.6);transition:opacity .2s,transform .25s}
.ss-cursor.is-link:after{opacity:.65;transform:scale(1)}
.ss-cursor.is-link{background:var(--acid);width:5px;height:5px}
.ss-cursor.is-light{color:#354526;background:#1a250b}
.ss-cursor.is-light.is-link{background:#1a250b}
.ss-cursor .wave-sound-ring{border-color:currentColor}
html.ss-pointer,html.ss-pointer *{cursor:none!important}
html.ss-pointer :is(input,textarea,select,[contenteditable=true]){cursor:text!important}
.ss-v5.capture [data-reveal]{opacity:1!important;translate:none!important}
.ss-v5.capture .signal-thread{--signal-offset:0!important}
.ss-v5.capture .choice-transition svg{transform:none}
.ss-v5.capture .workshop-entry span{transform:none}
.ss-v5.capture .ribbon{--entry-a:0%!important;--entry-b:0%!important}
.ss-v5.capture .ribbons{--seam-drop:0px!important}
.ss-v5.capture .ss-cursor{display:none}
.ss-v5.capture .hero{height:var(--capture-hero-height,900px)}
.ss-v5.capture .hero *,.ss-v5.capture .new-header{animation:none!important}
@media(min-width:1700px){.ss-v5 .hero-inner{margin:0;width:90%}.ss-v5 .resonance{padding-bottom:150px}}
@media(max-width:800px){
 .ss-v5 .new-header{height:84px}.ss-v5 .new-header nav{background:#10160df5}
 .ss-v5 .hero{height:100svh;min-height:670px}.ss-v5 .hero-inner{padding:85px 0 85px;width:88%}
 .ss-v5 h1{font-size:clamp(38px,7.6vw,70px);line-height:1.01;margin:25px 0}
 .ss-v5 h1 .hero-line:first-child{max-width:7.5em;margin:auto;font-size:1.26em;line-height:.94}
 .ss-v5 h1 .hero-accent{font-size:1.5em;margin-top:7px}
 .ss-v5 .hero .intro{font-size:15px;max-width:335px}.ss-v5 .hero .ss-actions{align-items:center}
 .ss-v5 .invite-caption{font-size:9px;margin:13px 0 0}.ss-v5 .hero .down{bottom:25px}
 .ss-v5 .resonance{padding-top:45px;padding-bottom:65px}.ss-v5 .signal-thread{top:0;height:calc(100% + 15px);opacity:.65}
 .ss-v5 .team-copy{padding-top:15px}.ss-v5 .showcase-city{margin:0 0 10px;font-size:9px}.ss-v5 .showcase-city>span:last-child{font-size:8px}
 .ss-v5 .choice-transition{height:85px}.ss-v5 .ribbons{height:185px}
 .ss-v5 .ribbon{height:43px;font-size:18px}.ss-v5 .ribbon-a{top:71px}.ss-v5 .ribbon-b{top:52px}
 .ss-v5 .ribbons:before{clip-path:polygon(0 0,100% 0,100% calc(95px - 4.37vw + var(--seam-drop,0px)),0 calc(95px + 4.37vw + var(--seam-drop,0px)))}
 .ss-v5 .workshop-entry{height:42px}.ss-v5 .workshop{padding-top:35px}
}
@media(max-height:760px) and (min-width:801px){.ss-v5 .hero{min-height:600px}.ss-v5 h1{font-size:clamp(68px,6.8vw,110px);margin:24px 0}.ss-v5 .hero-inner{padding-top:95px;padding-bottom:75px}.ss-v5 .hero .ss-actions{margin-top:22px}}
@media(prefers-reduced-motion:reduce){
 .ss-v5 .hero *,.ss-v5 .new-header{animation:none!important}.ss-v5 .ss-cursor{display:none}
 .ss-v5 [data-reveal]{opacity:1!important;translate:none!important}
 .ss-v5 .signal-thread{--signal-offset:0!important}.ss-v5 .choice-transition svg{transform:none}
 .ss-v5 .ribbon{--entry-a:0%!important;--entry-b:0%!important}.ss-v5 .workshop-entry span{transform:none!important}
 .ss-v5 .ribbons{--seam-drop:0px!important}
}
