/* ═══════════════════════════════════════════════════════════
   Dwello motion - subtle and optional
   • Smooth scrolling for in-page links
   • Content below the fold fades up (12px) the first time it
     scrolls into view; cards in a row are gently staggered.
   • Everything is disabled for "reduce motion" users, and the
     classes are only added by JS, so no-JS visitors see content.
   ═══════════════════════════════════════════════════════════ */

html { scroll-behavior: smooth; }

.dw-reveal {
  opacity: 0;
  transform: translate3d(0, 12px, 0);
  transition: opacity .55s cubic-bezier(.2, .7, .2, 1), transform .55s cubic-bezier(.2, .7, .2, 1);
  transition-delay: var(--dw-reveal-delay, 0ms);
  will-change: opacity, transform;
}
.dw-reveal.is-visible {
  opacity: 1;
  transform: none;
  will-change: auto;
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .dw-reveal, .dw-reveal.is-visible { opacity: 1 !important; transform: none !important; transition: none !important; }
}

/* ── Compact homepage stats strip ───────────────────────── */
.stats-strip.is-compact .stat-item { padding: .7rem .75rem; }
.stats-strip.is-compact .stat-item .stat-num { font-size: 1.6rem; }
.stats-strip.is-compact .stat-item .stat-label { font-size: .8rem; margin-top: .1rem; }
