@font-face{font-family:Barlow;src:url('assets/barlow.woff') format('woff');font-display:swap}
@font-face{font-family:Condensed;src:url('assets/barlow-condensed.woff') format('woff');font-display:swap}
:root{--bg:#090909;--surface:#101010;--fg:#f0f0ec;--muted:#999a9a;--line:#363636;--accent:#ff367d;--accent-ink:#0a0809;--hero:#000;--mono:'Courier New',monospace;--pad:clamp(22px,4.8vw,80px);color-scheme:dark;scroll-behavior:smooth;scroll-padding-top:76px}
:root[data-theme=light]{--bg:#f0f0e9;--surface:#e8e8e0;--fg:#111310;--muted:#585b54;--line:#bcbfb5;--accent:#bc0045;--accent-ink:#fff;--hero:#f7f7f1;color-scheme:light}
:root[data-direction=afterhours]{--accent:#d5fb4b}
:root[data-direction=afterhours][data-theme=light]{--accent:#476300;--accent-ink:#fff;--bg:#e9ecdf;--surface:#e0e5d4;--hero:#f0f3e6}
:root[data-direction=flywall]{--accent:#ff477e;--bg:#111110;--surface:#191918}
:root[data-direction=flywall][data-theme=light]{--accent:#bd1644;--accent-ink:#fff;--bg:#eee8dc;--surface:#e3ddcf;--hero:#eee8dc}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--fg);font-family:Barlow,Arial,sans-serif;font-size:16px;line-height:1.45}
button,a{-webkit-tap-highlight-color:transparent}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer;color:inherit;background:none;border:0}
button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:6px}
button:hover,a:hover{color:var(--accent)}
::selection{background:var(--accent);color:var(--accent-ink)}
img{max-width:100%;height:auto;display:block}
h1,h2,h3,p{margin:0}
.muted{color:var(--muted)}
.accent{color:var(--accent)}
.eyebrow,.micro{font-family:var(--mono);font-size:11px;letter-spacing:.08em;line-height:1.6}
.eyebrow{color:var(--accent)}
.accent-square{display:inline-block;width:6px;height:6px;background:var(--accent);margin-right:9px;vertical-align:2px}
.brand-image{object-fit:contain}
[data-theme=light] .brand-image{filter:invert(1)}
.skip-link{position:fixed;left:20px;top:-100px;padding:12px;background:var(--bg);z-index:20}
.skip-link:focus{top:10px}
.design-bar{height:54px;display:flex;align-items:center;gap:24px;padding:0 24px;border-bottom:1px solid var(--line);background:var(--surface);position:sticky;top:0;z-index:10;font-family:var(--mono);font-size:11px}
.design-label{display:flex;align-items:center;gap:8px;letter-spacing:.04em;white-space:nowrap}
.design-dot{width:6px;height:6px;border:1px solid currentColor;border-radius:50%}
.direction-picker{height:100%;display:flex;gap:3px}
.direction-picker button{padding:0 18px;position:relative;border-bottom:2px solid transparent}
.direction-picker button span{color:var(--muted);margin-right:5px}
.direction-picker button[aria-pressed=true]{color:var(--fg);border-bottom-color:var(--accent);background:color-mix(in srgb,var(--fg) 5%,transparent)}
.direction-picker button[aria-pressed=true] span{color:var(--accent)}
.theme-toggle{margin-left:auto;display:flex;align-items:center;gap:9px;white-space:nowrap}
.theme-toggle>span:first-child{font-size:21px}
.site-header{height:103px;margin:0 var(--pad);display:flex;align-items:center;gap:40px;border-bottom:1px solid var(--line);position:relative;z-index:2}
.nav-logo{width:203px}
.header-caption{font-family:var(--mono);font-size:9px;letter-spacing:.04em;line-height:1.6;color:var(--muted);padding-left:30px;border-left:1px solid var(--line)}
.main-nav{margin-left:auto;display:flex;gap:32px;align-items:center;font-size:13px}
.main-nav a:first-child{border-bottom:1px solid var(--accent);padding-bottom:3px}
.member-link{border:1px solid var(--line);padding:10px 15px;font-size:12px}
.member-link span{margin-left:12px;color:var(--accent)}
.hero{position:relative;isolation:isolate;overflow:hidden;background:var(--hero)}
.globe-layer{position:absolute;inset:0;z-index:-2;pointer-events:none;background:var(--hero)}
.globe-video{height:100%;width:100%;object-fit:cover;opacity:.76;display:block}
[data-theme=light] .globe-video{filter:invert(1);mix-blend-mode:multiply;opacity:.65}
.hero-topline,.hero-bottom{display:flex;justify-content:space-between;align-items:center;font:10px var(--mono);letter-spacing:.06em;position:absolute;left:var(--pad);right:var(--pad);z-index:1}
.hero-topline{top:28px;color:var(--muted)}
.hero-bottom{bottom:23px;color:var(--muted)}
.motion-toggle{font:10px var(--mono);display:flex;gap:8px;align-items:center;min-height:30px;padding:0 0 0 15px;letter-spacing:0}
.motion-toggle>span:first-child{color:var(--accent);font-size:14px}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:36px;min-height:46px;padding:12px 20px;font-size:13px;font-weight:bold}
.primary{background:var(--accent);color:var(--accent-ink);border:1px solid var(--accent)}
.primary:hover{background:var(--fg);border-color:var(--fg);color:var(--bg)}
.button>span{font-size:21px;line-height:1}
.signal-hero{min-height:690px;height:calc(100svh - 157px);max-height:850px}
.signal-hero .globe-layer{inset:-100px -80px -20px}
.signal-hero:after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(0deg,var(--hero) 0%,transparent 28%,transparent 80%,var(--hero)),linear-gradient(90deg,var(--hero),transparent 25%,transparent 75%,var(--hero))}
.signal-copy{position:absolute;top:23%;left:10%;right:10%;text-align:center}
.signal-copy .eyebrow{font-size:10px;letter-spacing:.26em;margin-bottom:28px}
.signal-copy h1{max-width:850px;margin:auto}
.signal-copy h1 img{width:100%}
.hero-tagline{font-family:Condensed,Arial,sans-serif;font-size:clamp(18px,2.3vw,31px);letter-spacing:.02em;font-weight:bold;margin-top:25px}
.hero-tagline .accent{margin-left:5px}
.hero-scroll{font:10px var(--mono);letter-spacing:.1em;display:inline-flex;align-items:center;gap:25px;margin-top:38px;padding:10px 0}
.hero-scroll span{font-size:20px;color:var(--accent)}
.signal-next{position:absolute;bottom:79px;left:var(--pad);right:var(--pad);display:flex;align-items:center;gap:30px;border:1px solid var(--line);padding:19px 24px;background:color-mix(in srgb,var(--bg) 85%,transparent);backdrop-filter:blur(8px)}
.next-label{color:var(--accent);font:10px var(--mono);letter-spacing:.06em;align-self:stretch;display:flex;align-items:center;gap:25px;padding-right:28px;border-right:1px solid var(--line)}
.next-label>span{font-size:20px}
.signal-next time{font:12px var(--mono);line-height:1.2}
.signal-next time strong{font-size:30px;font-weight:normal;letter-spacing:-2px}
.signal-next time small{display:inline-block;font-size:8px;color:var(--muted);letter-spacing:.04em;margin-top:7px}
.next-name{display:flex;flex-direction:column;gap:4px}
.next-name a{font-family:Condensed,Arial,sans-serif;font-size:34px;line-height:1;font-weight:bold;letter-spacing:.02em}
.next-name>span{font:9px var(--mono);color:var(--muted)}
.signal-next>.button{margin-left:auto;min-width:155px}
.upcoming{padding:66px var(--pad) 55px;border-top:1px solid var(--line);position:relative}
.section-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:33px;gap:20px}
.section-heading .eyebrow{font-size:10px;margin-bottom:8px}
.section-heading h2{font-family:Condensed,Arial,sans-serif;font-size:clamp(34px,4.2vw,60px);font-weight:bold;letter-spacing:-.025em;line-height:1}
.season-label{font:10px/1.8 var(--mono);text-align:right;letter-spacing:.02em}
.event-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
.event-card{min-width:0;border-top:1px solid var(--fg)}
.card-topline{font:10px var(--mono);display:flex;justify-content:space-between;align-items:center;padding:14px 0}
.card-topline time{color:var(--accent)}
.event-art{display:block;overflow:hidden;background:#171717;aspect-ratio:16/9}
.event-art img{width:100%;height:100%;object-fit:contain;transition:transform .35s}
.event-art:hover img{transform:scale(1.025)}
.card-content{padding:20px 0 0}
.card-content .eyebrow{font-size:9px;color:var(--muted)}
.card-content h3{font-family:Condensed,Arial,sans-serif;font-size:clamp(25px,2.7vw,39px);letter-spacing:-.018em;line-height:1.2;margin-top:5px;min-height:47px}
.event-detail{font:9px var(--mono);color:var(--muted);margin:5px 0 24px;min-height:14px}
.card-actions{border-top:1px solid var(--line);padding-top:15px;display:flex;align-items:center;justify-content:space-between;font-size:12px}
.detail-link{color:var(--muted)}
.detail-link>span{margin-left:10px}
.ticket-link{display:flex;gap:34px;align-items:center;font-weight:bold;color:var(--accent)}
.ticket-link span{font-size:22px}
.later-events{margin-top:50px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 2fr 2fr;gap:32px;padding-top:25px;align-items:center}
.later-events>.eyebrow{color:var(--muted);font-size:10px}
.later-events a{display:flex;gap:17px;align-items:center;min-width:0}
.later-events time{font:10px var(--mono);color:var(--accent);white-space:nowrap}
.later-events strong{font-family:Condensed,Arial,sans-serif;font-size:22px;white-space:nowrap}
.later-events a>span{font:9px var(--mono);margin-left:auto;text-align:right;color:var(--muted)}
.site-footer{padding:35px var(--pad) 24px;border-top:1px solid var(--line)}
.footer-top{display:flex;align-items:center;gap:32px;padding-bottom:35px}
.footer-logo{width:185px}
.footer-top p{font:9px/1.7 var(--mono);color:var(--muted);margin-left:15px}
.footer-top a{font-size:12px;white-space:nowrap}
.footer-top a:nth-last-child(2){margin-left:auto}
.footer-top a span{margin-left:10px;color:var(--accent)}
.footer-bottom{border-top:1px solid var(--line);padding-top:20px;display:flex;justify-content:space-between;gap:20px;color:var(--muted);font:8px/1.8 var(--mono);letter-spacing:.03em}
.footer-bottom button{font-size:10px;color:var(--fg)}
/* 02 — Afterhours: an asymmetrical, type-led club handbill. */
[data-direction=afterhours] .site-header{margin:0;padding:0 var(--pad);border-bottom:1px solid var(--line);height:92px}
[data-direction=afterhours] .nav-logo{width:178px}
[data-direction=afterhours] .header-caption{display:none}
.afterhours-hero{height:760px;min-height:680px}
.afterhours-hero .globe-layer{left:19%;right:-31%;top:-35px;bottom:-45px}
.afterhours-hero .globe-video{opacity:.83}
.afterhours-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,var(--hero) 12%,transparent 65%),linear-gradient(0deg,var(--hero),transparent 20%);z-index:-1;pointer-events:none}
.afterhours-copy{padding:103px var(--pad) 0;position:relative}
.afterhours-copy .eyebrow{font-size:10px;letter-spacing:.05em;margin-bottom:22px}
.afterhours-copy h1{font-family:Condensed,'Arial Narrow',sans-serif;font-size:clamp(95px,10.3vw,165px);font-weight:900;line-height:.79;letter-spacing:-.038em;max-width:65%}
.afterhours-copy h1 em{font-style:normal;color:var(--accent)}
.hero-actions{display:flex;align-items:center;gap:28px;margin-top:38px}
.hero-actions .micro{color:var(--muted);font-size:9px}
.next-stamp{position:absolute;right:var(--pad);bottom:124px;width:28%;border-top:1px solid var(--accent);padding-top:18px;display:flex;flex-direction:column;gap:8px}
.next-stamp a{font-family:Condensed,Arial,sans-serif;font-size:45px;font-weight:bold;display:flex;justify-content:space-between;align-items:center}
.next-stamp a span{color:var(--accent);font-family:Arial,sans-serif;font-size:36px}
.next-stamp>span:last-child{font:9px var(--mono);color:var(--muted)}
[data-direction=afterhours] .upcoming{padding-top:45px}
[data-direction=afterhours] .event-grid{gap:0;border:1px solid var(--line)}
[data-direction=afterhours] .event-card{padding:0 24px 24px;border-top:0;border-right:1px solid var(--line)}
[data-direction=afterhours] .event-card:last-child{border-right:0}
[data-direction=afterhours] .card-topline{padding:20px 0}
[data-direction=afterhours] .event-art{filter:saturate(.75)}
/* 03 — Flywall: oversize masthead and a layered event-poster composition. */
[data-direction=flywall] .site-header{height:80px}
[data-direction=flywall] .nav-logo{width:148px}
[data-direction=flywall] .header-caption{border:0;padding:0}
.flywall-hero{padding:85px var(--pad) 77px;min-height:740px}
.flywall-hero .globe-layer{left:-45%;right:-25%;top:0;bottom:-25%;opacity:.37}
.flywall-hero:after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(0deg,var(--hero),transparent 70%),repeating-linear-gradient(0deg,transparent,transparent 3px,#88888808 3px,#88888808 4px)}
.flywall-masthead{display:flex;align-items:center;gap:65px;border-bottom:1px solid var(--line);padding-bottom:28px}
.flywall-masthead h1{width:72%}
.flywall-masthead p{font:12px/1.55 var(--mono);letter-spacing:-.03em}
.flywall-stage{display:grid;grid-template-columns:1fr 1.7fr;align-items:center;gap:65px;margin-top:40px;position:relative}
.flywall-title .eyebrow{font-size:9px}
.giant-date{font-family:Condensed,Arial,sans-serif;font-size:90px;font-weight:bold;line-height:1;letter-spacing:-.04em;margin:5px 0 10px;color:var(--accent)}
.giant-date>span{font-size:53px;color:var(--fg)}
.flywall-title h2{font-family:Condensed,Arial,sans-serif;font-size:clamp(55px,6vw,85px);line-height:1;letter-spacing:-.03em}
.flywall-title p{font:10px var(--mono);color:var(--muted);margin:15px 0 27px}
.flywall-title .button{min-width:160px}
.featured-poster{transform:rotate(-3deg);position:relative;display:block;margin:5px 0 10px;box-shadow:12px 14px 0 color-mix(in srgb,var(--fg) 12%,var(--bg));border:1px solid var(--line)}
.featured-poster:before{content:'';position:absolute;inset:-10px 9px 12px -13px;border:1px solid var(--line);z-index:-1;transform:rotate(5deg)}
.featured-poster img{width:100%}
.poster-tape{position:absolute;top:-16px;left:20px;background:var(--accent);color:var(--accent-ink);padding:8px 15px;font:9px var(--mono);transform:rotate(1deg);z-index:1}
[data-direction=flywall] .section-heading h2{font-size:clamp(45px,5.8vw,83px)}
[data-direction=flywall] .event-grid{gap:32px}
[data-direction=flywall] .event-card{border:1px solid var(--line);padding:0 16px 20px;background:var(--surface)}
[data-direction=flywall] .event-card:nth-child(2){transform:translateY(14px)}
[data-direction=flywall] .card-topline{padding:15px 0}
[data-direction=flywall] .card-content h3{font-size:clamp(25px,2.5vw,36px)}
[data-direction=flywall] .later-events{margin-top:66px}
dialog{max-width:490px;width:calc(100% - 40px);background:var(--bg);color:var(--fg);border:1px solid var(--line);padding:44px;box-shadow:0 20px 100px #0008}
dialog::backdrop{background:#000a;backdrop-filter:blur(7px)}
.dialog-close{position:absolute;top:12px;right:16px;font-size:26px}
dialog h2{font-family:Condensed,Arial,sans-serif;font-size:60px;line-height:.95;margin:20px 0}
dialog p{font-size:15px;color:var(--muted);margin-bottom:20px}
dialog .dialog-note{font:11px/1.7 var(--mono);padding-top:18px;border-top:1px solid var(--line)}
dialog .button{width:100%;margin-top:5px}
.noscript{padding:50px}
@media(min-width:1600px){.signal-copy{top:24%}.signal-copy h1{max-width:1030px}.signal-next{left:12%;right:12%}.afterhours-hero{height:850px}.afterhours-copy{padding-top:130px}}
@media(max-width:1100px){.header-caption{display:none}.main-nav{gap:22px}.site-header{height:88px}.signal-hero{height:calc(100svh - 142px);min-height:640px}.signal-copy{top:25%}.signal-next{gap:20px}.next-label{padding-right:20px;gap:12px}.later-events{grid-template-columns:1fr 2fr 2fr;gap:18px}.later-events a{gap:10px;flex-wrap:wrap}.later-events a>span{width:100%;text-align:left;padding-left:63px}.footer-top{gap:20px}.footer-top p{font-size:8px}.afterhours-hero{height:690px}.next-stamp{bottom:117px}.afterhours-copy h1{font-size:122px}.flywall-masthead{gap:30px}.flywall-stage{gap:36px}.flywall-hero{min-height:680px}.flywall-masthead p{font-size:10px}.event-grid{gap:18px}.card-content h3{min-height:37px}.design-bar{gap:10px}.direction-picker button{padding:0 13px}}
@media(max-width:760px){:root{--pad:22px;scroll-padding-top:92px}.design-bar{height:88px;padding:0 16px;display:grid;grid-template-columns:1fr auto;grid-template-rows:34px 54px;gap:0}.design-label{font-size:9px}.theme-toggle{grid-column:2;grid-row:1;font-size:10px}.theme-toggle>span:first-child{font-size:17px}.direction-picker{grid-column:1/-1;grid-row:2;justify-content:space-between;gap:0}.direction-picker button{font-size:11px;flex:1;padding:0 10px}.site-header{height:76px;gap:14px}.nav-logo{width:150px}.main-nav{gap:18px;font-size:12px}.main-nav>a:nth-child(2){display:none}.member-link{border:0;padding:10px 0;font-size:11px}.member-link span{margin-left:4px}.hero-topline{font-size:8px;top:23px}.hero-topline>span:last-child{display:none}.hero-bottom{font-size:8px;bottom:15px}.hero-bottom .muted{display:none}.motion-toggle{font-size:9px}.signal-hero{height:640px;min-height:0;max-height:none}.signal-hero .globe-layer{inset:5px -265px 90px}.signal-hero .globe-video{opacity:.78}.signal-copy{top:25%;left:var(--pad);right:var(--pad)}.signal-copy .eyebrow{font-size:8px;letter-spacing:.17em;margin-bottom:24px}.hero-tagline{font-size:18px;max-width:300px;margin:23px auto 0}.hero-scroll{font-size:8px;margin-top:27px;gap:16px}.signal-next{bottom:61px;padding:15px;gap:15px;display:grid;grid-template-columns:52px 1fr auto}.next-label{display:none}.signal-next time{font-size:10px}.signal-next time strong{font-size:25px}.signal-next time small{font-size:7px}.next-name a{font-size:29px}.next-name>span{font-size:7px;line-height:1.5;max-width:125px}.signal-next>.button{padding:9px 11px;min-width:0;min-height:40px;font-size:11px;gap:10px}.signal-next>.button span{font-size:18px}.upcoming{padding-top:38px;padding-bottom:36px}.section-heading{margin-bottom:24px;gap:10px}.section-heading h2{font-size:39px}.section-heading .eyebrow{font-size:8px}.season-label{font-size:8px;line-height:1.6;max-width:100px}.event-grid{grid-template-columns:1fr;gap:31px}.card-topline{font-size:10px;padding:13px 0}.card-content{padding-top:15px}.card-content h3{font-size:35px;min-height:0}.event-detail{margin-bottom:20px}.card-actions{padding-top:11px}.later-events{grid-template-columns:1fr;gap:23px;margin-top:35px;padding-top:24px}.later-events a{flex-wrap:nowrap;gap:17px}.later-events a>span{width:auto;padding:0;text-align:right;font-size:8px}.later-events strong{font-size:25px}.footer-top{display:grid;grid-template-columns:1fr 1fr;gap:22px;padding-bottom:25px}.footer-logo{width:145px}.footer-top p{font-size:8px;margin:0;text-align:right}.footer-top a:nth-last-child(2){margin:0}.footer-top a:last-child{text-align:right}.footer-bottom{font-size:7px;flex-wrap:wrap;gap:10px}.footer-bottom>span:nth-child(2){order:3;width:100%}.site-footer{padding-top:27px}.afterhours-hero{height:740px;min-height:0}.afterhours-copy{padding-top:83px}.afterhours-copy .eyebrow{font-size:8px;margin-bottom:28px}.afterhours-copy h1{font-size:103px;max-width:none;line-height:.83}.afterhours-hero .globe-layer{left:-125px;right:-430px;top:110px;bottom:0}.afterhours-hero .globe-video{opacity:.5}.afterhours-hero:after{background:linear-gradient(90deg,var(--hero),transparent 90%)}.hero-actions{gap:20px;margin-top:32px}.hero-actions .micro{font-size:8px}.hero-actions .button{font-size:12px;gap:18px}.next-stamp{bottom:62px;left:var(--pad);right:var(--pad);width:auto;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:2px;padding-top:14px}.next-stamp .eyebrow{font-size:8px}.next-stamp a{grid-column:2;grid-row:1/3;font-size:32px}.next-stamp a span{font-size:25px}.next-stamp>span:last-child{font-size:8px}[data-direction=afterhours] .site-header{height:76px}[data-direction=afterhours] .nav-logo{width:150px}[data-direction=afterhours] .event-grid{border:0;gap:26px}[data-direction=afterhours] .event-card{padding:0 16px 20px;border:1px solid var(--line)}[data-direction=afterhours] .event-card:last-child{border-right:1px solid var(--line)}.flywall-hero{padding-top:66px;padding-bottom:72px;min-height:0}.flywall-masthead{display:block;padding-bottom:21px}.flywall-masthead h1{width:100%}.flywall-masthead p{font-size:9px;margin-top:18px}.flywall-masthead p br{display:none}.flywall-stage{display:flex;flex-direction:column;gap:31px;margin-top:25px}.flywall-title{width:100%;display:grid;grid-template-columns:1fr auto;align-items:center;gap:0 20px}.flywall-title .eyebrow{grid-column:1}.giant-date{grid-column:2;grid-row:1/4;font-size:66px}.giant-date span{font-size:36px}.flywall-title h2{font-size:57px}.flywall-title p{font-size:8px;margin:10px 0 15px}.flywall-title .button{grid-column:1/-1;min-height:41px}.featured-poster{width:95%;margin:5px 0 15px}.poster-tape{font-size:7px;padding:7px 10px;top:-12px;left:10px}[data-direction=flywall] .section-heading h2{font-size:43px}[data-direction=flywall] .event-card:nth-child(2){transform:none}[data-direction=flywall] .card-content h3{font-size:35px}[data-direction=flywall] .later-events{margin-top:35px}}
@media(max-width:380px){.main-nav{gap:10px}.nav-logo,[data-direction=afterhours] .nav-logo{width:132px}.signal-next{padding:12px;gap:10px}.next-name a{font-size:25px}.next-name>span{max-width:105px}.section-heading h2{font-size:34px}.afterhours-copy h1{font-size:91px}.hero-actions .micro{display:none}.flywall-title h2{font-size:50px}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
