/* Reset & core layout */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html, body {
  width: 100%;
  height: 100%;
  font-family: 'Montserrat', sans-serif;
  overflow: hidden;
}

/* Fullscreen flex layout for centering */
body {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  background: linear-gradient(300deg, #4b6cb7, #182848, #2a5298);
  background-size: 180% 180%;
  animation: gradientShift 18s ease infinite;
}

/* Smooth animated gradient */
@keyframes gradientShift {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}

.coming-soon-container {
  padding: 20px;
}

/* Text style + animation + looping subtle pulse */
.coming-soon-title {
  font-size: 3rem;
  color: #fff;
  text-shadow: 0 4px 16px rgba(0, 0, 0, 0.6);
  opacity: 0;
  transform: scale(0.85);
  animation: fadeInStay 1.8s ease-out forwards, textPulse 3s ease-in-out 2.2s infinite;
}

/* Fade-in + scale animation that stays */
@keyframes fadeInStay {
  0% {
    opacity: 0;
    transform: scale(0.85);
  }
  60% {
    opacity: 1;
    transform: scale(1.05);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}

/* Subtle looping pulse after entrance finishes */
@keyframes textPulse {
  0%, 100% {
    transform: scale(1);
    opacity: 1;
  }
  50% {
    transform: scale(1.03);
    opacity: 0.98;
  }
}

/* Responsive text sizes */
@media (max-width: 768px) {
  .coming-soon-title {
    font-size: 2rem;
  }
}

@media (max-width: 480px) {
  .coming-soon-title {
    font-size: 1.6rem;
  }
}
