/* Shared motion styles for subpages (lightweight). */

.reveal {
  opacity: 0;
  transform: translate3d(0, 1.25rem, 0);
  filter: blur(8px);
  transition:
    opacity 0.75s cubic-bezier(0.16, 1, 0.3, 1),
    transform 0.75s cubic-bezier(0.16, 1, 0.3, 1),
    filter 0.75s cubic-bezier(0.16, 1, 0.3, 1);
  will-change: opacity, transform, filter;
}

.reveal-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  filter: blur(0);
}

.reveal-pop {
  transform: translate3d(0, 1.75rem, 0) scale(0.96);
}
.reveal-pop.reveal-visible {
  transform: translate3d(0, 0, 0) scale(1);
}

.tilt-card {
  transform-style: preserve-3d;
  transform: perspective(900px) rotateX(var(--tilt-x, 0deg)) rotateY(var(--tilt-y, 0deg));
  transition: transform 0.2s cubic-bezier(0.2, 0.9, 0.2, 1);
  will-change: transform;
}

@media (prefers-reduced-motion: reduce) {
  .reveal,
  .reveal-pop,
  .tilt-card {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
    transition: none !important;
  }
}

