/* The head script opts in before body paint; no JavaScript leaves content visible. */
@media (prefers-reduced-motion: no-preference) {
  :is(.page-home, .page-about, .page-packages, .page-contact) .home-reveal-pending {
    opacity: 0;
  }

  :is(.page-home, .page-about, .page-packages, .page-contact) .home-reveal-running {
    animation: home-fade-up 600ms cubic-bezier(.22, .61, .36, 1) var(--home-reveal-delay, 0ms) both;
  }

  /* Inline spans retain the original wrapping and explicit heading line breaks. */
  :is(.page-home, .page-about, .page-packages, .page-contact) .home-heading-line.home-reveal-running {
    position: relative;
    animation-name: home-heading-up;
  }

  :is(.page-home, .page-about, .page-packages, .page-contact) .home-image-reveal.home-reveal-running {
    animation-name: home-image-in;
    animation-duration: 700ms;
  }

  :is(.page-home, .page-about, .page-packages, .page-contact) [data-carousel-clone].home-reveal-running,
  :is(.page-home, .page-about, .page-packages, .page-contact) [data-carousel-clone] .home-reveal-running,
  :is(.page-home, .page-about, .page-packages, .page-contact) [data-carousel-clone].home-reveal-pending,
  :is(.page-home, .page-about, .page-packages, .page-contact) [data-carousel-clone] .home-reveal-pending {
    animation: none;
    opacity: 1;
  }
}

@keyframes home-fade-up {
  from { opacity: 0; translate: 0 20px; }
  to { opacity: 1; translate: 0 0; }
}

@keyframes home-heading-up {
  from { opacity: 0; top: 20px; }
  to { opacity: 1; top: 0; }
}

@keyframes home-image-in {
  from { opacity: 0; }
  to { opacity: 1; }
}

@media (prefers-reduced-motion: reduce) {
  :is(.page-home, .page-about, .page-packages, .page-contact) .home-reveal-running {
    animation: none;
  }
}

@media print {
  :is(.page-home, .page-about, .page-packages, .page-contact) .home-reveal-pending,
  :is(.page-home, .page-about, .page-packages, .page-contact) .home-reveal-running {
    animation: none;
    opacity: 1;
  }
}
