:root{--midnight:#171133;--deep:#2C205D;--magenta:#D92E72;--orange:#FF8A1F;--gold:#F8B13D;--cream:#F8E4B5;--lavender:#A48BFF;--white:#fff}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;font-family:Poppins,system-ui,sans-serif;color:white;background:radial-gradient(circle at 50% 18%,rgba(255,138,31,.24),transparent 32rem),radial-gradient(circle at 18% 22%,rgba(217,46,114,.28),transparent 28rem),linear-gradient(180deg,#100727 0%,#25105a 46%,#070411 100%);min-height:100vh}
a{color:inherit} .wrap{width:min(1120px,calc(100% - 32px));margin:0 auto}
.nav{position:sticky;top:0;z-index:5;backdrop-filter:blur(16px);background:rgba(8,4,18,.78);border-bottom:1px solid rgba(248,177,61,.22)} .nav-inner{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 0} .brand-mini{font-weight:800;letter-spacing:.06em;color:var(--gold);text-transform:uppercase;font-size:.78rem;line-height:1.25} .nav-links{display:flex;flex-wrap:wrap;gap:14px;justify-content:flex-end;font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em} .nav-links a{text-decoration:none;opacity:.9} .nav-links a:hover{color:var(--gold)}
header{padding:44px 0 24px;text-align:center} .kicker{color:var(--gold);font-weight:800;letter-spacing:.09em;text-transform:uppercase;font-size:clamp(.8rem,2vw,1.2rem)} h1{margin:10px 0 6px;font-size:clamp(2rem,8vw,5.8rem);line-height:.88;text-transform:uppercase;letter-spacing:.02em;text-shadow:0 8px 0 rgba(20,10,55,.86)} .subhead{color:var(--gold);font-weight:800;text-transform:uppercase;letter-spacing:.14em;font-size:clamp(1rem,3vw,2.1rem)} .badges{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:18px} .badge{font-family:"Press Start 2P",monospace;font-size:clamp(.55rem,1.2vw,.78rem);border:2px solid var(--magenta);border-radius:999px;padding:10px 13px;background:rgba(23,17,51,.82)}
.hero{display:grid;grid-template-columns:minmax(300px,440px) 1fr;gap:36px;align-items:center;padding:18px 0 40px} .poster-card{border:2px solid rgba(255,138,31,.62);border-radius:20px;overflow:hidden;background:rgba(8,4,18,.62);box-shadow:0 24px 70px rgba(0,0,0,.42)} .poster-card img{display:block;width:100%;height:auto} .poster-credit{margin:10px 0 0;text-align:center;font-size:.82rem;color:rgba(255,255,255,.55)} .poster-credit a{color:var(--gold);text-decoration:none;border-bottom:1px solid transparent} .poster-credit a:hover{border-color:var(--orange)}
.intro-card{border:2px solid rgba(217,46,114,.52);border-radius:28px;padding:clamp(22px,4vw,40px);background:linear-gradient(135deg,rgba(44,32,93,.9),rgba(23,17,51,.76));box-shadow:0 24px 70px rgba(0,0,0,.32)} .eyebrow{font-family:"Press Start 2P",monospace;color:var(--gold);font-size:.72rem;line-height:1.6;margin-bottom:16px} .intro-card h2,section h2{margin:0 0 18px;color:var(--gold);text-transform:uppercase;letter-spacing:.04em;font-size:clamp(2rem,5vw,3.8rem);line-height:.95} .intro-card p{margin:0 0 20px;font-size:clamp(1rem,2vw,1.15rem);line-height:1.65;color:rgba(255,255,255,.9)} .cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px} .button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 18px;border-radius:999px;text-decoration:none;font-weight:800;text-transform:uppercase;letter-spacing:.05em;background:linear-gradient(90deg,var(--magenta),var(--orange));color:white} .button.secondary{background:transparent;border:2px solid var(--orange);color:var(--cream)}
section{padding:48px 0} .section-head{text-align:center;max-width:760px;margin:0 auto 30px} .section-head p{margin:0;color:rgba(255,255,255,.78);line-height:1.6} .video-frame{position:relative;width:100%;max-width:860px;margin:0 auto;aspect-ratio:16/9;border-radius:16px;overflow:hidden;border:1px solid rgba(255,138,31,.35)} .video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0} .lineup-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px} .lineup-poster-link{display:block;max-width:340px;margin:0 auto 30px;border-radius:16px;overflow:hidden;border:2px solid rgba(255,138,31,.5);box-shadow:0 18px 50px rgba(0,0,0,.38)} .lineup-poster-link img{display:block;width:100%;height:auto;transition:transform .25s} .lineup-poster-link:hover img{transform:scale(1.03)} .stage{border:2px solid rgba(255,138,31,.5);border-radius:22px;padding:26px 20px;background:linear-gradient(180deg,rgba(23,17,51,.88),rgba(23,17,51,.56));text-align:center} .stage h3{margin:0 0 18px;font-family:"Press Start 2P",monospace;font-size:clamp(1.1rem,2.6vw,1.8rem);line-height:1.25;text-transform:uppercase} .corridor h3{color:var(--cream)} .main h3{color:var(--orange)} .discovery h3{color:var(--lavender)} .sponsor-note{color:var(--gold);font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;margin:-6px 0 10px} .zone-logo{width:min(230px,92%);margin:0 auto 18px;display:block;background:transparent} .artists{list-style:none;padding:0;margin:0;display:grid;gap:9px} .artists li{font-weight:700;font-size:clamp(1.05rem,2vw,1.35rem);line-height:1.2}
.info-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:14px} .info-item{border:2px solid rgba(217,46,114,.56);border-radius:18px;padding:18px;background:rgba(8,4,18,.55);text-align:center} .info-item strong{display:block;color:var(--gold);text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px} .info-icon{font-size:1.8rem;line-height:1;margin-bottom:10px}
.partners{display:grid;grid-template-columns:1fr 1.45fr;gap:18px;align-items:stretch} .partner-card{border:2px solid rgba(164,139,255,.42);border-radius:24px;padding:24px;background:rgba(8,4,18,.64)} .partner-card h3{margin:0 0 18px;color:var(--gold);text-transform:uppercase;letter-spacing:.08em;font-size:.95rem} .logo-grid{display:grid;gap:14px;align-items:center} .presented-grid{grid-template-columns:repeat(2,minmax(0,1fr))} .partnership-grid{grid-template-columns:repeat(4,minmax(0,1fr))} .logo-link{display:flex;align-items:center;justify-content:center;min-height:112px;padding:12px;border-radius:16px;background:rgba(0,0,0,.28);border:1px solid rgba(255,255,255,.13)} .logo-link:hover{border-color:rgba(255,138,31,.7);background:rgba(255,138,31,.08)} .logo-link img{display:block;max-width:100%;max-height:88px;object-fit:contain} .dda img{max-height:62px} .ardis img{max-height:92px} .dtm img{max-height:86px} .snob img{max-height:90px} .minimal img{max-height:104px} .sentient img{max-height:106px}
footer{padding:36px 0 42px;text-align:center;color:rgba(255,255,255,.74)} .credit{margin-top:10px;font-size:.85rem;color:rgba(255,255,255,.5)} .credit a{color:var(--gold);text-decoration:none;border-bottom:1px solid transparent} .credit a:hover{border-color:var(--orange)} .socials{display:flex;flex-wrap:wrap;justify-content:center;gap:16px;margin-bottom:14px;font-weight:800;color:var(--gold);font-size:clamp(1rem,2.4vw,1.4rem)} .socials a{text-decoration:none;border-bottom:2px solid transparent} .socials a:hover{border-color:var(--orange)}
@media(max-width:860px){.hero,.partners{grid-template-columns:1fr}.poster-card{max-width:480px;margin:0 auto}.lineup-grid,.info-strip,.presented-grid,.partnership-grid{grid-template-columns:1fr}.nav-inner{align-items:flex-start;flex-direction:column}.logo-link{min-height:124px}}
.artists-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px} .artist-card{border:2px solid rgba(255,138,31,.4);border-radius:20px;padding:22px;background:linear-gradient(180deg,rgba(23,17,51,.88),rgba(23,17,51,.56))} .artist-card h3{margin:0 0 8px;color:var(--gold);font-size:1.15rem;letter-spacing:.03em} .artist-card .bio{margin:0 0 14px;font-size:.92rem;line-height:1.55;color:rgba(255,255,255,.82)} .artist-links{display:flex;gap:14px;flex-wrap:wrap} .artist-links a{font-size:.8rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--lavender);text-decoration:none;border-bottom:1px solid transparent} .artist-links a:hover{border-color:var(--lavender)}
@media(max-width:860px){.artists-grid{grid-template-columns:1fr}}
.skyline-header{position:relative;overflow:hidden;padding:56px 0 30px;text-align:center;min-height:230px;display:flex;align-items:center;justify-content:center}
.skyline-side{position:absolute;top:50%;transform:translateY(-50%);height:230px;width:auto;max-width:46vw;opacity:.65;pointer-events:none}
.skyline-left{left:0;-webkit-mask-image:linear-gradient(to right,black 45%,transparent 92%);mask-image:linear-gradient(to right,black 45%,transparent 92%)}
.skyline-right{right:0;-webkit-mask-image:linear-gradient(to left,black 45%,transparent 92%);mask-image:linear-gradient(to left,black 45%,transparent 92%)}
.skyline-header-text{position:relative;z-index:2}
@media(max-width:760px){.skyline-header{padding:32px 0 16px;min-height:0} .skyline-side{display:none}}
.schedule-wrap{border:2px solid rgba(255,138,31,.5);border-radius:20px;overflow:hidden;background:rgba(8,4,18,.62);box-shadow:0 24px 70px rgba(0,0,0,.32);margin-bottom:22px}
table.schedule{width:100%;border-collapse:collapse;font-size:.95rem}
table.schedule th,table.schedule td{padding:13px 14px;text-align:left;border-bottom:1px solid rgba(255,255,255,.08)}
table.schedule thead th{font-family:"Press Start 2P",monospace;font-size:.68rem;text-transform:uppercase;letter-spacing:.03em;padding:16px 14px}
table.schedule thead th.time-col{color:rgba(255,255,255,.6);background:rgba(255,255,255,.04)}
table.schedule thead th.main-col{color:var(--orange);background:rgba(255,138,31,.12)}
table.schedule thead th.corridor-col{color:var(--cream);background:rgba(248,228,181,.1)}
table.schedule thead th.discovery-col{color:var(--lavender);background:rgba(164,139,255,.12)}
table.schedule tbody td.time-col{font-weight:700;color:rgba(255,255,255,.55);white-space:nowrap;font-size:.85rem}
table.schedule tbody tr:nth-child(even){background:rgba(255,255,255,.025)}
table.schedule tbody tr:last-child td{border-bottom:none}
table.schedule td a{text-decoration:none;font-weight:700;border-bottom:1px solid transparent}
table.schedule td.main-col a{color:var(--orange)}
table.schedule td.corridor-col a{color:var(--cream)}
table.schedule td.discovery-col a{color:var(--lavender)}
table.schedule td a:hover{border-bottom-color:currentColor}
table.schedule td.empty{color:rgba(255,255,255,.25)}
.schedule-meta{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin:0 0 44px;font-size:.85rem;color:rgba(255,255,255,.68)}
.schedule-meta .jump a{color:var(--gold);text-decoration:none;font-weight:700;border-bottom:1px solid transparent}
.schedule-meta .jump a:hover{border-bottom-color:var(--gold)}
.schedule-meta .jump span{margin:0 8px;opacity:.5}
.equalizer-divider{display:block;width:100%;max-width:1100px;margin:6px auto 6px;height:auto}
.equalizer-divider img{display:block;width:100%;height:auto}
.meet-artists-head{text-align:center;margin:8px 0 36px}
.meet-artists-head h2{margin:0}
.back-to-top{font-size:.78rem;font-weight:700;color:var(--lavender);text-decoration:none;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid transparent}
.back-to-top:hover{border-bottom-color:var(--lavender)}
.stage-section{margin-bottom:52px} .stage-section:last-child{margin-bottom:0}
.stage-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:14px;margin-bottom:22px;padding-bottom:10px;border-bottom:2px solid rgba(255,255,255,.14)}
.stage-section-head h2{margin:0;font-family:"Press Start 2P",monospace;font-size:clamp(1.1rem,2.6vw,1.7rem);text-transform:uppercase;line-height:1.2}
.stage-section-head .stage-time{font-size:.8rem;font-weight:700;color:rgba(255,255,255,.5);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}
.stage-section.corridor .stage-section-head h2{color:var(--cream)}
.stage-section.main .stage-section-head h2{color:var(--orange)}
.stage-section.discovery .stage-section-head h2{color:var(--lavender)}
.artist-card .time{display:inline-block;font-family:"Press Start 2P",monospace;font-size:.6rem;color:var(--gold);margin-bottom:8px;letter-spacing:.03em}
@media(max-width:860px){.artists-grid{grid-template-columns:1fr} table.schedule{font-size:.82rem} table.schedule th,table.schedule td{padding:9px 8px} table.schedule thead th{font-size:.56rem}}
@keyframes nowPlayingPulse{0%,100%{box-shadow:0 0 0 rgba(255,138,31,0)}50%{box-shadow:0 0 18px rgba(255,138,31,.55)}}
.now-playing-cell{position:relative;background:rgba(255,138,31,.14) !important}
.now-playing-cell a{animation:nowPlayingPulse 2s ease-in-out infinite;border-radius:6px;padding:2px 6px;margin:-2px -6px}
.now-playing-card{border-color:var(--orange) !important;animation:nowPlayingPulse 2.4s ease-in-out infinite}
.now-playing-badge{display:block;width:max-content;background:linear-gradient(90deg,var(--magenta),var(--orange));color:white;font-family:"Press Start 2P",monospace;font-size:.55rem;text-transform:uppercase;letter-spacing:.03em;padding:5px 9px;border-radius:999px;margin-bottom:10px}
