/* footer.css — Phase 8 CTA */
.footer {
  position: relative;
  min-height: 90vh;
  text-align: center;
  overflow: hidden;
  align-items: center;
}

.footer__content {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2.4rem;
}

.enter-cta {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 0.8rem;
  padding: 1.1rem 2.6rem;
  border-radius: 999px;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: var(--step-1);
  color: var(--white);
  border: 1px solid rgba(123, 47, 255, 0.6);
  background: linear-gradient(120deg, rgba(123, 47, 255, 0.25), rgba(0, 245, 255, 0.18));
  box-shadow: 0 0 40px rgba(123, 47, 255, 0.4), inset 0 0 20px rgba(123, 47, 255, 0.2);
  overflow: hidden;
  transition: box-shadow 0.4s, transform 0.3s;
  will-change: transform;
  animation: ctaPulse 3.4s ease-in-out infinite;
}
@keyframes ctaPulse {
  0%, 100% { box-shadow: 0 0 40px rgba(123, 47, 255, 0.4), inset 0 0 20px rgba(123, 47, 255, 0.2); }
  50% { box-shadow: 0 0 70px rgba(0, 245, 255, 0.6), inset 0 0 30px rgba(0, 245, 255, 0.3); }
}
.enter-cta:hover { transform: translateY(-2px); }
.enter-cta__arrow { transition: transform 0.4s var(--ease-out-expo); }
.enter-cta:hover .enter-cta__arrow { transform: translateX(6px); }

/* ripple */
.enter-cta .ripple {
  position: absolute;
  border-radius: 50%;
  background: rgba(0, 245, 255, 0.5);
  transform: translate(-50%, -50%) scale(0);
  pointer-events: none;
  animation: ripple 0.7s var(--ease-out-expo) forwards;
}
@keyframes ripple { to { transform: translate(-50%, -50%) scale(14); opacity: 0; } }

.footer__tag {
  font-family: var(--font-mono);
  font-size: var(--step-0);
  letter-spacing: 0.06em;
  color: rgba(255, 255, 255, 0.55);
  max-width: 40ch;
}

.footer__particles { z-index: 0; }
