/* AXXESS AFTER DARK / REFERENCE ALIGNED EDITION
   The user-approved concert-poster visual language, translated into CSS.
   All headings, banners, CTAs, category titles, dates, cards and navigation
   are HTML rather than a flattened reference screenshot.
*/
:root{--flyer-pink:#fac2dd;--flyer-hot:#ff39a5;--flyer-blue:#29e0ea;--flyer-lime:#d9ff32;--flyer-ink:#110d17}
/* WHITE NAV, BLACK TYPE, HOT-PINK WORDMARK AND LIME MEMBERSHIP ACTION */
.stage-announcement{display:none}
.stage-header{position:sticky;top:0;background:#fff;color:var(--flyer-ink);box-shadow:none;border-bottom:1px solid #eae4e7;z-index:80}
.stage-nav{min-height:78px;width:min(calc(100% - 54px),1370px);gap:26px}
.stage-logo-text{color:#100e12;font-size:27px;font-weight:1000;letter-spacing:-.075em;white-space:nowrap;line-height:1}
.stage-logo-text b{color:var(--flyer-hot);letter-spacing:-.02em}
.stage-nav nav{gap:27px;margin-left:auto}
.stage-nav nav a{font-size:11px;color:#17151c;font-weight:900;letter-spacing:.005em}
.stage-nav nav a:hover,.stage-nav nav a.active{color:#eb279d}
.stage-search{display:inline-grid;place-items:center;flex:none;width:32px;height:42px;color:#141116}
.stage-search:hover{color:#ee2eaa}
.stage-nav-ticket{margin:0;background:var(--flyer-lime);color:#141017;border:0;border-radius:50px;box-shadow:none;min-height:46px;font-size:12px;padding:12px 26px;gap:18px;font-weight:1000}
.stage-nav-ticket:hover{background:#cefc14}
.stage-header .menu-toggle{background:var(--flyer-lime);color:#151017;border:2px solid #151017}
.stage-skip:focus{z-index:1000}
/* FULL FLYER CANVAS: distressed pink stage with editable live hero headline */
.stage-hero{min-height:575px;height:580px;background:#fac2de url("media/photos/stage-pink-grunge.webp") center/cover no-repeat;isolation:isolate;overflow:hidden}
.stage-hero:before{content:"";inset:0;z-index:-1;background:
linear-gradient(90deg,#ffb4dc33,#ffb4dc13),
radial-gradient(circle at 55% 60%,transparent 0 6px,#ec36981b 7px 9px,transparent 10px 18px);
background-size:auto,44px 44px;opacity:.7}
.stage-hero:after{display:none}
.stage-hero-inner{width:min(calc(100% - 130px),1370px);grid-template-columns:.95fr 1.07fr;gap:3%;align-items:center;min-height:100%}
.stage-hero-left{padding:23px 0 30px 10px;align-self:center}
.stage-hero-left>.stage-eyebrow{font-size:10px;font-weight:900;letter-spacing:.07em;color:#24202e}
.stage-hero h1{font-size:clamp(61px,5.65vw,96px);line-height:.94;margin:17px 0 21px;color:#100d15;white-space:nowrap;letter-spacing:-.091em;font-weight:1000}
.stage-hero h1 em{font-style:normal;color:var(--flyer-hot);text-shadow:2px 3px 0 #111016,-1px -1px 0 #141018}
.stage-hero h1 em:after{content:"";position:absolute;display:block;width:190px;height:6px;background:#161017;transform:rotate(-8deg);margin:5px 0 0 83px;clip-path:polygon(0 0,100% 28%,90% 64%,20% 100%)}
.stage-hero-intro{color:#17121a;font-size:15px;line-height:1.32;font-weight:760;margin:32px 0 18px;max-width:440px}
.stage-hero-left .stage-action{min-height:48px;box-shadow:none;border-radius:60px;padding:13px 27px;font-size:12px}
.stage-scribble{top:44%;right:-18%;transform:rotate(-13deg);font-family:"Comic Sans MS","Trebuchet MS",Georgia,serif;font-size:17px;line-height:1.08;letter-spacing:.025em;font-weight:1000;color:#281323;z-index:7}
.stage-hero-right{height:486px;margin:10px 14px 0 0;position:relative;z-index:5;overflow:visible}
.stage-photo-tape{top:5%;left:-1%;right:-4%;width:104%;height:91%;border:11px solid #fbeb34;transform:rotate(6deg);z-index:-1}
.stage-concert-frame{inset:5% 0% 4% 1%;border:7px solid #1c101d;transform:rotate(5deg);box-shadow:10px 11px 0 #f9dc29;z-index:1}
.stage-concert-frame img{filter:saturate(1.75) contrast(1.18) hue-rotate(13deg);object-position:center 48%}
.stage-concert-tint{background:linear-gradient(125deg,#ff19ad19,transparent 55%),linear-gradient(0deg,#27112a22,transparent 50%)}
.stage-sticker-aqua{top:-18px;left:1%;font-size:20px;line-height:.89;letter-spacing:-.09em;padding:13px 17px;transform:rotate(-10deg);background:#3de4e5;border:3px solid #110e15;box-shadow:3px 5px 0 #ff3ca7;z-index:8}
.stage-burst{top:-34px;left:-13%;font-size:80px;color:#16dce8;transform:rotate(16deg);z-index:7}
.stage-round-sticker{width:155px;height:155px;bottom:-9px;right:-32px;font-size:16px;line-height:1.01;background:var(--flyer-lime);border:4px solid #1a1019;box-shadow:none;z-index:9}
.stage-round-sticker span{font-size:29px}
.stage-rig-top{height:22px;top:0;border-width:4px;background:repeating-linear-gradient(65deg,transparent 0 22px,#170b18 23px 28px,transparent 29px 50px);opacity:.81;transform:translateY(-11px)}
.stage-speaker-stack{top:104px;width:98px;gap:3px;filter:drop-shadow(3px 6px 0 #160c1480);z-index:4}
.stage-speaker-left{left:-36px;transform:rotate(11deg)}.stage-speaker-right{right:-40px;transform:rotate(-8deg)}
.stage-speaker-stack i{height:110px;width:96px;border:5px solid #0d0915;background:radial-gradient(circle at 50% 52%,#1c111f 0 15px,#5d4268 16px 18px,#120d1c 19px 33px,#504052 34px 36px,#100d17 37px),linear-gradient(135deg,#221629,#0d0b12);box-shadow:inset 0 0 20px #ac468b33}
.stage-beam{opacity:.45}
.stage-hero-bottom{display:none}
/* White slightly torn paper strip with four horizontal photographic categories */
.stage-genres{position:relative;background:#fffefc;padding:21px max(48px,calc((100vw - 1400px)/2)) 26px;z-index:3}
.stage-genres:before{content:"";position:absolute;left:0;right:0;top:-10px;height:12px;background:radial-gradient(circle at 11px 13px,#fffefc 0 11px,transparent 12px) 0 0/22px 22px repeat-x}
.stage-genres .stage-section-heading{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.stage-genre-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;align-items:center}
.stage-genre{height:151px;min-height:0;display:block;overflow:visible;box-shadow:7px 6px 0 var(--sx-hot);border:0;background:#171024;isolation:isolate;transform:rotate(-2deg);transition:transform .2s,box-shadow .2s}
.stage-genre:nth-child(2){transform:rotate(2deg);box-shadow:7px 6px 0 var(--sx-cyan)}
.stage-genre:nth-child(3){transform:rotate(-1.5deg);box-shadow:7px 6px 0 #f2d82f}
.stage-genre:nth-child(4){transform:rotate(1.7deg);box-shadow:7px 6px 0 #65e7fa}
.stage-genre:hover,.stage-genre:nth-child(n):hover{transform:rotate(0) translateY(-5px);box-shadow:3px 3px 0 #12101b}
.stage-genre .genre-art{position:absolute;inset:0;width:100%;height:100%;z-index:-2;background-size:cover;background-position:center}
.stage-genre .genre-art img{height:100%;width:100%;filter:saturate(1.55) contrast(1.14)}
.genre-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#0c0828b6,#10062921 70%),linear-gradient(0deg,#100e2578,transparent 60%)}
.genre-copy{min-height:0;height:100%;padding:22px 16px 12px;display:flex;flex-direction:column;justify-content:center;color:#fff}
.genre-copy .genre-no{display:none}
.genre-copy h3{font-family:Impact,"Arial Black",sans-serif!important;color:#fff;font-size:clamp(29px,3.2vw,50px);font-weight:1000;line-height:.87;letter-spacing:-.06em;transform:rotate(-4deg) skew(-5deg);text-shadow:2px 3px 0 #131024;margin:0 0 8px;text-transform:uppercase}
.stage-genre:nth-child(1) .genre-copy h3{color:#ff59bf}
.stage-genre:nth-child(2) .genre-copy h3{color:#28e5f7}
.stage-genre:nth-child(3) .genre-copy h3{color:#ffe442}
.stage-genre:nth-child(4) .genre-copy h3{color:#fff}
.genre-copy h3:after{content:"";display:block;height:4px;width:54%;background:currentColor;margin:7px 0 0 18%;transform:rotate(-3deg);clip-path:polygon(0 38%,90% 0,100% 100%,0 84%)}
.genre-copy small{font-size:8px;font-weight:950;color:#fff;letter-spacing:.05em;opacity:.9;position:relative;top:8px}
.genre-arrow{position:absolute;z-index:5;right:12px;bottom:11px;border:2px solid #fff;border-radius:50%;color:#fff;width:29px;height:29px;display:grid;place-items:center;font-size:21px;line-height:1}
/* UPCOMING EVENTS: compact poster cards, date tabs and practical event details */
.stage-upcoming{position:relative;background:#f8b9d8 url("media/photos/stage-pink-grunge.webp") center/cover no-repeat;padding-top:57px;padding-bottom:95px;isolation:isolate}
.stage-upcoming:before{content:"";position:absolute;inset:0;z-index:-1;background:#ffd1e184}
.stage-upcoming-heading{display:flex;align-items:center;gap:42px;margin:0 0 22px}
.stage-upcoming-heading h2{font-size:clamp(39px,4vw,67px);margin:0;letter-spacing:-.075em;white-space:nowrap;line-height:1}
.pink-asterisk{font-size:45px;color:var(--flyer-hot);margin-left:15px;vertical-align:top;font-weight:500}
.stage-scrawl{font-family:"Comic Sans MS","Trebuchet MS",cursive;font-style:italic;font-size:14px;color:#171024;text-align:center;font-weight:850;line-height:1.13;border:2px solid #ea3999;border-radius:50%;padding:10px 24px;transform:rotate(-8deg);white-space:nowrap}
.stage-all-events{margin-left:auto;font-size:12px;font-weight:950;white-space:nowrap}.stage-all-events span{font-size:20px;margin-left:8px}
.stage-upcoming .section-subnote{margin-bottom:15px;color:#57354a;font-size:11px}
.stage-upcoming .stage-event-grid{gap:18px}
.stage-upcoming .stage-event-card{border:0;box-shadow:none;background:#fff;overflow:visible;border-radius:0}
.stage-upcoming .event-cover{height:245px;overflow:hidden;background:#170d2a}
.stage-upcoming .event-cover-link{display:block;width:100%;height:100%}
.stage-upcoming .event-cover-link img{height:100%;width:100%;object-fit:cover;filter:saturate(1.48) contrast(1.17)}
.stage-upcoming .event-cover:after{background:linear-gradient(0deg,#10052580,transparent 60%)}
.stage-upcoming .event-badge{left:0;right:auto;top:0;width:70px;height:77px;transform:none;background:#f34ab1;border:0;display:flex;justify-content:center;align-items:center;flex-direction:column;padding:8px;color:#13101a}
.stage-upcoming .stage-event-card:nth-child(2) .event-badge{background:var(--flyer-lime)}
.stage-upcoming .stage-event-card:nth-child(3) .event-badge{background:var(--sx-cyan)}
.stage-upcoming .stage-event-card:nth-child(4) .event-badge{background:#f174bb}
.stage-upcoming .event-badge small{font-size:10px;font-weight:1000;letter-spacing:.1em}
.stage-upcoming .event-badge b{font-size:20px;letter-spacing:-.06em;line-height:1.1}
.stage-upcoming .save-event{position:absolute;right:12px;top:12px;z-index:6;border:2px solid #fff;border-radius:50%;height:38px;width:38px;display:grid;place-items:center;font-size:23px;font-family:Arial,sans-serif;color:#fff;background:#1710244d;cursor:pointer}
.stage-upcoming .save-event[aria-pressed="true"]{background:#ff42ad;color:#fff}
.stage-upcoming .event-category{background:#45e5ec;color:#12101e;font-size:8px}
.stage-upcoming .stage-event-body{padding:16px}
.stage-upcoming .stage-event-body h3{font-size:23px}
.stage-event-card .save-event{position:absolute;top:10px;right:10px;border:2px solid white;border-radius:50%;z-index:5;background:#150f2299;color:#fff;width:34px;height:34px;display:grid;place-items:center;font-size:20px;cursor:pointer}
.stage-event-card .save-event[aria-pressed="true"]{background:var(--sx-hot)}
.stage-upcoming .event-badge + .save-event{top:12px}
.stage-event-card .event-badge{display:flex;flex-direction:column;align-items:center}
.stage-event-card .event-badge small{font-size:8px;letter-spacing:.07em}
.stage-event-card .event-cover-link{display:block;height:100%;width:100%}
.stage-event-card .event-cover-link img{height:100%;width:100%;object-fit:cover}
.stage-event-body .event-title-link{display:block}
/* Inner pages inherit the same reference-driven white navigation and high-impact pink / black layouts. */
.stage-inner-hero{background:#211126;min-height:450px}
.stage-inner-hero .inner-shade{background:linear-gradient(90deg,#180c2adf 0%,#1b0622a6 47%,#200a2d27)}
.stage-inner-hero .inner-content h1{letter-spacing:-.073em}
.stage-inner-hero .inner-sticker{background:var(--sx-cyan);border-color:#1a111d}
.stage-explore{background:#fff8fc}
.stage-explore-bar{background:#fbc9e7}
.stage-member-card.single{background:#79eaf6}.stage-member-card.duo{background:#f7a1d5}
.stage-venue-spotlight{background:#f9c9e5}
.stage-faq summary{font-weight:900}
/* wide, intermediate, and mobile */
@media(max-width:1320px){
 .stage-nav nav{gap:13px}.stage-nav nav a{font-size:10px}
 .stage-hero-inner{width:calc(100% - 98px);gap:1.5%}
 .stage-hero h1{font-size:clamp(57px,6vw,85px)}
 .stage-hero-right{height:455px}
 .stage-scribble{right:-13%;font-size:14px}
 .stage-upcoming-heading{gap:24px}
 .stage-scrawl{font-size:12px}
}
@media(max-width:1010px){
 .stage-nav nav{display:none}.stage-header .menu-toggle{display:block}
 .stage-nav nav.open{display:flex;flex-direction:column;align-items:flex-start;position:absolute;top:100%;left:0;right:0;background:white;border-top:1px solid #eee;border-bottom:2px solid #e6b9d4;box-shadow:0 20px 30px #17102425;padding:22px 30px}
 .stage-nav nav.open a{font-size:13px;color:#151019}
 .stage-nav-ticket{margin-left:auto}.stage-search{margin-left:auto}
 .stage-hero{height:560px;min-height:560px}
 .stage-hero-inner{width:calc(100% - 86px);grid-template-columns:.97fr 1.03fr}
 .stage-hero h1{font-size:clamp(51px,5.65vw,69px)}
 .stage-hero-right{height:410px}
 .stage-genre{height:135px}
 .genre-copy h3{font-size:clamp(25px,3vw,39px)}
 .stage-upcoming-heading{gap:14px}.stage-scrawl{display:none}
}
@media(max-width:700px){
 .stage-nav{width:calc(100% - 32px);min-height:69px;gap:10px}
 .stage-logo-text{font-size:24px}
 .stage-search{margin-left:auto;width:30px}
 .stage-nav-ticket{display:none}
 .stage-header .menu-toggle{margin-left:0}
 .stage-hero{height:auto;min-height:870px;background-position:45% center}
 .stage-hero-inner{width:calc(100% - 42px);display:flex;flex-direction:column;gap:0}
 .stage-hero-left{padding:70px 0 18px;width:100%;min-height:415px;align-self:auto}
 .stage-hero h1{font-size:clamp(56px,12.2vw,73px);margin:19px 0 17px}
 .stage-hero h1 em:after{height:4px;width:120px;margin:4px 0 0 52px}
 .stage-hero-intro{margin:28px 0 17px;font-size:13px;max-width:340px}
 .stage-hero-left .stage-action{padding:11px 19px;font-size:11px;min-height:43px}
 .stage-scribble{display:none}
 .stage-hero-right{height:347px;width:92%;margin:30px 0 45px 6%}
 .stage-concert-frame{border-width:5px}
 .stage-photo-tape{border-width:8px}
 .stage-sticker-aqua{top:-20px;left:1%;font-size:15px;padding:11px 13px}
 .stage-burst{top:-32px;left:-12%;font-size:58px}
 .stage-round-sticker{width:116px;height:116px;font-size:12px;right:-18px;bottom:-9px}
 .stage-round-sticker span{font-size:19px}
 .stage-rig-top{height:17px}
 .stage-speaker-stack{top:265px;opacity:.47}.stage-speaker-stack i{width:50px;height:59px}
 .stage-speaker-left{left:-32px}.stage-speaker-right{right:-32px}
 .stage-genres{padding:20px 15px 27px}
 .stage-genre-grid{grid-template-columns:1fr 1fr;gap:13px}
 .stage-genre{height:135px;min-height:0}
 .genre-copy{padding:15px}
 .genre-copy h3{font-size:clamp(27px,6vw,36px)}
 .genre-copy small{font-size:7px}
 .genre-arrow{height:24px;width:24px;font-size:16px;right:6px;bottom:7px}
 .stage-upcoming{padding:63px 18px 75px}
 .stage-upcoming-heading{display:flex;flex-wrap:wrap;gap:9px 14px}
 .stage-upcoming-heading h2{font-size:clamp(32px,7vw,47px)}
 .pink-asterisk{font-size:28px;margin-left:6px}
 .stage-all-events{font-size:10px;margin-left:0}
 .stage-upcoming .stage-event-grid{gap:12px}
 .stage-upcoming .event-cover{height:190px!important}
 .stage-upcoming .event-badge{width:48px;height:55px}
 .stage-upcoming .event-badge small{font-size:8px}
 .stage-upcoming .event-badge b{font-size:16px}
 .stage-upcoming .save-event{width:30px;height:30px;font-size:17px;right:7px;top:7px}
 .stage-upcoming .stage-event-body h3{font-size:17px}
 .stage-upcoming .stage-event-body{padding:12px}
}
@media(max-width:400px){
 .stage-hero h1{font-size:55px}.stage-hero{min-height:825px}
 .stage-hero-left{padding-top:64px;min-height:398px}
 .stage-hero-right{height:300px}
 .stage-genre{height:120px}.genre-copy h3{font-size:25px}
 .stage-upcoming .event-cover{height:168px!important}
}
@media(prefers-reduced-motion:reduce){.stage-genre,.stage-genre:nth-child(n){transition:none}}
/* Reference proportion pass: allow the upcoming-event posters into the initial
   desktop scroll, while retaining the complete live-text concert hero. */
@media(min-width:1100px){
 .stage-nav{min-height:72px}
 .stage-hero{height:520px;min-height:520px}
 .stage-hero-right{height:442px}
 .stage-genres{padding-top:16px;padding-bottom:18px}
 .stage-genre{height:133px}
 .stage-upcoming{padding-top:44px}
 .stage-upcoming-heading{margin-bottom:14px}
}
