@media (prefers-reduced-motion: no-preference) {
  .hero-copy { animation: intro-up .7s both; }
  .hero-visual { animation: intro-up .7s .12s both; }
  .pulse { animation: status-pulse 2.2s ease-in-out infinite; }

  .button, .icon-action, .cart-button, .add-button, .mobile-login {
    transition: transform .2s ease, border-color .2s ease, background .2s ease, color .2s ease, box-shadow .2s ease;
  }

  .button:hover, .icon-action:hover, .cart-button:hover, .mobile-login:hover { transform: translateY(-2px); }
  .primary:hover { box-shadow: 0 8px 24px rgba(165, 232, 90, .2); }

  .product-card, .service-card, .package-card, .process-list li {
    transition: transform .28s ease, border-color .28s ease, box-shadow .28s ease, background .28s ease;
  }

  .product-card:hover, .service-card:hover, .package-card:hover {
    transform: translateY(-5px);
    border-color: rgba(165, 232, 90, .72);
    box-shadow: 0 18px 38px rgba(0, 0, 0, .18);
  }

  .process-list li:hover { background: rgba(165, 232, 90, .035); }

  .motion-ready .reveal {
    opacity: 0;
    transform: translateY(22px);
    transition: opacity .58s ease, transform .58s cubic-bezier(.2, .75, .25, 1);
  }

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

@keyframes intro-up { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: none; } }
@keyframes status-pulse { 0%, 100% { box-shadow: 0 0 0 4px rgba(165,232,90,.13); } 50% { box-shadow: 0 0 0 8px rgba(165,232,90,.03); } }
