/* No reveal/hide classes: content stays readable even if motion cannot run. */
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .btn > .icon, .text-link > .icon, .service-arrow > .icon, .image-arrow > .icon {
    transition: transform 260ms cubic-bezier(.22, 1, .36, 1);
  }
  .btn:hover > .icon, .text-link:hover > .icon, .service-card:hover .service-arrow > .icon,
  .environment-card:hover .image-arrow > .icon {
    transform: translateX(3px);
  }
}
