.logo-lottie{
  position:absolute;
  inset:0;
  display:block;
  overflow:visible;
  pointer-events:none;
}

.logo-lottie__animation{
  position:absolute;
  inset:0;
  display:block;
  overflow:visible;
  opacity:0;
}

.logo-lottie__animation.is-visible{opacity:1}

.logo-lottie__animation > svg{
  display:block;
  width:100%!important;
  height:100%!important;
  overflow:hidden!important;
}

.logo-lottie__animation > .logo-lottie__canvas--expanded{
  position:absolute;
  left:50%;
  top:50%;
  width:auto!important;
  height:var(--logo-lottie-canvas-size)!important;
  max-width:none;
  max-height:none;
  transform:translate(-50%,-50%);
}

[data-logo-eyes] path{
  fill:var(--logo-eye-fill,#000);
  transition:fill .28s ease;
}

.site-header[data-theme='light'],
.site-header.is-on-light{
  --logo-eye-fill:#fff;
}

body.is-charge .site-header{
  --logo-eye-fill:#000;
}

.foot-wordmark{--logo-eye-fill:#020279}
.hotels-page .foot-wordmark{--logo-eye-fill:#fff}

/* The compact mobile header keeps a 44px tap target, but the logo itself
   must retain its artwork ratio instead of scaling from that target's height. */
.site-header__brand > .logo-lottie{
  top:50%;
  bottom:auto;
  width:100%;
  height:auto;
  aspect-ratio:201/86;
  transform:translateY(-50%);
}

.has-lottie-logo{
  background:none!important;
  -webkit-mask:none!important;
  mask:none!important;
}

.has-lottie-logo > img{opacity:0!important}

.pre-logo > .pre-logo-svg{
  display:block;
  width:100%;
  height:100%;
  overflow:visible;
}

.pre-logo > .pre-logo-svg .pre-logo-letter{
  visibility:visible;
  opacity:1;
}

@media (scripting:enabled){
  .pre-logo:not(.lottie-logo-failed) > .pre-logo-svg{opacity:0}
}
