/* A quiet stage, two clean title hits, and one continuous curtain movement. */
.headline-entrance{contain:paint}
.headline-entrance .entrance-photo{filter:brightness(.65) saturate(.85)!important;scale:1!important;transition:none!important}
.headline-entrance:before{background:linear-gradient(0deg,#0008,transparent 65%),radial-gradient(ellipse at center,#0002,#0008);pointer-events:none}
.headline-entrance .entrance-velvet{opacity:1;scale:1!important;translate:none!important;filter:none!important;transition:none!important;animation:none!important;will-change:transform}
.headline-entrance .entrance-beam{animation:none!important;opacity:.25;rotate:-12deg;transition:opacity 1.2s;filter:blur(16px)}
.headline-entrance .entrance-beam.second{rotate:12deg;opacity:.2}
.headline-entrance.departing .entrance-beam{opacity:.45}
.headline-entrance .entrance-ramp{animation:none!important;opacity:0;transition:opacity 1.2s}
.headline-entrance.departing .entrance-ramp{opacity:.3}
.headline-entrance .entrance-stage-cue span{filter:none!important;white-space:nowrap;will-change:opacity,transform}
.headline-entrance .entrance-stage-cue .cue-one{font-family:var(--display);font-size:clamp(21px,7.1vw,130px);font-weight:700;line-height:1;letter-spacing:-.025em;color:#fff;text-shadow:0 3px 30px #0005}
.headline-entrance .entrance-stage-cue .cue-two{font-size:clamp(50px,15vw,235px);text-shadow:0 3px 40px #0005}
.headline-entrance .entrance-stage-cue .cue-three{font-size:clamp(25px,5vw,75px);text-shadow:0 3px 30px #0005}
.headline-entrance.departing{animation:smooth-stage-fade .6s var(--fade-start,7.9s) both!important}
.headline-entrance.departing .entrance-copy{transition:opacity .4s,transform .55s;transform:translateY(-8px);opacity:0}
.motion-on .headline-entrance.departing .entrance-velvet.left{animation:smooth-curtain-left 3.15s var(--curtain-start,3.2s) cubic-bezier(.45,0,.15,1) both!important}
.motion-on .headline-entrance.departing .entrance-velvet.right{animation:smooth-curtain-right 3.15s var(--curtain-start,3.2s) cubic-bezier(.45,0,.15,1) both!important}
.motion-on .headline-entrance.departing .cue-one{animation:smooth-announcer var(--ladies-length,4.7s) .35s both!important}
.motion-on .headline-entrance.departing .cue-two{animation:smooth-title-hit 1.9s var(--name-delay,5.15s) both!important}
.motion-on .headline-entrance.departing .cue-three{animation:smooth-final-line 1.2s var(--final-delay,7s) both!important}
@keyframes smooth-curtain-left{from{transform:translateX(0)}to{transform:translateX(-103%)}}
@keyframes smooth-curtain-right{from{transform:translateX(0)}to{transform:translateX(103%)}}
@keyframes smooth-stage-fade{from{opacity:1}to{opacity:0}}
@keyframes smooth-announcer{0%{opacity:0;transform:translateY(14px) scale(.98)}16%{opacity:1;transform:translateY(0) scale(1.015)}26%,82%{opacity:1;transform:translateY(0) scale(1)}100%{opacity:0;transform:translateY(-8px) scale(1)}}
@keyframes smooth-title-hit{0%{opacity:0;transform:translateY(10px) scale(.97)}22%{opacity:1;transform:translateY(0) scale(1.025)}36%,76%{opacity:1;transform:translateY(0) scale(1)}100%{opacity:0;transform:translateY(-6px) scale(1)}}
@keyframes smooth-final-line{0%{opacity:0;transform:translateY(8px)}25%,75%{opacity:1;transform:translateY(0)}100%{opacity:0;transform:translateY(-5px)}}
body:has(.headline-entrance[open]) .hero-image{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.headline-entrance *{animation:none!important;transition:none!important}.headline-entrance.departing{animation:none!important}}
/* Crisp, bright headliner outline, without a blurred halo. */
.headline-entrance .entrance-title{filter:none;text-shadow:none;text-rendering:geometricPrecision}
.headline-entrance .entrance-title .name-matt{color:rgba(255,255,255,.07);-webkit-text-stroke:2px #ffffff;text-shadow:none;filter:none}
@media(max-width:600px){.headline-entrance .entrance-title .name-matt{-webkit-text-stroke:1.5px #ffffff}}
/* Heavy stage drapes gather at the wings instead of sliding off as flat panels. */
.headline-entrance .entrance-velvet{background:repeating-linear-gradient(90deg,#08090b 0%,#111318 2.8%,#1d2026 5.2%,#0c0d10 8%,#050608 10.4%);box-shadow:inset -14px 0 24px #0008,8px 0 28px #0006;border-right:1px solid #7d8b9a18;backface-visibility:hidden;transform:translate3d(0,0,0)}
.headline-entrance .entrance-velvet.right{background:repeating-linear-gradient(270deg,#08090b 0%,#111318 2.8%,#1d2026 5.2%,#0c0d10 8%,#050608 10.4%);box-shadow:inset 14px 0 24px #0008,-8px 0 28px #0006;border-right:0;border-left:1px solid #7d8b9a18}
.headline-entrance .entrance-velvet.left{transform-origin:left center}
.headline-entrance .entrance-velvet.right{transform-origin:right center}
.headline-entrance .entrance-velvet:before{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#0008,transparent 25%,transparent 80%,#000b);pointer-events:none}
.headline-entrance .entrance-velvet:after{content:'';position:absolute;inset:0;background:linear-gradient(100deg,transparent 20%,#ffffff04 45%,transparent 70%);pointer-events:none}
.motion-on .headline-entrance.departing .entrance-velvet.left{animation:gather-left 4s var(--curtain-start,3.2s) cubic-bezier(.5,0,.15,1) both!important}
.motion-on .headline-entrance.departing .entrance-velvet.right{animation:gather-right 4s var(--curtain-start,3.2s) cubic-bezier(.5,0,.15,1) both!important}
.curtain-spill{position:absolute;inset:0;pointer-events:none;z-index:0;background:radial-gradient(ellipse at 50% 45%,#e4c99b1c,transparent 48%);opacity:0}
.motion-on .headline-entrance.departing .curtain-spill{animation:curtain-spill 3.8s var(--curtain-start,3.2s) both}
@keyframes gather-left{0%{transform:translate3d(0,0,0) scaleX(1)}14%{transform:translate3d(-1%,0,0) scaleX(.98)}52%{transform:translate3d(-5%,0,0) scaleX(.58)}82%{transform:translate3d(-9%,0,0) scaleX(.16)}100%{transform:translate3d(-12%,0,0) scaleX(.015)}}
@keyframes gather-right{0%{transform:translate3d(0,0,0) scaleX(1)}14%{transform:translate3d(1%,0,0) scaleX(.98)}52%{transform:translate3d(5%,0,0) scaleX(.58)}82%{transform:translate3d(9%,0,0) scaleX(.16)}100%{transform:translate3d(12%,0,0) scaleX(.015)}}
@keyframes curtain-spill{0%,10%{opacity:0;transform:scaleX(.08)}40%{opacity:.8;transform:scaleX(.5)}75%{opacity:1;transform:scaleX(1)}100%{opacity:0;transform:scaleX(1.15)}}
@media(prefers-reduced-motion:reduce){.curtain-spill{display:none}.headline-entrance .entrance-velvet{animation:none!important}}
/* The center reveal is the halfway mark of the shared four-second curtain track. */
.motion-on .headline-entrance.departing .entrance-velvet.left{animation-timing-function:linear!important}
.motion-on .headline-entrance.departing .entrance-velvet.right{animation-timing-function:linear!important}
@keyframes gather-left{0%{transform:translate3d(0,0,0) scaleX(1)}18%{transform:translate3d(-1%,0,0) scaleX(.98)}50%{transform:translate3d(-5%,0,0) scaleX(.55)}82%{transform:translate3d(-9%,0,0) scaleX(.16)}100%{transform:translate3d(-12%,0,0) scaleX(.015)}}
@keyframes gather-right{0%{transform:translate3d(0,0,0) scaleX(1)}18%{transform:translate3d(1%,0,0) scaleX(.98)}50%{transform:translate3d(5%,0,0) scaleX(.55)}82%{transform:translate3d(9%,0,0) scaleX(.16)}100%{transform:translate3d(12%,0,0) scaleX(.015)}}
