@import url("https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,700;1,700&display=swap");

.preloader--mellstroy {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: flex;
  align-items: center;
  justify-content: center;
  background: radial-gradient(120% 120% at 50% 0%, #2b0041 0%, #14001f 60%, #08000d 100%);
  overflow: hidden;
  transition: opacity 0.45s ease, visibility 0.45s ease;
}

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

.preloader--mellstroy .waviy-container {
  display: flex;
  gap: 0.06em;
  font-family: Montserrat, sans-serif;
  font-size: 27px;
  font-weight: bolder;
  font-style: italic;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  user-select: none;
  animation: mellstroy-float 4s ease-in-out infinite;
}

.preloader--mellstroy .waviy-letter {
  display: inline-block;
  color: transparent;
  background: linear-gradient(180deg, #ffffff 0%, #f5b143 45%, #ffffff 100%);
  -webkit-background-clip: text;
  background-clip: text;
  text-shadow: 0 0 10px rgba(245, 177, 67, 0.35), 0 0 22px rgba(255, 255, 255, 0.12);
  animation: mellstroy-wave 1.6s ease-in-out infinite;
  animation-delay: calc(var(--i) * 0.12s);
  will-change: transform, opacity;
  transform: translateZ(0);
}

@keyframes mellstroy-wave {
  0%,
  100% {
    transform: translateY(0);
    opacity: 0.75;
  }
  50% {
    transform: translateY(-14px);
    opacity: 1;
  }
}

@keyframes mellstroy-float {
  0%,
  100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(6px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .preloader--mellstroy .waviy-letter,
  .preloader--mellstroy .waviy-container {
    animation: none !important;
  }
}

