@font-face{font-family:Display;src:url(display.ttf) format('truetype');font-weight:900;font-display:swap}@font-face{font-family:Mono;src:url(mono.ttf) format('truetype');font-display:swap}
:root{--red:#ff5ec9;--paper:#f7eaf5;--bg:#100b14;--mono:Mono,'Courier New',monospace;--display:Display,Impact,'Arial Narrow',sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--paper);font-family:Arial,sans-serif;overflow-x:hidden}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button{font:inherit;color:inherit;cursor:pointer}button,a{transition:color .2s,background .2s,transform .3s}button{background:none;border:0}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--red);outline-offset:5px}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.header{height:100px;margin:0 3%;display:flex;align-items:flex-start;padding-top:27px;gap:4%;position:relative;z-index:5;font:11px/1.4 var(--mono)}.logo{font:900 33px/.9 var(--display);letter-spacing:-2px}.logo span{color:var(--red);font-size:24px;margin-left:3px}.manifesto{margin:0;font-size:10px}.views{display:flex;gap:13px}.views button{padding:0 0 22px;position:relative;color:#92928e}.views .active{color:var(--paper)}.views .active:after{content:'';position:absolute;bottom:3px;left:50%;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:10px solid var(--red);transform:translateX(-50%)}nav{display:flex;flex-direction:column;gap:5px;margin-left:auto}nav button{text-align:left;padding:0;white-space:nowrap}nav button.selected:before{content:'▶';color:var(--red);margin-left:-18px;margin-right:6px}sup{font-size:8px}.nav-right{display:flex;gap:35px}.nav-right button{padding:0}.booking-link{color:var(--red)}button:hover,a:hover{color:var(--red)}#experience{min-height:calc(100svh - 84px);padding-bottom:84px}.small-note{display:flex;justify-content:space-between;margin:6px 3% 12px;font:8px var(--mono);color:#797976}.gallery-stage{height:clamp(420px,55svh,720px);position:relative;overflow:hidden;touch-action:pan-y}.slides{position:absolute;inset:0;perspective:1200px;overflow:hidden}.slide{position:absolute;left:20%;top:0;width:60%;height:100%;border:0;padding:0;transition:transform .85s cubic-bezier(.2,.7,.15,1),opacity .85s,filter .85s;overflow:hidden;background:#292324;will-change:transform;transform:translateX(calc(var(--position)*115%)) scale(.75);opacity:.45;filter:saturate(.3);cursor:pointer}.slide img{width:100%;height:100%;object-fit:cover;transition:transform 2s ease}.slide.is-active{transform:translateX(0) scale(1);opacity:1;filter:saturate(.75);z-index:2}.slide.is-active img{animation:breathe 22s ease-in-out infinite alternate}.slide.is-active:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#0004,transparent 70%)}.lens .slide{border-radius:50% 50% 47% 47%;transform:translateX(calc(var(--position)*115%)) scale(.68) rotate(calc(var(--position)*9deg))}.lens .slide.is-active{transform:translateX(0) scale(1);border-radius:45% 45% 42% 42%}.stage-gradient{position:absolute;inset:0;background:linear-gradient(0deg,#101010,transparent 35%),linear-gradient(90deg,#10101055,transparent 40%);pointer-events:none;z-index:3}.stage-statement{position:absolute;z-index:4;top:21%;left:6%;pointer-events:none}.stage-statement p{font:9px var(--mono);letter-spacing:1px;margin-bottom:20px}.stage-statement h1{font:900 clamp(50px,6.2vw,105px)/.92 var(--display);letter-spacing:-.015em;margin:0 0 28px;max-width:70vw;text-shadow:0 3px 30px #0005}.scene-action{font:9px var(--mono);border-bottom:1px solid #ddd7;padding:0 0 10px;pointer-events:auto}.scene-action span{margin-left:35px;font-size:18px;color:var(--red)}.coordinates{position:absolute;z-index:4;right:3%;top:33%;font:8px/1.8 var(--mono);color:#bababa;writing-mode:vertical-rl;letter-spacing:2px}.scene-caption{position:absolute;z-index:4;left:6%;right:6%;bottom:18px;display:flex;justify-content:space-between;align-items:end}.scene-caption span{font:9px var(--mono);color:var(--red)}.scene-caption h2{font:900 30px var(--display);margin:8px 0 4px}.scene-caption p{font:8px var(--mono);margin:0;color:#90908b}.arrows{display:flex;gap:8px}.arrows button{width:44px;height:44px;border:1px solid #666;border-radius:50%;font:18px Arial}.arrows button:hover{background:var(--red);border-color:var(--red);color:#111}.stage-top{position:absolute;left:3%;right:3%;top:12px;z-index:4;display:flex;justify-content:space-between;font:8px var(--mono)}.stage-top button{padding:0;font:8px var(--mono)}.stage-top span{color:#999}.slide-dots{position:absolute;bottom:26px;left:50%;transform:translateX(-50%);z-index:4;display:flex;gap:9px}.slide-dots button{width:24px;height:24px;padding:8px}.slide-dots button:after{content:'';width:5px;height:5px;display:block;background:#666;border-radius:50%;transition:background .3s}.slide-dots .active:after{background:var(--red)}.corner{position:absolute;width:16px;height:16px;z-index:4;pointer-events:none}.tl{top:0;left:3%;border-left:1px solid #ddd;border-top:1px solid #ddd}.br{bottom:0;right:3%;border-right:1px solid #ddd;border-bottom:1px solid #ddd}.identity{margin:0 3%;position:relative;overflow:hidden}.identity-note{position:absolute;right:0;top:8px;font:7px/1.5 var(--mono);color:#888;z-index:2;text-align:right}.wordmark{font:900 19.3vw/.9 var(--display);letter-spacing:-.025em;color:var(--red);white-space:nowrap;padding-top:8px;margin-left:-.005em}.wordmark span{font:12px Arial;vertical-align:top;display:inline-block;padding-top:12px;margin-left:3px}.identity-bottom{display:flex;justify-content:space-between;padding:10px 0 16px;font:8px var(--mono);color:#888}.identity-bottom button{font:8px var(--mono);padding:0}.player{height:84px;position:fixed;bottom:0;left:0;right:0;z-index:10;background:#141414;border-top:1px solid #343431;display:flex;align-items:center;gap:20px;padding:0 3%;font:9px var(--mono);box-shadow:0 -10px 30px #101010}.play{width:38px;height:38px;border:1px solid #555;border-radius:50%;font:12px Arial;flex-shrink:0}.play.is-playing{background:var(--red);border-color:var(--red);color:#111}.track-name{min-width:160px;display:flex;flex-direction:column;gap:7px}.track-name strong{font-size:10px;font-weight:400}.track-name>span{font-size:7px;color:#8f8f88}.timeline{flex:1;position:relative;min-width:50px;height:38px}.waveform{display:flex;align-items:center;justify-content:space-between;height:100%;pointer-events:none;gap:2px}.waveform i{display:block;flex:1;background:#494943;min-width:1px;max-width:3px;border-radius:2px}.waveform i.past{background:var(--red)}#seek{position:absolute;inset:0;width:100%;height:100%;opacity:.001;cursor:pointer;margin:0}#seek:focus-visible{opacity:.7}#time{white-space:nowrap;font-size:8px;color:#aaa}#mute{font:8px var(--mono);white-space:nowrap;padding:12px 0}.volume-label{display:flex;align-items:center;gap:8px;font-size:7px;color:#999}.volume-label input{width:60px;accent-color:var(--red)}.player-book{font:9px var(--mono);padding:15px 0 15px 20px;border-left:1px solid #444;white-space:nowrap;color:var(--red)}.collection{padding:30px 6% 25px;min-height:55svh}.collection.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.collection-card{text-align:left;padding:0;position:relative;animation:appear .5s both}.collection-card .card-media{aspect-ratio:1.6;overflow:hidden;position:relative;background:#292929}.collection-card img{width:100%;height:100%;object-fit:cover;filter:saturate(.6);transition:transform .7s,filter .7s}.collection-card:hover img{transform:scale(1.06);filter:saturate(1)}.card-media>span{position:absolute;left:15px;top:15px;font:9px var(--mono);background:#111a;padding:7px}.card-info{display:flex;justify-content:space-between;align-items:center;padding:13px 0;border-bottom:1px solid #444}.card-info h2{font:900 28px var(--display);margin:0}.card-info>span{font:8px var(--mono);color:#8a8a83}.collection.list{display:block}.list .collection-card{display:flex;align-items:center;width:100%;gap:30px;border-bottom:1px solid #444;padding:15px 0}.list .card-media{width:130px;flex-shrink:0;aspect-ratio:1.6}.list .card-info{flex:1;border:0}.list .card-info h2{font-size:42px}.list .card-info>span{font-size:9px}.list .card-media>span{display:none}dialog{background:#131313;color:var(--paper);border:1px solid #3b3b38;max-width:none;max-height:92svh;padding:0;box-shadow:0 20px 80px #0009}dialog::backdrop{background:#000c;backdrop-filter:blur(12px)}dialog[open]{animation:appear .35s ease}.close{position:absolute;top:25px;right:30px;z-index:5;font:10px var(--mono);background:#1119;padding:10px}.detail{width:min(1050px,92%);display:grid;grid-template-columns:1fr 1fr;overflow:auto}.detail-image{position:relative;min-height:520px}.detail-image img{width:100%;height:100%;object-fit:cover;position:absolute;filter:saturate(.7)}.detail-image span{position:absolute;bottom:30px;left:30px;font:900 110px var(--display);color:var(--red)}.detail-content{padding:80px 45px 45px}.eyebrow{font:9px/1.6 var(--mono);color:var(--red);letter-spacing:1px}.detail-content h2{font:900 75px/.95 var(--display);margin:20px 0}.detail-content>p{line-height:1.7;color:#b1b1a9;font-size:15px;max-width:400px}.red-button,.outline-button{display:inline-block;font:10px var(--mono);padding:18px 23px;margin-top:20px}.red-button{background:var(--red);color:#111}.red-button:hover{background:#eee;color:#111}.outline-button{border:1px solid #666;color:var(--paper)}.fine{font:9px/1.7 var(--mono);color:#888;max-width:400px}.panel{width:min(1200px,94%);padding:65px 6%;overflow:auto}.panel h2{font:900 clamp(58px,6.5vw,100px)/.95 var(--display);margin:25px 0 45px}.panel em{font-style:normal;color:var(--red)}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px}.about-photo{position:relative;min-height:450px}.about-photo img{position:absolute;width:100%;height:100%;object-fit:cover;filter:saturate(.6)}.about-photo span{position:absolute;bottom:20px;left:20px;font:8px var(--mono)}.about-grid p{color:#aaa;font-size:14px;line-height:1.8}.about-grid .big-copy{font-size:25px;line-height:1.35;color:var(--paper);margin-top:0}.capability{margin-top:25px;border-top:1px solid #444;padding-top:15px}.capability>span{font:8px var(--mono);color:var(--red)}.capability p{margin:8px 0;font-size:12px}.concept-note{border-top:1px solid #444;margin-top:50px;padding-top:25px;font:9px/1.8 var(--mono);color:#999}.concept-note>span{color:var(--red)}.concept-note p{max-width:800px}.concept-note a{font-size:8px}.booking-panel{display:grid;grid-template-columns:1.1fr 1fr;gap:50px}.booking-intro h2{font-size:clamp(55px,6vw,90px);margin-bottom:30px}.booking-intro>p{line-height:1.7;color:#aaa}.booking-steps{display:flex;flex-direction:column;gap:15px;font:9px var(--mono);margin-top:60px;color:#888}.booking-steps .current{color:var(--red)}form{padding-top:25px}form h3{font:900 35px var(--display);margin:10px 0 25px}form label{font:9px var(--mono);display:block;margin-top:25px;color:#aaa}form input,form select,form textarea{display:block;width:100%;font:14px Arial;color:var(--paper);background:#131313;border:0;border-bottom:1px solid #555;padding:14px 0;border-radius:0;color-scheme:dark}form input::placeholder,form textarea::placeholder{color:#777}.event-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.event-options button{border:1px solid #555;font:9px var(--mono);padding:15px}.event-options .chosen{border-color:var(--red);color:var(--red)}.form-actions{display:flex;gap:10px;justify-content:space-between}.form-disclaimer{font:8px var(--mono);color:#666;margin-top:30px}.summary-row{display:flex;justify-content:space-between;gap:20px;padding:16px 0;border-bottom:1px solid #444;font:11px/1.7 var(--mono);overflow-wrap:anywhere}.summary-row span:first-child{color:#888;flex-shrink:0}.summary-row span:last-child{text-align:right}.intro{position:fixed;inset:0;z-index:100;background:#101010;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:25px;color:var(--red);pointer-events:none;animation:introOut .7s 1.2s forwards}.intro>span{font:9px var(--mono)}.intro strong{font:900 12vw/.85 var(--display);text-align:center}.intro-line{height:1px;width:150px;background:#444;position:relative;overflow:hidden}.intro-line:after{content:'';position:absolute;inset:0;background:var(--red);transform:translateX(-100%);animation:load 1.2s forwards}@keyframes introOut{to{opacity:0;visibility:hidden;transform:translateY(-20px)}}@keyframes load{to{transform:translateX(0)}}@keyframes breathe{to{transform:scale(1.08)}}@keyframes appear{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1600px){.header{font-size:13px}.manifesto{font-size:12px}.gallery-stage{height:57svh}.wordmark{font-size:19vw}}
@media(max-width:1000px){.header{gap:3%;font-size:9px}.manifesto{font-size:8px}.nav-right{gap:20px}.volume-label{display:none}.player{gap:15px}.track-name{min-width:130px}.player-book{font-size:8px}.slide{left:15%;width:70%}.stage-statement h1{font-size:8vw}.stage-statement{top:24%}.collection.grid{gap:20px}.card-info>span{font-size:7px}.card-info h2{font-size:24px}.about-grid{gap:30px}}
@media(max-width:700px){.header{height:125px;margin:0 5%;padding-top:23px;align-items:start;gap:20px;flex-wrap:wrap}.logo{font-size:30px}.manifesto{font-size:8px;margin-top:1px}.views{position:absolute;bottom:13px;left:0;font-size:10px;gap:18px}.views button{padding-bottom:15px}.views .active:after{bottom:0;border-width:0 4px 7px}.nav-right{margin-left:auto;gap:15px;font-size:9px;margin-top:4px}.nav-right button:first-child{display:none}nav{position:absolute;right:0;bottom:24px;flex-direction:row;gap:15px;font-size:8px}nav button.selected:before{content:'';margin:0}nav button.selected{color:var(--red)}.small-note{margin:0 5% 14px;font-size:7px}.small-note>span:last-child{display:none}.gallery-stage{height:56svh;min-height:430px;max-height:650px}.slide{left:9%;width:82%;transform:translateX(calc(var(--position)*110%)) scale(.78)}.slide img{object-position:center}.stage-statement{left:7%;top:28%}.stage-statement p{font-size:8px;margin-bottom:15px}.stage-statement h1{font-size:14vw;max-width:90vw;line-height:.94;margin-bottom:20px}.scene-action{font-size:8px}.scene-action span{margin-left:15px}.stage-top{left:5%;right:5%;font-size:7px}.stage-top button{font-size:7px}.stage-top span{font-size:6px}.coordinates{display:none}.scene-caption{left:7%;right:7%;bottom:26px}.scene-caption h2{font-size:25px}.scene-caption p{font-size:6px}.scene-caption span{font-size:8px}.arrows button{width:36px;height:36px}.slide-dots{bottom:0;gap:4px}.slide-dots button{width:20px;height:20px}.identity{margin:8px 5% 0}.wordmark{font-size:18.5vw;line-height:1;padding-top:12px}.wordmark span{font-size:7px;padding-top:10px;margin-left:1px}.identity-note{font-size:5px;top:0}.identity-bottom{font-size:6px;padding-top:5px;padding-bottom:20px}.identity-bottom>span:nth-child(2){display:none}.identity-bottom button{font-size:6px}.player{height:78px;padding:0 5%;gap:12px;flex-wrap:nowrap}.play{width:34px;height:34px}.track-name{min-width:110px}.track-name strong{font-size:9px}.track-name>span{font-size:6px;max-width:120px}.timeline{height:28px;max-width:120px}#time{display:none}#mute{font-size:7px}.player-book{display:none}#experience{padding-bottom:78px}.collection{padding:10px 5% 20px}.collection.grid{grid-template-columns:repeat(2,1fr);gap:20px 12px;min-height:56svh}.collection-card .card-media{aspect-ratio:.85}.card-info{display:block;padding:10px 0}.card-info h2{font-size:26px}.card-info>span{display:block;font-size:6px;margin-top:5px}.card-media>span{font-size:7px;left:9px;top:9px;padding:4px}.list .collection-card{gap:20px;padding:15px 0}.list .card-media{width:85px}.list .card-info{display:flex}.list .card-info h2{font-size:29px}.list .card-info>span{font-size:6px;text-align:right;max-width:60px}.detail{grid-template-columns:1fr;width:94%}.detail-image{min-height:260px}.detail-image span{font-size:75px;left:25px;bottom:20px}.detail-content{padding:35px 25px}.detail-content h2{font-size:60px}.close{top:15px;right:15px;font-size:9px}.panel{padding:55px 25px 35px;width:94%}.panel h2{font-size:52px;margin-bottom:30px}.about-grid{grid-template-columns:1fr;gap:30px}.about-photo{min-height:350px}.about-grid .big-copy{font-size:23px}.booking-panel{grid-template-columns:1fr;gap:5px}.booking-intro h2{font-size:55px;margin-bottom:15px}.booking-intro>p{font-size:13px}.booking-steps{flex-direction:row;gap:15px;font-size:6px;margin-top:25px}.form-step{padding-top:10px}form{padding-top:15px}form h3{font-size:30px}.red-button,.outline-button{padding:17px;font-size:9px}.intro strong{font-size:20vw}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.intro{display:none}.slide.is-active img{transform:none}}

dialog:not([open]){display:none}

/* DJ Alisa identity: pink, black, cyan and violet from supplied photographs. */
body{background:#100b14}.header .logo{color:#ff5ec9}.header .logo span{color:#48eeff}.wordmark{font-size:24vw;letter-spacing:.02em;text-shadow:0 0 25px #ff5ec930,0 0 70px #d8267e15}.identity{background:radial-gradient(ellipse at 50% 80%,#60134028,transparent 70%)}.stage-statement h1{font-size:clamp(45px,5.5vw,85px)}.gallery-stage{background:radial-gradient(ellipse at center,#21132d,#100b14 80%)}.stage-gradient{background:linear-gradient(0deg,#100b14,transparent 25%),linear-gradient(90deg,#100b1444,transparent 35%)}.slide.is-active{filter:saturate(1.05)}.slide.is-active img[src^="alisa-neon.svg"]{object-position:62% center;animation:none}.slide.is-active img[src="alisa-portrait.svg"]{object-position:center 30%;animation:none}.slide.is-active:after{background:linear-gradient(90deg,#100b1422,transparent 70%)}.scene-action{color:#fff;filter:drop-shadow(0 1px 3px #000)}.scene-action span{color:#48eeff}.scene-caption span,.eyebrow{color:#ff70d0}.player{background:#120c19;border-color:#48243e}.play.is-playing{box-shadow:0 0 20px #ff5ec94a}.intro{background:#100b14}.waveform i.past{background:#48eeff}.about-photo img{filter:saturate(1);object-position:center 25%}.detail-image img{filter:saturate(1);object-position:60% center}.card-media img{filter:saturate(.9)}.coordinates{color:#73e6ff}.arrows button:hover{box-shadow:0 0 20px #ff5ec94a}.logo span{color:#48eeff}.panel,.detail{background:#130d1a}form input,form select,form textarea{background:#130d1a}.identity-bottom{color:#bfa8bd}.scene-caption p{color:#c4a6bc}.identity-note{color:#bfa8bd}.slide.is-active img[src="alisa-portrait.svg"]{object-fit:contain;background:#190f1d}.wordmark span{font-size:12px}.stage-statement{top:20%;left:5%}
@media(max-width:700px){.wordmark{font-size:23vw;letter-spacing:0}.stage-statement h1{font-size:13vw}.stage-statement{top:13%;left:6%}.gallery-stage{height:59svh;min-height:440px}.slide{left:5%;width:90%}.slide.is-active img[src^="alisa-neon.svg"]{object-position:65% center}.scene-caption{bottom:28px}.scene-caption h2{font-size:26px}.wordmark span{font-size:8px}.identity-note{font-size:5px}}


@keyframes signPulse{0%,100%{opacity:.4}45%{opacity:1}65%{opacity:.6}85%{opacity:1}}

/* DJ console entrance */
body.in-entrance{overflow:hidden}.console-intro{pointer-events:auto;animation:none;background:radial-gradient(ellipse at 50% 55%,#231126 0,#0b0910 65%);gap:0;color:#f0e5ef;padding:30px 5%;overflow:auto;transition:opacity .45s,transform .45s;justify-content:center}.console-intro.leaving{opacity:0;transform:scale(1.035);pointer-events:none}.boot-top,.boot-bottom{position:absolute;left:5%;right:5%;display:flex;justify-content:space-between;font:8px var(--mono);color:#9b839d}.boot-top{top:30px}.boot-top button{font:8px var(--mono);padding:0}.boot-bottom{bottom:25px}.boot-title{text-align:center;margin-bottom:30px}.boot-title>span{font:9px var(--mono);letter-spacing:2px;color:#777}.standby-light{display:inline-block;width:5px;height:5px;background:#555;border-radius:50%;margin-right:8px}.boot-title h2{font:900 clamp(32px,4vw,60px) var(--display);margin:13px 0 0;color:#e7d7e4;letter-spacing:.02em}.dj-console{width:min(950px,90vw);display:grid;grid-template-columns:1fr .55fr 1fr;padding:22px;border:1px solid #403643;border-radius:15px;background:linear-gradient(135deg,#25232c,#111017 60%,#27212d);box-shadow:0 25px 55px #000c,inset 0 1px 1px #fff2;gap:20px;transform:perspective(1000px) rotateX(9deg);position:relative}.dj-console:after{content:'';position:absolute;inset:0;border-radius:15px;pointer-events:none;box-shadow:inset 0 0 70px #0004}.deck{padding:5px 15px;min-width:0}.deck-display{border:1px solid #37353d;background:#08080d;padding:12px;min-height:95px;border-radius:4px;box-shadow:inset 0 0 25px #000;color:#242331;transition:color 1s,border-color 1s,box-shadow 1s}.deck-display>span{font:8px var(--mono)}.deck-display small{font:6px var(--mono);letter-spacing:1px}.display-wave{height:32px;display:flex;gap:3px;align-items:center;margin:8px 0}.display-wave i{height:var(--h);width:3px;background:currentColor}.jog{position:relative;aspect-ratio:1;margin:18px 5px;border-radius:50%;padding:14px;background:linear-gradient(135deg,#45414d,#16141c 50%,#393540);box-shadow:0 8px 12px #0009,inset 0 1px 2px #fff4}.jog-disc{width:100%;height:100%;border-radius:50%;background:repeating-radial-gradient(#18161c 0 3px,#28252e 4px,#16141b 5px);display:grid;place-items:center;border:1px solid #555}.jog-label{width:43%;height:43%;border-radius:50%;display:grid;place-content:center;font:900 44px var(--display);color:#4c424e;background:#211826;border:1px solid #4a3d51;transition:color .7s,box-shadow .7s}.jog-label span{position:absolute;display:none}.jog-light{position:absolute;inset:4px;border-radius:50%;border:2px solid #302634;transition:border-color 1s,box-shadow 1s}.deck-pads{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin:12px 0}.deck-pads i{height:17px;background:#2e2732;border:1px solid #554356;border-radius:2px;transition:background 1s,box-shadow 1s}.transport{display:flex;align-items:center;gap:12px;margin-top:15px}.cue-button,.console-play{font:7px var(--mono);width:28px;height:28px;border-radius:50%;border:1px solid #504254;display:grid;place-items:center;color:#5f5361;transition:color 1s,border-color 1s,box-shadow 1s}.pitch{height:4px;background:#08070b;flex:1;border:1px solid #423b49}.pitch i{display:block;background:#514957;height:8px;width:14px;margin-top:-3px;margin-left:35%}.mixer{border-inline:1px solid #48404b;padding:12px;position:relative}.mixer-name{text-align:center;font:900 22px var(--display);color:#5d4e63}.mixer-name span{font:5px var(--mono);letter-spacing:1px}.knobs{display:grid;grid-template-columns:repeat(3,1fr);gap:14px 9px;margin:22px 0}.knobs i{width:20px;height:20px;border-radius:50%;background:linear-gradient(135deg,#4a444f,#17141c);box-shadow:0 3px 5px #000;position:relative;margin:auto}.knobs i:after{content:'';position:absolute;width:2px;height:6px;background:#8a768c;left:9px;top:2px}.faders{height:70px;display:flex;justify-content:space-around;margin-top:20px}.faders>div{height:100%;width:3px;background:#08060c;position:relative}.faders i{position:absolute;width:15px;height:10px;background:linear-gradient(#807183,#29232e);left:-6px;top:35px}.meters{display:flex;gap:8px;justify-content:center;margin:18px 0 10px}.meters>span{display:flex;flex-direction:column-reverse;gap:3px}.meters i{display:block;width:10px;height:3px;background:#292732}.crossfader{height:6px;background:#08070c;position:relative;margin:15px 4px}.crossfader i{position:absolute;width:18px;height:10px;background:linear-gradient(#75687b,#28222e);top:-2px;left:40%}.boot-controls{margin-top:35px;text-align:center}.power-main{padding:18px 30px;background:#ff5ec9;color:#180e18;border-radius:40px;font:10px var(--mono);display:flex;gap:18px;align-items:center;margin:auto;box-shadow:0 0 35px #ff5ec927}.power-main>span{font:24px Arial}.power-main:hover{background:#5ceeff;color:#111}.power-silent{display:block;margin:17px auto 0;font:8px var(--mono);color:#9d839c}.boot-controls p{font:7px var(--mono);letter-spacing:2px;color:#725f78;margin-top:20px}.booting .standby-light{background:#ff5ec9;box-shadow:0 0 12px #ff5ec9}.booting .deck-display{color:#5aeeff;border-color:#345a64;box-shadow:inset 0 0 25px #21d7ed18}.booting .deck-pads i{background:#ce3690;box-shadow:0 0 10px #ff5ec965;border-color:#ff80d3}.booting .deck-pads i:nth-child(3n){background:#24a9b5;box-shadow:0 0 10px #48eeff55;border-color:#80f2ff}.booting .jog-light{border-color:#a649bb;box-shadow:0 0 15px #c853e98a}.booting .mixer-name{color:#d383c1}.signal .jog-light{border-color:#5af2ff;box-shadow:0 0 23px #4beeff80,inset 0 0 15px #4beeff36}.signal .jog-disc{animation:consoleSpin 6s linear infinite}.signal .jog-label{color:#ffa1df;box-shadow:0 0 30px #fe68cf20}.signal .display-wave i{animation:consoleWave .65s var(--d) ease-in-out infinite alternate}.signal .meters i{background:#5df1d6;box-shadow:0 0 5px #4debd3;animation:consoleMeter .8s calc(var(--n)*.08s) infinite alternate}.signal .meters i:nth-child(n+8){background:#ff67ba}.ready .console-play{border-color:#4fffc1;color:#75ffe0;box-shadow:0 0 14px #4fffc145}.ready .cue-button{color:#ff83df;border-color:#ff5ec9}.ready .boot-title>span{color:#5befff}.ready .standby-light{background:#5befff;box-shadow:0 0 15px #5befff}.booting .power-main{opacity:.5;cursor:default}.booting .power-silent{visibility:hidden}@keyframes consoleSpin{to{transform:rotate(360deg)}}@keyframes consoleWave{to{transform:scaleY(.25)}}@keyframes consoleMeter{to{opacity:.25}}
@media(max-width:700px){.console-intro{padding:20px 4%}.boot-top{top:22px;font-size:7px;left:5%;right:5%}.boot-top button{font-size:7px}.boot-title{margin-bottom:25px}.boot-title h2{font-size:35px}.boot-title>span{font-size:7px}.dj-console{width:94vw;gap:8px;padding:12px;border-radius:10px}.deck{padding:0 3px}.deck-display{padding:7px;min-height:65px}.deck-display>span{font-size:5px}.deck-display small{font-size:4px;letter-spacing:0}.display-wave{height:22px;gap:2px;margin:5px 0}.display-wave i{width:2px;max-height:22px}.jog{padding:8px;margin:15px 0}.jog-label{font-size:27px}.deck-pads{gap:3px;margin:8px 0}.deck-pads i{height:11px}.transport{gap:6px;margin-top:10px}.cue-button,.console-play{width:20px;height:20px;font-size:5px}.mixer{padding:5px}.mixer-name{font-size:18px}.mixer-name span{font-size:4px;letter-spacing:0}.knobs{gap:8px 3px;margin:15px 0}.knobs i{width:13px;height:13px}.knobs i:after{left:6px;height:4px;top:1px;width:1px}.faders{height:40px;margin-top:12px}.faders i{width:11px;left:-4px;top:17px;height:8px}.meters{margin-top:13px;gap:5px}.meters i{width:7px;height:2px}.crossfader{margin:10px 0}.boot-controls{margin-top:30px}.power-main{font-size:9px;padding:15px 24px}.boot-controls p{font-size:6px;letter-spacing:1px}.boot-bottom{font-size:6px;bottom:20px}.boot-top,.boot-bottom{position:fixed}}
@media(prefers-reduced-motion:reduce){.console-intro{display:flex}.console-intro *{animation:none!important}.console-intro.leaving{display:none}}

/* Immersive techno portal */
.techno-intro{display:flex;pointer-events:auto;animation:none;justify-content:center;padding:30px 5%;background:#06050b;color:#f3e9f3;overflow:hidden;transition:opacity .65s,filter .65s,transform .65s}.techno-intro.leaving{opacity:0;filter:blur(0);transform:scale(1.06);pointer-events:none}#frequency-field{position:absolute;inset:0;width:100%;height:100%;z-index:0}.techno-vignette{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 45%,transparent 10%,#06050b30 55%,#06050b 100%);pointer-events:none;z-index:1}.techno-intro .boot-top,.techno-intro .boot-bottom{z-index:4;color:#bca2ba}.frequency-label{position:absolute;top:19%;font:8px var(--mono);letter-spacing:2px;z-index:3;color:#69d7e5}.frequency-dot{display:inline-block;width:4px;height:4px;background:#53eeff;margin-right:9px;border-radius:50%;box-shadow:0 0 12px #53eeff}.frequency-brand{position:relative;z-index:3;text-align:center;margin-top:-70px;transition:filter 1s,transform 2s}.frequency-brand>span{font:9px var(--mono);letter-spacing:14px;margin-left:14px;color:#cb9bca}.frequency-brand h2{font:900 clamp(85px,14vw,190px)/.95 var(--display);margin:15px 0 20px;letter-spacing:.1em;padding-left:.1em;color:#f2e5f0;text-shadow:0 0 35px #ff5ec913}.frequency-brand p{font:7px var(--mono);letter-spacing:4px;color:#947c9c}.techno-controls{position:absolute;bottom:15%;z-index:4;text-align:center}.frequency-enter{font:9px var(--mono);letter-spacing:2px;padding:20px 28px;border:1px solid #9d5d9266;border-radius:2px;background:#150c1d88;backdrop-filter:blur(10px);color:#ffe4f7;box-shadow:0 0 35px #ff5ec913;min-width:280px}.frequency-enter span{margin-left:25px;color:#5bebff;font-size:16px}.frequency-enter:hover{border-color:#57ebff;color:#fff;box-shadow:0 0 40px #57ebff25}.techno-controls .power-silent{font-size:7px;letter-spacing:1px;margin-top:18px;color:#aa8fac}.techno-controls>p{font:6px var(--mono);color:#6f607b;letter-spacing:2px;margin-top:25px}.frequency-active .frequency-enter{opacity:.4;cursor:default}.frequency-active .power-silent{visibility:hidden}.frequency-active .frequency-brand{transform:scale(1.03)}.frequency-build .frequency-brand h2{text-shadow:0 0 40px #ff5ec933,0 0 90px #58eaff16;transition:text-shadow 1s}.frequency-connected .frequency-brand{transform:scale(1.08)}.frequency-connected .frequency-label{color:#ffa1df}.frequency-connected .frequency-dot{background:#ff5ec9;box-shadow:0 0 12px #ff5ec9}
@media(max-width:700px){.frequency-label{top:20%;font-size:6px;letter-spacing:1px}.frequency-brand{margin-top:-60px}.frequency-brand h2{font-size:25vw}.frequency-brand>span{font-size:8px}.frequency-brand p{font-size:6px;letter-spacing:2px}.techno-controls{bottom:17%}.frequency-enter{min-width:260px;font-size:8px;padding:19px 22px}.techno-controls>p{font-size:5px;letter-spacing:1px}.techno-intro .boot-top{font-size:6px}.techno-intro .boot-top button{font-size:6px}}
@media(prefers-reduced-motion:reduce){.techno-intro{display:flex}.techno-intro.leaving{display:none}}

/* Forward pull into the website, centered on the frequency tunnel. */
.techno-intro{transform-origin:50% 45%}.techno-intro.pulling{animation:frequencyPull 1.65s cubic-bezier(.45,0,.75,.6) forwards}.pulling .techno-controls,.pulling .boot-top,.pulling .boot-bottom,.pulling .frequency-label{opacity:0;transition:opacity .55s}.pulling .frequency-brand{transition:none}.site-arriving #experience{animation:siteArrival 1.1s cubic-bezier(.16,.7,.25,1) both;transform-origin:50% 28%}.site-arriving .header{animation:headerArrival .8s .15s both}
@keyframes frequencyPull{0%{transform:scale(1);opacity:1;filter:blur(0)}45%{transform:scale(1.55);opacity:1;filter:blur(0)}72%{transform:scale(3.1);opacity:.95;filter:blur(0)}100%{transform:scale(8);opacity:0;filter:blur(0)}}
@keyframes siteArrival{from{transform:scale(.92);opacity:.5;filter:blur(3px)}to{transform:scale(1);opacity:1;filter:blur(0)}}
@keyframes headerArrival{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.techno-intro.pulling{animation:none}.site-arriving #experience,.site-arriving .header{animation:none}}

/* Keep the opening legible while the frequency tunnel expands. */
.frequency-brand h2{color:#fff4fc;text-shadow:0 0 24px #ff5ec940}
.frequency-brand>span{font-size:14px;color:#ff9ddd;letter-spacing:10px}
.frequency-brand p{font-size:11px;color:#e8cce5;letter-spacing:3px}
.frequency-label{font-size:11px;color:#98f4ff;letter-spacing:1.5px}
.techno-controls>p{font-size:10px;color:#d8bad6;letter-spacing:1.5px}
.techno-intro .boot-top,.techno-intro .boot-bottom{color:#dbc6dc}
.techno-vignette{background:radial-gradient(ellipse at 50% 45%,transparent 18%,#06050b10 65%,#06050b99 100%)}
.frequency-brand{background:radial-gradient(ellipse,#06050bd9 5%,#06050b99 45%,transparent 72%);padding:30px 45px}
@media(max-width:700px){.frequency-label{font-size:9px;letter-spacing:1px}.frequency-brand>span{font-size:12px}.frequency-brand p{font-size:9px;letter-spacing:1.5px}.techno-controls>p{font-size:9px;letter-spacing:1px}.frequency-brand{padding:25px 18px}}

.frequency-active .frequency-brand h2{animation:bassTitle 1.9s ease-in-out infinite}
@keyframes bassTitle{0%{transform:scale(1.025);text-shadow:0 0 25px #ff5ec970,0 0 65px #5defff35}70%,100%{transform:scale(1);text-shadow:0 0 20px #ff5ec930}}
@media(prefers-reduced-motion:reduce){.frequency-active .frequency-brand h2{animation:none}}

/* A quiet bass swell continues through the page without moving photography. */
body:before{content:'';position:fixed;inset:0;z-index:4;pointer-events:none;background:radial-gradient(ellipse at 0% 65%,#ff5ec919,transparent 50%),radial-gradient(ellipse at 100% 35%,#5defff14,transparent 50%);opacity:.2;animation:ambientBass 3.8s ease-in-out infinite}
.in-entrance:before{display:none}
.logo,.booking-link{animation:brandBass 3.8s ease-in-out infinite}
.player{animation:playerBass 3.8s ease-in-out infinite}
@keyframes ambientBass{0%,100%{opacity:.15}45%{opacity:.9}65%{opacity:.5}}
@keyframes brandBass{0%,100%{text-shadow:0 0 3px #ff5ec900}45%{text-shadow:0 0 16px #ff5ec970,0 0 28px #ff5ec930}}
@keyframes playerBass{0%,100%{box-shadow:0 -1px 0 #ff5ec920}45%{box-shadow:0 -1px 0 #ff5ec980,0 -8px 28px #ff5ec913}}
@media(prefers-reduced-motion:reduce){body:before,.logo,.booking-link,.player{animation:none}}

.archive-heading{grid-column:1/-1;padding:10px 0 25px;border-bottom:1px solid #ff5ec940}.archive-heading>span{font:9px var(--mono);letter-spacing:2px;color:#73dfec}.archive-heading h1{font:900 clamp(36px,5vw,76px)/1 var(--display);margin:14px 0}.archive-heading p{font:11px/1.6 var(--mono);color:#b9a5b8}.undated-heading{padding-top:30px}.undated-heading h2{font:900 32px var(--display);margin:0}.event-card .card-media{aspect-ratio:3/4;background:#19131f}.event-card img{object-fit:contain;filter:none}.event-card:hover img{transform:none}.event-card .card-media>span{background:#100b14ed;color:#ffaae0;padding:8px;font:10px var(--mono)}.event-card .card-info h2{font-size:25px}.event-detail .detail-image img{object-fit:contain;background:#100b14}.event-grid .small-note{display:none}#event-links{display:flex;flex-wrap:wrap;gap:12px;margin:20px 0}#event-links:empty{display:none}#event-links a{display:inline-block;font:10px var(--mono);padding:14px;border:1px solid #ff5ec950}@media(max-width:700px){.archive-heading>span{font-size:8px;letter-spacing:1px}.event-card .card-info h2{font-size:22px}.event-card .card-media>span{font-size:8px}.archive-heading p{font-size:10px}}

.event-card .card-info{display:block;padding:17px 0 20px;border-bottom:1px solid #ff5ec930}.event-date{display:block;font:11px var(--mono);color:#7be8f2;letter-spacing:1px;margin-bottom:12px}.event-card .card-info h2{margin:0 0 10px}.event-card .card-info>span{display:block;font:10px var(--mono);color:#bca9ba}.photo-card .card-media{aspect-ratio:4/3;background:#07060b}.photo-card img{object-fit:contain;filter:contrast(1.08) saturate(1.08) brightness(.97)}.photo-card .card-media:after{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 50% 40%,transparent 45%,#08051055 100%)}.event-card .card-media{box-shadow:0 12px 35px #0004;border:1px solid #ff5ec918}.event-card .card-media>span{z-index:2;letter-spacing:1px}.video-card .card-media>span{background:#ff5ec9;color:#100b14}.event-detail .detail-image img[src*='photo.jpg']{filter:contrast(1.08) saturate(1.08)}@media(max-width:700px){.event-date{font-size:10px;letter-spacing:0}.event-card .card-info{padding-top:12px}.event-card .card-info h2{font-size:24px}}

.frequency-brand h2{color:#fff0fa;text-shadow:0 0 18px #ff5ec975,0 0 48px #ff5ec940,0 0 80px #5defff25}

.wordmark{font-size:clamp(72px,18vw,310px);text-shadow:0 0 14px #ff5ec950,0 0 42px #ff5ec935}.artist-name{text-shadow:0 0 14px #ff5ec975,0 0 35px #ff5ec930}

.official-mode .timeline,.official-mode #time,.official-mode #mute,.official-mode .volume-label{display:none}.official-mode .track-name{flex:1}.official-mode .track-name strong{font-size:13px}#official-music{position:fixed;right:24px;bottom:100px;width:min(390px,calc(100vw - 32px));z-index:30;background:#140e1b;border:1px solid #ff5ec960;box-shadow:0 15px 70px #0009;padding:16px}.music-dock-top{display:flex;justify-content:space-between;font:10px var(--mono);color:#ff8fd8;margin-bottom:14px}.music-dock-top button{font:10px var(--mono)}#official-track{width:100%;background:#201429;border:1px solid #664159;color:#fff;padding:12px;margin-bottom:14px;font-size:12px}#official-frame iframe{width:100%;aspect-ratio:16/9;border:0;display:block}#official-music p{font:9px/1.6 var(--mono);color:#af98aa;margin:12px 0 0}@media(max-width:700px){#official-music{right:16px;bottom:90px}.official-mode .track-name strong{font-size:11px}}

#song-search{width:100%;padding:12px;background:#211628;color:#fff;border:1px solid #705268;margin:12px 0}#official-track{min-height:120px}#song-search-status:empty{display:none}

#sound-enable{color:#ff69ca;border:1px solid #ff69ca;padding:10px 12px;font:inherit;white-space:nowrap;background:#1d1022}#sound-enable[hidden]{display:none}@media(max-width:600px){#sound-enable{font-size:10px;padding:8px}.official-mode .track-name{min-width:0}}

.language-switch{position:fixed;top:12px;right:22px;z-index:1000;display:flex;gap:8px;align-items:center;background:#160e1ded;border:1px solid #624354;padding:6px 10px;font:12px Arial,sans-serif;color:#cab8c6}.language-switch button{font:inherit;color:#d8c8d5;background:none;border:0;padding:4px;cursor:pointer}.language-switch button[aria-pressed=true]{color:#ff69ca;text-shadow:0 0 12px #ff69ca}.header{padding-top:58px!important}html[lang=vi] h1,html[lang=vi] h2,html[lang=vi] h3,html[lang=vi] .scene-heading,html[lang=vi] .scene-title{font-family:Arial,sans-serif;font-weight:900;letter-spacing:-.035em}html[lang=vi] .scene-heading{font-size:clamp(30px,4.2vw,68px)}html[lang=vi] .collection-card h2{font-size:clamp(22px,2.5vw,38px)}@media(max-width:600px){.language-switch{top:8px;right:12px;font-size:11px}html[lang=vi] .scene-heading{font-size:clamp(27px,6.7vw,40px)}}

.logo{display:flex;align-items:center;gap:9px;letter-spacing:0}.logo img{width:49px;height:39px;object-fit:contain;filter:drop-shadow(0 0 8px #ff00994d)}.logo .logo-wordmark{font:700 14px Arial,sans-serif;letter-spacing:2px;color:#ff54bc;white-space:nowrap;margin:0}.entrance-monogram{display:block;width:clamp(100px,13vw,175px);height:auto;margin:0 auto 14px;filter:drop-shadow(0 0 16px #ff009957) drop-shadow(0 0 24px #00e6f22e)}.frequency-brand h2{font-size:clamp(60px,9vw,140px);margin:8px 0 14px}@media(max-width:600px){.logo img{width:34px;height:30px}.logo .logo-wordmark{font-size:11px;letter-spacing:1px}.entrance-monogram{width:100px}.frequency-brand h2{font-size:18vw}.frequency-brand{padding:16px 18px}}
.language-switch{position:fixed!important;top:8px!important;right:12px!important;bottom:auto!important;left:auto!important;width:auto!important;height:auto!important;min-height:0!important;padding:8px 12px!important;display:flex!important;gap:8px;align-items:center;flex-direction:row!important;background:#111019e8!important;border:1px solid #ffffff24;z-index:10001}.language-switch button{font-size:11px!important}.nav-right>a{white-space:nowrap}
.gallery-stage:before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(ellipse at 15% 25%,#f64cce25,transparent 55%),radial-gradient(ellipse at 85% 70%,#55dbfa20,transparent 50%);mix-blend-mode:screen;animation:alissa-light-drift 12s ease-in-out infinite alternate}.gallery-stage .slides img{animation:alissa-scene-drift 22s ease-in-out infinite alternate;transform-origin:center;will-change:transform}.scene-action,.red-button,.outline-button,.views button{transition:transform .25s ease,background .25s ease,box-shadow .25s ease}.scene-action:hover,.red-button:hover{transform:translateY(-3px);box-shadow:0 8px 28px #ff52c92b}.slide-dots button[aria-pressed="true"]{box-shadow:0 0 15px #ff69ca}.collection article{transition:transform .3s ease}.collection article:hover{transform:translateY(-5px)}@keyframes alissa-light-drift{from{opacity:.5;transform:translateX(-2%)}to{opacity:1;transform:translateX(2%)}}@keyframes alissa-scene-drift{from{transform:scale(1)}to{transform:scale(1.035)}}@media(prefers-reduced-motion:reduce){.gallery-stage:before,.gallery-stage .slides img{animation:none!important;will-change:auto}.scene-action,.red-button,.outline-button,.views button,.collection article{transition:none!important}}
.full-song-link{color:#ff8ad5;white-space:nowrap;font:10px var(--mono);border:1px solid #ff8ad560;padding:10px;text-decoration:none}.full-song-link:hover{background:#ff8ad520}@media(max-width:600px){.full-song-link{font-size:9px;padding:8px}.player .track-name{min-width:0}}
:root{--display:"DM Sans","Avenir Next",Arial,sans-serif;--mono:"DM Sans","Avenir Next",Arial,sans-serif}body{font-family:var(--display);font-weight:400}.stage-statement h1,.frequency-brand h2,.wordmark,.panel h2,.detail-content h2,.scene-caption h2,.collection h2,html[lang=vi] h1,html[lang=vi] h2,html[lang=vi] h3{font-family:var(--display)!important;font-weight:400!important;letter-spacing:-.045em!important}.stage-statement h1{font-size:clamp(40px,6vw,88px)!important;line-height:1.02!important}.frequency-brand h2{font-weight:300!important;letter-spacing:-.06em!important}.wordmark{font-weight:300!important}.header,.small-note,.stage-statement p,.scene-action,.scene-caption p,.player,.eyebrow,.boot-top,.boot-bottom,.frequency-label{font-family:var(--display)!important;font-weight:400;letter-spacing:.07em}.logo .logo-wordmark{font-family:var(--display);font-weight:500;letter-spacing:1.3px}.panel p,.detail-description{font-weight:400;line-height:1.65}.red-button,.outline-button{font-weight:500;letter-spacing:.06em}@media(max-width:600px){.stage-statement h1{font-size:clamp(34px,8.5vw,48px)!important}.scene-caption h2{font-size:26px!important}.frequency-brand h2{font-size:18vw!important}}
