:root {
  --product-motion-ease-out:cubic-bezier(.16,1,.3,1);
}

@keyframes product-soft-float {
  0%,100% {
    transform:translate3d(0,0,0);
  }
  50% {
    transform:translate3d(0,-8px,0);
  }
}

@keyframes product-total-glow {
  0%,100% {
    filter:drop-shadow(0 0 0 rgba(20,161,181,0));
  }
  50% {
    filter:drop-shadow(0 8px 12px rgba(20,161,181,.16));
  }
}

@media (prefers-reduced-motion:no-preference) {
  .product-page--scanner .scanner-hero__media img,
  .product-page--stainer .stainer-hero__grid figure img {
    animation:product-soft-float 6s ease-in-out 1.1s infinite;
    will-change:transform;
  }

  .product-page--stainer .process-total {
    animation:product-total-glow 3.8s ease-in-out 1.2s infinite;
  }

  .product-page .advantage-card,
  .product-page .samples-grid figure,
  .product-page .advantage-grid article,
  .product-page .modules-grid article,
  .product-page .spec-table,
  .product-page .stainer-specs dl {
    transition:
      transform 380ms var(--product-motion-ease-out),
      box-shadow 380ms var(--product-motion-ease-out),
      border-color 380ms ease;
  }

  .product-page .advantage-card img,
  .product-page .advantage-grid article>img,
  .product-page .module-visual img {
    transition:transform 420ms var(--product-motion-ease-out);
  }
}

@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
  .product-page .advantage-card:hover,
  .product-page .samples-grid figure:hover,
  .product-page .advantage-grid article:hover,
  .product-page .modules-grid article:hover {
    transform:translate3d(0,-6px,0);
    border-color:rgba(18,104,232,.2);
    box-shadow:0 14px 30px rgba(17,91,229,.14);
  }

  .product-page .advantage-card:hover img,
  .product-page .advantage-grid article:hover>img {
    transform:translate3d(0,-3px,0) scale(1.06);
  }

  .product-page .modules-grid article:hover .module-visual img {
    transform:scale(1.035);
  }

  .product-page .spec-table:hover,
  .product-page .stainer-specs dl:hover {
    transform:translate3d(0,-3px,0);
    box-shadow:0 12px 28px rgba(48,62,101,.1);
  }
}

@media (max-width:760px) and (prefers-reduced-motion:no-preference) {
  .product-page--scanner .scanner-hero__media img,
  .product-page--stainer .stainer-hero__grid figure img {
    animation-name:none;
  }
}

@media (prefers-reduced-motion:reduce) {
  .product-page *,
  .product-page *::before,
  .product-page *::after {
    scroll-behavior:auto!important;
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
  }
}
