/* Motion is opt-in: content stays visible if JavaScript or ES modules fail. */
.motion-ready [data-reveal],
.motion-ready [data-stagger-item] {
  opacity: 0;
  transform: translate3d(0, 26px, 0);
  transition:
    opacity 620ms cubic-bezier(.16,1,.3,1) var(--reveal-delay, 0ms),
    transform 620ms cubic-bezier(.16,1,.3,1) var(--reveal-delay, 0ms);
  will-change: opacity, transform;
}

.motion-ready [data-reveal="fade-left"] { transform: translate3d(30px, 0, 0); }
.motion-ready [data-reveal="fade-right"] { transform: translate3d(-30px, 0, 0); }
.motion-ready [data-reveal="scale-soft"] { transform: scale(.97); }
.motion-ready [data-reveal].is-visible,
.motion-ready [data-stagger-item].is-visible {
  opacity: 1;
  transform: translate3d(0,0,0) scale(1);
  will-change: auto;
}

.success-icon svg circle,
.success-icon svg path { stroke-dasharray: 170; stroke-dashoffset: 170; }
.form-success.is-animated .success-icon svg circle { animation: draw .5s ease forwards; }
.form-success.is-animated .success-icon svg path { stroke-dasharray:55;stroke-dashoffset:55;animation:draw .38s .24s ease forwards; }
@keyframes draw { to { stroke-dashoffset: 0; } }

@media (hover:hover) and (pointer:fine) {
  .card:hover { transform:translateY(-6px);box-shadow:var(--shadow-md);border-color:rgba(10,163,107,.18); }
  .feature-card:hover .feature-icon { transform:translateY(-2px) rotate(-2deg); }
  .feature-card:hover .feature-icon img,
  .audience-card:hover .audience-icon img,
  .trust-item:hover .icon-box img { transform:scale(1.08); }
}

@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important; }
  .motion-ready [data-reveal],
  .motion-ready [data-stagger-item] { opacity:1!important;transform:none!important; }
}
