/* A temporary title screen leaves the settled hero layout intact. */
.hero-bb::after{content:"";position:absolute;inset:0;z-index:3;background:#08090b;opacity:0;pointer-events:none;transition:opacity .65s cubic-bezier(.22,1,.36,1)}
.hero-bb.cinema-cut::after{opacity:1;transition:none}
.hero-bb.cinema-cut .bb-montage{transition:none}
.hero-bb .bb-copy{--cinema-scale:5.5;--cinema-x:-8vw;--cinema-y:-12svh;transition:color .65s ease}
.hero-bb.cinema-cut .bb-copy{color:#f5f5f3;transition:none}
.hero-bb.cinema-cut .bb-marquee,.hero-bb.cinema-cut .bb-scroll{opacity:0}
.hero-bb.cinema-cut.has-skip .bb-scroll{opacity:1}
.hero-bb.cinema-rush .bb-tile.is-bloom{animation-duration:.16s}
.hero-bb .bb-copy.is-in .intro-final-jp{animation:cinemaJapanese .65s cubic-bezier(.16,1,.3,1) both}
.hero-bb .bb-copy.is-in .intro-final-en{animation:cinemaTitle .78s cubic-bezier(.16,1,.3,1) .65s both}
.hero-bb .bb-copy.is-in .intro-final-sub{animation:cinemaSubtitle .35s ease-out 1.4s both}
@keyframes cinemaJapanese{
  0%{opacity:0;clip-path:inset(0 100% 0 0);transform:scale(.97);filter:blur(2px)}
  32%{opacity:1;filter:blur(0)}
  100%{opacity:1;clip-path:inset(0);transform:scale(1);filter:blur(0)}
}
@keyframes cinemaTitle{
  0%{opacity:0;transform:translate(var(--cinema-x),var(--cinema-y)) scale(var(--cinema-scale));filter:blur(10px)}
  7%{opacity:1}
  72%{opacity:1;transform:translate(0,0) scale(1.015);filter:blur(0)}
  100%{opacity:1;transform:translate(0,0) scale(1);filter:blur(0)}
}
@keyframes cinemaSubtitle{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
@media(max-width:820px){.hero-bb .bb-copy{--cinema-scale:4;--cinema-x:-4vw;--cinema-y:-15svh}}
@media(prefers-reduced-motion:reduce){
  .hero-bb::after{display:none}
  .hero-bb .bb-copy{transition:none}
  .hero-bb .bb-copy.is-in>span{animation:none!important;opacity:1;transform:none;filter:none;clip-path:none}
}
.hero-bb.intro-skipped::after{opacity:0;transition:none}
.hero-bb.intro-skipped .bb-copy{color:#000;transition:none}
.hero-bb.intro-skipped .bb-copy.is-in>span{clip-path:none}
