/* =====================
   GLOBAL RESET
===================== */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html, body {
  height: 100%;
  font-family: 'Poppins', sans-serif;
  background-color: #27103a;
  color: #ffffff;
}

/* =====================
   ROOT VARIABLES
===================== */
:root {
  --primary-pink: #e94b7f;
  --primary-purple: #7a4bc2;
  --text-light: #eaeaea;
  --text-muted: #b5b5b5;
}

/* =====================
   LINKS
===================== */
a {
  text-decoration: none;
  color: inherit;
}

/* =====================
   BUTTON BASE
===================== */
.cta-btn {
  display: inline-block;
  padding: 14px 36px;
  border-radius: 40px;
  font-weight: 600;
  letter-spacing: 0.5px;
  background: linear-gradient(
    90deg,
    var(--primary-pink),
    var(--primary-purple)
  );
  color: #fff;
  box-shadow: 0 0 20px rgba(233, 75, 127, 0.4);
  transition: all 0.3s ease;
}

.cta-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 0 35px rgba(233, 75, 127, 0.7);
}

/* ================= INTRO SCREEN ================= */

.intro-screen {
  position: fixed;
  inset: 0;
  background: #0b0614;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 999999;
  transition: transform 1.2s ease-in-out;
}

.intro-text {
  font-family: 'Montserrat', sans-serif;
  font-size: clamp(36px, 6vw, 90px);
  font-weight: 800;
  display: flex;
  gap: 0;               /* remove spacing */
  flex-wrap: nowrap;    /* prevent line break */
}

/* APPLY GRADIENT HERE */
.intro-word {
  opacity: 0;
  transform: translateY(40px);
  animation: smoothReveal 0.8s forwards ease;

  background: linear-gradient(90deg, #ff6f9f, #a77bff);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

@keyframes smoothReveal {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.intro-screen.slide-out {
  transform: translateY(-100%);
}