@keyframes floatHint {
  0%, 100% { transform: translateY(0); opacity: 0.6; }
  50% { transform: translateY(8px); opacity: 1; }
}

@keyframes pulseDot {
  0%, 100% { transform: scale(1); opacity: 0.7; }
  50% { transform: scale(1.3); opacity: 1; }
}

@keyframes revealFade {
  from {
    opacity: 0;
    transform: translateY(28px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes toastIn {
  from {
    transform: translateY(120%);
    opacity: 0;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}

@keyframes shimmer {
  0% { background-position: -200% center; }
  100% { background-position: 200% center; }
}

.reveal {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity 0.7s var(--ease-out), transform 0.7s var(--ease-out);
}

.reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.reveal:nth-child(2) { transition-delay: 0.08s; }
.reveal:nth-child(3) { transition-delay: 0.16s; }
.reveal:nth-child(4) { transition-delay: 0.24s; }
.reveal:nth-child(5) { transition-delay: 0.32s; }
.reveal:nth-child(6) { transition-delay: 0.4s; }

.topic-card.reveal:nth-child(1) { transition-delay: 0s; }
.topic-card.reveal:nth-child(2) { transition-delay: 0.07s; }
.topic-card.reveal:nth-child(3) { transition-delay: 0.14s; }
.topic-card.reveal:nth-child(4) { transition-delay: 0.21s; }
.topic-card.reveal:nth-child(5) { transition-delay: 0.28s; }
.topic-card.reveal:nth-child(6) { transition-delay: 0.35s; }

.testimonial-card.reveal:nth-child(1) { transition-delay: 0s; }
.testimonial-card.reveal:nth-child(2) { transition-delay: 0.1s; }
.testimonial-card.reveal:nth-child(3) { transition-delay: 0.2s; }

.issue-item.reveal:nth-child(1) { transition-delay: 0s; }
.issue-item.reveal:nth-child(2) { transition-delay: 0.06s; }
.issue-item.reveal:nth-child(3) { transition-delay: 0.12s; }
.issue-item.reveal:nth-child(4) { transition-delay: 0.18s; }
.issue-item.reveal:nth-child(5) { transition-delay: 0.24s; }

.pricing-card.reveal:nth-child(1) { transition-delay: 0s; }
.pricing-card.reveal:nth-child(2) { transition-delay: 0.12s; }

.hero__title.reveal { transition-delay: 0.1s; }
.hero__lead.reveal { transition-delay: 0.2s; }
.form-inline.reveal { transition-delay: 0.3s; }
.hero__stats.reveal { transition-delay: 0.42s; }
.scroll-hint.reveal { transition-delay: 0.56s; }

.btn--primary {
  background-image: linear-gradient(
    90deg,
    transparent 0%,
    rgba(255, 255, 255, 0.06) 50%,
    transparent 100%
  );
  background-size: 200% auto;
}

.btn--primary:hover {
  background-image: none;
}

.nav__logo-icon {
  transition: transform var(--transition-base), box-shadow var(--transition-base);
}

.nav__logo:hover .nav__logo-icon {
  transform: rotate(-12deg) scale(1.08);
  box-shadow: 0 0 14px rgba(201, 169, 97, 0.5);
}

.topic-card {
  will-change: transform;
}

.testimonial-card {
  will-change: transform;
}

.pricing-card {
  will-change: transform;
}

.book-3d {
  will-change: transform;
}

.faq-item__question {
  position: relative;
}

.faq-item__question::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: var(--space-lg);
  right: var(--space-lg);
  height: 0;
  background: var(--gold);
  opacity: 0;
  transition: opacity var(--transition-fast);
}

.faq-item__question[aria-expanded="true"]::after {
  opacity: 0;
}

.scroll-progress {
  will-change: width;
}

@media (prefers-reduced-motion: reduce) {
  .reveal {
    opacity: 1;
    transform: none;
    transition: none;
  }

  .scroll-hint {
    animation: none;
  }

  .community-dot > span {
    animation: none;
  }

  .book-3d,
  .book-3d:hover {
    transform: rotateY(-22deg) rotateX(6deg);
    transition: none;
  }
}
