/* Lumen Glow v1.1.2: dark vignette + blurred circular glow + big logo fade-in + slide-up exit */
#la-preloader{
  position: fixed; inset: 0;
  background:
    radial-gradient(1200px 600px at 50% 60%, rgba(233,221,176,0.06), transparent 60%),
    radial-gradient(1400px 800px at 50% 80%, rgba(255,255,255,0.05), transparent 70%),
    radial-gradient(1400px 900px at 50% -10%, rgba(0,0,0,0.35), transparent 60%),
    linear-gradient(180deg, #2a2320 0%, #241e1b 60%, #1c1715 100%);
  display:flex; align-items:center; justify-content:center;
  z-index: 999999;
  transition: opacity .6s ease, visibility .6s ease, transform .6s ease;
  transform: translateY(0);
}
#la-preloader.hidden{ opacity:0; visibility:hidden; transform: translateY(-100vh); }

.la-preloader__inner{
  position: relative;
  width:min(420px, 90vw);
  text-align:center;
}
/* blurred circle glow: #807A73 ~45% */
.la-preloader__inner::before{
  content:"";
  position:absolute; top:50%; left:50%;
  width:460px; height:460px;
  transform: translate(-50%, -50%);
  background:#807A73;
  opacity:.45; border-radius:50%;
  filter: blur(120px);
  z-index:0;
}

/* BIG logo + fade-in */
.la-preloader__logo{
  width:340px;
  max-width:85vw;
  height:auto; display:block;
  margin:0 auto 28px;
  filter: drop-shadow(0 2px 8px rgba(0,0,0,.35));
  position: relative; z-index:1;
  opacity:0; transform: translateY(12px) scale(.985);
}
.la-preloader__logo-text{
  font: 600 28px/1.2 "Georgia","Times New Roman",serif;
  color:#e9ddb0; margin:0 auto 24px; letter-spacing:.2px;
  text-shadow: 0 2px 8px rgba(0,0,0,.35);
  position: relative; z-index:1;
  opacity:0; transform: translateY(12px) scale(.985);
}

/* Enable fade-in when JS adds .ready */
#la-preloader.ready .la-preloader__logo,
#la-preloader.ready .la-preloader__logo-text{
  animation: la-logo-fade-in .7s ease-out .15s forwards,
             la-breathe 1.8s ease-in-out infinite;
}

/* Breathing animation */
@keyframes la-breathe{ 0%,100%{ transform:scale(1); opacity:.96 } 50%{ transform:scale(1.03); opacity:1 } }

/* Logo fade-in keyframes */
@keyframes la-logo-fade-in{
  0%   { opacity:0; transform: translateY(12px) scale(.985); }
  100% { opacity:1; transform: translateY(0)    scale(1); }
}

.la-preloader__bar{
  height:3px; background: var(--la-bar-bg, rgba(255,255,255,0.18));
  overflow:hidden; border-radius:3px;
  box-shadow: 0 1px 3px rgba(0,0,0,.35) inset, 0 1px 6px rgba(0,0,0,.25);
  position: relative; z-index:1;
}
.la-preloader__bar span{
  display:block; height:100%; width:0%;
  background: var(--la-bar, #e9ddb0);
  transition: width .25s ease;
}
.la-preloader__percent{
  margin-top:12px;
  font:500 13px/1.2 system-ui,-apple-system,Segoe UI,Roboto,Arial;
  color:rgba(255,255,255,.85); letter-spacing:.4px;
  position: relative; z-index:1;
}

/* Accessibility + mobile tweaks */
html.la-lock, body.la-lock{ overflow:hidden; }
@media (max-width: 420px){
  .la-preloader__logo { width: 280px; }
  .la-preloader__inner::before { width:360px; height:360px; filter: blur(90px); }
}
@media (prefers-reduced-motion: reduce){
  #la-preloader{ transition: opacity .3s ease, visibility .3s ease; transform:none; }
  #la-preloader.hidden{ transform:none; }
  #la-preloader.ready .la-preloader__logo,
  #la-preloader.ready .la-preloader__logo-text{
    animation: none; opacity:1; transform:none;
  }
}
