/* ═══════════════════════════════════════
   GSAP INITIAL STATES
   Elements start invisible/offset, GSAP reveals them.
   ═══════════════════════════════════════ */

.gsap-fade-up {
  opacity: 0;
  transform: translateY(32px);
}

.gsap-fade-in {
  opacity: 0;
}

.gsap-scale-in {
  opacity: 0;
  transform: scale(0.92);
}

.gsap-slide-left {
  opacity: 0;
  transform: translateX(-40px);
}

.gsap-slide-right {
  opacity: 0;
  transform: translateX(40px);
}

/* Word-by-word reveal container */
.gsap-word-reveal .word {
  display: inline-block;
  opacity: 0;
  transform: translateY(20px);
}


/* ═══════════════════════════════════════
   CSS MICRO-INTERACTIONS
   ═══════════════════════════════════════ */

/* Button hover glow */
.btn--primary:hover {
  box-shadow: var(--shadow-glow-primary), var(--shadow-md);
}

/* Card hover lift */
.card:hover,
.pricing__card:hover {
  transform: translateY(-4px);
}

/* FAQ item open bg tint */
.accordion__item[open] {
  background: var(--color-neutral-50);
  margin-inline: calc(-1 * var(--space-md));
  padding-inline: var(--space-md);
  border-radius: var(--radius-md);
}

/* Step number gradient pulse */
.step__number {
  transition: transform var(--duration-normal) var(--ease-out);
}

.step:hover .step__number {
  transform: scale(1.08);
}

/* Smooth nav glassmorphism */
.header {
  will-change: background, box-shadow;
}


/* ═══════════════════════════════════════
   HERO SVG ANIMATIONS
   ═══════════════════════════════════════ */

@keyframes float-gentle {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-3px); }
}

@keyframes pulse-glow {
  0%, 100% { opacity: 0.4; }
  50% { opacity: 0.8; }
}

@keyframes dash-flow {
  to { stroke-dashoffset: -20; }
}

.hero__illustration .float-1 {
  animation: float-gentle 4s ease-in-out infinite;
}

.hero__illustration .float-2 {
  animation: float-gentle 4s ease-in-out infinite 0.5s;
}

.hero__illustration .glow-pulse {
  animation: pulse-glow 3s ease-in-out infinite;
}

.hero__illustration .dash-flow {
  stroke-dasharray: 8 6;
  animation: dash-flow 1.5s linear infinite;
}


/* ═══════════════════════════════════════
   REDUCED MOTION
   ═══════════════════════════════════════ */

@media (prefers-reduced-motion: reduce) {
  /* Remove all GSAP initial states — show everything immediately */
  .gsap-fade-up,
  .gsap-fade-in,
  .gsap-scale-in,
  .gsap-slide-left,
  .gsap-slide-right {
    opacity: 1 !important;
    transform: none !important;
  }

  .gsap-word-reveal .word {
    opacity: 1 !important;
    transform: none !important;
  }

  /* Disable CSS animations */
  .hero__illustration .float-1,
  .hero__illustration .float-2,
  .hero__illustration .glow-pulse,
  .hero__illustration .dash-flow {
    animation: none !important;
  }

  /* Stop marquee scrolling */
  .marquee__track {
    animation: none !important;
  }

  /* Disable hover transforms */
  .btn:hover,
  .card:hover,
  .pricing__card:hover {
    transform: none !important;
  }

  /* Disable transitions */
  *, *::before, *::after {
    transition-duration: 0.01ms !important;
  }
}
