/**
 * Homepage scroll reveals — smooth ease-in-out both when entering AND leaving view.
 * Pairs with js/home-framer-reveal.js (body.page-home only).
 */

html.page-home-reveal-init {
  /* Uses global silk curves — slightly longer so easing reads buttery */
  --framer-ease: var(--ease-smooth-opacity, cubic-bezier(0.33, 1, 0.68, 1));
  --framer-ease-soft: var(--ease-smooth-transform, cubic-bezier(0.22, 1, 0.42, 1));
  --framer-dur-in: 0.98s;
  --framer-dur-out: 0.78s;
}

html.page-home-reveal-init .framer-reveal-prep:not(.framer-reveal-visible) {
  opacity: 0;
  transform: translate3d(0, 1.5rem, 0);
  filter: none;
  will-change: opacity, transform;
  transition:
    opacity var(--framer-dur-out) var(--framer-ease),
    transform calc(var(--framer-dur-out) + 0.08s) var(--framer-ease-soft);
  transition-delay: 0ms;
}

html.page-home-reveal-init .framer-reveal-prep.framer-reveal-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  will-change: auto;
  transition:
    opacity var(--framer-dur-in) var(--framer-ease),
    transform calc(var(--framer-dur-in) + 0.1s) var(--framer-ease-soft);
  transition-delay: var(--framer-d, 0ms);
}

@media (prefers-reduced-motion: reduce) {
  html.page-home-reveal-init .framer-reveal-prep {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
    will-change: auto !important;
  }
}

/* --------------------------------------------------------------------------
   Flexible Plans (#pricing) — transitions both ways (plan-card hover uses transform)
   -------------------------------------------------------------------------- */

html.page-home-reveal-init #pricing .framer-reveal-prep:not(.framer-reveal-visible) {
  opacity: 0 !important;
  transform: translate3d(0, 1.75rem, 0) !important;
  pointer-events: none;
  transition:
    opacity var(--framer-dur-out) var(--framer-ease) !important,
    transform calc(var(--framer-dur-out) + 0.08s) var(--framer-ease-soft) !important;
  transition-delay: 0ms !important;
}

html.page-home-reveal-init #pricing .framer-reveal-prep.framer-reveal-visible {
  pointer-events: auto;
  opacity: 1 !important;
  transform: translate3d(0, 0, 0) !important;
  transition:
    opacity var(--framer-dur-in) var(--framer-ease),
    transform calc(var(--framer-dur-in) + 0.1s) var(--framer-ease-soft),
    box-shadow 0.55s var(--framer-ease-soft) !important;
  transition-delay: var(--framer-d, 0ms);
}

@media (prefers-reduced-motion: reduce) {
  html.page-home-reveal-init #pricing .framer-reveal-prep:not(.framer-reveal-visible),
  html.page-home-reveal-init #pricing .framer-reveal-prep.framer-reveal-visible {
    opacity: 1 !important;
    transform: none !important;
    pointer-events: auto !important;
    transition: inherit !important;
  }
}

/* --------------------------------------------------------------------------
   Stats & Facts (#stats) — headline + grid, bidirectional
   -------------------------------------------------------------------------- */

html.page-home-reveal-init #stats .stats-title.framer-reveal-prep:not(.framer-reveal-visible),
html.page-home-reveal-init #stats .stats-subtitle.framer-reveal-prep:not(.framer-reveal-visible) {
  opacity: 0 !important;
  transform: translate3d(0, 1.4rem, 0) !important;
  transition:
    opacity var(--framer-dur-out) var(--framer-ease) !important,
    transform calc(var(--framer-dur-out) + 0.08s) var(--framer-ease-soft) !important;
  transition-delay: 0ms !important;
}

html.page-home-reveal-init #stats .stats-image-wrap.framer-reveal-prep:not(.framer-reveal-visible) {
  opacity: 0 !important;
  transform: translate3d(0, 2rem, 0) !important;
  transition:
    opacity var(--framer-dur-out) var(--framer-ease) !important,
    transform calc(var(--framer-dur-out) + 0.08s) var(--framer-ease-soft) !important;
  transition-delay: 0ms !important;
  pointer-events: none;
}

html.page-home-reveal-init #stats .stats-title.framer-reveal-prep.framer-reveal-visible,
html.page-home-reveal-init #stats .stats-subtitle.framer-reveal-prep.framer-reveal-visible {
  position: relative;
  z-index: 1;
  opacity: 1 !important;
  transform: translate3d(0, 0, 0) !important;
  transition:
    opacity calc(var(--framer-dur-in) + 0.06s) var(--framer-ease) !important,
    transform calc(var(--framer-dur-in) + 0.08s) var(--framer-ease-soft) !important;
  transition-delay: var(--framer-d, 0ms);
}

html.page-home-reveal-init #stats .stats-image-wrap.framer-reveal-prep.framer-reveal-visible {
  opacity: 1 !important;
  transform: translate3d(0, 0, 0) !important;
  transition:
    opacity calc(var(--framer-dur-in) + 0.08s) var(--framer-ease) !important,
    transform calc(var(--framer-dur-in) + 0.1s) var(--framer-ease-soft) !important;
  transition-delay: var(--framer-d, 0ms);
  pointer-events: auto;
}

@media (prefers-reduced-motion: reduce) {
  html.page-home-reveal-init #stats .stats-title.framer-reveal-prep,
  html.page-home-reveal-init #stats .stats-subtitle.framer-reveal-prep,
  html.page-home-reveal-init #stats .stats-image-wrap.framer-reveal-prep {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
    pointer-events: auto !important;
  }
}
