/**
 * Site-wide motion — scroll reveals and entrance animations only.
 */

.motion-section {
  position: relative;
}

/* ===== Hero float (after entrance) ===== */

.motion-section--hero.is-inview .motion-hero-float,
.motion-section--course-hero.is-inview .motion-hero-float {
  animation: motion-hero-float 8s ease-in-out infinite;
  animation-delay: var(--motion-delay, 0.4s);
}

@keyframes motion-hero-float {
  0%,
  100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-16px);
  }
}

.motion-section--hero.is-inview.is-animating .motion-reveal,
.motion-section--hero.is-inview .motion-reveal {
  opacity: 1 !important;
  transform: none !important;
}

/* ===== Scroll reveals ===== */

.motion-reveal {
  opacity: 0;
  transform: translateY(36px);
  transition:
    opacity 1s cubic-bezier(0.22, 1, 0.36, 1),
    transform 1s cubic-bezier(0.22, 1, 0.36, 1);
  transition-delay: var(--motion-delay, 0s);
}

.motion-hero-float {
  opacity: 0;
  transform: translateY(28px) scale(0.98);
  transition:
    opacity 1.1s cubic-bezier(0.22, 1, 0.36, 1),
    transform 1.1s cubic-bezier(0.22, 1, 0.36, 1);
  transition-delay: var(--motion-delay, 0.2s);
}

.motion-section.is-inview .motion-reveal,
.motion-block.is-inview .motion-reveal {
  opacity: 1;
  transform: none;
}

.motion-section.is-inview .motion-hero-float {
  opacity: 1;
  transform: none;
}

.motion-block {
  position: relative;
}

.motion-block .motion-reveal {
  transform: translateY(24px);
}

/* ===== Nav entrance ===== */

.motion-nav {
  opacity: 0;
  transform: translateY(-12px);
  transition:
    opacity 0.7s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
}

.motion-nav.is-visible {
  opacity: 1;
  transform: none;
}

/* ===== Staggered card reveals ===== */

.motion-section.is-inview .homepage-illnesses__featured-card,
.motion-section.is-inview .offerings-row,
.motion-section.is-inview .blogcard,
.motion-section.is-inview .pillar {
  transition:
    opacity 1s cubic-bezier(0.22, 1, 0.36, 1),
    transform 1s cubic-bezier(0.22, 1, 0.36, 1);
}

.motion-section.is-inview .homepage-illnesses__pill {
  transition:
    opacity 0.7s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
}

/* ===== Reduced motion ===== */

@media (prefers-reduced-motion: reduce) {
  .motion-section--hero .motion-hero-float,
  .motion-section--course-hero .motion-hero-float {
    animation: none !important;
  }

  .motion-reveal,
  .motion-hero-float,
  .motion-nav {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}
