:root{--red:#ff2525;--line:#303030}body{font-family:Inter,Arial,sans-serif}header{position:absolute;z-index:3;width:100%;max-width:none;height:100px;padding:0 3%;border:0;align-items:center}.brand{font-family:Inter,Arial,sans-serif;font-weight:800;font-size:18px;letter-spacing:-.8px}.brand small{font-size:10px}header nav{margin-right:15%;gap:34px}nav a,nav button{font-size:13px;font-weight:500}sup{font-family:'IBM Plex Mono',monospace;font-size:9px;color:#aaa;margin-left:7px;vertical-align:super}nav a.active{color:white}header nav button span{font-size:9px}main{max-width:none}.hero{position:relative;display:block;min-height:860px;height: min(1000px,100svh);padding:125px 3% 0;overflow:hidden;background:#171313}.hero-backdrop{position:absolute;inset:0;background:linear-gradient(180deg,#080808bb 0%,#0b0b0b99 45%,#0b0b0b 100%),radial-gradient(ellipse at 80% 45%,#ab0d0d88,transparent 65%),url('assets/hero-concepts/01-warehouse.png') center center/cover;opacity:.8}.hero-top,.hero-middle,.hero-wordmark,.hero-baseline{position:relative}.hero-top{display:flex;justify-content:space-between}.eyebrow,.hero-baseline,.carousel-bottom,.card-meta,.card-bottom,.archive-label,.footer-bottom{font-family:'IBM Plex Mono',monospace;font-weight:400;letter-spacing:1px}.hero-middle{display:flex;justify-content:space-between;align-items:end;padding-top:48px;gap:50px}.hero-copy{padding:0;flex:1}h1,h2,.card h3,.manifesto h2{font-family:Anton,Impact,sans-serif;font-weight:400;text-transform:uppercase;letter-spacing:-.5px}h1{font-size:clamp(50px,5.8vw,88px);line-height:.95;margin:0 0 24px}.intro{font-size:14px;line-height:1.7;color:#bdbdbd;margin:0 0 24px}.text-link{display:flex;justify-content:space-between;align-items:center;max-width:280px;border-bottom:1px solid #888;padding:12px 0;font-size:13px}.text-link span{font-size:22px}.hero-events{width:43%;max-width:580px;min-width:0}.carousel-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px;gap:10px}.carousel-heading .eyebrow{font-size:9px}.carousel-heading button{color:#eee;border:1px solid #626262;background:#12121266;width:32px;height:32px;margin-left:5px}.hero-track{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.hero-track::-webkit-scrollbar{display:none}.mini-event{position:relative;flex:0 0 calc(50% - 6px);scroll-snap-align:start;border:1px solid #ffffff30;background:#141414e8;text-align:left;padding:9px;color:#eee;cursor:pointer}.mini-event img{display:block;width:100%;height:145px;object-fit:cover;filter:saturate(.6)}.mini-event .mini-label{display:block;font:8px 'IBM Plex Mono',monospace;color:#ff5959;margin:12px 0 7px}.mini-event h3{font-size:13px;font-weight:500;line-height:1.4;margin:0 0 8px;min-height:37px}.mini-event .mini-bottom{display:flex;justify-content:space-between;color:#888;font:9px 'IBM Plex Mono',monospace}.carousel-bottom{display:flex;justify-content:space-between;font-size:8px;color:#999;margin-top:14px}.hero-wordmark{font-family:Anton,Impact,sans-serif;font-size:clamp(80px,13.3vw,230px);letter-spacing:-.025em;line-height:1.1;white-space:nowrap;margin-top:40px}.hero-wordmark>span{font:20px Inter,sans-serif;vertical-align:top;display:inline-block;letter-spacing:0;margin:20px 0 0 10px}.hero-baseline{display:flex;justify-content:space-between;font-size:8px;color:#aaa;border-top:1px solid #ffffff26;padding:18px 0}.ticker{background:#0b0b0b;padding:25px 0}.ticker span{font-family:'IBM Plex Mono',monospace;font-size:10px}.discovery{padding:110px 3% 100px;max-width:1600px;margin:auto}h2{font-size:clamp(40px,4.8vw,72px);line-height:1;margin:22px 0}.notice{margin:28px 0 40px;line-height:1.9}.filters input,.filters select,.filters button{font-size:12px}.genre-row{margin:24px 0 36px}.genre-row button{font-family:'IBM Plex Mono',monospace;font-size:10px}.results-bar{padding:22px 0}.grid{gap:24px}.card{border:1px solid #303030;background:linear-gradient(135deg,#191919,#101010);position:relative;transition:border-color .25s,transform .25s;overflow:hidden}.card:hover{border-color:#b52c2c;transform:translateY(-4px)}.card::before{content:'';position:absolute;z-index:1;left:0;top:0;width:20px;height:20px;border-left:2px solid var(--red);border-top:2px solid var(--red);pointer-events:none}.poster{height:300px;margin:8px 8px 0;background:#080808}.poster:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,#0008,transparent 40%)}.poster img{filter:saturate(.75);object-fit:cover}.poster .badge{z-index:1;font:8px 'IBM Plex Mono',monospace;border:1px solid #ffffff30;backdrop-filter:blur(10px)}.save{z-index:2;border:1px solid #ffffff55;backdrop-filter:blur(12px);font-size:17px}.card-body{padding:20px 18px 0}.card-meta{font-size:9px;display:flex;align-items:center;gap:8px}.card-meta:before{content:'';width:4px;height:4px;background:var(--red)}.card h3{font-size:24px;line-height:1.15;margin:14px 0 25px;min-height:55px;letter-spacing:0}.card-bottom{font-size:8px;border-top:1px solid #303030;border-bottom:0;padding:14px 0}.manifesto{padding:80px 3%;gap:70px}.manifesto h2{font-size:64px}footer{display:block;max-width:none;padding:85px 3% 24px;background:radial-gradient(ellipse at 70% 120%,#a21515 0%,#341010 35%,transparent 75%),#161616;border-top:1px solid #333}.footer-top{display:grid;grid-template-columns:1.5fr 1fr;gap:100px;border-top:1px solid #ffffff20;border-bottom:1px solid #ffffff20;padding:55px 0 65px}.footer-top h2{font-family:Inter,sans-serif;text-transform:none;font-size:clamp(36px,4vw,60px);font-weight:500;line-height:1.08;letter-spacing:-2px}.footer-top h2 span{color:#888}.footer-top .text-link{margin-top:30px}.footer-nav{display:flex;flex-direction:column;align-items:stretch;gap:0}.footer-nav a{padding:14px 0;border-bottom:1px solid #ffffff20;font-size:13px}.footer-wordmark{display:block;font-family:Anton,sans-serif;font-size:clamp(50px,12.6vw,220px);letter-spacing:-.06em;line-height:1.15;padding-top:35px;white-space:nowrap}.footer-wordmark span{font:clamp(12px,2vw,30px) Inter,sans-serif;letter-spacing:-1px}.footer-bottom{display:flex;justify-content:space-between;color:#aaa;font-size:8px;padding-top:30px}dialog h2{font-size:34px;line-height:1.12}#detail .event-content em{color:inherit;font-style:italic}@media(min-width:1600px){.poster{height:360px}.hero{padding-left:max(3%,calc((100vw - 1500px)/2));padding-right:max(3%,calc((100vw - 1500px)/2))}.hero-wordmark{font-size:200px}}@media(max-width:1000px){header nav{margin:0;gap:18px}.hero{min-height:840px;height:auto}.hero-middle{gap:30px}.hero-events{width:45%}.mini-event img{height:130px}.hero-wordmark{margin-top:65px}.poster{height:270px}.card h3{font-size:22px}.manifesto{gap:25px}.footer-top{gap:50px}}@media(max-width:700px){header{position:absolute;display:flex;min-height:105px;gap:18px;padding:20px 5%;height:auto}.brand{font-size:16px}header nav{width:100%;justify-content:space-between;gap:5px}header nav a,header nav button{font-size:10px;padding:0}sup{font-size:7px;margin-left:3px}.hero{padding:145px 5% 0;min-height:0}.hero-top .eyebrow{font-size:8px}.hero-middle{display:block;padding-top:35px}.hero-copy h1{font-size:64px}.hero-events{width:100%;max-width:none;margin-top:45px}.mini-event img{height:150px}.hero-wordmark{font-size:12.8vw;margin-top:35px;letter-spacing:-.06em}.hero-wordmark>span{font-size:9px;margin:6px 0 0 3px}.hero-baseline{font-size:6px;gap:10px;padding:15px 0 20px}.hero-baseline>span:last-child{display:none}.discovery{padding:65px 5%}.grid{gap:14px}.poster{height:220px;margin:5px 5px 0}.card-body{padding:16px 12px 0}.card h3{font-size:20px;min-height:65px}.card-meta{font-size:8px}.card-bottom{font-size:6px;gap:8px}.manifesto{padding:50px 5%}.manifesto h2{font-size:52px}.footer-top{display:block;padding:35px 0}.footer-nav{margin-top:40px}footer{padding:40px 5% 20px}.footer-wordmark{font-size:12vw}.footer-wordmark span{font-size:10px}.footer-bottom{font-size:6px;gap:15px}.footer-bottom>span:nth-child(2){display:none}}@media(prefers-reduced-motion:reduce){.hero-track{scroll-behavior:auto}.card:hover{transform:none}}


.hero-baseline{margin-top:65px}@media(max-width:700px){.hero-baseline{margin-top:35px}}

/* Let the hero end with its content after removing the oversized wordmark. */
.hero{height:auto;min-height:0;}


/* Angled section transitions and a clearer warehouse image. */
.hero{padding-bottom:58px;border-bottom:0;clip-path:polygon(0 0,100% 0,100% calc(100% - 42px),0 100%);margin-bottom:-1px;}
.hero-backdrop{opacity:1;background-image:linear-gradient(180deg,rgba(0,0,0,.22) 0%,rgba(0,0,0,.08) 48%,rgba(11,11,11,.7) 100%),url("assets/hero-concepts/01-warehouse.png");background-position:center;background-size:cover;}
footer{position:relative;clip-path:polygon(0 42px,100% 0,100% 100%,0 100%);padding-top:110px;border-top:0;}
@media(max-width:700px){.hero{padding-bottom:42px;clip-path:polygon(0 0,100% 0,100% calc(100% - 24px),0 100%)}footer{clip-path:polygon(0 24px,100% 0,100% 100%,0 100%);padding-top:65px;}}


/* Discovery controls */
.section-head{margin-bottom:36px}
.filters select,.results-bar select{appearance:none;-webkit-appearance:none;border-radius:0;background-image:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2714%27 height=%2714%27 viewBox=%270 0 14 14%27%3E%3Cpath d=%27M3 4.5 7 8.5 11 4.5%27 fill=%27none%27 stroke=%27%23ff4545%27 stroke-width=%271.5%27/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 17px center;padding-right:46px;min-width:130px;font-family:"IBM Plex Mono",monospace;font-size:10px;}
.results-bar select{padding-right:38px;background-position:right 10px center;min-width:145px}
.genre-row{gap:10px}
.genre-row button{position:relative;border-radius:0;padding:12px 19px 12px 30px;background:linear-gradient(135deg,#1a1a1a,#101010);border:1px solid #3a3a3a;color:#aaa;text-transform:uppercase;letter-spacing:.8px;clip-path:polygon(0 0,calc(100% - 7px) 0,100% 7px,100% 100%,7px 100%,0 calc(100% - 7px));transition:background .2s,color .2s,border-color .2s;}
.genre-row button:before{content:"";position:absolute;left:14px;top:50%;width:4px;height:4px;border:1px solid #777;transform:translateY(-50%)}
.genre-row button:hover{border-color:#ff4545;color:#fff;background:#211414}
.genre-row button.selected{color:#fff;border-color:#ff4545;background:linear-gradient(120deg,#421717,#1a1111);box-shadow:inset 0 -2px #ff2525}
.genre-row button.selected:before{background:#ff2525;border-color:#ff2525;box-shadow:0 0 7px #ff252577}
.genre-row button:focus-visible{outline-offset:-3px}


/* Event cards inspired by a printed admission ticket. */
.card{display:flex;flex-direction:column;border:0;border-radius:17px;background:#d5d5ce;color:#111;padding:8px;overflow:visible;box-shadow:0 0 0 1px #ffffff15;}
.card::before{display:none}
.card:hover{border:0;box-shadow:0 0 0 1px #ff4545;transform:translateY(-4px)}
.poster{order:2;height:300px;margin:0;background:#080808;border-radius:10px;overflow:hidden;border:1px solid #111;}
.poster img{filter:saturate(.65);}
.poster .badge{left:10px;top:10px;border-radius:20px;padding:6px 10px;background:#111d;color:#eee;border-color:#ffffff40;font-size:8px;}
.save{right:10px;top:10px;border-radius:50%;background:#111e;width:30px;height:30px;color:#eee;}
.card-body{order:1;position:relative;padding:14px 12px 17px;color:#111;background:transparent;margin-bottom:10px;border-bottom:1px dashed #777;}
.card-body:before,.card-body:after{content:"";position:absolute;bottom:-7px;width:14px;height:14px;background:#0b0b0b;border-radius:50%;}
.card-body:before{left:-15px}.card-body:after{right:-15px}
.card-meta{font-size:8px;color:#333;letter-spacing:.7px;padding-right:28px;}
.card-meta:before{background:#ff2525;}
.card h3{color:#111;font-size:25px;line-height:1.12;min-height:82px;margin:15px 32px 18px 0;}
.card-body .card-bottom{color:#333;border-top:1px solid #999;font-size:7px;letter-spacing:.6px;padding:12px 0 0;}
.card-bottom span:first-child{border:1px solid #555;border-radius:20px;padding:4px 8px;}
.card-bottom span:last-child{color:#111;align-self:center;}
.card-body:after{box-shadow:none;}
.card .card-meta:after{content:"✳";position:absolute;right:10px;top:24px;font-family:Arial,sans-serif;font-size:38px;line-height:1;color:#ff2525;}
@media(min-width:1600px){.poster{height:360px}}
@media(max-width:1000px){.poster{height:270px}}
@media(max-width:700px){.card{padding:6px;border-radius:12px}.poster{height:220px;border-radius:7px}.card-body{padding:12px 7px 15px}.card h3{font-size:21px;min-height:94px;margin-right:15px}.card .card-meta:after{font-size:25px;right:3px;top:29px}.card-meta{font-size:7px}.card-bottom{gap:5px}.card-body .card-bottom{font-size:6px;letter-spacing:0}.card-bottom span:first-child{padding:3px 5px}.card-body:before{left:-13px}.card-body:after{right:-13px}}


/* Dark ticket surfaces. */
.card{background:#202020;color:#eee;box-shadow:0 0 0 1px #3b3b3b}
.card-body,.card h3{color:#eee}
.card-meta{color:#aaa}
.card-body{border-bottom-color:#555}
.card-body .card-bottom{color:#aaa;border-top-color:#414141}
.card-bottom span:first-child{border-color:#626262}
.card-bottom span:last-child{color:#ddd}


/* Shared technical action treatment. */
.text-link,.load,.primary,.filters button,.carousel-heading button{position:relative;border:1px solid #b52d2d;border-radius:0;background:linear-gradient(120deg,#421717,#1a1111);color:#fff;font-family:"IBM Plex Mono",monospace;font-size:10px;letter-spacing:.8px;text-transform:uppercase;clip-path:polygon(0 0,calc(100% - 7px) 0,100% 7px,100% 100%,7px 100%,0 calc(100% - 7px));box-shadow:inset 0 -2px #ff2525;transition:background .2s,border-color .2s;}
.text-link,.load,.primary{padding:15px 20px 15px 34px;min-height:46px;gap:25px;}
.text-link:before,.load:before,.primary:before{content:"";position:absolute;left:16px;top:50%;width:5px;height:5px;background:#ff2525;transform:translateY(-50%);}
.text-link:hover,.load:hover,.primary:hover,.filters button:hover,.carousel-heading button:hover{background:#4a1919;border-color:#ff4545;}
.text-link span{font-size:17px}.text-link:focus-visible,.load:focus-visible,.primary:focus-visible{outline-offset:-4px}


/* Square technical ticket framing; retain the current panel layout. */
#grid .card{border-radius:0;border:1px solid #3b3b3b;box-shadow:none;}
#grid .card::before{display:block;content:"";position:absolute;z-index:3;left:-1px;top:-1px;width:18px;height:18px;border-left:2px solid #ff2525;border-top:2px solid #ff2525;pointer-events:none;}
#grid .card::after{content:"";position:absolute;z-index:3;right:-1px;bottom:-1px;width:18px;height:18px;border-right:2px solid #ff2525;border-bottom:2px solid #ff2525;pointer-events:none;}
#grid .card:hover{border-color:#b52d2d;box-shadow:0 0 18px #ff25250a;}
#grid .poster{border-radius:0;}
#grid .poster .badge,#grid .save,#grid .card-bottom span:first-child{border-radius:0;}
#grid .card-body:before,#grid .card-body:after{border-radius:0;width:8px;height:12px;bottom:-6px;}
#grid .card-body:before{left:-13px}#grid .card-body:after{right:-13px}
@media(max-width:700px){#grid .card-body:before{left:-10px}#grid .card-body:after{right:-10px}}


/* Industrial genre strip and aligned carousel controls. */
.carousel-heading>div{display:flex;align-items:center;gap:5px}
.carousel-heading button{display:inline-flex;align-items:center;justify-content:center;padding:0;margin:0;line-height:1;font-size:17px;}
.ticker{display:block;position:relative;padding:22px 0;border-top:1px solid #ff2525;border-bottom:1px solid #ff2525;background:repeating-linear-gradient(115deg,transparent 0,transparent 25px,#ff252509 25px,#ff252509 26px),#130b0b;overflow:hidden;}
.ticker:before,.ticker:after{content:"";position:absolute;left:0;right:0;height:3px;background:repeating-linear-gradient(125deg,#ff2525 0,#ff2525 9px,transparent 9px,transparent 19px);opacity:.6;}
.ticker:before{top:0}.ticker:after{bottom:0}
.ticker-line{display:flex;align-items:center;justify-content:space-around;gap:24px;min-width:1050px;padding:0 28px;}
.ticker .ticker-line span{font-family:Anton,Impact,sans-serif;font-size:clamp(21px,2.4vw,38px);font-weight:400;letter-spacing:.4px;color:#eee;padding:0;transform:skewX(-7deg);}
.ticker .ticker-line span:nth-of-type(even){color:transparent;-webkit-text-stroke:1px #ff4545;}
.ticker .ticker-mark{display:block;width:16px;height:19px;flex:0 0 16px;object-fit:contain;}
@media(max-width:700px){.ticker{padding:17px 0}.ticker-line{min-width:max-content;justify-content:start;gap:22px;padding:0 20px}.ticker .ticker-line span{font-size:24px}.ticker b{font-size:24px}}


#contact-modal{max-width:600px;padding:40px}#contact-modal h2{font-size:48px;margin-top:22px}.contact-intro{color:#aaa;line-height:1.7}#contact-form{display:grid;gap:20px;margin-top:28px}#contact-form label{display:grid;gap:9px;font:10px "IBM Plex Mono",monospace;text-transform:uppercase;color:#bbb;letter-spacing:1px}#contact-form input,#contact-form textarea{width:100%;padding:13px;border:1px solid #444;background:#0d0d0d;color:#eee;font:14px Inter,Arial,sans-serif;letter-spacing:0;border-radius:0}#contact-form textarea{resize:vertical}#contact-form .primary{margin:0;justify-self:start}#contact-form .primary:disabled{opacity:.45;cursor:not-allowed}#contact-status,#contact-test-note{font-size:12px;line-height:1.6;margin:0;color:#bbb}#contact-test-note{color:#e6a39b}@media(max-width:700px){#contact-modal{padding:28px 20px}#contact-modal h2{font-size:38px}}


/* Persistent navigation and matching featured tickets. */
body>header{position:fixed;top:0;left:0;right:0;z-index:20;transition:background .25s,backdrop-filter .25s,border-color .25s;background:transparent;border-bottom:1px solid transparent;}
body>header.is-scrolled{background:rgba(15,15,15,.78);backdrop-filter:blur(18px) saturate(130%);-webkit-backdrop-filter:blur(18px) saturate(130%);border-bottom-color:#ffffff18;}
#discover,#community{scroll-margin-top:110px}
#grid .card{background:#161616;}
.mini-event{display:flex;flex-direction:column;background:#161616;border:1px solid #3b3b3b;border-radius:0;padding:8px;position:relative;}
.mini-event:before,.mini-event:after{content:"";position:absolute;width:13px;height:13px;pointer-events:none;z-index:1}
.mini-event:before{top:-1px;left:-1px;border-top:2px solid #ff2525;border-left:2px solid #ff2525}
.mini-event:after{bottom:-1px;right:-1px;border-bottom:2px solid #ff2525;border-right:2px solid #ff2525}
.mini-event .mini-label{order:0;margin:8px 6px;font-size:8px;color:#bbb;padding-right:24px;}
.mini-event h3{order:1;font-family:Anton,Impact,sans-serif;text-transform:uppercase;font-size:19px;line-height:1.15;min-height:65px;margin:4px 6px 12px;color:#eee;font-weight:400;}
.mini-event .mini-bottom{order:2;border-top:1px solid #353535;border-bottom:1px dashed #444;padding:10px 4px;margin:0 0 9px;gap:8px;font-size:7px;}
.mini-event img{order:3;border:1px solid #333;border-radius:0;height:145px;}
.mini-event:hover{border-color:#b52d2d;}
.carousel-heading button{display:grid;place-items:center;padding:0!important;width:34px;height:34px;line-height:0;font-size:0;}
.carousel-heading button svg{display:block;width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.5;}
@media(max-width:700px){.mini-event h3{font-size:17px;min-height:65px}#discover,#community{scroll-margin-top:115px}}


body>header{transition:height .2s,padding .2s,background .2s,backdrop-filter .2s,border-color .2s}
body>header.is-scrolled{height:64px;min-height:64px;padding-top:0;padding-bottom:0;}
.ticker-belt{display:flex;width:max-content;animation:techno-ticker 30s linear infinite;will-change:transform;}
.ticker .ticker-line{flex:0 0 auto;width:max(100vw,1200px);min-width:0;justify-content:space-around;box-sizing:border-box;}
.ticker.is-paused .ticker-belt,.ticker:hover .ticker-belt,.ticker:focus-within .ticker-belt{animation-play-state:paused}
.ticker-pause{position:absolute;right:8px;bottom:6px;z-index:2;width:22px;height:22px;background:#160c0ce6;color:#ddd;border:1px solid #823030;font-size:10px;display:grid;place-items:center;padding:0;}
@keyframes techno-ticker{to{transform:translateX(-50%)}}
@media(max-width:700px){body>header.is-scrolled{height:86px;min-height:86px;padding:12px 5%;gap:12px}.ticker .ticker-line{width:1050px}}
@media(prefers-reduced-motion:reduce){.ticker-belt{animation:none}.ticker-pause{display:none}body>header{transition:none}}


header .brand{display:flex;align-items:center;flex-shrink:0}header .brand img{display:block;width:245px;height:auto;max-width:100%}@media(max-width:700px){header .brand img{width:210px}}


.listening{display:grid;grid-template-columns:1fr 1.15fr;gap:8%;align-items:center;padding:85px 4%;background:radial-gradient(ellipse at 85% 80%,#34101044,transparent 65%),#111;border-top:1px solid #303030;}
.listening h2{font-size:clamp(42px,4.6vw,70px);margin:22px 0}.listening-copy>p:not(.eyebrow){color:#999;font-size:13px;line-height:1.8;max-width:350px}.listening-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:25px}.listening-tags span{font:8px "IBM Plex Mono",monospace;letter-spacing:1px;border:1px solid #444;padding:8px 10px;color:#aaa}
.mix-panel{position:relative;border:1px solid #3b3b3b;background:#161616;padding:24px;min-width:0}.mix-panel:before,.mix-panel:after{content:"";position:absolute;width:17px;height:17px;pointer-events:none}.mix-panel:before{top:-1px;left:-1px;border-left:2px solid #ff2525;border-top:2px solid #ff2525}.mix-panel:after{bottom:-1px;right:-1px;border-right:2px solid #ff2525;border-bottom:2px solid #ff2525}.mix-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.mix-heading .eyebrow{font-size:8px}.mix-dot{font:8px "IBM Plex Mono",monospace;color:#ff4545}.mix-panel h3{font:36px Anton,Impact,sans-serif;letter-spacing:.5px;margin:22px 0 7px}.mix-title{font-size:12px;color:#aaa;margin:0 0 24px}.mix-panel iframe{display:block;width:100%;border:0;background:#111}.mix-bottom{display:flex;justify-content:space-between;gap:15px;border-top:1px dashed #444;margin-top:20px;padding-top:16px;font:8px "IBM Plex Mono",monospace;color:#888}.mix-bottom a{color:#ddd}@media(max-width:700px){.listening{grid-template-columns:1fr;gap:35px;padding:50px 5%}.mix-panel{padding:17px}.mix-heading{flex-wrap:wrap}.mix-bottom{font-size:7px}}


/* Logo and hero label refinements. */
header .brand img{clip-path:polygon(0 0,calc(100% - 5px) 0,100% 5px,100% 100%,5px 100%,0 calc(100% - 5px))}
.hero-copy>.eyebrow{margin:0 0 20px;}
.hero-middle{padding-top:35px;align-items:center;}
/* Contact console */
#contact-modal{border:1px solid #484848;border-radius:0;background:linear-gradient(135deg,#ff252509,transparent 40%),repeating-linear-gradient(0deg,transparent 0,transparent 39px,#ffffff02 39px,#ffffff02 40px),#131313;box-shadow:0 24px 100px #000b,inset 0 0 0 5px #0b0b0b;padding:40px;}
#contact-modal:before,#contact-modal:after{content:"";position:absolute;pointer-events:none;width:24px;height:24px;z-index:1}
#contact-modal:before{top:0;left:0;border-left:2px solid #ff2525;border-top:2px solid #ff2525}
#contact-modal:after{right:0;bottom:0;border-right:2px solid #ff2525;border-bottom:2px solid #ff2525}
#contact-modal>.eyebrow{border-bottom:1px dashed #444;padding:0 30px 18px 0;color:#aaa}
#contact-modal .close{display:grid;place-items:center;line-height:1;background:#241111;border-color:#833030;color:#fff;}
#contact-form{counter-reset:contact-field}
#contact-form label{position:relative;counter-increment:contact-field;gap:11px;}
#contact-form label:before{content:"0" counter(contact-field);position:absolute;right:0;top:0;color:#ff4545;font:9px "IBM Plex Mono",monospace;}
#contact-form input,#contact-form textarea{border-color:#3b3b3b;border-left:2px solid #6d2929;background:linear-gradient(110deg,#1a1414,#0d0d0d 65%);font-family:"IBM Plex Mono",monospace;font-size:12px;transition:border-color .2s,box-shadow .2s;}
#contact-form input:focus,#contact-form textarea:focus{outline:none;border-color:#b83838;box-shadow:inset 3px 0 #ff2525,0 0 0 1px #ff252522;}
#contact-form label:focus-within{color:#fff}
#contact-challenge{border-top:1px dashed #444;padding-top:17px;min-width:0;}
#contact-status:not(:empty){border-left:2px solid #ff2525;padding:10px 12px;background:#211414;}
#contact-modal .contact-intro{font-size:12px}
@media(max-width:700px){#contact-modal{padding:30px 20px}.hero-copy>.eyebrow{margin-bottom:18px}}


/* Compact contact layout that fits standard desktop viewports. */
#contact-modal{padding:26px 32px;max-height:calc(100dvh - 32px);}
#contact-modal>.eyebrow{margin:0;padding-bottom:12px;}
#contact-modal h2{font-size:40px;margin:18px 0 12px;}
#contact-modal .contact-intro{margin:0;line-height:1.5;}
#contact-form{gap:13px;margin-top:20px;}
#contact-form label{gap:7px;}
#contact-form input{padding:11px 12px;}
#contact-form textarea{height:94px;min-height:70px;padding:11px 12px;}
#contact-challenge{padding-top:12px;}
#contact-test-note{font-size:10px;line-height:1.4;}
#contact-status:empty{display:none;}
#contact-form .primary{min-height:42px;padding-top:12px;padding-bottom:12px;}
body:has(#contact-modal[open]){overflow:hidden;}
@media(max-width:700px){#contact-modal{padding:25px 20px;}#contact-modal h2{font-size:34px;}}
@media(max-height:650px) and (min-width:701px){#contact-modal{max-width:720px;padding:20px 28px;}#contact-form{grid-template-columns:1fr 1fr;gap:10px 18px;margin-top:14px;}#contact-form label:nth-of-type(3),#contact-challenge,#contact-test-note,#contact-status{grid-column:1/-1;}#contact-form textarea{height:70px;}#contact-modal h2{font-size:32px;margin:12px 0 8px;}}


/* Lightweight animated warehouse hero preview. */
.hero-backdrop{transform-origin:65% 45%;animation:warehouse-drift 18s ease-in-out infinite;will-change:transform;}
.hero-backdrop:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 76% 40%,rgba(255,25,25,.12),transparent 58%);mix-blend-mode:screen;animation:warehouse-glow 8s ease-in-out infinite;pointer-events:none;}
@keyframes warehouse-drift{0%,100%{transform:scale(1.015) translateX(0)}50%{transform:scale(1.055) translateX(-.6%)}}
@keyframes warehouse-glow{0%,100%{opacity:.25}50%{opacity:.9}}
@media(prefers-reduced-motion:reduce){.hero-backdrop,.hero-backdrop:after{animation:none;will-change:auto}}


.hero-motion{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0;mask-image:linear-gradient(to bottom,#000 0%,#000 65%,transparent 87%)}
@media(prefers-reduced-motion:reduce){.hero-motion{display:none}}


.hero-copy .intro{font-family:"IBM Plex Mono",monospace;font-weight:400;letter-spacing:1px;}


.mix-controls{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:18px}.mix-controls button{display:grid;place-items:center;width:34px;height:32px;border:1px solid #a82b2b;background:linear-gradient(120deg,#421717,#1a1111);color:#fff;clip-path:polygon(0 0,calc(100% - 6px) 0,100% 6px,100% 100%,6px 100%,0 calc(100% - 6px));line-height:1}.mix-controls button:disabled{opacity:.4;cursor:wait}.mix-position{font:9px "IBM Plex Mono",monospace;color:#bbb}.mix-bottom a:first-child{color:#888}


@font-face{font-family:"Astersport";src:url("assets/fonts/astersport-bold.otf") format("opentype");font-weight:700;font-style:normal;font-display:swap;}
.hero-copy h1,.section-head h2,.listening h2,.manifesto h2{font-family:"Astersport",Anton,Impact,sans-serif;font-weight:700;}
.hero-copy h1{font-size:clamp(46px,5.3vw,80px);line-height:1.05;letter-spacing:0;}
@media(max-width:700px){.hero-copy h1{font-size:clamp(36px,9vw,60px);}}


.footer-top h2,.footer-wordmark,.footer-wordmark span{font-family:"Astersport",Anton,Impact,sans-serif;font-weight:700;letter-spacing:0;}
.footer-top h2{text-transform:uppercase;font-size:clamp(28px,3vw,48px);line-height:1.15;}
.footer-wordmark{font-size:clamp(30px,8.5vw,145px);line-height:1.2;}
.footer-wordmark span{font-size:clamp(10px,1.8vw,27px);}
@media(max-width:700px){.footer-top h2{font-size:clamp(24px,6vw,36px)}.footer-wordmark{font-size:8vw}.footer-wordmark span{font-size:1.6vw}}


/* Featured tickets: matching seam cutouts and taller artwork. */
.mini-event{--featured-image-height:210px;mask-image:linear-gradient(#000,#000),linear-gradient(#000,#000),linear-gradient(#000,#000);}
.mini-event h3{font-size:17px;min-height:54px;line-height:1.15;}
.mini-event img{height:var(--featured-image-height);object-fit:cover;}
.mini-event{mask:radial-gradient(6px 6px at 0 calc(100% - var(--featured-image-height) - 13px),transparent 98%,#000) left/51% 100% no-repeat,radial-gradient(6px 6px at 100% calc(100% - var(--featured-image-height) - 13px),transparent 98%,#000) right/51% 100% no-repeat;}
@media(max-width:700px){.mini-event{--featured-image-height:185px}.mini-event h3{font-size:15px;min-height:52px;}}


.mini-event{mask:none;clip-path:polygon(0 0,100% 0,100% calc(100% - var(--featured-image-height) - 19px),calc(100% - 5px) calc(100% - var(--featured-image-height) - 19px),calc(100% - 5px) calc(100% - var(--featured-image-height) - 7px),100% calc(100% - var(--featured-image-height) - 7px),100% 100%,0 100%,0 calc(100% - var(--featured-image-height) - 7px),5px calc(100% - var(--featured-image-height) - 7px),5px calc(100% - var(--featured-image-height) - 19px),0 calc(100% - var(--featured-image-height) - 19px));}


/* One-shot hero entrance sequence. */
.hero-copy>.eyebrow{animation:hero-label-in .6s cubic-bezier(.16,1,.3,1) .1s both;}
.hero-copy h1{animation:hero-title-in 1s cubic-bezier(.16,1,.3,1) .22s both;}
.hero-copy .intro{animation:hero-element-in .75s cubic-bezier(.16,1,.3,1) .5s both;}
.hero-copy>.text-link{animation:hero-element-in .75s cubic-bezier(.16,1,.3,1) .65s both;}
.hero-events .carousel-heading{animation:hero-label-in .6s ease .55s both;}
.hero-track .mini-event{animation:hero-card-in .9s cubic-bezier(.16,1,.3,1) .7s both;}
.hero-track .mini-event:nth-child(even){animation-delay:.84s;}
.hero-events .carousel-bottom{animation:hero-element-in .6s ease 1s both;}
.hero-baseline{animation:hero-label-in .8s ease .9s both;}
@keyframes hero-label-in{from{opacity:0;transform:translateX(-14px);filter:blur(3px)}to{opacity:1;transform:translateX(0);filter:blur(0)}}
@keyframes hero-title-in{from{opacity:0;transform:translateY(28px);clip-path:inset(0 100% 0 0);filter:blur(5px)}to{opacity:1;transform:translateY(0);clip-path:inset(0 0 0 0);filter:blur(0)}}
@keyframes hero-element-in{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@keyframes hero-card-in{from{opacity:0;transform:perspective(900px) translateY(32px) rotateX(7deg);filter:blur(4px)}to{opacity:1;transform:perspective(900px) translateY(0) rotateX(0);filter:blur(0)}}
@media(prefers-reduced-motion:reduce){.hero-copy>.eyebrow,.hero-copy h1,.hero-copy .intro,.hero-copy>.text-link,.hero-events .carousel-heading,.hero-track .mini-event,.hero-events .carousel-bottom,.hero-baseline{animation:none;}}


.hero-copy .intro{max-width:none;font-size:clamp(10px,1vw,14px);letter-spacing:.6px;}
.hero-copy .intro>span{display:block;white-space:nowrap;}
@media(max-width:700px){.hero-copy .intro{font-size:clamp(9px,2.2vw,13px);letter-spacing:0;}}


/* Navigation follows the hero content bounds. */
body>header{padding-left:3%;padding-right:3%;}body>header>nav{margin-right:0;}
.menu-toggle{display:none;}
@media(min-width:1600px){body>header{padding-left:max(3%,calc((100vw - 1500px)/2));padding-right:max(3%,calc((100vw - 1500px)/2));}}
@media(max-width:700px){body>header,body>header.is-scrolled{height:76px;min-height:76px;padding:16px 5%;flex-wrap:nowrap;gap:15px;}body>header.is-scrolled{height:62px;min-height:62px;padding-top:10px;padding-bottom:10px;}.menu-toggle{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:40px;height:38px;flex-shrink:0;background:#17111199;border:1px solid #763030;}.menu-toggle span{display:block;width:18px;height:1px;background:#eee;transition:transform .2s,opacity .2s;}.menu-open .menu-toggle span:nth-child(1){transform:translateY(6px) rotate(45deg)}.menu-open .menu-toggle span:nth-child(2){opacity:0}.menu-open .menu-toggle span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}body>header>nav{display:none;position:absolute;top:100%;left:0;right:0;width:100%;margin:0;padding:16px 5% 24px;background:rgba(12,12,12,.97);border-bottom:1px solid #843030;backdrop-filter:blur(18px);flex-direction:column;align-items:stretch;gap:0;}body>header.menu-open>nav{display:flex;}body>header>nav a,body>header>nav button{display:block;text-align:left;font:13px "IBM Plex Mono",monospace;padding:16px 8px;border:0;border-bottom:1px solid #303030;}body>header.menu-open{background:#111e;}body>header>nav sup{float:right;font-size:9px;}body>header>nav #saved-count{float:none;}#discover,#community{scroll-margin-top:76px;}}


footer{clip-path:none;border-top:1px solid #303030;background:radial-gradient(ellipse at 70% 120%,rgba(162,21,21,.9) 0%,rgba(52,16,16,.72) 35%,transparent 75%),linear-gradient(rgba(10,10,10,.45),rgba(10,10,10,.45)),url("assets/hero-concepts/06-rave-motion.png") center/cover no-repeat,#161616;}


#community.listening{background:linear-gradient(90deg,rgba(8,8,8,.9),rgba(8,8,8,.48)),url("assets/hero-concepts/07-speaker-monolith.png") center/cover no-repeat;}


@media(max-width:700px){body>header .brand{flex:1;min-width:0;max-width:290px;}body>header .brand img{width:100%;max-width:290px;}body>header .menu-toggle{flex:0 0 40px;}}


@media(max-width:700px){body>header>nav a,body>header>nav button{font-size:20px;padding:20px 10px;line-height:1.3;}body>header>nav sup{font-size:11px;}body>header>nav #saved-count{font-size:11px;padding:4px 7px;}body>header>nav{max-height:calc(100dvh - 76px);overflow-y:auto;}}


@media(max-width:700px){body>header>nav #saved{display:flex;align-items:center;gap:12px;}body>header>nav #saved sup{order:3;margin-left:auto;float:none;align-self:center;}body>header>nav #saved-count{display:inline-flex;align-items:center;justify-content:center;line-height:1;min-width:21px;min-height:21px;padding:3px 6px;margin:0;vertical-align:middle;}}


header .brand{position:relative;}header .brand:after{content:"";position:absolute;bottom:0;left:0;width:5px;height:5px;background:#ff2525;clip-path:polygon(0 0,100% 100%,0 100%);pointer-events:none;}


#grid .card .card-meta:after{content:"";width:19px;height:22px;right:10px;top:24px;background:url("assets/event-mark.svg") center/contain no-repeat;}
@media(max-width:700px){#grid .card .card-meta:after{width:14px;height:17px;right:6px;top:27px;}}

/* Official organizer branding, tinted with the site's accent. */
body[data-page="archive"] .discovery{padding-top:150px;min-height:65vh;}
@media(max-width:700px){body[data-page="archive"] .discovery{padding-top:115px;}}
.discovery .archive-range{color:var(--red);white-space:nowrap;}
.filters .search{min-width:0;}
.filters .search input{min-width:0;flex:1;width:0;}
@media(max-width:700px){.section-head>div{min-width:0}.section-head h2{font-size:clamp(26px,7.5vw,38px);}}
.discovery .archive-infinity{display:inline-block;font-family:Arial,sans-serif;font-size:22px;font-weight:600;line-height:0;vertical-align:-3px;letter-spacing:0;}
.footer-wordmark{mask-image:linear-gradient(to bottom,#000 20%,rgba(0,0,0,.75) 40%,rgba(0,0,0,.25) 60%,transparent 88%);-webkit-mask-image:linear-gradient(to bottom,#000 20%,rgba(0,0,0,.75) 40%,rgba(0,0,0,.25) 60%,transparent 88%);}
#grid .card h3{font-size:20px;line-height:1.15;}
body:not([data-page="archive"]) #grid .card h3,body:not([data-page="archive"]) .mini-event h3{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden;}
body:not([data-page="archive"]) #grid .card h3{min-height:0;height:3.45em;max-height:3.45em;}
@media(max-width:700px){#grid .card h3{font-size:18px;}}
#grid .card .card-meta.has-event-brand:after{display:none;}
.card .event-brand{position:absolute;right:10px;top:14px;width:66px;height:18px;background:var(--red);pointer-events:none;mask-position:center;mask-size:contain;mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat;}
.card .event-brand--awakenings{mask-image:url("assets/event-logos/awakenings.svg");-webkit-mask-image:url("assets/event-logos/awakenings.svg");}
.card .card-meta.has-event-brand{padding-right:70px;}
@media(max-width:700px){.card .event-brand{right:6px;top:12px;width:48px;height:14px;}.card .card-meta.has-event-brand{padding-right:50px;}}

