/* One persistent logo anchor and one independent curtain. Header geometry
 * values are defined once in header-premium.css and consumed here. */

.ls-preloader-outer{display:none}

.ls-global-logo{
  position:fixed;
  z-index:145;
  left:var(--ls-logo-final-left,max(15px,calc((100vw - 1800px)/2)));
  top:calc(var(--ls-topbar-stack-height,0px) + var(--ls-logo-final-top,21.78px));
  width:var(--ls-logo-target-width,136px);
  aspect-ratio:1864/280;
  display:grid;
  color:#111;
  text-decoration:none;
  pointer-events:auto;
  transform:var(--ls-logo-final-transform,none);
  transform-origin:50% 50%;
  -webkit-tap-highlight-color:transparent;
}

.admin-bar .ls-global-logo{
  top:calc(var(--ls-admin-bar-height,32px) + var(--ls-topbar-stack-height,0px) + var(--ls-logo-final-top,21.78px));
}

.ls-global-logo__layer{
  position:relative;
  grid-column:1;
  grid-row:1;
  width:100%;
  height:100%;
  display:grid;
  place-items:center;
  pointer-events:none;
}

.ls-global-logo__layer img{
  width:100%;
  height:100%;
  display:block;
  object-fit:contain;
  object-position:center;
  user-select:none;
  -webkit-user-drag:none;
}

.ls-global-logo__layer--white{
  z-index:1;
  clip-path:inset(0 0 100% 0);
  -webkit-clip-path:inset(0 0 100% 0);
  pointer-events:none;
}

.ls-global-logo__layer--white img{
  filter:brightness(0) invert(1);
  -webkit-filter:brightness(0) invert(1);
}

html.ls-intro-pending,
html.ls-intro-pending body{
  overflow:hidden!important;
  overscroll-behavior:none;
  background:#390007!important;
}

/* Once the real curtain wrapper is covering the viewport and about to reveal,
   remove all fallback burgundy layers so the real site is physically visible
   behind the transparent outer as the wrapper slides upward. */
html.ls-intro-pending.ls-intro-curtain-ready,
html.ls-intro-pending.ls-intro-curtain-ready body{
  background:transparent!important;
}

html.ls-intro-pending .ls-preloader-outer{
  position:fixed;
  z-index:2147483000;
  inset:0;
  width:100vw;
  height:100vh;
  height:100svh;
  display:block;
  overflow:hidden;
  pointer-events:auto;
  isolation:isolate;
  /* TRANSPARENT — geometry/clipping container only.
     The wrapper is the sole burgundy curtain surface.
     This lets the real site show through as the wrapper slides up. */
  background:transparent;
}

html.ls-intro-pending .ls-preloader-wrapper{
  position:absolute;
  inset:-1px;
  background:#390007;
  transform:translate3d(0,0,0);
  will-change:transform;
}

html.ls-intro-pending .ls-global-logo{
  z-index:2147483001;
  left:50%;
  top:50%;
  width:min(280px,calc(100vw - 32px));
  max-width:none;
  pointer-events:none;
  opacity:0;
  transform:translate3d(-50%,-50%,0);
  will-change:transform;
}

html.ls-intro-pending.ls-intro-mounted.ls-intro-drawn .ls-global-logo{
  opacity:1;
}

html.ls-intro-pending .ls-global-logo__layer--white{
  clip-path:inset(0 0 0 0);
  -webkit-clip-path:inset(0 0 0 0);
  will-change:clip-path;
}

html.ls-intro-complete .ls-preloader-outer,
html.ls-intro-seen .ls-preloader-outer,
html.ls-intro-failed .ls-preloader-outer{
  display:none!important;
}

@media(max-width:782px){
  body.admin-bar{--ls-admin-bar-height:46px}
}

@media(prefers-reduced-motion:reduce){
  html.ls-intro-pending .ls-global-logo,
  html.ls-intro-pending .ls-preloader-wrapper{
    animation:none!important;
  }
}
