.leah-loader {
  position: fixed; inset: 0; background: #17161A;
  display: flex; align-items: center; justify-content: center;
  flex-direction: column; z-index: 9999;
  transition: opacity 0.5s ease, visibility 0.5s ease;
}
.leah-loader.is-hidden {
  opacity: 0; visibility: hidden; pointer-events: none;
}
.leah-loader__inner {
  position: relative; z-index: 1;
  display: flex; flex-direction: column; align-items: center;
}
.leah-loader__logo-wrap {
  width: 300px;
  clip-path: inset(0 100% 0 0);
  animation: leahReveal 0.85s cubic-bezier(0.4,0,0.2,1) 0.3s forwards;
}
.leah-loader__logo {
  width: 100%; display: block;
  filter: brightness(0);
  animation: leahGlow 0.7s ease 0.3s forwards;
}
.leah-loader__dots {
  display: flex; gap: 8px; margin-top: 10px;
  justify-content: center;
}
.leah-loader__dot {
  width: 8px; height: 8px; border-radius: 50%; opacity: 0;
}
.leah-loader__tagline {
  font-family: 'Inter', sans-serif;
  font-size: 10px; letter-spacing: 0.28em;
  text-transform: uppercase;
  color: rgba(166,162,154,0);
  margin-top: 20px;
  animation: leahTagline 0.6s ease 2.1s forwards;
}
.leah-loader__scan {
  position: absolute; inset: 0; overflow: hidden;
  pointer-events: none;
}
.leah-loader__scan::after {
  content: '';
  position: absolute; top: 0; bottom: 0; left: 0; width: 30%;
  background: linear-gradient(90deg,
    transparent 0%, rgba(250,249,246,0.05) 50%, transparent 100%);
  animation: leahScan 0.9s cubic-bezier(0.4,0,0.2,1) 0.1s forwards;
}

@keyframes leahScan {
  from { transform: translateX(-120%); }
  to   { transform: translateX(400%); }
}
@keyframes leahReveal {
  from { clip-path: inset(0 100% 0 0); }
  to   { clip-path: inset(0 0% 0 0); }
}
@keyframes leahGlow {
  from { filter: brightness(0); }
  to   { filter: brightness(1.1); }
}
@keyframes leahDot {
  0%   { opacity: 0; transform: scale(0); }
  65%  { transform: scale(1.4); }
  100% { opacity: 1; transform: scale(1); }
}
@keyframes leahTagline {
  from { color: rgba(166,162,154,0); }
  to   { color: rgba(166,162,154,0.75); }
}
@keyframes leahBreathe {
  0%, 100% { filter: brightness(1); }
  50%       { filter: brightness(1.1); }
}

body.leah-loading{overflow:hidden}

@media (max-width: 480px) {
  .leah-loader__logo-wrap { width: 220px; }
}
