/* ===== GALO WELCOME / LOADING SCREEN ===== */
#gwelcome{
  position:fixed;inset:0;z-index:99999;overflow:hidden;background:#17150F;
  opacity:1;transition:opacity .62s cubic-bezier(.4,0,.2,1);
}
#gwelcome.gwl-out{opacity:0;pointer-events:none}
#gwelcome .gwl-vids{position:absolute;inset:0}
#gwelcome .gwl-vids video{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  opacity:0;transform:scale(1.08);
  transition:opacity .9s ease, transform 3.4s linear;
}
#gwelcome .gwl-vids video.on{opacity:1;transform:scale(1)}
#gwelcome .gwl-scrim{
  position:absolute;inset:0;
  background:
    radial-gradient(120% 85% at 50% 115%, rgba(23,21,15,.94) 0%, rgba(23,21,15,.55) 45%, rgba(23,21,15,.30) 70%),
    linear-gradient(180deg, rgba(23,21,15,.72) 0%, rgba(23,21,15,.18) 32%, rgba(23,21,15,.80) 100%);
}

#gwelcome .gwl-skip{
  position:absolute;top:calc(env(safe-area-inset-top,0px) + 18px);right:16px;z-index:4;
  border:1px solid rgba(255,255,255,.26);background:rgba(23,21,15,.42);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  color:#EFE7D4;font-family:inherit;font-size:11px;font-weight:600;
  letter-spacing:.16em;text-transform:uppercase;
  padding:9px 16px;border-radius:999px;cursor:pointer;
  -webkit-tap-highlight-color:transparent;transition:background .25s ease;
}
#gwelcome .gwl-skip:hover{background:rgba(23,21,15,.75)}

#gwelcome .gwl-body{
  position:absolute;left:0;right:0;bottom:0;z-index:3;
  padding:0 26px calc(env(safe-area-inset-bottom,0px) + 40px);
  display:flex;flex-direction:column;align-items:flex-start;gap:0;
}
#gwelcome .gwl-logo{
  width:112px;height:auto;margin-bottom:20px;
  filter:brightness(0) invert(1) drop-shadow(0 2px 14px rgba(0,0,0,.5));
  opacity:0;transform:translateY(14px);
  animation:gwlRise .8s .25s cubic-bezier(.2,.8,.25,1) forwards;
}
#gwelcome h1{
  margin:0;color:#FFF9EC;font-size:clamp(34px,8.6vw,54px);line-height:1.04;
  letter-spacing:-.025em;font-weight:400;text-shadow:0 2px 24px rgba(0,0,0,.45);
  opacity:0;transform:translateY(16px);
  animation:gwlRise .85s .4s cubic-bezier(.2,.8,.25,1) forwards;
}
#gwelcome h1 b{font-weight:700}
#gwelcome h1 em{
  font-style:italic;font-weight:400;
  background:linear-gradient(100deg,#F6E8BE,#E3C778 55%,#D4AE55);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
#gwelcome .gwl-sub{
  margin:14px 0 0;color:rgba(239,231,212,.80);font-size:13.5px;line-height:1.55;max-width:30ch;
  opacity:0;transform:translateY(16px);
  animation:gwlRise .85s .55s cubic-bezier(.2,.8,.25,1) forwards;
}
#gwelcome .gwl-enter{
  display:flex;align-items:center;gap:14px;margin-top:26px;
  background:none;border:0;padding:0;cursor:pointer;font-family:inherit;
  -webkit-tap-highlight-color:transparent;
  opacity:0;transform:translateY(16px);
  animation:gwlRise .85s .7s cubic-bezier(.2,.8,.25,1) forwards;
}
#gwelcome .gwl-enter i{
  width:58px;height:58px;border-radius:50%;flex:0 0 auto;
  background:linear-gradient(135deg,#F6E8BE,#E3C778 55%,#D4AE55);
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 10px 34px -10px rgba(227,199,120,.9);
  transition:transform .3s cubic-bezier(.2,.9,.2,1);
}
#gwelcome .gwl-enter:hover i{transform:translateX(5px)}
#gwelcome .gwl-enter:active i{transform:scale(.93)}
#gwelcome .gwl-enter span{
  color:#EFE7D4;font-size:12px;font-weight:700;
  letter-spacing:.2em;text-transform:uppercase;
}
@keyframes gwlRise{to{opacity:1;transform:none}}

/* progress segments — one per video */
#gwelcome .gwl-dots{
  position:absolute;left:26px;right:26px;top:calc(env(safe-area-inset-top,0px) + 24px);
  z-index:3;display:flex;gap:5px;
}
#gwelcome .gwl-dots i{
  flex:1 1 0;height:2.5px;border-radius:2px;background:rgba(255,255,255,.22);overflow:hidden;
}
#gwelcome .gwl-dots i::after{
  content:"";display:block;height:100%;width:0;background:#E3C778;border-radius:2px;
}
#gwelcome .gwl-dots i.done::after{width:100%}
#gwelcome .gwl-dots i.run::after{width:100%;transition:width var(--gwl-dur,1s) linear}

html.gwl-lock,html.gwl-lock body{overflow:hidden!important}

@media (min-width:901px){
  #gwelcome .gwl-body{padding:0 8vw 9vh;max-width:900px}
  #gwelcome .gwl-logo{width:132px}
  #gwelcome .gwl-sub{font-size:15px}
}
@media (prefers-reduced-motion:reduce){
  #gwelcome .gwl-vids video{transition:opacity .4s ease;transform:none!important}
  #gwelcome .gwl-logo,#gwelcome h1,#gwelcome .gwl-sub,#gwelcome .gwl-enter{animation-duration:.01s}
}
#gwelcome .gwl-scrim{opacity:1!important;z-index:1!important;pointer-events:none}
#gwelcome .gwl-vids{z-index:0}
#gwelcome .gwl-body{z-index:3!important}
#gwelcome .gwl-dots,#gwelcome .gwl-skip{z-index:4!important}

/* ===== mobile solo loading screen (Crumb-style) ===== */
#gwelcome.gwl-solo .gwl-logo{
  position:absolute;top:calc(env(safe-area-inset-top,0px) + 20px);left:22px;
  width:84px;margin:0;z-index:5;
}
#gwelcome.gwl-solo .gwl-body{padding-bottom:calc(env(safe-area-inset-bottom,0px) + 64px)}
#gwelcome.gwl-solo h1{font-size:clamp(40px,11vw,56px);line-height:1.0}
#gwelcome.gwl-solo .gwl-skip{top:calc(env(safe-area-inset-top,0px) + 22px);background:transparent;border-color:transparent;
  font-size:12px;letter-spacing:.08em;text-transform:none;color:rgba(255,249,236,.85)}
#gwelcome.gwl-solo .gwl-dots{top:auto;bottom:calc(env(safe-area-inset-bottom,0px) + 26px);
  left:50%;right:auto;width:64px;transform:translateX(-50%);gap:0}
#gwelcome.gwl-solo .gwl-dots i{height:4px;border-radius:4px;background:rgba(255,255,255,.28)}
#gwelcome.gwl-solo .gwl-dots i::after{background:#FFF9EC;border-radius:4px}
#gwelcome.gwl-solo .gwl-scrim{background:
  linear-gradient(180deg,rgba(23,21,15,.55) 0%,rgba(23,21,15,.05) 28%,rgba(23,21,15,.10) 50%,rgba(23,21,15,.86) 100%)!important}
