/* Isolated homepage identity transition. */
.brand-intro-pending{overflow:hidden}
#brand-intro{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;background:#fff;opacity:1;visibility:visible;pointer-events:auto}
#brand-intro .brand-intro-video{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;background:#fff;opacity:1;transform:scale(1);transition:opacity .5s ease,transform .75s cubic-bezier(.65,0,.35,1)}
#brand-intro.is-transitioning .brand-intro-video{opacity:0;transform:scale(.96)}
.brand-intro-lockup{position:absolute;inset:0;opacity:0;transition:opacity .3s ease .08s}
#brand-intro.is-transitioning .brand-intro-lockup{opacity:1}
.brand-intro-source{position:absolute;left:50%;top:50%;display:block;width:min(70vw,560px);height:auto;object-fit:contain;opacity:1;transform:translate(-50%,-50%);transition:top 1s cubic-bezier(.65,0,.35,1),width 1s cubic-bezier(.65,0,.35,1),opacity .65s ease}
.brand-intro-is-now{position:absolute;left:50%;top:51%;display:block;color:#607486;font:800 clamp(.72rem,1.25vw,1rem)/1 Manrope,Arial,sans-serif;letter-spacing:.22em;text-transform:uppercase;white-space:nowrap;opacity:0;transform:translate(-50%,10px);transition:opacity .45s ease .38s,transform .55s ease .38s}
.brand-intro-primary{position:absolute;left:50%;top:64%;display:block;width:min(76vw,650px);height:auto;opacity:0;transform:translate(-50%,-50%) scale(.93);transition:opacity .55s ease .56s,transform .75s cubic-bezier(.2,.8,.2,1) .56s}
#brand-intro.is-transitioning .brand-intro-source{top:38%;width:min(44vw,390px);opacity:.88}
#brand-intro.is-transitioning .brand-intro-is-now{opacity:1;transform:translate(-50%,0)}
#brand-intro.is-transitioning .brand-intro-primary{opacity:1;transform:translate(-50%,-50%) scale(1)}
#brand-intro.is-done{opacity:0;visibility:hidden;pointer-events:none;transition:opacity .48s ease,visibility 0s linear .48s}
@media(max-width:600px){
  #brand-intro .brand-intro-video{object-fit:contain}
  #brand-intro.is-transitioning .brand-intro-source{top:39%;width:min(68vw,340px)}
  .brand-intro-is-now{top:50%;font-size:.65rem;letter-spacing:.18em}
  .brand-intro-primary{top:60%;width:min(84vw,520px)}
}
@media(prefers-reduced-motion:reduce){
  #brand-intro .brand-intro-video{display:none}
  .brand-intro-lockup,.brand-intro-source,.brand-intro-is-now,.brand-intro-primary{transition:none!important}
  #brand-intro.is-done{transition:none}
}
