/* HHT's poster and record-sleeve language. Scope: hero and venue only. */
@font-face{font-family:PartyDisplay;src:url('assets/Anton-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
.hero,.venue{--event-ink:#191918;--event-paper:#fff8e9;--event-orange:#ff8800;--event-secondary:#c9c0b1;--focus:var(--event-paper)}

/* A continuous printed stage, rather than a panel sitting beside the artwork. */
.hero{gap:0;padding:0;overflow:hidden;background:var(--event-ink);color:var(--event-paper)}
.hero-poster{padding:28px 24px;background:var(--event-orange) url('assets/party-print-pattern.webp') center/cover}
.hero-copy{position:relative;isolation:isolate;grid-column:2;grid-row:1;align-self:stretch;display:flex;flex-direction:column;justify-content:center;min-width:0;margin:0;padding:clamp(32px,4vw,72px);border:0;box-shadow:none;background:transparent;color:var(--event-paper);clip-path:none;width:auto;height:auto;overflow:visible}
.hero-copy::before{content:"";position:absolute;inset:0;z-index:-1;opacity:.055;pointer-events:none;background:var(--grain)}
.hero-copy::after{content:"";position:absolute;z-index:-1;pointer-events:none;width:900px;aspect-ratio:1;right:-600px;top:30%;border-radius:50%;opacity:.2;background:repeating-radial-gradient(circle at center,transparent 0 11px,#fff8e927 12px 13px,transparent 14px 22px);mask-image:linear-gradient(90deg,transparent,#000 34%)}
.hero-kicker{display:block;margin:0 0 20px;color:var(--event-secondary);font:500 13px/1.5 DM,system-ui,sans-serif;letter-spacing:0;text-transform:none}
.hero h1{position:static;clip:auto;clip-path:none;overflow:visible;width:auto;height:auto;margin:0;white-space:normal;border:0;font:400 clamp(122px,16.3vw,246px)/.86 PartyDisplay,Archivo,sans-serif;letter-spacing:-.025em;text-wrap:nowrap}
.title-party{display:block;width:auto}
.party-prefix{display:block;font-size:.3em;line-height:1.1;letter-spacing:-.01em;color:var(--event-orange);margin-bottom:8px}
.party-word{display:block;transform-origin:left center}
.hero .title-act{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:24px;font:400 clamp(28px,3.45vw,48px)/1.1 PartyDisplay,Archivo,sans-serif;letter-spacing:-.01em;text-transform:uppercase;color:var(--event-paper)}
.hero .live{padding:5px 7px;background:var(--event-orange);color:var(--event-ink);border-radius:0;font:850 11px/1 DM,sans-serif;letter-spacing:.09em;transform:rotate(-5deg)}
.hero-event-details{display:grid;grid-template-columns:140px minmax(0,1fr);gap:26px;align-items:center;margin-top:30px}
.event-record{position:relative;display:grid;place-items:center;isolation:isolate;aspect-ratio:1;width:100%;max-width:152px;border:1px solid #fff8e927;border-radius:50%;background:repeating-radial-gradient(circle at center,#fff8e917 0 1px,transparent 1px 5px);transform:rotate(-9deg);transition:transform .4s cubic-bezier(.2,.8,.2,1)}
.event-record::before{content:"";position:absolute;width:71%;aspect-ratio:1;border-radius:50%;z-index:-1;background:var(--event-orange)}
.event-record time{display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--event-ink);line-height:1}
.record-day{font:400 49px/.95 PartyDisplay,sans-serif;letter-spacing:-.03em}
.record-month{font:750 12px/1.3 DM,sans-serif;letter-spacing:0}
.record-year{font:600 9px/1.4 DM,sans-serif;margin-top:2px}
.hero-facts{display:grid;grid-template-columns:1fr;gap:14px;margin:0;padding:0;border:0}
.hero-facts dt{position:static;clip:auto;clip-path:none;overflow:visible;width:auto;height:auto;white-space:normal;margin:0 0 3px;font:450 12px/1.4 DM,sans-serif;color:var(--event-secondary);text-transform:none;letter-spacing:0}
.hero-facts dd{display:grid;gap:0}
.hero-facts strong{font:650 20px/1.3 DM,sans-serif;color:var(--event-paper);letter-spacing:-.04em}
.hero-facts>div:first-child strong{font-size:32px;font-weight:650;line-height:1.1;letter-spacing:-.04em}
.hero-facts dd span{font:400 12px/1.5 DM,sans-serif;color:var(--event-secondary)}
.hero .main-button{display:flex;align-items:center;justify-content:space-between;width:100%;max-width:none;min-height:62px;margin-top:26px;padding:18px 23px;border:0;border-radius:0;background:var(--event-orange);color:var(--event-ink);font:750 17px/1.3 DM,sans-serif;box-shadow:4px 4px 0 #fff8e9;transition:background .18s,box-shadow .18s,translate .18s}
.hero .main-button:hover{background:#ffb15a;box-shadow:6px 6px 0 #fff8e9;translate:-2px -2px}
.hero-afterhours{display:flex;flex-wrap:wrap;gap:4px 17px;margin-top:19px;color:var(--event-secondary);font:400 12px/1.5 DM,sans-serif}
.hero-afterhours span+span::before{content:"/";padding-right:17px;color:var(--event-orange)}

/* The building, title and arrival information share one composition. */
.venue.section{position:relative;display:grid;grid-template-columns:minmax(0,1.06fr) minmax(0,1fr);gap:0;padding:0;overflow:hidden;background:var(--event-ink);color:var(--event-paper);isolation:isolate}
.venue::after{display:none}
.venue-art{position:relative;align-self:stretch;overflow:hidden;margin:0;border:0;border-radius:0;box-shadow:none;min-height:580px}
.venue-art img{width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:49% center;filter:saturate(.88)}
.venue-art::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 74%,var(--event-ink)),linear-gradient(0deg,#191918c9,transparent 38%);pointer-events:none}
.venue-city{position:absolute;bottom:30px;left:clamp(24px,4vw,64px);z-index:1;color:var(--event-paper);font:400 clamp(36px,4.8vw,76px)/1 PartyDisplay,sans-serif;text-transform:uppercase;letter-spacing:-.02em}
.venue-info{position:relative;padding:64px clamp(30px,4.5vw,80px) 60px clamp(30px,3.5vw,62px);border:0;background:transparent;align-self:center;min-width:0}
.venue-intro{color:var(--event-secondary);font:450 13px/1.5 DM,sans-serif;margin:0 0 21px}
.venue-info h2{position:relative;margin:0 0 16px;font:400 clamp(65px,7.1vw,106px)/.96 PartyDisplay,Archivo,sans-serif;letter-spacing:-.025em;text-transform:uppercase;text-wrap:nowrap}
.venue-info h2>span{display:block}
.venue-dot{color:var(--event-orange)}
.venue-address{display:flex;align-items:center;gap:12px;color:var(--event-paper);font:500 16px/1.45 DM,sans-serif}
.venue-address::before{content:"";width:25px;height:3px;background:var(--event-orange)}
.venue-facts{display:grid;grid-template-columns:1.18fr 1fr .55fr;gap:20px;margin-top:32px;padding:19px 0 20px;border-block:1px solid #fff8e932}
.venue-facts>div{display:block;min-width:0;padding:0;border:0}
.venue-facts dt{margin:0 0 8px;font:450 12px/1.4 DM,sans-serif;letter-spacing:0;text-transform:none;color:var(--event-secondary)}
.venue-facts dd{font:400 clamp(28px,2.6vw,38px)/1 PartyDisplay,sans-serif;color:var(--event-paper);letter-spacing:-.01em;white-space:nowrap}
.venue-facts time>span{display:block;font:400 11px/1.2 DM,sans-serif;margin-top:6px;color:var(--event-secondary)}
.venue-facts .age-plus{font-family:DM,sans-serif;font-size:.75em;font-weight:500;vertical-align:top;color:var(--event-orange)}
.venue-links{display:grid;gap:0;margin-top:27px}
.venue-links .venue-map{width:100%;min-height:64px;display:flex;gap:13px;padding:16px 17px;border:0;border-radius:0;background:var(--event-orange);color:var(--event-ink);font:750 16px/1.35 DM,sans-serif;transition:background .18s}
.venue-links .venue-map:first-child{background:var(--event-orange);color:var(--event-ink)}
.venue-links .venue-map:hover,.venue-links .venue-map:first-child:hover{background:#ffb15a}
.venue-links .venue-map>span{display:block}
.venue-map .map-arrow{margin-left:auto;width:20px;height:20px;transition:translate .18s}
.venue-map:hover .map-arrow{translate:2px -2px}
.venue-links .venue-phone{display:flex;justify-content:space-between;align-items:center;width:100%;min-height:72px;margin-top:7px;padding:13px 0 0;border:0;border-radius:0;background:transparent;color:var(--event-paper)}
.venue-links .venue-phone:hover{background:transparent;color:#ffb15a}
.venue-links .venue-phone>span{display:grid;gap:2px;font:400 12px/1.4 DM,sans-serif;color:var(--event-secondary)}
.venue-phone strong{font:600 19px/1.4 DM,sans-serif;letter-spacing:.02em;color:var(--event-paper)}
.venue-phone:hover strong{color:#ffb15a}
.venue a:focus-visible,.hero a:focus-visible{outline:3px solid var(--event-paper);outline-offset:5px}

@media(hover:hover) and (prefers-reduced-motion:no-preference){.hero-event-details:hover .event-record{transform:rotate(0deg)}}
@media(min-width:701px){
 .hero{grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:0}
 .hero-poster{grid-column:1;grid-row:1;align-self:stretch;padding:32px max(30px,4vw)}
 .hero-art{width:min(100%,calc((100svh - 142px) * .5625));max-width:465px;min-width:260px;transform:rotate(-1.5deg);filter:drop-shadow(8px 12px 0 #19191875)}
 .hero-copy{padding-block:40px;max-width:none;min-height:650px}
}
@media(min-width:1600px){
 .hero{padding-inline:max(0px,calc((100vw - 1640px)/2))}
 .venue-info{padding-right:max(72px,calc((100vw - 1380px)/2))}
}
@media(min-width:701px) and (max-width:1050px){
 .hero-copy{padding:34px 28px;min-height:610px}
 .hero h1{font-size:clamp(115px,16vw,172px)}
 .hero-kicker{font-size:12px}
 .hero-event-details{grid-template-columns:105px minmax(0,1fr);gap:15px;margin-top:25px}
 .record-day{font-size:36px}.record-month{font-size:10px}.record-year{font-size:9px}
 .hero-facts strong{font-size:17px}.hero-facts>div:first-child strong{font-size:27px}
 .hero-afterhours{display:grid;gap:0}.hero-afterhours span+span::before{content:none}
 .venue-art{min-height:530px}.venue-info{padding:42px 30px}.venue-info h2{font-size:clamp(50px,7.6vw,78px)}
 .venue-facts{gap:12px}.venue-facts dt{font-size:10px}.venue-facts dd{font-size:29px}.venue-links .venue-map{font-size:14px;padding-inline:14px}
}
@media(max-width:700px){
 .hero{display:grid;grid-template-columns:1fr;padding:0;gap:0}
 .hero-poster{grid-row:1;grid-column:1;padding:18px 16px 20px}
 .hero-art{width:min(100%,calc((100svh - 185px) * .5625));max-width:440px;min-width:0;transform:none}
 .hero-copy{position:relative;grid-column:1;grid-row:2;display:block;width:auto;height:auto;clip-path:none;overflow:visible;margin:0;padding:17px 22px 24px;border:0}
 .hero-copy::before,.hero-copy::after{display:none}
 .hero h1{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap}
 .hero-kicker,.hero-event-details,.hero-afterhours{display:none}
 .hero .main-button{margin:0;min-height:58px;padding:15px 19px;box-shadow:3px 3px 0 #fff8e9}
 .venue.section{display:block;padding:0}
 .venue-art{height:350px;min-height:0}
 .venue-art img{object-position:50% 40%}
 .venue-art::after{background:linear-gradient(0deg,var(--event-ink) 0,transparent 42%)}
 .venue-city{left:22px;bottom:24px;font-size:40px;color:var(--event-paper)}
 .venue-info{padding:12px 22px 35px}
 .venue-intro{font-size:12px;margin-bottom:18px}
 .venue-info h2{display:flex;flex-wrap:wrap;column-gap:15px;font-size:clamp(48px,13vw,84px);line-height:1.1;margin-bottom:13px}
 .venue-address{font-size:14px;gap:10px}
 .venue-facts{gap:18px;margin-top:26px;padding-block:18px}
 .venue-facts dt{font-size:11px}.venue-facts dd{font-size:31px}
 .venue-links{margin-top:24px}.venue-links .venue-map{min-height:60px;font-size:15px}
 .venue-links .venue-phone{min-height:69px}.venue-phone strong{font-size:19px}
}
@media(max-width:360px){
 .venue-art{height:290px}.venue-info{padding-inline:20px}.venue-info h2{font-size:47px;column-gap:10px}
 .venue-facts{gap:12px}.venue-facts dt{font-size:10px}.venue-facts dd{font-size:28px}
 .venue-links .venue-map{font-size:13px;gap:10px;padding-inline:13px}
}
@media(prefers-reduced-motion:reduce){.event-record,.hero .main-button,.venue-links .venue-map,.map-arrow{transition:none!important;transform:none}.hero .main-button:hover,.map-arrow{translate:none}}

/* R9: footer uses the two remaining blocks after removing sponsor credit. */
@media (min-width:960px){footer>.footer-links{margin-left:auto}}
