/* Hero content stays in normal flow: CTA and bottom metadata cannot overlap. */
.hero{height:auto;min-height:max(850px,100svh);display:flex;flex-direction:column}
.hero-content{flex:1;width:100%;padding-top:190px;padding-bottom:64px}
.hero-bottom{position:relative;left:auto;right:auto;bottom:auto;flex-shrink:0}
.hero-meta{padding-top:20px;padding-bottom:25px;border-top:1px solid #ffffff18;gap:25px;flex-wrap:wrap}
.hero-actions{flex-wrap:wrap;row-gap:18px}
.hero-location{bottom:130px}
.replay-entrance{font-size:8px;letter-spacing:.15em;text-transform:uppercase;color:#ddd;border-bottom:1px solid #fff6;padding:0 0 5px;display:flex;gap:9px;align-items:center}
.replay-entrance:hover{color:#9dcaff}
.headline-entrance{inset:0;margin:0;width:100%;height:100dvh;max-width:none;max-height:none;border:0;background:#050505;color:white;padding:0;overflow:hidden;isolation:isolate}
.headline-entrance[open]{display:flex;align-items:center;justify-content:center}
.headline-entrance::backdrop{background:#050505}
.entrance-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:60% center;z-index:-4;filter:brightness(.25) saturate(.65);scale:1.06}
.headline-entrance:before{content:'';position:absolute;inset:0;z-index:-3;background:radial-gradient(ellipse at 50% 40%,transparent,#000b 90%),linear-gradient(0deg,#000c,transparent 60%)}
.entrance-velvet{position:absolute;top:0;bottom:0;width:50.2%;z-index:-2;background:repeating-linear-gradient(90deg,#090a0d 0%,#14161b 4%,#08090c 9%,#181b20 13%,#08090c 18%);box-shadow:inset -1px 0 #ffffff14;opacity:.88;transform-origin:top}
.entrance-velvet.left{left:0}.entrance-velvet.right{right:0;scale:-1 1}
.entrance-beam{position:absolute;left:12%;top:-15%;width:40%;height:140%;background:conic-gradient(from 162deg at 50% 0%,transparent,#f1d1a81a 13deg,transparent 29deg);rotate:-18deg;filter:blur(12px);z-index:-1;transform-origin:top;pointer-events:none}
.entrance-beam.second{left:50%;rotate:18deg;background:conic-gradient(from 162deg at 50% 0%,transparent,#7cb6ff1c 13deg,transparent 29deg)}
.entrance-topline{position:absolute;top:28px;left:20px;right:20px;display:flex;justify-content:space-between;align-items:center;z-index:2;gap:20px}
.entrance-topline .brand{gap:15px}.entrance-topline .mono{width:40px;height:29px}.entrance-topline .brand-name{font-size:17px}
.entrance-skip{font-size:8px;text-transform:uppercase;letter-spacing:.15em;border-bottom:1px solid #fff5;padding:9px 0;color:#ccc}
.entrance-copy{text-align:center;position:relative;z-index:1;width:100%;padding:75px 20px 90px}
.entrance-billing{font-size:9px;letter-spacing:.35em;text-transform:uppercase;color:#b8c9dc;margin-bottom:28px;display:flex;gap:20px;align-items:center;justify-content:center}
.entrance-billing:before,.entrance-billing:after{content:'';width:50px;height:1px;background:linear-gradient(90deg,transparent,#a1b6cd)}
.entrance-billing:after{rotate:180deg}
.entrance-title{font-family:var(--display);font-size:clamp(100px,17vw,275px);text-transform:uppercase;font-weight:700;line-height:.78;letter-spacing:-.035em;text-shadow:0 0 80px #ffffff08;margin:0}
.entrance-title span{display:block;color:transparent;-webkit-text-stroke:1px #ffffffb0}
.entrance-tagline{font-size:11px;letter-spacing:.08em;color:#aaaeb5;margin:30px 0 25px}
.entrance-enter{min-width:240px;min-height:53px;gap:35px;font-size:10px}
.entrance-note{margin-top:14px;font-size:8px;letter-spacing:.13em;text-transform:uppercase;color:#626b77}
.entrance-bottomline{position:absolute;left:20px;right:20px;bottom:24px;display:flex;justify-content:space-between;border-top:1px solid #ffffff20;padding-top:16px;gap:20px;font-size:8px;letter-spacing:.13em;text-transform:uppercase;color:#707b8a}
.entrance-bottomline span:last-child{color:#a6bdd8}
.headline-entrance .entrance-copy,.headline-entrance .entrance-topline,.headline-entrance .entrance-bottomline{transition:opacity .5s,transform .6s}
.headline-entrance.departing .entrance-copy{opacity:0;transform:translateY(-30px) scale(1.04);pointer-events:none}
.headline-entrance.departing .entrance-topline,.headline-entrance.departing .entrance-bottomline{opacity:0;pointer-events:none}
.motion-on .headline-entrance:not(.departing) .entrance-beam{animation:entrance-light 9s ease-in-out infinite alternate}
.motion-on .headline-entrance:not(.departing) .entrance-beam.second{animation-delay:-4s}
.motion-on .headline-entrance.departing .entrance-velvet.left{animation:headline-curtain-left 1.9s .15s cubic-bezier(.76,0,.24,1) both}
.motion-on .headline-entrance.departing .entrance-velvet.right{animation:headline-curtain-right 1.9s .15s cubic-bezier(.76,0,.24,1) both}
.headline-entrance.departing .entrance-photo{transition:filter 2s,scale 2.3s;filter:brightness(.7) saturate(1);scale:1}
.headline-entrance.departing{animation:entrance-dissolve 2.3s both}
.motion-on .entrance-arrival .hero-word{animation:headline-arrive 1.5s var(--motion-ease) both;animation-delay:calc(var(--line) * .17s + .15s)}
.motion-on .entrance-arrival .hero .eyebrow{animation:soft-arrive 1.2s .1s both}
.motion-on .entrance-arrival .hero-intro{animation:soft-arrive 1.2s .7s both}
.motion-on .entrance-arrival .hero-actions{animation:soft-arrive 1.2s .95s both}
@keyframes entrance-light{from{rotate:-21deg;opacity:.4}to{rotate:19deg;opacity:1}}
@keyframes headline-curtain-left{to{translate:-102% 0;skew:-3deg}}
@keyframes headline-curtain-right{to{translate:102% 0}}
@keyframes entrance-dissolve{0%,70%{opacity:1}100%{opacity:0}}
@media(min-width:1600px){.hero-content{padding-top:200px}.hero{min-height:100svh}}
@media(max-width:1000px){.hero-content{padding-top:180px}.entrance-title{font-size:clamp(110px,23vw,190px)}}
@media(max-width:600px){.hero-content{padding-top:350px;padding-bottom:48px}.hero{min-height:870px}.hero-location{top:135px;bottom:auto}.hero-meta{row-gap:15px}.hero-meta .handle span{display:none}.entrance-topline{top:22px}.entrance-topline .brand-name{font-size:12px}.entrance-topline .mono{width:30px;height:21px}.entrance-title{font-size:clamp(100px,29vw,175px)}.entrance-billing{font-size:7px;letter-spacing:.24em;margin-bottom:28px;gap:12px}.entrance-billing:before,.entrance-billing:after{width:22px}.entrance-tagline{font-size:10px;margin-top:28px}.entrance-bottomline{font-size:6px}.entrance-copy{padding-top:90px;padding-bottom:90px}.entrance-skip{font-size:7px}.replay-entrance{font-size:7px}.entrance-note{font-size:7px}}
@media(max-height:600px){.entrance-title{font-size:clamp(80px,21vh,140px)}.entrance-copy{padding-top:80px;padding-bottom:65px}.entrance-billing{margin-bottom:18px;font-size:7px}.entrance-tagline{margin:20px 0 18px;font-size:10px}.entrance-enter{min-height:44px}.entrance-note{margin-top:8px}.entrance-topline{top:17px}.entrance-bottomline{bottom:15px;padding-top:10px}}
@media(max-width:600px) and (max-height:550px){.hero-content{padding-top:260px}.hero{min-height:790px}}
@media(prefers-reduced-motion:reduce){.headline-entrance .entrance-beam{animation:none!important}.headline-entrance.departing{animation:none!important}.headline-entrance.departing .entrance-velvet{animation:none!important}.headline-entrance *{transition:none!important}}
/* Blackout, anticipation, the headliner, and the resolve. */
.entrance-tools{display:flex;gap:24px;align-items:center}
.entrance-sound{display:flex;gap:8px;align-items:center;border:1px solid #ffffff35;border-radius:30px;padding:9px 13px;font-size:8px;text-transform:uppercase;letter-spacing:.12em;color:#a0a7b1;background:#08080888}
.entrance-sound[aria-pressed="true"]{border-color:#9acaff;color:#d5e9ff;background:#206fca18}
.entrance-sound>span:first-child{font-size:15px;line-height:1}
.entrance-sound:hover{border-color:#d5e9ff;color:white}
.entrance-sound-note{font-size:9px;color:#7f8998;margin-top:14px}
.entrance-stage-cue{position:absolute;inset:0;display:grid;place-items:center;z-index:3;pointer-events:none;text-align:center;padding:0 20px}
.entrance-stage-cue span{grid-area:1/1;opacity:0;font-family:var(--display);font-size:clamp(45px,8vw,125px);font-weight:700;letter-spacing:.02em;line-height:1;text-transform:uppercase;text-shadow:0 0 70px #ffffff20}
.entrance-stage-cue .cue-one{font-family:var(--body);font-size:10px;letter-spacing:.5em;color:#b7c1ce}
.entrance-stage-cue .cue-three{font-size:clamp(30px,5vw,75px);letter-spacing:.07em}
.entrance-ramp{position:absolute;left:20%;right:20%;bottom:-25%;height:65%;background:conic-gradient(from 338deg at 50% 100%,transparent,#ffffff12 23deg,transparent 45deg);opacity:0;filter:blur(18px);z-index:0;pointer-events:none}
.headline-entrance.departing .entrance-topline{opacity:1;pointer-events:auto;z-index:8}
.headline-entrance.departing .entrance-topline .brand{opacity:.35;transition:opacity .6s}
.headline-entrance.departing .entrance-bottomline{opacity:0}
.headline-entrance.departing{animation:headliner-dissolve 4.8s both}
.headline-entrance.departing .entrance-copy{transition:opacity .5s,transform .65s;opacity:0;transform:translateY(-20px) scale(.98)}
.motion-on .headline-entrance.departing .entrance-velvet.left{animation:headliner-left 3s .8s cubic-bezier(.65,0,.25,1) both}
.motion-on .headline-entrance.departing .entrance-velvet.right{animation:headliner-right 3s .8s cubic-bezier(.65,0,.25,1) both}
.headline-entrance.departing .entrance-photo{transition:filter 3.6s .7s,scale 4s;filter:brightness(.85) saturate(1);scale:1}
.motion-on .headline-entrance.departing .entrance-beam{animation:headliner-beam 4.8s both}
.motion-on .headline-entrance.departing .entrance-beam.second{animation-delay:.12s;animation-direction:reverse}
.motion-on .headline-entrance.departing .entrance-ramp{animation:ramp-up 4.8s both}
.motion-on .headline-entrance.departing .cue-one{animation:cue-lights 4.8s both}
.motion-on .headline-entrance.departing .cue-two{animation:cue-headliner 4.8s both}
.motion-on .headline-entrance.departing .cue-three{animation:cue-tagline 4.8s both}
@keyframes headliner-left{0%{translate:0 0}22%{translate:-3% 0}70%{translate:-76% 0}100%{translate:-104% 0}}
@keyframes headliner-right{0%{translate:0 0}22%{translate:3% 0}70%{translate:76% 0}100%{translate:104% 0}}
@keyframes headliner-dissolve{0%,82%{opacity:1}100%{opacity:0}}
@keyframes headliner-beam{0%{opacity:.1;rotate:-30deg}40%{opacity:.7;rotate:5deg}70%{opacity:1;rotate:25deg}100%{opacity:.1;rotate:32deg}}
@keyframes ramp-up{0%,20%{opacity:0;scale:.6}60%{opacity:1;scale:1.1}100%{opacity:0;scale:1.3}}
@keyframes cue-lights{0%,8%{opacity:0;transform:translateY(10px)}15%,24%{opacity:1;transform:translateY(0)}33%,100%{opacity:0;transform:translateY(-8px)}}
@keyframes cue-headliner{0%,30%{opacity:0;transform:scale(.94);filter:blur(5px)}45%,62%{opacity:1;transform:scale(1);filter:blur(0)}75%,100%{opacity:0;transform:scale(1.04);filter:blur(1px)}}
@keyframes cue-tagline{0%,68%{opacity:0;transform:translateY(12px)}80%,88%{opacity:1;transform:translateY(0)}100%{opacity:0;transform:translateY(-8px)}}
@media(max-width:600px){.entrance-tools{gap:12px}.entrance-sound{font-size:7px;padding:8px 10px;gap:6px}.entrance-topline .brand-name{font-size:11px}.entrance-topline .brand{gap:8px}.entrance-sound-note{font-size:8px;line-height:1.6}.entrance-stage-cue .cue-one{font-size:8px;letter-spacing:.3em}}
@media(max-height:600px){.entrance-note{display:none}.entrance-sound-note{font-size:8px;margin-top:10px}.entrance-copy{padding-bottom:58px}.entrance-title{font-size:clamp(70px,20vh,120px)}}
@media(prefers-reduced-motion:reduce){.entrance-stage-cue,.entrance-ramp{display:none}.headline-entrance.departing{animation:none!important}}
/* A single-line headliner lockup and a full-stage announcer cue. */
.entrance-title{font-size:clamp(54px,16vw,260px);white-space:nowrap;line-height:.9;letter-spacing:-.035em}
.entrance-title span{display:inline}
.entrance-title .name-vegas{color:white;-webkit-text-stroke:0}
.entrance-title .name-matt{color:transparent;-webkit-text-stroke:1px #ffffffb0}
.entrance-stage-cue .cue-one{font-family:var(--display);font-weight:700;font-size:clamp(54px,10vw,170px);letter-spacing:-.015em;line-height:.9;color:white;text-shadow:0 0 80px #b5d8ff22}
.entrance-stage-cue .cue-two{white-space:nowrap;font-size:clamp(52px,15vw,235px);letter-spacing:-.035em;line-height:1}
.headline-entrance.departing{animation:long-reveal-fade .75s var(--fade-start,7.75s) both}
.motion-on .headline-entrance.departing .entrance-velvet.left{animation:headliner-left 3s var(--curtain-start,3.2s) cubic-bezier(.65,0,.25,1) both}
.motion-on .headline-entrance.departing .entrance-velvet.right{animation:headliner-right 3s var(--curtain-start,3.2s) cubic-bezier(.65,0,.25,1) both}
.motion-on .headline-entrance.departing .cue-one{animation:grand-announcer var(--ladies-length,4.7s) .35s both}
.motion-on .headline-entrance.departing .cue-two{animation:grand-headliner 1.9s var(--name-delay,5.15s) both}
.motion-on .headline-entrance.departing .cue-three{animation:grand-headliner 1.2s var(--final-delay,7s) both}
.motion-on .headline-entrance.departing .entrance-beam{animation:headliner-beam var(--show-length,8.5s) both}
.motion-on .headline-entrance.departing .entrance-ramp{animation:ramp-up var(--show-length,8.5s) both}
.headline-entrance.departing .entrance-photo{transition:filter 4s var(--curtain-start,3.2s),scale var(--show-length,8.5s)}
@keyframes long-reveal-fade{from{opacity:1}to{opacity:0}}
@keyframes grand-announcer{0%{opacity:0;transform:scale(.9) translateY(15px);filter:blur(5px)}18%,75%{opacity:1;filter:blur(0)}85%{transform:scale(1.03)}100%{opacity:0;transform:scale(1.06);filter:blur(3px)}}
@keyframes grand-headliner{0%{opacity:0;transform:scale(.91);filter:blur(5px)}22%,72%{opacity:1;transform:scale(1);filter:blur(0)}100%{opacity:0;transform:scale(1.05);filter:blur(2px)}}
@media(max-height:600px){.entrance-title{font-size:clamp(54px,15vw,180px)}.entrance-copy{padding-top:90px;padding-bottom:70px}.entrance-stage-cue .cue-one{font-size:min(10vw,24vh)}}
/* Let the announcer billing occupy the stage, including short preview windows. */
.entrance-stage-cue .cue-one{font-size:clamp(42px,12.5vw,210px)}
@media(max-height:600px){.entrance-stage-cue .cue-one{font-size:min(12.5vw,28vh)}}
