@media (prefers-reduced-motion: no-preference) {
  [data-entry-reveal].motion-ready {
    opacity: 0;
    transform: translateY(20px);
    transition:
      opacity 0.66s ease,
      transform 0.7s cubic-bezier(0.2, 0.8, 0.2, 1);
  }

  [data-entry-reveal].is-visible {
    opacity: 1;
    transform: translateY(0);
  }

  [data-product-grid].motion-ready article {
    opacity: 0;
    transform: translateY(22px);
  }

  [data-product-grid].is-visible article {
    animation: product-card-enter 0.72s cubic-bezier(0.2, 0.82, 0.2, 1) both;
  }

  [data-product-grid].is-visible article:nth-child(2) {
    animation-delay: 0.08s;
  }
  [data-product-grid].is-visible article:nth-child(3) {
    animation-delay: 0.16s;
  }
  [data-product-grid].is-visible article:nth-child(4) {
    animation-delay: 0.24s;
  }
  [data-product-grid].is-visible article:nth-child(5) {
    animation-delay: 0.32s;
  }
  [data-product-grid].is-visible article:nth-child(6) {
    animation-delay: 0.4s;
  }

  [data-product-grid].is-visible article::after {
    animation: product-geometry-pulse 11s ease-in-out 1.2s infinite;
  }

  [data-entry-reveal].motion-ready .entry-geometry i {
    opacity: 0;
  }

  [data-entry-reveal].is-visible .entry-geometry i:nth-child(1) {
    animation: product-piece-left 1.05s cubic-bezier(0.55, 0, 0.2, 1) 0.08s both;
  }

  [data-entry-reveal].is-visible .entry-geometry i:nth-child(2) {
    animation: product-piece-down 1.05s cubic-bezier(0.55, 0, 0.2, 1) 0.18s both;
  }

  [data-entry-reveal].is-visible .entry-geometry i:nth-child(3) {
    animation: product-piece-right 1.05s cubic-bezier(0.55, 0, 0.2, 1) 0.28s
      both;
  }

  [data-entry-reveal].is-visible .custom-entry i:nth-child(1) {
    animation-name: custom-piece-left;
  }

  .entry-geometry {
    animation: product-entry-settle 9s ease-in-out 1.5s infinite;
  }

  @keyframes product-card-enter {
    0% {
      opacity: 0;
      transform: translateY(22px);
    }
    70% {
      opacity: 1;
      transform: translateY(-2px);
    }
    100% {
      opacity: 1;
      transform: translateY(0);
    }
  }

  @keyframes product-piece-left {
    0% {
      opacity: 0;
      transform: translateX(-48px) rotate(-9deg);
    }
    72% {
      opacity: 1;
      transform: translateX(4px) rotate(1deg);
    }
    100% {
      opacity: 1;
      transform: translateX(0) rotate(0);
    }
  }

  @keyframes product-piece-right {
    0% {
      opacity: 0;
      transform: translateX(48px) rotate(9deg);
    }
    72% {
      opacity: 1;
      transform: translateX(-4px) rotate(-1deg);
    }
    100% {
      opacity: 1;
      transform: translateX(0) rotate(0);
    }
  }

  @keyframes product-piece-down {
    0% {
      opacity: 0;
      transform: translateY(-46px) scale(0.84);
    }
    72% {
      opacity: 1;
      transform: translateY(3px) scale(1.02);
    }
    100% {
      opacity: 1;
      transform: translateY(0) scale(1);
    }
  }

  @keyframes custom-piece-left {
    0% {
      opacity: 0;
      transform: translateX(-48px) rotate(36deg);
    }
    72% {
      opacity: 1;
      transform: translateX(4px) rotate(46deg);
    }
    100% {
      opacity: 1;
      transform: translateX(0) rotate(45deg);
    }
  }

  @keyframes product-entry-settle {
    0%,
    100% {
      translate: 0 0;
    }
    50% {
      translate: 0 -5px;
    }
  }

  @keyframes product-geometry-pulse {
    0%,
    100% {
      opacity: 0.14;
    }
    50% {
      opacity: 0.22;
    }
  }
}
