/* Shared, restrained motion for the home and pricing pages.
   Content remains visible when JavaScript is unavailable or motion is reduced. */
:root {
  --rz-motion-ease: cubic-bezier(0.22, 0.61, 0.36, 1);
}

.reveal,
.hero-anim {
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;
  animation: none !important;
}

html.rz-anim .hero-anim {
  opacity: 0 !important;
  transform: translateY(16px) !important;
  transition: opacity 0.6s var(--rz-motion-ease), transform 0.6s var(--rz-motion-ease) !important;
}

html.rz-anim .hero-anim-2 {
  transition-delay: 0.12s !important;
}

html.rz-anim .hero-anim-3 {
  transition-delay: 0.2s !important;
}

html.rz-anim .hero-anim-4 {
  transition-delay: 0.28s !important;
}

html.rz-anim .hero-anim-5 {
  transition-delay: 0.2s !important;
}

html.rz-anim .hero-anim.rz-in {
  opacity: 1 !important;
  transform: none !important;
}

html.rz-anim .reveal {
  opacity: 0 !important;
  transform: translateY(14px) !important;
  transition: opacity 0.55s var(--rz-motion-ease), transform 0.55s var(--rz-motion-ease) !important;
  will-change: opacity, transform;
}

html.rz-anim .reveal.rz-in {
  opacity: 1 !important;
  transform: none !important;
}

html.rz-anim .hubspot-mock-row,
html.rz-anim .price-flow span {
  opacity: 0;
  transform: translateY(7px);
  transition: opacity 0.45s var(--rz-motion-ease), transform 0.45s var(--rz-motion-ease);
}

html.rz-anim .rz-in .hubspot-mock-row,
html.rz-anim .rz-in .price-flow span {
  opacity: 1;
  transform: none;
}

html.rz-anim .hubspot-mock-progress-fill {
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.65s var(--rz-motion-ease);
}

html.rz-anim .rz-in .hubspot-mock-progress-fill {
  transform: scaleX(1);
}

@media (prefers-reduced-motion: no-preference) {
  .motion-lift {
    transition: transform 0.22s var(--rz-motion-ease), box-shadow 0.22s var(--rz-motion-ease), border-color 0.22s var(--rz-motion-ease);
  }

  .btn .arrow {
    display: inline-block;
    transition: transform 0.2s var(--rz-motion-ease);
  }
}

@media (hover: hover) {
  .motion-lift:hover {
    transform: translateY(-3px);
    border-color: rgba(234, 88, 12, 0.28);
    box-shadow: 0 2px 4px rgba(15, 23, 42, 0.05), 0 14px 30px rgba(15, 23, 42, 0.1);
  }

  .btn:hover .arrow {
    transform: translateX(3px);
  }
}

@media (prefers-reduced-motion: reduce) {
  html.rz-anim .reveal,
  html.rz-anim .hero-anim,
  html.rz-anim .hubspot-mock-row,
  html.rz-anim .price-flow span,
  html.rz-anim .hubspot-mock-progress-fill {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
    animation: none !important;
  }
}
