/* Light professional preloader */
.preloader {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(160deg, #ecfdf5 0%, #f8fafc 50%, #ffffff 100%);
  transition: opacity 0.6s ease, visibility 0.6s ease;
}

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

.preloader__scene { position: absolute; inset: 0; overflow: hidden; }

.preloader__orb {
  position: absolute;
  border-radius: 50%;
  filter: blur(50px);
  animation: preOrb 6s ease-in-out infinite;
}

.preloader__orb--1 {
  width: 200px; height: 200px;
  background: rgba(16, 185, 129, 0.35);
  top: 30%; left: 35%;
}

.preloader__orb--2 {
  width: 160px; height: 160px;
  background: rgba(14, 165, 233, 0.25);
  bottom: 30%; right: 35%;
  animation-delay: -3s;
}

@keyframes preOrb {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.15); }
}

.preloader__inner { position: relative; z-index: 2; text-align: center; }

.preloader__rings {
  width: 88px;
  height: 88px;
  margin: 0 auto 1.75rem;
  position: relative;
}

.preloader__ring {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  border: 2.5px solid transparent;
  animation: preRingSpin 1.4s linear infinite;
}

.preloader__ring:nth-child(1) { border-top-color: #059669; animation-duration: 1s; }
.preloader__ring:nth-child(2) { inset: 8px; border-right-color: #0d9488; animation-duration: 1.3s; animation-direction: reverse; }
.preloader__ring:nth-child(3) { inset: 16px; border-bottom-color: #0284c7; animation-duration: 1.6s; }

.preloader__core {
  position: absolute;
  inset: 26px;
  background: linear-gradient(135deg, #059669, #10b981);
  border-radius: 50%;
  box-shadow: 0 4px 20px rgba(5, 150, 105, 0.35);
  animation: preCorePulse 1.8s ease-in-out infinite;
}

@keyframes preRingSpin { to { transform: rotate(360deg); } }

@keyframes preCorePulse {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(0.9); }
}

.preloader__brand {
  font-family: 'Inter', sans-serif;
  font-size: 0.9375rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #0f172a;
  margin-bottom: 0.75rem;
}

.preloader__brand em { font-style: normal; color: #059669; }

.preloader__dots { display: flex; justify-content: center; gap: 6px; }

.preloader__dots span {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #059669;
  animation: preDot 1.2s ease-in-out infinite;
}

.preloader__dots span:nth-child(2) { animation-delay: 0.15s; background: #0d9488; }
.preloader__dots span:nth-child(3) { animation-delay: 0.3s; background: #0284c7; }

@keyframes preDot {
  0%, 80%, 100% { transform: scale(0.65); opacity: 0.4; }
  40% { transform: scale(1); opacity: 1; }
}
