:root { --ink:#070707; --paper:#eeeae2; --acid:#d8ff37; --hot:#ff3d78; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; overflow-x:clip; background:var(--ink); color:#fff; font-family:Arial,Helvetica,sans-serif; }
.preserveLines { white-space:pre-line; }
a,button,input { font:inherit; }
a:focus-visible,button:focus-visible { outline:3px solid var(--hot); outline-offset:3px; }
.externalArrow { display:inline-block; flex:0 0 auto; width:1em; height:1em; overflow:visible; vertical-align:-.12em; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:square; stroke-linejoin:miter; }
.externalArrowDown { transform:rotate(90deg); }
.announcement { min-height:44px; position:absolute; z-index:22; inset:0 0 auto; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; padding:0 4vw; background:var(--acid); color:#080808; font-size:12px; font-weight:900; letter-spacing:1.5px; }
.announcementLabel { grid-column:2; display:flex; align-items:center; gap:20px; }
.announcementLabel span { opacity:1; }
.announcementTickets { grid-column:3; justify-self:end; display:flex; align-items:stretch; height:44px; }
.announcementTickets a { display:flex; align-items:center; padding:0 13px; color:#080808; border-left:1px solid #080808; text-decoration:none; white-space:nowrap; }
.announcementTickets a:hover,.announcementTickets a:focus-visible { color:#fff; background:#080808; }
.announcementTickets a:focus-visible { outline:2px solid #fff; outline-offset:-3px; }
.announcementTickets strong { font:inherit; }
.announcementTickets i { font-style:normal; }
.nav { height:86px; position:absolute; z-index:20; top:44px; left:0; right:0; display:flex; align-items:center; justify-content:space-between; padding:0 4vw; border-bottom:0; background:linear-gradient(180deg,#050505d8 0,#05050578 58%,transparent 100%); }
.navNoAnnouncement { top:0; }
.navSubpage { position:relative; top:auto; left:auto; right:auto; height:96px; background:#0b0b0cf2; }
.brand { display:flex; width:152px; height:44px; align-items:center; overflow:hidden; }
.logoImage { display:block; width:100%; height:auto; object-fit:contain; }
.navlinks { display:flex; align-items:center; gap:32px; }
.navlinks a,.mobileNav a { min-height:44px; display:flex; align-items:center; color:#fff; text-decoration:none; font-size:12px; font-weight:900; letter-spacing:1.5px; text-transform:uppercase; }
.navlinks .adminLink,.mobileNav .adminLink { color:#aaa; }
.menu { display:none; min-width:44px; min-height:44px; background:0; border:0; color:#fff; font-size:28px; }
.mobileNav { display:none; }
.hero { height:min(100svh,72vw); min-height:720px; max-height:940px; position:relative; overflow:hidden; background:radial-gradient(circle at 27% 72%,#15303e 0,transparent 35%),#080808; }
.hero:before { content:""; position:absolute; z-index:2; inset:0; background:linear-gradient(90deg,#080808e8 0,#080808b8 27%,#08080850 56%,#00000024 100%),linear-gradient(180deg,#05050599 0,transparent 30%),linear-gradient(0deg,#080808e8 0,#0808089c 13%,#08080845 27%,transparent 44%); pointer-events:none; }
.heroLivePanel { position:absolute; z-index:0; inset:0; overflow:hidden; pointer-events:none; background:#050505; }
.heroLiveVideo { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; object-position:center; filter:saturate(.94) contrast(1.08) brightness(1.14); -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 11%,#000 70%,#000d 82%,transparent 100%),linear-gradient(180deg,transparent 0,#000 17%,#000 50%,rgba(0,0,0,.92) 60%,rgba(0,0,0,.75) 70%,rgba(0,0,0,.52) 80%,rgba(0,0,0,.28) 90%,transparent 100%); -webkit-mask-composite:source-in; mask-image:linear-gradient(90deg,transparent 0,#000 11%,#000 70%,#000d 82%,transparent 100%),linear-gradient(180deg,transparent 0,#000 17%,#000 50%,rgba(0,0,0,.92) 60%,rgba(0,0,0,.75) 70%,rgba(0,0,0,.52) 80%,rgba(0,0,0,.28) 90%,transparent 100%); mask-composite:intersect; }
.beaconRings { position:absolute; inset:0; }
.beaconRings i { position:absolute; left:50%; top:50%; width:8px; height:8px; border-radius:50%; background:var(--acid); box-shadow:0 0 14px var(--acid); transform-origin:0 0; }
.beaconRings i:nth-child(1){transform:rotate(20deg) translateX(44%)}
.beaconRings i:nth-child(2){transform:rotate(145deg) translateX(18vw)}
.beaconRings i:nth-child(3){transform:rotate(260deg) translateX(12vw);background:var(--hot);box-shadow:0 0 14px var(--hot)}
@keyframes beaconSpin{to{transform:rotate(360deg)}}
.citySignal { --signal-accent:#d8ff37; position:absolute; z-index:4; left:24px; top:24px; display:flex; align-items:center; gap:12px; color:#fff; }
.signalGlyph { width:112px; aspect-ratio:1; border:1px solid color-mix(in srgb,var(--signal-accent) 70%,transparent); border-radius:50%; background:#090909b8; backdrop-filter:blur(8px); display:grid; place-items:center; position:relative; box-shadow:0 0 30px color-mix(in srgb,var(--signal-accent) 15%,transparent); }
.signalGlyph>div { position:absolute; width:62%; height:44%; display:flex; align-items:center; gap:2px; transform:rotate(-8deg); opacity:.72; }
.signalGlyph i { flex:1; min-width:1px; background:var(--signal-accent); }
.signalGlyph b { position:relative; z-index:2; font-size:28px; letter-spacing:-2px; text-shadow:0 2px 8px #000; }
.signalOrbit { position:absolute; inset:9px; border:1px dashed color-mix(in srgb,var(--signal-accent) 55%,transparent); border-radius:50%; transform:rotate(24deg); }
.citySignal>small { font-size:12px; font-weight:950; letter-spacing:1.4px; line-height:1.5; color:var(--signal-accent); }
.citySignal.compact { left:12px; top:12px; }
.citySignal.compact .signalGlyph { width:54px; }
.citySignal.compact .signalGlyph b { font-size:16px; letter-spacing:-1px; }
.citySignal.compact .signalOrbit { inset:5px; }
.frequencyRail { position:absolute; z-index:4; inset:auto 0 0; min-height:27px; display:flex; align-items:center; overflow:hidden; background:#fff; color:#111; transform:rotate(-1deg) scale(1.02); font-size:12px; font-weight:950; letter-spacing:2px; white-space:nowrap; }
.frequencyRail span { min-width:max-content; animation:rail 19s linear infinite; }
@keyframes rail { to { transform:translateX(-100%); } }
.noise { position:absolute; z-index:1; inset:0; opacity:.11; pointer-events:none; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 220 220' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E"); }
.heroContent { position:relative; z-index:3; padding:25vh 4vw 0; pointer-events:none; }
.heroContent a { pointer-events:auto; }
.eyebrow,.kicker { font-size:12px; font-weight:900; letter-spacing:3px; color:var(--acid); }
h1 { font-size:clamp(76px,12.8vw,190px); letter-spacing:-.085em; line-height:.72; margin:42px 0 0; font-weight:950; }
h1 em { font-style:normal; -webkit-text-stroke:2px #fff; color:transparent; }
.heroTitle { font-size:clamp(74px,11.8vw,176px); }
.heroTitle>span { display:block; }
.heroDecisionLine { display:flex!important; align-items:center; gap:.08em; }
.heroDecisionLine>b { font:inherit; letter-spacing:inherit; }
.badMarkCrop { position:relative; display:inline-block; width:1.34em; height:.62em; flex:none; overflow:hidden; }
.badMarkCrop img { position:absolute; top:0; left:0; width:auto; max-width:none; height:161%; }
.heroBadMark { display:inline-grid; place-items:center; width:1.42em; height:.62em; flex:none; transform:rotate(-2deg) translateY(.015em); filter:drop-shadow(0 .02em .06em #000b); }
.heroBadMark img { display:block; width:100%; height:100%; object-fit:contain; }
.heroBottom { margin-top:48px; display:flex; gap:11vw; align-items:flex-end; }
.heroBottom p { font-family:Georgia,serif; font-style:italic; font-size:20px; color:#cbc6bd; }
.cta { background:var(--acid); color:#080808; padding:20px 24px; text-decoration:none; font-size:13px; font-weight:900; letter-spacing:1.5px; min-width:230px; display:flex; justify-content:space-between; }
.heroIndex { position:absolute; right:4vw; bottom:72px; z-index:3; display:grid; gap:4px; text-align:right; font-size:12px; letter-spacing:1.4px; }
.heroIndex b { font-size:24px; }
.nowPlaying { display:grid; grid-template-columns:1.04fr .96fr; min-height:780px; background:#0c0c0d; position:relative; }
.publicProjectionUnavailable { min-height:420px; padding:clamp(40px,8vw,120px); background:#0c0c0d; color:#f7f2e8; display:flex; align-items:flex-end; justify-content:space-between; gap:32px; }
.publicProjectionUnavailable div { max-width:760px; }
.publicProjectionUnavailable p { margin:0 0 18px; color:#f4a6cb; font-size:12px; font-weight:950; letter-spacing:1.5px; }
.publicProjectionUnavailable h2 { margin:0 0 16px; font-size:clamp(38px,6vw,82px); line-height:.92; letter-spacing:-.05em; }
.publicProjectionUnavailable span { display:block; max-width:640px; color:#d7d2c8; font-size:16px; line-height:1.55; }
.publicProjectionUnavailable button { min-height:48px; padding:14px 20px; border:1px solid #f7f2e8; background:transparent; color:#f7f2e8; display:flex; align-items:center; font-size:12px; font-weight:950; letter-spacing:1px; white-space:nowrap; cursor:pointer; }
.nowPlaying,.nowVisual,.nowCopy { min-width:0; }
.nowPlaying:before { content:"UP / NEXT"; position:absolute; z-index:3; top:24px; left:calc(50% - 55px); writing-mode:vertical-rl; background:var(--hot); color:#111; padding:12px 8px; font-size:12px; font-weight:950; letter-spacing:2px; transform:rotate(4deg); }
.nowVisual { position:relative; min-height:780px; overflow:hidden; background:#111; }
.nowVisual:before { content:""; position:absolute; z-index:2; left:0; top:0; width:7px; height:34%; background:var(--event-accent,var(--hot)); box-shadow:0 0 28px var(--event-accent,var(--hot)); }
.nowVisual:after { content:""; position:absolute; z-index:1; inset:0; background:linear-gradient(90deg,transparent 65%,#0c0c0d); }
.nowVisual .eventArtwork { width:100%; height:100%; object-fit:cover; }
.nowVisual .citySignal>small { font-size:12px; }
.nowVisual>span { position:absolute; z-index:2; left:28px; bottom:28px; padding:10px; background:#fff; color:#111; font-size:12px; font-weight:900; letter-spacing:2px; }
.nowCopy { padding:88px 6vw 62px 5vw; display:flex; flex-direction:column; justify-content:center; }
.nowCopy h2,.sectionHead h2,.manifesto h2,.archiveHead h2,.signup h2 { font-size:clamp(54px,7vw,110px); line-height:.78; letter-spacing:-.07em; margin:28px 0 45px; font-weight:950; }
.nowCopy h2 i { font-family:Georgia,serif; font-weight:400; color:var(--hot); }
.eventMeta { display:grid; grid-template-columns:.9fr 1.1fr 1fr; border-block:1px solid #343438; background:#101012; }
.eventMeta>div { position:relative; min-width:0; padding:25px 22px 27px; border-right:1px solid #343438; }
.eventMeta>div:before { content:""; position:absolute; left:22px; top:-1px; width:30px; height:2px; background:var(--hot); }
.eventMeta>div:nth-child(2):before { background:var(--acid); }
.eventMeta>div:last-child { border-right:0; }
.eventMeta small { display:block; min-height:22px; color:#b8b8b8; font-size:12px; line-height:1.35; letter-spacing:1.7px; margin-bottom:13px; }
.eventMeta b,.eventMeta em { font-size:13px; line-height:1.65; font-style:normal; }
.lineupList { display:flex; flex-wrap:wrap; gap:2px 7px; }
.lineupList span:not(:last-child):after { content:" ·"; color:var(--hot); }
.eventMeta em { display:block; color:#aaa; }
.venueMap { min-height:44px; display:inline-flex; align-items:center; color:#fff; text-decoration:none; }
.venueMap:hover b { color:var(--acid); }
.bigTicket { display:flex; justify-content:space-between; margin-top:28px; padding:21px; color:#111; background:var(--acid); text-decoration:none; font-size:13px; font-weight:950; letter-spacing:2px; }
.bigTicket span { font-size:17px; }
.eventActions { display:grid; grid-template-columns:1.35fr .65fr; gap:10px; margin-top:14px; }
.eventActions .bigTicket { margin:0; }
.eventDetailsLink { min-height:44px; display:grid; place-items:center; border:1px solid #777; color:#fff; text-decoration:none; padding:14px; font-size:12px; font-weight:950; letter-spacing:1px; text-align:center; }
.eventPicker { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-top:22px; max-height:190px; overflow:auto; padding-right:4px; scrollbar-color:var(--hot) #222; }
.eventPicker button { border:1px solid #2d2d31; color:#888; background:#101012; padding:14px 16px; text-align:left; min-width:0; cursor:pointer; display:grid; grid-template-columns:auto 1fr; gap:6px 12px; }
.eventPicker button.active { border-color:var(--event-accent,var(--hot)); color:#fff; box-shadow:inset 5px 0 0 var(--event-accent,var(--hot)); }
.eventPicker span { grid-row:1/3; color:var(--hot); font-size:12px; }
.eventPicker b,.eventPicker small { font-size:12px; letter-spacing:1px; }
.eventsList { background:repeating-linear-gradient(90deg,#00000008 0 1px,transparent 1px 8.333%),var(--paper); color:var(--ink); padding:115px 4vw 130px; position:relative; overflow:hidden; isolation:isolate; }
.eventsList:after { content:""; position:absolute; z-index:1; inset:0; background:linear-gradient(0deg,#eeeae29e 0,transparent 27%,transparent 84%,#eeeae270 100%); pointer-events:none; }
.calendarAtmosphere { position:absolute; z-index:0; inset:0; width:100%; overflow:hidden; background:#7d102d; }
.calendarAtmosphere:after { content:""; position:absolute; z-index:1; inset:0; background:linear-gradient(90deg,var(--paper) 0,#eeeae2fa 25%,#eeeae2d8 45%,#eeeae294 64%,#eeeae24a 82%,transparent 100%); }
.calendarAtmosphere img { position:absolute; inset:0 auto 0 14%; width:100%; height:100%; object-fit:cover; object-position:center 27%; filter:saturate(.9) contrast(1.08) brightness(1.13); }
.calendarAtmosphere span { position:absolute; z-index:1; right:22px; top:22px; color:#fff; font-size:12px; font-weight:950; letter-spacing:1.6px; writing-mode:vertical-rl; }
.sectionHead,.eventRows,.calendarToggle { position:relative; z-index:2; }
.sectionHead { display:grid; grid-template-columns:1fr 2fr 1fr; align-items:end; margin-bottom:65px; }
.sectionHead>p:first-child,.manifesto>p,.archiveHead>p,.signup>div>p,.signal>p { font-size:12px; font-weight:900; letter-spacing:2px; }
.sectionHead h2 { margin:0; }
.sectionHead h2 span { -webkit-text-stroke:1px #111; color:transparent; }
.calendarHeadAction,.artistsHeadAction { display:grid; gap:22px; align-items:end; }
.calendarHeadAction a,.artistsHeadAction a { min-height:44px; width:max-content; max-width:100%; display:grid; align-content:center; gap:5px; padding:8px 0; border-bottom:2px solid currentColor; color:#111; text-decoration:none; font-size:12px; font-weight:950; letter-spacing:1.15px; }
.calendarHeadAction a span { display:block; white-space:nowrap; }
.calendarHeadAction a small,.artistsHeadAction a small { font-size:12px; opacity:.78; }
.sectionBadLine { display:flex; align-items:center; gap:.08em; }
.sectionBadLine>b { font:inherit; letter-spacing:inherit; }
.sectionBadMark { -webkit-text-stroke:0; color:#111; transform:translateY(.015em); }
.intro { font-family:Georgia,serif; font-style:italic; font-size:17px; line-height:1.5; }
.eventRows { border-top:1px solid #aaa; margin-right:17vw; background:#eeeae2df; backdrop-filter:blur(4px); }
.eventRows>a { color:inherit; display:grid; grid-template-columns:70px 1.5fr 1fr 170px; gap:20px; align-items:center; text-decoration:none; border-bottom:1px solid #aaa; padding:22px 28px 22px 0; transition:.2s padding; }
.eventRows>a:hover { padding-left:12px; }
.eventRows>a>span { font-size:12px; font-weight:900; }
.eventRows small,.eventRows p,.eventRows>a>b { font-size:12px; letter-spacing:1.25px; line-height:1.6; font-weight:900; }
.eventRows h3 { font-size:clamp(26px,3vw,44px); line-height:.92; letter-spacing:-.055em; margin:6px 0 0; white-space:nowrap; }
.eventRows>a>b { border:1px solid #111; padding:14px; text-align:center; }
.calendarToggle { width:100%; min-height:58px; margin-top:24px; border:1px solid #111; background:#111; color:var(--acid); cursor:pointer; font:950 12px/1 inherit; letter-spacing:1.7px; transition:.2s background,.2s color; }
.calendarToggle:hover,.calendarToggle:focus-visible { background:var(--hot); color:#111; }
.calendarEmpty { min-height:260px; border-bottom:1px solid #aaa; display:grid; place-content:center; justify-items:center; gap:16px; text-align:center; }
.calendarEmpty b { font-size:clamp(26px,5vw,70px); letter-spacing:-.05em; }
.calendarEmpty span { max-width:480px; color:#666; line-height:1.5; }
.calendarEmpty a { min-height:44px; display:flex; align-items:center; color:#111; border:1px solid #111; padding:15px 22px; text-decoration:none; font-size:12px; font-weight:950; letter-spacing:1.2px; }
.emptyEvents { grid-template-columns:1fr 1fr; }
.emptyFrequency { position:relative; min-height:780px; overflow:hidden; background:radial-gradient(circle at center,#37133d,#0b0b0c 58%); }
.emptyFrequency .beaconRings { inset:14%; border:1px dashed #d8ff3744; border-radius:50%; animation:beaconSpin 20s linear infinite; }
.emptyFrequency .citySignal { left:50%; top:50%; transform:translate(-50%,-50%) scale(1.5); }
.emptyEventCopy { max-width:520px; color:#aaa; line-height:1.7; }
.manifesto { padding:140px 4vw; background:#101010; position:relative; overflow:hidden; isolation:isolate; }
.manifesto>p { display:inline-flex; align-items:center; position:relative; z-index:2; color:var(--acid); padding:0; font-size:12px; box-shadow:none; }
.manifesto h2 { position:relative; z-index:2; font-size:clamp(85px,14vw,210px); margin-top:35px; }
.manifesto h2 i { font-family:Georgia,serif; font-weight:400; color:var(--hot); }
.storyPhoto { position:absolute; z-index:0; top:0; right:0; width:59vw; height:69%; margin:0; overflow:hidden; opacity:.86; }
.storyPhoto:after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,#101010 0,#101010d8 18%,#10101082 40%,transparent 70%),linear-gradient(0deg,#101010 0,#101010b0 17%,transparent 46%),linear-gradient(180deg,#0007,transparent 34%); }
.storyPhoto img { width:100%; height:100%; object-fit:cover; object-position:center 36%; filter:saturate(.76) contrast(1.12); }
.storyPhoto figcaption { position:absolute; z-index:2; right:25px; top:24px; font-size:12px; font-weight:950; letter-spacing:1.8px; }
.story { position:relative; z-index:2; display:grid; grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr); gap:clamp(76px,7.4vw,118px); margin:104px 0 10px 14vw; padding:48px 4vw; background:#090a0dcc; backdrop-filter:blur(9px); }
.storyLead { min-width:0; padding-right:24px; }
.storyLead>span { display:block; font-size:26px; font-weight:800; line-height:1.05; }
.storyCopy { padding-left:clamp(18px,2vw,30px); border-left:1px solid #ffffff24; }
.storyCopy>p { color:#d8d3ca; font-family:Georgia,serif; font-size:clamp(15px,1.3vw,18px); line-height:1.65; letter-spacing:.01em; margin:0; }
.partnerLockup { display:grid; grid-template-columns:minmax(210px,1fr) auto 125px; align-items:center; gap:clamp(12px,1.4vw,20px); margin-top:38px; }
.partnerLockup>a { color:#fff; text-decoration:none; }
.rjPartner { display:flex; align-items:center; gap:18px; }
.rjPartner img { width:clamp(74px,7vw,104px); height:auto; flex:none; }
.rjPartner>span { display:grid; gap:8px; }
.rjPartner b em { color:var(--hot); font-style:normal; padding:0 .18em; }
.techPartner { display:flex; flex-direction:column; gap:3px; }
.techNationLogo { display:block; width:125px; height:26px; background:transparent url("/brand/tech-nation-transparent.png") center/contain no-repeat; }
.partnerLockup b { font-size:clamp(12px,1.15vw,17px); letter-spacing:1.4px; }
.partnerLockup small { color:#b8b8b8; font-size:12px; letter-spacing:1.5px; }
.partnerLockup>i { color:var(--hot); font:26px Georgia,serif; }
.storyLinks { display:flex; flex-wrap:wrap; gap:8px; margin-top:24px; }
.storyLinks a { min-height:44px; display:inline-flex; align-items:center; color:#111; background:var(--acid); padding:12px 14px; text-decoration:none; font-size:12px; font-weight:950; letter-spacing:1px; transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease; }
.eshghSection { min-height:720px; position:relative; overflow:hidden; isolation:isolate; display:grid; grid-template-columns:minmax(280px,.7fr) minmax(420px,1.3fr); align-items:center; gap:7vw; padding:105px 7vw; background:radial-gradient(circle at 69% 52%,#ff8bb0 0,#ff558c 31%,#f33471 67%,#da205a 100%); color:#14040a; }
.eshghSection:before { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(112deg,#ffffff1f,transparent 34%,#64112c18 70%,#64112c48); }
.eshghIntro { position:relative; z-index:3; max-width:440px; padding-left:22px; border-left:5px solid #15030a; }
.eshghIntro p { margin:0 0 22px; font-size:12px; font-weight:950; letter-spacing:2px; }
.eshghIntro h2 { margin:0 0 28px; font-size:clamp(52px,7vw,108px); line-height:.78; letter-spacing:-.07em; }
.eshghIntro>span { display:block; max-width:370px; font:italic clamp(17px,1.6vw,23px)/1.48 Georgia,serif; }
.eshghMark { position:relative; z-index:2; justify-self:center; display:grid; place-items:center; width:min(43vw,570px); aspect-ratio:1; border:1px solid #21040c52; border-radius:50%; background:radial-gradient(circle,#ffacc5 0,#ff8caf 49%,#ee356f 71%,transparent 72%); color:#19030b; font-family:Tahoma,"Noto Naskh Arabic","Geeza Pro",serif; font-size:clamp(128px,20vw,300px); font-weight:700; line-height:1; letter-spacing:-.08em; text-shadow:0 14px 40px #8c17384d; }
.eshghMark:after { content:""; position:absolute; inset:8%; border:1px dashed #21040c3f; border-radius:50%; }
.eshghConstellation { position:absolute; inset:0; z-index:1; pointer-events:none; }
.eshghConstellation span { position:absolute; left:var(--love-x); top:var(--love-y); color:#17030a; font-family:Arial,Tahoma,"Noto Sans Arabic","Noto Sans Devanagari","Noto Sans Hebrew","Noto Sans JP","Noto Sans KR",sans-serif; font-size:var(--love-size); font-weight:800; opacity:var(--love-opacity); transform:translate(-50%,-50%) rotate(var(--love-rotation)); animation:loveReveal .8s cubic-bezier(.2,.8,.2,1) both; animation-delay:calc(var(--love-order) * 55ms); white-space:nowrap; }
@keyframes loveReveal { from { opacity:0; transform:translate(-50%,calc(-50% + 14px)) rotate(var(--love-rotation)); } }
.artists { padding:120px 4vw 48px; background:#0b0b0c; color:#fff; position:relative; overflow:hidden; }
.artists:before { content:"BAD ARTISTS"; position:absolute; right:-2vw; top:33%; color:transparent; -webkit-text-stroke:1px #ffffff15; font-size:15vw; font-weight:950; letter-spacing:-.08em; transform:rotate(90deg) translateX(35%); transform-origin:right top; }
.artistsHead { display:grid; grid-template-columns:1fr 2fr 1fr; column-gap:clamp(20px,3vw,52px); align-items:end; position:relative; z-index:1; }
.artistsHead>p { color:var(--acid); font-size:12px; font-weight:900; letter-spacing:2px; }
.artistsHead h2 { font-size:clamp(60px,8.4vw,126px); line-height:.76; letter-spacing:-.075em; margin:0; }
.artistsHead h2 i { font-family:Georgia,serif; font-weight:400; color:var(--hot); }
.artistsHeadAction { padding-left:12px; }
.artistsHeadAction>span { font-size:12px; line-height:1.6; font-weight:900; letter-spacing:1.5px; }
.artistsHeadAction a { color:var(--acid); }
.artistGrid { margin-top:75px; position:relative; z-index:1; }
.artistCard { display:grid; grid-template-columns:minmax(320px,.88fr) 1.12fr; min-height:650px; border:1px solid #333; background:#111; }
.artistVisual { position:relative; overflow:hidden; min-height:650px; }
.artistVisual:after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,#000b,transparent 45%); }
.artistVisual .artistPortrait { width:100%; height:100%; object-fit:cover; object-position:center 35%; transform:scale(1.03); filter:grayscale(.2) saturate(.9) contrast(1.12); }
.artistVisual .artistLogo { position:absolute; z-index:3; left:28px; bottom:30px; width:min(48%,300px); height:auto; mix-blend-mode:screen; opacity:.92; }
.artistVisual>b { position:absolute; z-index:2; right:1.4vw; bottom:30px; padding:10px 3px 10px 13px; border-left:3px solid var(--acid); background:#070707d9; backdrop-filter:blur(8px); color:#fff; font-size:12px; letter-spacing:2px; }
.artistCopy { display:flex; flex-direction:column; justify-content:center; padding:70px 7vw 70px 5vw; position:relative; overflow:hidden; isolation:isolate; background:#111; }
.artistCopy:after { content:""; position:absolute; z-index:1; inset:0; background:linear-gradient(90deg,#090909d7 0,#09090978 55%,#09090955 100%),linear-gradient(0deg,#0505058f 0,transparent 52%,#08080852 100%); }
.artistPanelVideo { position:absolute; z-index:0; inset:0 auto 0 0; width:150%; height:100%; object-fit:cover; object-position:center 70%; filter:saturate(1.3) contrast(1.05) brightness(1.28); }
.artistCopy>*:not(.artistPanelVideo) { position:relative; z-index:2; }
.artistCopy>p:first-child { color:var(--hot); font-size:12px; font-weight:950; letter-spacing:2px; }
.artistCopy h3 { font-size:clamp(72px,8vw,132px); line-height:.78; letter-spacing:-.08em; margin:34px 0 30px; text-shadow:5px 5px 0 #ff3d7840; }
.artistCopy h3.artistNameLogo { width:min(100%,450px); margin:34px 0 30px; font-size:0; line-height:1; }
.artistNameLogo img { display:block; width:100%; height:auto; mix-blend-mode:lighten; filter:drop-shadow(5px 5px 0 #ff3d7840); }
.artistCopy small { color:var(--acid); font-size:12px; font-weight:900; letter-spacing:1.5px; line-height:1.6; }
.artistBio { max-width:480px; color:#ddd8d0; font-family:Georgia,serif; font-size:18px; font-style:italic; line-height:1.55; margin:32px 0; text-shadow:0 2px 15px #000; }
.artistCopy>div { display:flex; flex-wrap:wrap; gap:10px; }
.artistCopy a,.artistCallout a { min-height:44px; display:flex; align-items:center; color:#111; background:var(--acid); padding:16px 18px; text-decoration:none; font-size:12px; font-weight:950; letter-spacing:1.2px; }
.artistCopy a:nth-child(2),.artistCopy a:last-child { background:transparent; border:1px solid #555; color:#fff; }
.artistCallout { position:relative; z-index:1; margin:14px 0 0 18vw; padding:34px 4vw; display:grid; grid-template-columns:1fr 1.4fr 1fr auto; gap:30px; align-items:center; background:var(--hot); color:#111; transform:rotate(-1deg); }
.artistCallout span { font-size:12px; font-weight:950; letter-spacing:1.5px; }
.artistCallout h3 { font-size:25px; letter-spacing:-1.3px; margin:0; line-height:.9; }
.artistCallout p { font-family:Georgia,serif; font-style:italic; font-size:14px; }
.artistCallout a { background:#111; color:#fff; white-space:nowrap; }
.artistCallout a small,.signupActions a small { font-size:12px; opacity:.8; }
.cta,.bigTicket,.eventDetailsLink,.eventRows>a>b,.calendarHeadAction a,.artistsHeadAction a,.artistCopy a,.artistCallout a,.signupActions a {
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease,color .18s ease,border-color .18s ease;
}
.cta:hover,.bigTicket:hover,.artistCopy a:first-child:hover {
  transform:translate(-3px,-3px);
  box-shadow:8px 8px 0 var(--hot);
}
.eventDetailsLink:hover,.eventRows>a>b:hover,.artistCopy a:nth-child(2):hover,.artistCopy a:last-child:hover {
  border-color:var(--hot);
  background:var(--hot);
  color:#090909;
}
.calendarHeadAction a:hover,.artistsHeadAction a:hover { color:var(--hot); transform:translateX(4px); }
.artistCallout a:hover { background:var(--acid); color:#090909; transform:translate(-2px,-2px); box-shadow:6px 6px 0 #090909; }
.signupActions a:hover { transform:translateX(4px); }
.archive { padding:115px 4vw 130px; background:#e4ff78; color:#111; position:relative; overflow:hidden; isolation:isolate; }
.archiveFilm { position:absolute; z-index:0; inset:0; overflow:hidden; background:#cce969 url("/media/archive-sunset.jpg") center top/contain no-repeat; }
.archiveFilm:after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,#e4ff78bf 0,#e4ff786b 42%,#e4ff7835 72%,#e4ff784a 100%),linear-gradient(0deg,#e4ff7875 0,transparent 48%,#e4ff7868 100%); }
.archiveFilm video { width:100%; height:100%; object-fit:contain; object-position:center top; filter:saturate(.98) contrast(1.08) brightness(1.15); opacity:1; }
.archiveFilm span { position:absolute; z-index:2; top:22px; right:24px; font-size:12px; font-weight:950; letter-spacing:1.6px; }
.archiveHead,.archiveCue,.archiveGrid { position:relative; z-index:1; }
.archiveHead { display:grid; grid-template-columns:1fr 2fr 1fr; align-items:end; }
.archiveHead h2 { margin:0; }
.archiveHead>span { font-size:12px; line-height:1.6; font-weight:900; letter-spacing:1.5px; }
.archiveCue { display:flex; justify-content:space-between; align-items:center; margin-top:58px; padding-top:14px; border-top:1px solid #111; font-size:12px; font-weight:950; letter-spacing:1.8px; }
.archiveGrid { display:grid; grid-auto-flow:column; grid-auto-columns:clamp(230px,24vw,360px); gap:12px; margin:20px -4vw 0; padding:0 4vw 24px; overflow-x:auto; overscroll-behavior-inline:contain; scroll-snap-type:inline mandatory; scrollbar-color:#111 transparent; scrollbar-width:thin; }
.archiveGrid>a,.archiveNoLink { color:inherit; text-decoration:none; min-width:0; }
.archiveGrid article { aspect-ratio:3/4; position:relative; background:#111; color:#fff; overflow:hidden; scroll-snap-align:start; border-top:6px solid var(--event-accent,var(--hot)); }
.archiveGrid img { width:100%; height:100%; object-fit:cover; filter:saturate(.75); transition:.5s; }
.archiveGrid article:hover img { transform:scale(1.04); filter:saturate(1.1); }
.archiveGrid article:after { content:""; position:absolute; inset:26% 0 0; background:linear-gradient(transparent,#000 90%); }
.archiveGrid article>span { position:absolute; z-index:5; top:14px; right:14px; background:var(--acid); color:#111; padding:8px; font-size:12px; font-weight:900; }
.archiveGrid article>div:not(.citySignal) { position:absolute; z-index:2; left:18px; right:18px; bottom:18px; }
.archiveGrid .citySignal { z-index:4; }
.archiveGrid small { font-size:12px; letter-spacing:1.4px; }
.archiveGrid h3 { font-size:32px; letter-spacing:-2px; margin:6px 0 2px; }
.archiveGrid p { font-size:12px; font-weight:900; letter-spacing:1.5px; margin:0; }
.signal { overflow:hidden; padding:42px 0 46px; background:var(--ink); }
.signal>p { color:var(--hot); margin:0 4vw 25px; }
.signal>div { display:flex; gap:12px 18px; align-items:center; justify-content:center; flex-wrap:wrap; white-space:normal; padding:0 4vw; }
.signal span { white-space:nowrap; font-size:clamp(21px,2.65vw,39px); font-weight:950; letter-spacing:-.045em; }
.signal .signalAccent { color:var(--hot); }
.signal i { font-family:Georgia,serif; color:var(--acid); font-size:32px; }
.signup { min-height:560px; background:var(--hot); color:#111; padding:90px 4vw; display:grid; grid-template-columns:minmax(250px,.78fr) minmax(360px,1.2fr) minmax(280px,.86fr); gap:clamp(30px,4vw,72px); align-items:center; position:relative; overflow:hidden; isolation:isolate; }
.signup>div { position:relative; z-index:2; }
.signup h2 { margin-bottom:0; }
.fusionArt { position:relative; z-index:1; left:1%; top:30px; width:92%; max-width:600px; height:auto; opacity:.72; transform:rotate(-3deg); filter:saturate(.9) contrast(1.04); pointer-events:none; user-select:none; }
.signupActions { align-self:center; justify-self:end; width:min(100%,430px); display:grid; gap:12px; }
.signupActions p { margin:0 0 15px; font-size:12px; line-height:1.8; letter-spacing:1.5px; font-weight:900; }
.signupActions p span { color:#111; opacity:1; }
.signupActions a { min-height:60px; padding:0 22px; display:flex; align-items:center; justify-content:space-between; border:1px solid #111; color:#111; text-decoration:none; font-size:12px; font-weight:950; letter-spacing:1.3px; }
.signupActions .signupPrimary { background:#111; color:#fff; }
.signupPrimary>span { display:flex; align-items:center; gap:10px; }
.instagramIcon { width:19px; height:19px; fill:none; stroke:currentColor; stroke-width:1.8; }
.instagramIcon .instagramDot { fill:currentColor; stroke:0; }
.signupActions b { font-size:18px; }
.siteFooter { width:100%; max-width:100%; min-height:230px; padding:55px 4vw; display:grid; grid-template-columns:1.2fr .65fr 1.35fr .75fr auto; gap:3vw; align-items:start; border-top:1px solid #ffffff20; background:#070707; color:#fff; }
.siteFooter>* { min-width:0; max-width:100%; }
.siteFooterBrand,.siteFooterPaths,.siteFooterLegal { display:flex; flex-direction:column; align-items:flex-start; gap:12px; }
.siteFooterBrand img { display:block; width:152px; max-width:100%; height:auto; }
.siteFooterBrand p,.siteFooterCopyright { max-width:100%; margin:7px 0 0; color:#aaa; overflow-wrap:anywhere; font-size:12px; font-weight:900; letter-spacing:1.4px; }
.siteFooter a { min-width:0; max-width:100%; min-height:44px; display:flex; align-items:center; color:#fff; overflow-wrap:anywhere; font-size:12px; font-weight:900; text-decoration:none; letter-spacing:1px; }
.siteFooter a small { min-width:0; max-width:100%; margin-left:5px; color:#aaa; overflow-wrap:anywhere; font-size:12px; letter-spacing:.6px; }
.siteFooterCopyright { text-align:right; white-space:nowrap; }

@media (hover:hover) {
  .cta,.bigTicket,.eventDetailsLink,.calendarToggle,.calendarEmpty a,.artistCopy a,.artistCallout a,.signupActions a,.eventRows>a>b,.navlinks a,.siteFooter a { transition:transform .2s ease,background .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease; }
  .cta:hover,.bigTicket:hover,.calendarEmpty a:hover { background:var(--hot); color:#111; transform:translateY(-3px); box-shadow:7px 7px 0 #000; }
  .eventDetailsLink:hover,.artistCopy a:nth-child(2):hover,.artistCopy a:last-child:hover { border-color:var(--acid); color:var(--acid); transform:translateY(-2px); }
  .artistCopy a:first-child:hover,.artistCallout a:hover { background:#fff; color:#111; transform:translateY(-2px); box-shadow:5px 5px 0 var(--acid); }
  .signupActions .signupPrimary:hover { background:var(--acid); color:#111; transform:translateY(-2px); box-shadow:6px 6px 0 #111; }
  .signupActions a:not(.signupPrimary):hover { background:#111; color:#fff; transform:translateY(-2px); }
  .storyLinks a:hover,.storyLinks a:focus-visible { background:var(--hot); transform:translateY(-3px); box-shadow:5px 5px 0 #000; }
  .eventRows>a:hover>b { background:#111; color:var(--acid); }
  .eventPicker button:hover { border-color:var(--acid); color:#fff; }
  .navlinks a:hover,.siteFooter a:hover { color:var(--acid); }
  .menu:hover { color:var(--acid); }
}

@media (prefers-reduced-motion:reduce) { * { scroll-behavior:auto!important; animation:none!important; transition:none!important; } }
@media (max-width:850px) {
  .publicProjectionUnavailable { min-height:520px; padding:72px 20px 40px; align-items:flex-start; flex-direction:column; justify-content:center; }
  .publicProjectionUnavailable button { width:100%; justify-content:center; }
  .announcement { min-height:44px; grid-template-columns:minmax(0,1fr) auto; padding:0 0 0 4vw; }
  .announcementLabel { grid-column:1; min-width:0; }
  .announcementLabel span { display:none; }
  .announcementLabel b { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .announcementTickets { grid-column:2; height:44px; }
  .announcementTickets a { min-width:44px; padding:0 9px; letter-spacing:1px; }
  .announcementMulti .announcementTickets i { display:none; }
  .nav { top:44px; height:72px; }
  .navNoAnnouncement { top:0; }
  .navSubpage { top:auto; height:72px; }
  .navlinks { display:none; }
  .menu { display:block; }
  .mobileNav { display:flex; position:absolute; z-index:19; top:116px; left:0; right:0; background:#111; padding:18px 5vw; flex-direction:column; gap:5px; }
  .mobileNavNoAnnouncement { top:72px; }
  .mobileNavSubpage { position:relative; top:auto; }
  .mobileNav a { min-height:44px; display:flex; align-items:center; }
  .hero { height:100svh; min-height:650px; max-height:none; }
  .heroContent { padding:23vh 5vw 0; }
  .eyebrow { max-width:300px; line-height:1.5; font-size:12px; }
  h1 { font-size:20.5vw; margin-top:52px; }
  .heroBottom { display:block; margin-top:52px; }
  .heroBottom p { font-size:17px; }
  .cta { margin-top:25px; width:100%; min-width:0; }
  .heroIndex { display:none; }
  .heroDecisionLine { font-size:.8em; }
  .hero:before { background:linear-gradient(90deg,#080808d6 0,#0808088c 58%,#0000002b),linear-gradient(180deg,#050505a8 0,transparent 27%),linear-gradient(0deg,#080808d9 0,transparent 38%); }
  .heroLivePanel { inset:0; width:auto; height:auto; opacity:1; }
  .heroLiveVideo { inset:0; width:100%; height:100%; object-fit:cover; object-position:center 50%; filter:saturate(.92) contrast(1.06) brightness(1.1); }
  .frequencyRail { height:23px; }
  .nowPlaying { grid-template-columns:1fr; }
  .nowPlaying:before { left:auto; right:12px; top:20px; }
  .nowVisual { min-height:115vw; }
  .nowVisual:after { background:linear-gradient(transparent 75%,#0c0c0d); }
  .nowCopy { padding:65px 5vw 75px; }
  .nowCopy h2 { font-size:17vw; }
  .eventMeta { grid-template-columns:1fr 1fr; }
  .eventMeta>div { padding:20px 18px 22px; }
  .eventMeta>div:before { left:18px; }
  .eventMeta>div:nth-child(2) { border-right:0; }
  .eventMeta>div:last-child { grid-column:1/3; border-top:1px solid #343438; }
  .eventPicker { display:flex; max-height:none; overflow:auto; }
  .eventPicker button { min-width:145px; }
  .eventActions { grid-template-columns:1fr; }
  .eventDetailsLink { min-height:50px; }
  .nowVisual .citySignal { left:14px; top:14px; }
  .nowVisual .citySignal>small { display:none; }
  .nowVisual .signalGlyph { width:62px; }
  .nowVisual .signalGlyph b { font-size:18px; }
  .emptyEvents { grid-template-columns:1fr; }
  .emptyFrequency { min-height:92vw; }
  .eventsList,.manifesto { padding:85px 5vw 95px; }
  .eventsList:after { background:linear-gradient(180deg,#eeeae2b5 0,#eeeae2e8 34%,#eeeae2b8 72%,#eeeae278 100%); }
  .calendarAtmosphere { width:100%; height:100%; opacity:1; }
  .calendarAtmosphere:after { background:linear-gradient(180deg,#eeeae28f 0,#eeeae2dc 34%,#eeeae2b0 76%,#eeeae276 100%),linear-gradient(90deg,#eeeae2dc 0,#eeeae287 66%,transparent 100%); }
  .calendarAtmosphere img { inset:0 auto 0 8%; object-position:center 28%; }
  .archive { padding:60px 5vw 70px; }
  .archiveFilm { inset:0; width:auto; height:auto; opacity:1; }
  .archiveFilm:after { background:linear-gradient(90deg,#e4ff78b8 0,#e4ff7868 66%,#e4ff7848),linear-gradient(0deg,#e4ff7885 0,transparent 45%,#e4ff7866 100%); }
  .archiveFilm span { display:none; }
  .sectionHead,.archiveHead { display:block; }
  .sectionHead h2 { margin:26px 0; font-size:16vw; }
  .calendarHeadAction { gap:18px; }
  .archiveHead h2 { margin:20px 0; font-size:12.5vw; line-height:.82; }
  .archiveHead>span { display:inline-flex; gap:13px; line-height:1.4; }
  .eventRows { margin-right:0; background:#eeeae2f0; }
  .eventRows>a { grid-template-columns:35px 1fr; padding-right:0; }
  .eventRows>a>p { grid-column:2; margin:0; }
  .eventRows>a>b { grid-column:2; width:max-content; }
  .manifesto h2 { font-size:20vw; }
  .storyPhoto { width:100%; height:46%; opacity:.6; }
  .story { grid-template-columns:1fr; margin:72px 0 0; padding:28px 5vw; gap:30px; }
  .storyLead { padding-right:0; }
  .storyCopy { padding:26px 0 0; border-left:0; border-top:1px solid #ffffff24; }
  .storyLead>span { font-size:22px; }
  .partnerLockup>a,.artistCallout a { min-height:44px; display:flex; align-items:center; }
  .partnerLockup { display:grid; grid-template-columns:1fr; align-items:flex-start; gap:18px; }
  .partnerLockup>i { line-height:.7; margin-left:16px; }
  .rjPartner img { width:82px; }
  .techNationLogo { width:190px; height:34px; }
  .eshghSection { min-height:780px; grid-template-columns:1fr; gap:28px; padding:80px 5vw; }
  .eshghIntro { max-width:520px; padding-left:16px; }
  .eshghIntro h2 { font-size:15vw; }
  .eshghMark { width:min(84vw,500px); font-size:clamp(120px,39vw,235px); }
  .eshghConstellation span { font-size:clamp(12px,var(--love-size),25px); }
  .artists { padding:85px 5vw 45px; }
  .artistsHead { display:block; }
  .artistsHeadAction { padding-left:0; }
  .artistsHead h2 { margin:27px 0; font-size:15vw; }
  .artistsHeadAction { gap:18px; }
  .artistGrid { margin-top:45px; }
  .artistCard { grid-template-columns:1fr; min-height:0; }
  .artistVisual { min-height:112vw; max-height:720px; clip-path:none; }
  .artistVisual:after { background:linear-gradient(0deg,#111,transparent 40%); }
  .artistVisual .artistLogo { left:22px; bottom:22px; width:min(42%,270px); }
  .artistVisual>b { z-index:4; right:18px; bottom:24px; }
  .artistCopy { padding:50px 6vw 55px; }
  .artistPanelVideo { inset:0 auto 0 0; width:150%; height:100%; object-position:center 72%; filter:saturate(1.3) contrast(1.04) brightness(1.28); }
  .artistCopy h3 { font-size:clamp(68px,19vw,112px); transform:none; margin:26px 0 24px; line-height:.78; }
  .artistCopy h3.artistNameLogo { width:88%; margin:28px 0 24px; }
  .artistCopy>div { flex-direction:column; }
  .artistCopy a { text-align:center; min-height:50px; display:grid; place-items:center; }
  .artistCallout { margin:12px 0 0; grid-template-columns:1fr; transform:none; padding:28px; gap:17px; }
  .artistCallout a { text-align:center; }
  .archiveCue { margin-top:26px; }
  .archiveGrid { grid-auto-columns:56vw; gap:8px; margin:14px -5vw 0; padding:0 5vw 16px; }
  .archiveGrid article { aspect-ratio:4/5; }
  .archiveGrid .citySignal { display:none; }
  .archiveGrid article>div:not(.citySignal) { left:12px; bottom:12px; right:10px; }
  .archiveGrid article>span { top:9px; right:9px; padding:6px; }
  .archiveGrid h3 { font-size:20px; letter-spacing:-1px; }
  .archiveGrid p { font-size:12px; letter-spacing:1px; }
  .signal { padding:56px 5vw 62px; }
  .signal>p { margin:0 0 32px; }
  .signal>div { display:grid; grid-template-columns:minmax(0,1fr); justify-content:stretch; gap:16px; padding:0; }
  .signal span { width:100%; white-space:normal; font-size:clamp(28px,7.4vw,34px); line-height:.96; }
  .signal span:not(.signalAccent):after { content:"·"; margin-left:.28em; color:var(--acid); }
  .signal i { display:none; }
  .signup { min-height:0; grid-template-columns:1fr; padding:80px 5vw; gap:36px; }
  .signup h2 { font-size:20vw; }
  .fusionArt { left:auto; top:20px; width:92%; max-width:none; margin:-8px 4% -4px; opacity:.74; transform:rotate(-4deg); }
  .signupActions { justify-self:stretch; width:100%; }
  .signupActions a { min-height:56px; padding:0 14px; font-size:12px; }
  .siteFooter { grid-template-columns:1fr 1fr; gap:24px 8vw; padding:48px 5vw; }
  .siteFooterBrand { grid-column:1/3; }
  .siteFooter a { min-width:44px; min-height:44px; flex-wrap:wrap; gap:5px; }
  .siteFooterCopyright { text-align:left; white-space:normal; }
}
@media (max-width:560px) {
  .siteFooter { grid-template-columns:1fr; }
  .siteFooterBrand { grid-column:auto; }
}
@media (max-width:340px) {
  h1 { font-size:18.5vw; }
  .heroDecisionLine { gap:0; }
}
