/* =================================================================
   VeraPeach — Animations
   -----------------------------------------------------------------
   Motion-related CSS, kept separate from the structural base:
     • @keyframes definitions
     • Reveal-on-scroll utility (state toggled by js/animations.js)

   Loaded AFTER styles.css. Keyframes are resolved at animation time,
   so load order relative to the rules that reference them is safe.
   ================================================================= */

/* ------------------------------------------------------------------
   KEYFRAMES
------------------------------------------------------------------ */

/* Scroll-hint line: a soft vertical "breathing" pulse. Referenced by
   .hero__hint-line in styles.css. */
@keyframes hintPulse {
  0%, 100% { transform: scaleY(0.4); opacity: 0.4; transform-origin: top; }
  50% { transform: scaleY(1); opacity: 1; transform-origin: top; }
}

/* ------------------------------------------------------------------
   REVEAL-ON-SCROLL UTILITY
   Elements start hidden/offset; js/animations.js (IntersectionObserver)
   adds .is-visible when they enter the viewport.
------------------------------------------------------------------ */
.reveal {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity 0.9s var(--ease-soft), transform 0.9s var(--ease-soft);
}

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

/* Gentle stagger for grouped items */
.about__pillars .pillar:nth-child(2).reveal { transition-delay: 0.08s; }
.about__pillars .pillar:nth-child(3).reveal { transition-delay: 0.16s; }
