/* The entrance and the homepage use the same persistent scene. */
body>.header{position:absolute;top:0;left:0;width:100%;background:linear-gradient(#111110c0,transparent);z-index:3}
.hero{height:100svh;min-height:650px;padding-top:140px}
.header,.hero .genre,.hero-stage{transform:perspective(1000px) translateZ(0);transform-origin:50% 50%;filter:blur(0);transition:opacity 8s cubic-bezier(.35,0,.3,1),transform 8s cubic-bezier(.35,0,.3,1),filter 8s cubic-bezier(.35,0,.3,1)}
.pus-entering .header,.pus-entering .hero .genre,.pus-entering .hero-stage{opacity:0;transform:perspective(1000px) translateZ(-850px);filter:blur(6px);pointer-events:none}
.pus-reveal .header,.pus-reveal .hero .genre,.pus-reveal .hero-stage{opacity:1;transform:perspective(1000px) translateZ(0);filter:blur(0);pointer-events:auto}
.pus-entering:not(.pus-reveal) .header,.pus-entering:not(.pus-reveal) .hero .genre,.pus-entering:not(.pus-reveal) .hero-stage{transition:none}
.pus-entering .hero-image:not(.scene-ready){animation:pus-camera-fallback 4.9s cubic-bezier(.16,.65,.22,1) both;transform-origin:70% 32%}
.scene-backdrop{overflow:clip}
@keyframes pus-camera-fallback{from{transform:scale(2.8);filter:brightness(.55)}to{transform:scale(1);filter:brightness(1)}}
@media(max-width:760px){.hero{min-height:560px;padding-top:120px}}
@media(prefers-reduced-motion:reduce){.pus-entering .hero-image:not(.scene-ready){animation:none}.header,.hero .genre,.hero-stage{transform:none;filter:none;transition:opacity .5s ease}.pus-entering .header,.pus-entering .hero .genre,.pus-entering .hero-stage{transform:none;filter:none}}

/* Center the genre beneath the band name, within the shared animated heading. */
.header-caption{text-align:center}
.header-caption .genre{margin:6px 0 0;font-size:.75rem;font-weight:400;line-height:1.4;letter-spacing:.06em;white-space:normal;text-align:center}

