/* Motion and reduced-motion preferences */
@media (prefers-reduced-motion: no-preference) {
  .js .reveal {
    opacity: 0;
    transform: translateY(24px);
    transition:
      opacity 0.7s var(--ease),
      transform 0.7s var(--ease);
  }
  .js .reveal.is-visible {
    opacity: 1;
    transform: none;
  }
  .geo-circle {
    animation: float 9s ease-in-out infinite;
  }
  .geo-cross {
    animation: float-cross 11s ease-in-out infinite;
  }
  .contact-trigger {
    animation: contact-float 6s ease-in-out infinite;
  }
  @keyframes float {
    50% {
      transform: translateY(17px);
    }
  }
  @keyframes float-cross {
    50% {
      transform: translateY(-15px) rotate(65deg);
    }
  }
  @keyframes contact-float {
    50% {
      box-shadow: 0 8px 30px #f7941d4a;
      transform: translateY(-4px);
    }
  }
}
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  *,
  *::before,
  *::after {
    animation: none !important;
    transition: none !important;
  }
  .reveal {
    opacity: 1 !important;
    transform: none !important;
  }
}
