/* ============================================================
   H360 PROPERTY SERVICES — SCROLL ANIMATIONS
   IntersectionObserver-driven reveal animations
============================================================ */

/* Initial hidden state for all reveal elements */
[data-reveal] {
  opacity: 0;
  transform: translateY(28px);
  transition:
    opacity 0.65s cubic-bezier(0.25, 0.46, 0.45, 0.94),
    transform 0.65s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

/* Visible state — added by IntersectionObserver in main.js */
[data-reveal].visible {
  opacity: 1;
  transform: translateY(0);
}

/* Delay helpers — stagger child elements */
[data-reveal-delay="80"]  { transition-delay: 80ms; }
[data-reveal-delay="100"] { transition-delay: 100ms; }
[data-reveal-delay="160"] { transition-delay: 160ms; }
[data-reveal-delay="200"] { transition-delay: 200ms; }
[data-reveal-delay="240"] { transition-delay: 240ms; }
[data-reveal-delay="300"] { transition-delay: 300ms; }

/* Respect user motion preference — disable animations */
@media (prefers-reduced-motion: reduce) {
  [data-reveal] {
    opacity: 1;
    transform: none;
    transition: none;
  }
}
