/* Hallmark · motion — one orchestrated reveal, scroll reveal-once. No orbs,
 * no shimmer, no hover-lift, no icon pulse. transform + opacity only.
 */

/* Scroll reveal-once: elements start invisible, JS adds .is-visible */
.reveal {
  opacity: 0;
  transform: translateY(8px);
  transition: opacity var(--dur-long) var(--ease-out),
              transform var(--dur-long) var(--ease-out);
}

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

/* Staggered children — parent .stagger, children .reveal (cap ~400ms) */
.stagger .reveal:nth-child(1) { transition-delay: 0ms; }
.stagger .reveal:nth-child(2) { transition-delay: 60ms; }
.stagger .reveal:nth-child(3) { transition-delay: 120ms; }
.stagger .reveal:nth-child(4) { transition-delay: 180ms; }
.stagger .reveal:nth-child(5) { transition-delay: 240ms; }
.stagger .reveal:nth-child(6) { transition-delay: 300ms; }

/* Hero entrance — single orchestrated sequence on first paint */
.hero-loading .hero-eyebrow,
.hero-loading .hero-title,
.hero-loading .hero-sub,
.hero-loading .hero-actions,
.hero-loading .hero-note,
.hero-loading .hero-proof {
  opacity: 0;
  transform: translateY(10px);
}

.hero-eyebrow { transition: opacity var(--dur-long) var(--ease-out) 40ms, transform var(--dur-long) var(--ease-out) 40ms; }
.hero-title   { transition: opacity var(--dur-long) var(--ease-out) 100ms, transform var(--dur-long) var(--ease-out) 100ms; }
.hero-sub     { transition: opacity var(--dur-long) var(--ease-out) 180ms, transform var(--dur-long) var(--ease-out) 180ms; }
.hero-actions { transition: opacity var(--dur-long) var(--ease-out) 260ms, transform var(--dur-long) var(--ease-out) 260ms; }
.hero-note    { transition: opacity var(--dur-long) var(--ease-out) 320ms, transform var(--dur-long) var(--ease-out) 320ms; }
.hero-proof   { transition: opacity var(--dur-long) var(--ease-out) 200ms, transform var(--dur-long) var(--ease-out) 200ms; }

@media (prefers-reduced-motion: reduce) {
  .reveal { opacity: 1; transform: none; transition: opacity 150ms linear; }
  .hero-loading .hero-eyebrow,
  .hero-loading .hero-title,
  .hero-loading .hero-sub,
  .hero-loading .hero-actions,
  .hero-loading .hero-note,
  .hero-loading .hero-proof { opacity: 1; transform: none; }
}
