.logoReveal {
  position: fixed;
  top: 0;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100dvh;
  z-index: 11000;
  overflow: hidden;
  background-color: #000;
  pointer-events: auto;
  cursor: wait;
  opacity: 1;
  transition: opacity 0.3s ease-out;
}

.logoReveal.fadingOut {
  opacity: 0;
  pointer-events: none;
}

.playerWrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}

.lottiePlayer {
  width: 100%;
  max-width: 3000px;
  height: 100vh;
  opacity: 1;
  transform: scale(1.2) translate(0);
  animation: fadeIn 1s ease-in forwards;
}

/* Target the Player's internal container to ensure proper centering */
.lottiePlayer > div {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 100% !important;
}

.lottiePlayer svg,
.lottiePlayer canvas {
  margin: auto;
  display: block;
}

/* Hide any default loading spinners from Lottie Player */
/* The Player may show a loading indicator while fetching the JSON file */
.lottiePlayer [class*="loading"],
.lottiePlayer [class*="spinner"],
.lottiePlayer [class*="loader"] {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
}

/* Hide any rotating circles that appear before animation loads */
.lottiePlayer > div:first-child > div:not(:has(svg)):not(:has(canvas)) {
  display: none !important;
}

/* Logo Entry Animation */
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@media (max-width: 500px) {
  .lottiePlayer {
    transform: scale(2.5) translate(0);
  }
}
