/* ============================================================
   REMINDME — intro.css
   Splash screen de entrada: isotipo → tipografía → web
   ============================================================ */

.intro-overlay {
  position: fixed;
  inset: 0;
  z-index: 99999;
  background: #0a0a0f;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

/* ---- Glow central ---- */
.intro-glow {
  position: absolute;
  width: 320px;
  height: 320px;
  border-radius: 50%;
  background: radial-gradient(circle,
    rgba(134, 59, 255, 0.35) 0%,
    rgba(126, 20, 255, 0.15) 40%,
    transparent 70%
  );
  filter: blur(30px);
  opacity: 0;
  pointer-events: none;
  will-change: opacity, transform;
}

/* ---- Rings ---- */
.intro-rings {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.intro-ring {
  position: absolute;
  top: 50%;
  left: 50%;
  border-radius: 50%;
  border: 1px solid rgba(134, 59, 255, 0.4);
  transform: translate(-50%, -50%) scale(0);
  opacity: 0;
  will-change: transform, opacity;
}

.intro-ring--1 { width: 180px; height: 180px; }
.intro-ring--2 { width: 340px; height: 340px; border-color: rgba(134, 59, 255, 0.25); }
.intro-ring--3 { width: 520px; height: 520px; border-color: rgba(71, 191, 255, 0.15); }

/* ---- Particle sparks ---- */
.intro-sparks {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.intro-spark {
  position: absolute;
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: var(--color, #863bff);
  opacity: 0;
  top: 50%;
  left: 50%;
  will-change: transform, opacity;
}

/* ---- Isotipo ---- */
.intro-isotipo {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  will-change: transform, opacity, filter;
}

.intro-isotipo__img {
  width: 110px;
  height: auto;
  object-fit: contain;
  display: block;
  filter: drop-shadow(0 0 24px rgba(134, 59, 255, 0.6))
          drop-shadow(0 0 8px rgba(245, 194, 66, 0.4));
}

/* ---- Wordmark ---- */
.intro-wordmark {
  position: absolute;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.75rem;
  opacity: 0;
  will-change: transform, opacity;
}

.intro-wordmark__text {
  display: block;
  font-family: 'Space Grotesk', sans-serif;
  font-size: clamp(3.5rem, 12vw, 9rem);
  font-weight: 700;
  letter-spacing: -0.05em;
  line-height: 1;
  background: linear-gradient(135deg, #ffffff 0%, #ede6ff 40%, #863bff 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  user-select: none;
}

.intro-wordmark__tagline {
  display: block;
  font-family: 'Inter', sans-serif;
  font-size: clamp(0.65rem, 1.5vw, 0.85rem);
  font-weight: 400;
  color: rgba(134, 59, 255, 0.6);
  letter-spacing: 0.3em;
  text-transform: uppercase;
  user-select: none;
}

/* ---- Skip button ---- */
.intro-skip {
  position: absolute;
  bottom: 2rem;
  right: 2rem;
  background: none;
  border: 1px solid rgba(134, 59, 255, 0.2);
  color: rgba(255, 255, 255, 0.3);
  font-family: 'Inter', sans-serif;
  font-size: 0.72rem;
  letter-spacing: 0.1em;
  padding: 0.4rem 0.875rem;
  border-radius: 50px;
  cursor: pointer;
  opacity: 0;
  transition: all 0.3s ease;
  z-index: 1;
}

.intro-skip:hover {
  color: rgba(255, 255, 255, 0.7);
  border-color: rgba(134, 59, 255, 0.5);
}

.intro-skip.is-visible {
  opacity: 1;
}

/* ---- Reduced motion: skip entirely ---- */
@media (prefers-reduced-motion: reduce) {
  .intro-overlay {
    display: none;
  }
}
