@font-face{font-family:"RTS Ticket";src:url('/assets/RTSNeue-Medium.ttf') format('truetype');font-weight:500;font-display:swap;}
body.ticket-scene-open{overflow:hidden;}
#ticket-notice{position:fixed;inset:0;margin:0;width:100%;max-width:none;height:100%;height:100dvh;max-height:none;padding:0;border:0;border-radius:0;outline:none;background:#090302;color:#fff;overflow:auto;overscroll-behavior:contain;}
#ticket-notice::backdrop{background:#000;backdrop-filter:none;-webkit-backdrop-filter:none;}
.ticket-scene{position:relative;isolation:isolate;overflow:hidden;width:100%;height:100%;min-height:560px;background:#100400 url('/assets/hero-background-hd.jpg') center/cover no-repeat;}
.ticket-scene::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#0000 20%,#0002 50%,#000b 100%);pointer-events:none;}
#ticket-notice h2{position:absolute;z-index:4;top:11.8%;left:4%;width:92%;margin:0;text-align:center;font-family:"RTS Ticket","RTS Neue",sans-serif;font-weight:500;font-size:clamp(42px,min(6.7vw,10.6vh),90px);line-height:.96;letter-spacing:-.045em;text-transform:none;}
#ticket-notice h2>span{display:block;}
#ticket-notice .ticket-countdown{position:absolute;z-index:2;top:35.3%;left:50%;transform:translateX(-50%);width:min(700px,83%);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;}
#ticket-notice .ticket-countdown>div{display:flex;flex-direction:column;align-items:center;gap:12px;}
#ticket-notice .ticket-countdown [data-countdown]{font-family:"RTS Neue",sans-serif;font-size:clamp(40px,min(5.7vw,9vh),76px);font-weight:800;color:#8f8989;line-height:1;letter-spacing:-.04em;font-variant-numeric:tabular-nums;}
#ticket-notice .ticket-countdown small{font-size:clamp(12px,1.4vw,18px);color:#938d8d;line-height:1;font-weight:400;letter-spacing:-.04em;}
.ticket-artists{position:absolute;z-index:3;top:41.5%;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,1100px);pointer-events:none;}
.ticket-artist{position:absolute;max-width:none;height:auto;object-fit:contain;}
.artist-wunnad{width:31%;left:8%;top:12%;z-index:1;}
.artist-mia{width:36%;left:19.5%;top:0;z-index:2;}
.artist-azure{width:25%;left:64%;top:11%;z-index:1;}
.artist-ccino{width:28%;left:47%;top:8%;z-index:2;}
.artist-wito{width:46%;left:28%;top:3%;z-index:3;}
.ticket-artists::after{content:"";position:absolute;inset:0;z-index:4;background:linear-gradient(180deg,#0000 28%,#0002 44%,#000e 65%,#000 100%);}
.ticket-promo{position:absolute;z-index:5;bottom:4.7%;left:0;width:100%;text-align:center;}
.ticket-category-label{display:block;font-size:14px;letter-spacing:.03em;line-height:1.3;margin-bottom:8px;font-weight:400;}
.ticket-promo h3{font-size:clamp(26px,3.2vw,44px);font-weight:800;line-height:.98;letter-spacing:-.045em;margin:0;}
.ticket-vote-link{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:12px 24px;margin-top:20px;border:1px solid #fff;border-radius:99px;background:#ffffff16;color:#fff;text-decoration:none;font-size:16px;font-weight:400;letter-spacing:-.03em;}
.ticket-vote-link:hover{background:#ffffff28;}
.ticket-vote-link:focus-visible{outline:2px solid white;outline-offset:4px;}
.ticket-scene-close:focus{outline:none;box-shadow:none;}
.ticket-scene-close:focus-visible{text-shadow:0 0 8px #fff,0 0 18px #fff;}
.ticket-scene-close{position:absolute;z-index:10;right:max(18px,env(safe-area-inset-right));top:max(14px,env(safe-area-inset-top));width:44px;height:44px;border:0;background:transparent;color:white;font-size:36px;line-height:1;cursor:pointer;}
@media(max-width:800px){
 .ticket-scene{min-height:620px;}
 #ticket-notice h2{top:10.5%;left:3%;width:94%;font-size:9.45vw;line-height:.96;}
 #ticket-notice .ticket-countdown{top:28.7%;width:84%;}
 #ticket-notice .ticket-countdown [data-countdown]{font-size:9.8vw;}
 #ticket-notice .ticket-countdown>div{gap:10px;}
 #ticket-notice .ticket-countdown small{font-size:clamp(10px,2.5vw,16px);}
 .ticket-artists{top:40%;width:100%;}
 .artist-wunnad{width:49%;left:-16%;top:10%;}
 .artist-mia{width:60%;left:0%;top:-2%;}
 .artist-azure{width:45%;left:71%;top:11%;}
 .artist-ccino{width:51%;left:47.5%;top:6%;}
 .artist-wito{width:75%;left:12.5%;top:0;}
 .ticket-promo{bottom:12.3%;}
 .ticket-promo h3{font-size:5.55vw;}
 .ticket-category-label{font-size:clamp(10px,2vw,14px);margin-bottom:7px;}
 .ticket-vote-link{min-height:clamp(44px,7vw,50px);font-size:clamp(13px,2.3vw,16px);padding:10px 22px;margin-top:18px;}
 .ticket-artists::after{background:linear-gradient(180deg,#0000 25%,#0004 43%,#000e 65%,#000 100%);}
 .ticket-scene-close{font-size:30px;right:8px;top:8px;}
}

/* Same moving curtain as the home page; the poster remains the fallback. */
.ticket-scene-background{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;opacity:.78;pointer-events:none;}
.ticket-promo h3>span{display:block;}
/* Reference entrance: a short upward fade, one title line after another. */
#ticket-notice[open] h2>span,#ticket-notice[open] .ticket-promo h3>span,#ticket-notice[open] .ticket-category-label{animation:ticket-scene-enter .5s cubic-bezier(.22,1,.36,1) both;}
#ticket-notice[open] h2>span:first-child{animation-delay:.12s;}
#ticket-notice[open] h2>span:nth-child(2){animation-delay:.37s;}
/* Start-to-start timing: title .12 s, first portrait .37 s. */
#ticket-notice[open] .ticket-artist{animation:ticket-scene-enter .55s cubic-bezier(.22,1,.36,1) both;}
#ticket-notice[open] .artist-wunnad{animation-delay:.37s;}
#ticket-notice[open] .artist-mia{animation-delay:.52s;}
#ticket-notice[open] .artist-wito{animation-delay:.67s;}
#ticket-notice[open] .artist-ccino{animation-delay:.82s;}
#ticket-notice[open] .artist-azure{animation-delay:.97s;}
/* Portrait starts are .15 s apart. Azure .97 s, category 1.22 s. */
#ticket-notice[open] .ticket-category-label,#ticket-notice[open] .ticket-promo h3>span:first-child{animation-delay:1.22s;}
#ticket-notice[open] .ticket-promo h3>span:nth-child(2){animation-delay:1.47s;}
@keyframes ticket-scene-enter{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){
 #ticket-notice[open] h2>span,#ticket-notice[open] .ticket-promo h3>span,#ticket-notice[open] .ticket-artist,#ticket-notice[open] .ticket-category-label{animation:none;opacity:1;transform:none;}
 .ticket-scene-background{display:none;}
}
