/* ==========================================================================
   Easyclicks — entrance & scroll-reveal animations
   Scopes under html.js so the page stays fully visible with JavaScript off.
   Honors prefers-reduced-motion.
   ========================================================================== */

/* Elements marked .reveal fade up when they enter the viewport (JS adds .in) */
.js .reveal {
  opacity: 0;
  transform: translateY(18px);
  transition:
    opacity 0.65s ease var(--rd, 0s),
    transform 0.65s ease var(--rd, 0s);
  will-change: opacity, transform;
}
.js .reveal.in {
  opacity: 1;
  transform: none;
}

/* Hero entrance on load (pure CSS, runs once) */
@keyframes ec-rise {
  from { opacity: 0; transform: translateY(16px); }
  to   { opacity: 1; transform: none; }
}
.js .hero-copy { animation: ec-rise 0.7s ease both; }
.js .chat-wrap { animation: ec-rise 0.7s 0.14s ease both; }

/* Respect reduced-motion preferences */
@media (prefers-reduced-motion: reduce) {
  .js .reveal,
  .js .hero-copy,
  .js .chat-wrap {
    opacity: 1;
    transform: none;
    transition: none;
    animation: none;
  }
}
