/* ==========================================================================
   ASSET POOLS LLC — LUXURY BRAND PRELOADER (LOGO ONLY)
   Pristine corporate introduction with water pulse waves, glowing AP logo,
   smooth progress meter, and graceful reveal.
   ========================================================================== */

#brand-preloader {
  position: fixed;
  inset: 0;
  width: 100vw;
  height: 100vh;
  background: radial-gradient(circle at center, #ffffff 0%, #f0f9ff 60%, #e0f2fe 100%);
  z-index: 99999999;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 1;
  visibility: visible;
  transition: opacity 0.65s cubic-bezier(0.16, 1, 0.3, 1),
              visibility 0.65s cubic-bezier(0.16, 1, 0.3, 1);
  pointer-events: auto;
  overflow: hidden;
}

#brand-preloader.preloader-hidden {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.preloader-content {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  z-index: 2;
  padding: 20px;
}

/* ── Concentric Water Ripple Rings ── */
.preloader-water-ripples {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -60%);
  width: 260px;
  height: 260px;
  pointer-events: none;
  z-index: 1;
}

.preloader-ripple {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  border: 2.5px solid rgba(0, 136, 255, 0.38);
  animation: preloaderPulse 2.2s cubic-bezier(0.22, 1, 0.36, 1) infinite;
}

.preloader-ripple:nth-child(2) {
  animation-delay: 0.6s;
}

.preloader-ripple:nth-child(3) {
  animation-delay: 1.2s;
}

@keyframes preloaderPulse {
  0% {
    transform: scale(0.6);
    opacity: 0.85;
  }
  100% {
    transform: scale(1.65);
    opacity: 0;
  }
}

/* ── Logo Container with Ambient Glow ── */
.preloader-logo-wrap {
  position: relative;
  width: 124px;
  height: 124px;
  background: #ffffff;
  border-radius: 32px;
  box-shadow: 0 20px 50px rgba(0, 102, 204, 0.18),
              0 0 0 1.5px rgba(0, 136, 255, 0.16);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 28px;
  z-index: 2;
  animation: preloaderFloat 2.2s ease-in-out infinite;
}

.preloader-logo-img {
  width: 88px;
  height: 88px;
  object-fit: contain;
  filter: drop-shadow(0 4px 12px rgba(0, 80, 200, 0.18));
}

@keyframes preloaderFloat {
  0%, 100% {
    transform: translateY(0) scale(1);
  }
  50% {
    transform: translateY(-6px) scale(1.04);
  }
}

/* ── Progress Bar ── */
.preloader-progress-track {
  width: 160px;
  height: 4px;
  background: rgba(0, 136, 255, 0.15);
  border-radius: 10px;
  overflow: hidden;
  position: relative;
  z-index: 2;
}

.preloader-progress-fill {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 0%;
  background: linear-gradient(90deg, #0088ff 0%, #00d2ff 100%);
  border-radius: 10px;
  box-shadow: 0 0 10px rgba(0, 210, 255, 0.7);
  animation: preloaderProgressFill 2.0s cubic-bezier(0.65, 0, 0.35, 1) forwards;
}

@keyframes preloaderProgressFill {
  0% {
    width: 0%;
  }
  45% {
    width: 68%;
  }
  85% {
    width: 94%;
  }
  100% {
    width: 100%;
  }
}
