/* Motion utilities: no external dependencies. */
.fda-reveal,
.fda-reveal-up,
.fda-reveal-left,
.fda-reveal-right,
.fda-stagger > * {
  opacity: 0;
  transform: translate3d(0, 24px, 0);
  transition: opacity 620ms ease, transform 620ms cubic-bezier(.22, 1, .36, 1);
  transition-delay: var(--fda-delay, 0ms);
}

.fda-reveal-left { transform: translate3d(-28px, 0, 0); }
.fda-reveal-right { transform: translate3d(28px, 0, 0); }

.fda-reveal.is-visible,
.fda-reveal-up.is-visible,
.fda-reveal-left.is-visible,
.fda-reveal-right.is-visible,
.fda-stagger.is-visible > * {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

.fda-stagger > *:nth-child(2) { --fda-delay: 80ms; }
.fda-stagger > *:nth-child(3) { --fda-delay: 160ms; }
.fda-stagger > *:nth-child(4) { --fda-delay: 240ms; }
.fda-stagger > *:nth-child(5) { --fda-delay: 320ms; }
.fda-stagger > *:nth-child(6) { --fda-delay: 400ms; }

.fda-hover-lift { transition: transform 220ms ease, box-shadow 220ms ease; }
.fda-hover-lift:hover { transform: translateY(-5px); }


/* Keep equal-height card rows visually aligned on desktop.
   Cards still fade in with stagger, but they no longer shift downward while loading. */
@media (min-width: 981px) {
  .fda-stagger > .fda-card,
  .fda-stagger > .wp-block-group.fda-card,
  .fda-stagger > .is-style-fda-card,
  .fda-stagger > .wp-block-group.is-style-fda-card {
    transform: none;
    transition: opacity 520ms ease, box-shadow 220ms ease, border-color 220ms ease;
  }

  .fda-stagger.is-visible > .fda-card,
  .fda-stagger.is-visible > .wp-block-group.fda-card,
  .fda-stagger.is-visible > .is-style-fda-card,
  .fda-stagger.is-visible > .wp-block-group.is-style-fda-card {
    transform: none;
  }

  .fda-stagger > .fda-card:hover,
  .fda-stagger > .wp-block-group.fda-card:hover,
  .fda-stagger > .is-style-fda-card:hover,
  .fda-stagger > .wp-block-group.is-style-fda-card:hover {
    transform: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .fda-reveal,
  .fda-reveal-up,
  .fda-reveal-left,
  .fda-reveal-right,
  .fda-stagger > * {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}
