@media (prefers-reduced-motion: no-preference) {
  .btn,
  .card-service,
  .action-list a,
  .blog-card {
    transition: background-color 0.2s, box-shadow 0.2s, filter 0.2s, border-color 0.2s, transform 0.2s;
  }

  .card-service:hover,
  .blog-card:hover {
    transform: translateY(-2px);
  }

  .site-header.is-scrolled {
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.12);
  }

  .reveal {
    opacity: 0;
    transform: translateY(16px);
    transition: opacity 0.45s ease, transform 0.45s ease;
  }

  .reveal.is-visible {
    opacity: 1;
    transform: none;
  }

  .step-ribbon__item {
    transition: filter 0.2s;
  }
}

@media (prefers-reduced-motion: reduce) {
  .reveal {
    opacity: 1;
    transform: none;
  }
}
