/* A cohesive finishing layer for the invitation, access and live experiences. */
body{background:radial-gradient(ellipse at 0 5%,#7630990c,transparent 42%),radial-gradient(ellipse at 100% 18%,#ac4a1d0e,transparent 45%),var(--bg)}
.header{border-bottom-color:#73546038}
.brand>span:last-child{font-weight:700;letter-spacing:3.1px}
.brand small{color:#bca4b1}
.access-button{background:linear-gradient(135deg,#38222e55,#24191b66);border-color:#8a5a664d;border-radius:10px}
.event-strip>span:first-child{padding:7px 10px;border:1px solid #a16b4730;background:#6b352510;border-radius:20px;font-size:8px}
.event-strip .small-dot{box-shadow:0 0 9px #ff8b3d6b}
.event-strip>span:last-child{color:#c4b2ba}
.event-strip b{border-color:#6f50633b;color:#ae94a5}

/* The invitation keeps the original photo and logo with a warmer cinematic finish. */
.story{border:1px solid #9c65493b;border-radius:17px;box-shadow:0 24px 60px #0002}
.story:before{background:linear-gradient(0deg,#120d10 0%,#120d1080 31%,#120d1008 80%),linear-gradient(90deg,#170e1644,transparent)}
.story-content{padding:32px 34px}
.story-date{position:absolute;right:25px;top:28px;width:62px;border:1px solid #e7ad8d4d;background:#1c1115b8;backdrop-filter:blur(9px);border-radius:8px;text-align:center;padding:10px 6px 8px;box-shadow:0 5px 20px #0002}
.story-date b{display:block;font-family:'Barlow Condensed',Impact,sans-serif;font-size:36px;line-height:.9;font-weight:600;letter-spacing:-1px;color:#f5e4ce}
.story-date>span{display:block;font-size:8px;letter-spacing:2px;color:var(--orange);margin-top:7px}
.story-date i{display:block;font-style:normal;font-size:5px;letter-spacing:1px;border-top:1px solid #b0857038;padding-top:7px;margin-top:7px;color:#d1b9b4}
.story-badge{font-size:8px;color:#ebc6ac;letter-spacing:2.6px}
.story h1{text-shadow:0 5px 30px #0003}
.story h1 em{color:#ff9b4a}
.story p{color:#decbc7}
.story-foot{color:#bea9b1;border-top-color:#c28d7133}

/* Ticket counter: a physical-ticket silhouette with small perforated notches. */
.sale-details{padding-top:0}
.ticket-panel{position:relative;padding:26px 26px 21px;border:1px solid #ad704f52;border-radius:15px;background:linear-gradient(145deg,#3b242a55,#20171c 50%,#281b1b);box-shadow:0 16px 45px #0002,inset 0 1px 0 #f4bc9020}
.ticket-panel:before,.ticket-panel:after{content:'';position:absolute;width:12px;height:12px;top:61%;border:1px solid #9d634653;background:var(--bg);border-radius:50%;z-index:1;pointer-events:none}
.ticket-panel:before{left:-7px;border-left-color:transparent}.ticket-panel:after{right:-7px;border-right-color:transparent}
.ticket-heading{gap:8px}
.ticket-heading .eyebrow{font-size:8px;letter-spacing:1.6px}
.ticket-heading .tag{border-color:#b0754547;background:#4c2e1c28;padding:5px 7px;font-size:6px;letter-spacing:.8px}
.ticket-count{gap:21px;margin:24px 0 22px}
.ticket-count>strong{font-size:95px;letter-spacing:-5px;color:#ffa858;background:linear-gradient(145deg,#ffcc90 8%,#ff9742 55%,#d66129 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;font-weight:600}
.ticket-count>strong.long-count{font-size:66px;letter-spacing:-4px}
.ticket-count>span{font-size:11px;line-height:1.7;color:#bca9ad;min-width:0}
.ticket-count>span b{font-size:16px;color:#f3e3d7;font-weight:500;margin-bottom:4px;white-space:normal}
.ticket-panel .progress{height:6px;background:#4b343a;box-shadow:inset 0 1px 2px #0003}
.ticket-panel .progress>span{background:linear-gradient(90deg,#b75629,#ff9d49);box-shadow:0 0 12px #ff934f40}
.progress-label{color:#c0a8b2;font-size:9px}
.ticket-panel>.primary{margin-top:24px;padding:16px 18px;border-radius:8px}
.ticket-panel .tiny-note{font-size:8px;line-height:1.6;justify-content:start;padding-top:14px;border-top:1px dashed #a8756038;margin-top:17px;color:#bba0a8}
.tiny-note svg{flex-shrink:0;color:#c49b82}
.location-mini{padding:20px 6px;border-bottom-color:#66424e4d;border-top:0;margin-top:13px}
.location-mini h3{font-size:13px}.location-mini p{color:#aa95a2}
.location-mini>div:first-child>svg{padding:9px;width:40px;height:40px;background:#7d3b9c16;border:1px solid #b163d936;border-radius:11px}
.how-link{font-size:10px;padding-inline:6px;color:#a993a1;gap:12px;margin-top:19px}
.how-link strong{color:#ddc7d1;font-size:11px}
.how-link>svg{color:#c89063}
.primary{background:linear-gradient(112deg,#b64d23,#df702e 60%,#ee8d44);border-color:#ffb86d73;box-shadow:0 6px 24px #d05a251f,inset 0 1px 0 #ffd19b3d;font-weight:600}
.primary:hover:not(:disabled){background:linear-gradient(112deg,#d5632b,#ed843a 60%,#ffa55b)}
.primary:disabled{box-shadow:none}
.mini-steps{border-top-color:#72475940;gap:22px}
.mini-steps article{padding:7px 10px 5px 0;gap:14px}
.mini-steps article>span{font-family:'Barlow Condensed',sans-serif;font-size:21px;letter-spacing:-.5px;color:#bc855b;padding-top:0;line-height:1}
.mini-steps h3{font-size:11px;color:#e1cdd5}.mini-steps p{color:#a48b9b}

/* Refined live panel, with a real countdown ring driven by the existing timer. */
.round-note{font-size:10px;letter-spacing:.2px;color:#bda3b1}
.vote-shell{border:1px solid transparent;border-radius:18px;background:linear-gradient(#1d141a,#181217) padding-box,linear-gradient(135deg,#b46c483f,#72457666 50%,#a164423f) border-box;box-shadow:0 18px 50px #0002,inset 0 1px 0 #b682a00d}
.vote-shell:before{background:linear-gradient(0deg,#181217 40%,#18121788 75%,#18121766),url('assets/party-hero.png') center 20%/cover;opacity:.42}
.vote-header>.eyebrow{color:#c18a62;letter-spacing:2.2px;font-size:8px}
.vote-header h2{font-weight:500;color:#f5e9dd;text-shadow:0 3px 16px #0003}
.live-badge{border:1px solid #77c69c28;background:#2843331a;padding:6px 9px;border-radius:30px;font-size:8px;color:#bdd4c0;letter-spacing:1.5px}
.live-badge.closed{background:#40313b2e;border-color:#b78b9f38;color:#c3a5b3}
.timer-pill{border-color:#bc7c4947;border-radius:30px;gap:9px;padding:5px 13px 5px 5px;background:#321f16ad;color:#ffc28a;font-size:18px;min-height:40px}
.round-progress{width:29px;height:29px;position:relative;display:grid;place-items:center;flex-shrink:0;border-radius:50%;background:conic-gradient(from -90deg,#ff9a49 var(--round-progress,360deg),#6d46323b var(--round-progress,360deg));isolation:isolate}
.round-progress:before{content:'';position:absolute;inset:2px;border-radius:50%;background:#281b17;z-index:-1}
.round-progress svg{width:13px;height:13px;color:#ffd0a0}
.vote-choice{border-color:#72506473;border-radius:13px;background:linear-gradient(150deg,#42303e6b,#221822 65%,#1c151d);box-shadow:inset 0 1px 0 #cca6c416;padding:24px}
.vote-choice.option-b{background:linear-gradient(150deg,#39283e80,#221822 65%,#1c151d)}
.vote-choice.selected{background:linear-gradient(145deg,#61392266,#2c1c1b 70%);border-color:#ef9a57;box-shadow:0 0 0 1px #ff9d4933,0 0 28px #e4772320,inset 0 1px 0 #ffd0a02e}
.vote-choice[aria-pressed="false"]{opacity:.76}
.choice-number{font-size:7px;letter-spacing:1.5px;color:#c19ab1}
.vote-choice h3{font-weight:500;color:#f2e2d8}
.choice-check{width:24px;height:24px;display:grid;place-items:center;right:13px;top:12px;border-radius:50%;background:#ff9b3720;border:1px solid #ffb36455}
.choice-check svg{width:13px;height:13px}
.waveform{margin-top:auto;opacity:.95}
.waveform i{box-shadow:0 0 7px #a84bd619}
.option-a .waveform i{box-shadow:0 0 7px #e57d301a}
.choice-result{font-size:9px;color:#be9eb1}
.choice-result strong{color:#f3e6df;font-variant-numeric:tabular-nums}
.vote-choice .progress{height:5px;background:#5c3e4c66}
.vote-summary{color:#bd9faf;font-size:10px}
.vote-summary .vote-state{color:#e8b88a}
.vote-auth{border-top-color:#96577638}
.vote-auth>button:not(.primary){padding:9px 12px;background:#47754b16;border:1px solid #86bf8b30;border-radius:8px;color:#cfdfc8;min-height:37px}
.vote-auth>button:not(.primary) svg{color:#a6cf91}
.vote-auth p{color:#b899a9;font-size:10px}
.rail-tickets{border-radius:15px;border-color:#b477463d;background:linear-gradient(145deg,#3a24272e,#1e161c);box-shadow:inset 0 1px 0 #d3a27312}
.rail-tickets>strong{color:#f6a251;font-variant-numeric:tabular-nums}
.rail-tickets>p{color:#b79ba9}
.rail-tickets .progress{height:4px}

/* Location illustrations remain abstract; no real address is introduced. */
.location-panel{border-color:#ac6fbd4d;border-radius:15px;background:radial-gradient(ellipse at 60% 40%,#65397221,transparent 75%),#1a141c;box-shadow:inset 0 1px 0 #d4a3dc12}
.location-panel.revealed{border-color:#b888534f;background:radial-gradient(ellipse at 50% 50%,#b17c3120,transparent 75%),#1d1719}
.location-top .eyebrow{font-size:7px;letter-spacing:1.7px;color:#c6a0d1}
.map-art{opacity:.34;background:repeating-linear-gradient(0deg,transparent 0 38px,#a77ac83b 39px 40px,transparent 41px 75px),repeating-linear-gradient(90deg,transparent 0 58px,#a77ac83b 59px 60px,transparent 61px 120px),radial-gradient(circle at 50% 50%,#b473d83d,transparent 60%)}
.revealed .map-art{opacity:.43}
.lock-halo{background:radial-gradient(circle,#ba60ee2e,#642d7417);border-color:#c47aee66;box-shadow:0 0 40px #a747ce1f,inset 0 1px 0 #f6caff1a}
.map-message h3{font-size:22px;line-height:1.25;color:#ead5e9}
.map-message p{color:#baa3bd}
.map-countdown{color:#e5c9ed;font-size:30px;letter-spacing:1px;font-weight:500}
.revealed .map-message h3{color:#f0dec1}
.revealed .lock-halo{background:#b8873021;box-shadow:0 0 35px #bc81301a}
.schedule{border-top-color:#80546d3b;color:#ba9fb1;font-size:11px;padding:20px 0}
.schedule strong{color:#ead4e1}
.access-hero{border:1px solid #ce8e5a38;border-radius:15px;box-shadow:inset 0 1px 0 #f5b47e13}
.access-layout>.panel{padding:0;background:none;border:0}
.access-grid>.vote-prompt{border-radius:15px;background:linear-gradient(135deg,#39243945,#1d151b);border-color:#b583b040}
.modal{border-radius:18px;border-color:#a1768d69;background:radial-gradient(ellipse at 100% 0,#954e4520,transparent 65%),#1c151b;box-shadow:0 25px 100px #0006}
.studio{border-color:#ae768955;background:radial-gradient(ellipse at 100% 0,#82323b12,transparent 55%),#1b151b}
.text-input{background:#180f18;border-color:#98647d4d;border-radius:7px}
.toast{border-color:#d895645c;border-radius:10px;background:linear-gradient(120deg,#352129,#2b202a);box-shadow:0 8px 45px #0006}
.footer{border-top-color:#73475f38;color:#b59aa9}

@media(min-width:1500px){.story-content{padding:38px 44px}.ticket-panel{padding:33px}.ticket-count>strong{font-size:114px}.ticket-count>strong.long-count{font-size:79px}}
@media(max-width:1100px){.sale-layout{gap:29px;grid-template-columns:1.1fr 1fr}.ticket-panel{padding:22px}.ticket-count>strong{font-size:82px}.ticket-count>strong.long-count{font-size:58px}.ticket-count{gap:17px}.ticket-count>span b{font-size:14px}.ticket-count>span{font-size:10px}.ticket-heading .eyebrow{letter-spacing:1px;font-size:7px}.ticket-heading .tag{font-size:6px;letter-spacing:.4px;padding:5px}.story-date{right:21px;top:25px}.vote-choice{padding:20px}}
@media(max-width:800px){.ticket-panel{padding:19px}.ticket-count>strong{font-size:74px}.ticket-count>strong.long-count{font-size:51px}.ticket-count{gap:12px}.ticket-count>span b{font-size:13px}.ticket-heading{flex-wrap:wrap;gap:10px}.ticket-panel>.primary{font-size:11px;padding:14px}.story-date{right:17px;top:22px;width:54px}.story-date b{font-size:30px}.ticket-focus .ticket-panel{padding:23px}.live-layout .vote-shell{padding:32px}.vote-choice{padding:23px}}

/* During the party, keep the entire voting flow within the first phone screen. */
@media(max-width:600px){
 body{padding-bottom:calc(88px + env(safe-area-inset-bottom))}
 .header{height:69px}
 .brand>span:last-child{font-size:11px;letter-spacing:2px}.brand small{font-size:5px;letter-spacing:1px}
 .access-button{font-size:9px;padding:10px;min-height:40px;border-radius:9px}
 .event-strip{height:46px;font-size:7px}.event-strip>span:first-child{padding:6px 7px;font-size:6px;letter-spacing:.9px}
 .event-strip>span:last-child{gap:5px;font-size:7px;letter-spacing:.5px}
 .sale-layout{grid-template-columns:1fr;gap:22px}
 .story,.story-content{min-height:386px}.story{border-radius:15px}
 .story-content{padding:24px 23px}
 .story-date{right:20px;top:23px;width:54px;padding:10px 5px 8px}.story-date b{font-size:31px}
 .story-date>span{font-size:7px;letter-spacing:1.7px;margin-top:6px}.story-date i{font-size:5px;letter-spacing:.5px;padding-top:6px;margin-top:6px}
 .story .logo-aura.hero-mark{margin-top:2px}.story-badge{letter-spacing:1.7px;font-size:7px}
 .story h1{font-size:83px}.story p{font-size:10px;max-width:260px}
 .story-foot{font-size:7px;margin-top:19px;padding-top:16px}
 .ticket-panel,.ticket-focus .ticket-panel{padding:23px 22px 19px}
 .ticket-heading{flex-wrap:nowrap;gap:6px}.ticket-heading .eyebrow{font-size:7px;letter-spacing:1.2px}.ticket-heading .eyebrow svg{width:15px;height:15px}.ticket-heading .tag{font-size:6px;letter-spacing:.5px;padding:5px 6px}
 .ticket-count{gap:19px;margin:22px 0 20px}.ticket-count>strong{font-size:82px;letter-spacing:-4.5px}.ticket-count>strong.long-count{font-size:54px;letter-spacing:-3px}
 .ticket-count>span{font-size:10px;line-height:1.7}.ticket-count>span b{font-size:14px;line-height:1.35;margin-bottom:6px}
 .ticket-panel>.primary{font-size:11px;padding:15px 16px;margin-top:21px}
 .ticket-panel .tiny-note{font-size:8px;padding-top:13px;margin-top:16px}
 .location-mini{margin-top:7px;padding:19px 5px}.location-mini h3{font-size:12px}.location-mini p{font-size:9px}
 .location-mini>div:first-child>svg{width:35px;height:35px;padding:8px;border-radius:10px}
 .how-link{margin-top:17px;font-size:9px;line-height:1.8}.how-link strong{font-size:10px}
 .mini-steps{grid-template-columns:1fr;gap:17px;margin-top:26px;padding-top:24px}.mini-steps article{gap:14px;padding:0}.mini-steps article>span{font-size:20px}.mini-steps h3{font-size:11px}.mini-steps p{font-size:10px}
 .round-note{display:none}
 .live-layout{gap:15px}
 .live-layout .vote-shell,.vote-shell{padding:22px 16px 19px;border-radius:16px}
 .vote-header{display:grid;grid-template-columns:1fr auto;align-items:center;text-align:left;gap:15px;margin-bottom:19px;max-width:none}
 .vote-header>.eyebrow{display:none}
 .live-layout .vote-header h2,.vote-header h2{grid-column:1/-1;font-size:29px;line-height:1.12;letter-spacing:-.7px;margin-bottom:0}
 .vote-header .live-badge{grid-column:1;justify-self:start;letter-spacing:1.1px;font-size:8px;margin:0;padding:6px 9px;gap:6px}
 .vote-header .timer-pill{grid-column:2;justify-self:end;margin:0;font-size:16px;letter-spacing:.5px;min-height:36px;padding:4px 10px 4px 4px;gap:7px}
 .round-progress{width:26px;height:26px}.round-progress:before{inset:2px}.round-progress svg{width:12px;height:12px}
 .vote-choices{grid-template-columns:1fr 13px 1fr;gap:7px}
 .vote-choice{min-height:188px;padding:14px 11px;border-radius:11px}
 .choice-number{font-size:6px;letter-spacing:1px;margin-bottom:12px}
 .vote-choice h3{font-size:18px;line-height:1.2;letter-spacing:-.4px;padding-right:1px;max-width:100%}
 .choice-check{right:7px;top:7px;width:19px;height:19px}.choice-check svg{width:11px;height:11px}
 .waveform{height:51px;gap:3px;padding-top:9px}
 .choice-result{font-size:8px;margin-top:7px;margin-bottom:8px}.choice-result strong{font-size:23px}
 .vote-choice .progress{height:4px}.versus{font-size:7px}
 .vote-summary{font-size:9px;line-height:1.8;gap:5px 12px;margin-top:16px}
 .vote-summary svg{width:12px;height:12px}
 .vote-auth{margin-top:15px;padding-top:15px}
 .vote-auth>button:not(.primary){font-size:9px;padding:8px 10px;min-height:34px}
 .vote-auth .primary{font-size:10px;padding:13px 12px;width:100%;justify-content:center;gap:8px}
 .vote-auth p{font-size:9px;line-height:1.7;margin-top:8px}
 .live-rail{gap:12px}
 .rail-tickets{min-height:230px;padding:18px 16px;border-radius:14px}.rail-tickets>strong{font-size:58px;margin:18px 0 7px}.rail-tickets>p{font-size:9px}
 .live-rail .location-panel{min-height:230px;border-radius:14px;padding:15px}
 .live-rail .location-top .eyebrow{font-size:6px;letter-spacing:.7px}.live-rail .map-message h3{font-size:14px}.live-rail .map-message p{font-size:8px}
 .live-rail .map-countdown{font-size:16px;letter-spacing:0}
 .access-hero{padding:24px;min-height:265px}.access-hero h2{font-size:42px}
 .access-layout .ticket-panel{padding:23px 22px 19px}
 .access-grid{gap:12px}.access-grid>.location-panel{border-radius:14px;min-height:275px}.access-grid .map-message h3{font-size:15px}.access-grid .map-countdown{font-size:17px;letter-spacing:0}
 .access-grid>.vote-prompt{padding:20px 15px}.vote-prompt h3{font-size:24px;line-height:1.1}.vote-prompt p{font-size:10px}
 .location-layout>.location-panel{min-height:340px}.location-text h2{font-size:40px}
 .schedule{font-size:10px}.location-text>p{font-size:11px}
 .mobile-nav{left:12px;right:12px;bottom:calc(9px + env(safe-area-inset-bottom));height:64px;padding:4px;gap:2px;border:1px solid #a7729b57;border-radius:18px;background:linear-gradient(120deg,#2f1e2aef,#1d161ef5);backdrop-filter:blur(16px);box-shadow:0 9px 35px #0007,inset 0 1px 0 #d4a1c20d}
 .mobile-nav button{border-radius:12px;font-size:8px;gap:5px;min-height:50px;color:#c1a8bb}
 .mobile-nav button svg{width:18px;height:18px}
 .mobile-nav button.active{background:#914e2d1f;color:#ffae68}
 .mobile-nav button.active:before{top:auto;bottom:3px;width:16px;height:2px}
 .has-open-vote .mobile-nav [data-view="vote"]{border-radius:12px}
 .toast{bottom:calc(87px + env(safe-area-inset-bottom));font-size:10px;padding:12px 15px}
 .footer{padding-block:23px;margin-top:28px}.footer>span:first-child{font-size:9px}.footer button{font-size:8px}
}
@media(forced-colors:active){.ticket-count>strong{background:none;-webkit-text-fill-color:CanvasText;color:CanvasText}.ticket-panel:before,.ticket-panel:after{display:none}.round-progress{outline:1px solid CanvasText}}
