@media (prefers-reduced-motion: no-preference) {
  body[data-page="home"] {
    --home-motion-settle: cubic-bezier(0.22, 1, 0.36, 1);
    --home-motion-return: cubic-bezier(0.2, 0.85, 0.3, 1.22);
  }

  .motion-ready body[data-page="home"] .home-hero .hero-copy.reveal-item {
    opacity: 1;
    transform: none;
    transition: none;
  }

  body[data-page="home"] .home-hero .hero-copy.is-visible h1 {
    animation: home-title-settle 1100ms var(--home-motion-return) both;
    transform-origin: left center;
  }

  body[data-page="home"] .home-hero .hero-copy.is-visible .lead {
    animation: home-copy-arrive 900ms var(--home-motion-settle) 220ms both;
  }

  body[data-page="home"] .home-hero .hero-copy.is-visible .hero-actions {
    animation: home-copy-arrive 850ms var(--home-motion-return) 400ms both;
  }

  body[data-page="home"] .home-hero .hero-copy:focus-within .hero-actions {
    animation: none;
  }

  /* Translation preserves the particle canvas coordinate system. */
  body[data-page="home"].home-motion-ready .brand-visual {
    transform: var(--brand-drift, translate3d(0, 0, 0));
    animation: home-brand-float 4800ms ease-in-out infinite;
    animation-play-state: paused;
  }

  body[data-page="home"].home-motion-ready .brand-visual.home-motion-in-view {
    animation-play-state: running;
  }

  body[data-page="home"].home-motion-ready .brand-visual:is(.is-particle-active, .is-easter),
  body[data-page="home"].home-motion-ready.home-motion-paused .brand-visual {
    animation-play-state: paused;
  }

  /* Entrance animations are transient; content stays readable without JS. */
  body[data-page="home"].home-motion-ready main .home-motion-card {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    opacity: 1;
    transform: var(--card-pose, none);
    transition: box-shadow 280ms ease, border-color 280ms ease;
    transition-delay: 0ms;
  }

  body[data-page="home"].home-motion-ready .home-work .product-card .product-card-icon {
    transform: var(--icon-pose, none);
  }

  body[data-page="home"] .button {
    transition:
      transform 420ms var(--home-motion-return),
      background-color 180ms ease,
      border-color 180ms ease,
      box-shadow 240ms ease;
  }

  body[data-page="home"] .button:active {
    transform: scale(0.93);
    transition-duration: 80ms;
  }

  body[data-page="home"] .share-trigger svg {
    transition: transform 320ms var(--home-motion-return);
  }

  body[data-page="home"] .share-trigger:active svg {
    transform: translateY(-4px) rotate(-8deg);
  }

  /* Keep outer QR geometry unchanged for popover positioning. */
  body[data-page="home"] .mini-program-popover:not([hidden]) > * {
    animation: home-surface-arrive 400ms var(--home-motion-return);
  }

  body[data-page="home"] .utility-dialog[open] .utility-dialog-content {
    animation: home-surface-arrive 420ms var(--home-motion-return);
  }

  body[data-page="home"] .utility-dialog[open]::backdrop {
    animation: home-backdrop-arrive 220ms ease-out;
  }
}

@media (prefers-reduced-motion: no-preference) and (hover: hover) and (pointer: fine) {
  body[data-page="home"].home-motion-ready main .home-motion-card.is-motion-hover {
    box-shadow: 0 34px 65px rgba(58, 66, 120, 0.2), inset 0 1px 0 rgba(255, 255, 255, 1);
  }

  body[data-page="home"] .home-motion-card::after {
    position: absolute;
    z-index: -1;
    inset: -30% auto -30% 0;
    width: 55%;
    content: "";
    pointer-events: none;
    opacity: 0;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.85), transparent);
  }

  body[data-page="home"] .home-motion-card.is-motion-hover::after {
    animation: home-glass-sweep 1000ms ease-out;
  }

  body[data-page="home"] .button:hover:not(:active) {
    transform: translateY(-5px) scale(1.035);
  }

  body[data-page="home"] .resource-card-link span {
    display: inline-block;
    transition: transform 360ms var(--home-motion-return);
  }

  body[data-page="home"] .resource-card-link:hover span {
    transform: translate(6px, -6px) rotate(10deg);
  }
}

@media (prefers-reduced-motion: reduce) {
  body[data-page="home"] .home-work .product-card-grid .product-card:hover,
  body[data-page="home"] .button:hover,
  body[data-page="home"] .button:active {
    transform: none;
  }
}

@keyframes home-brand-float {
  0%, 100% { translate: 0 5px; }
  50% { translate: 0 -9px; }
}

@keyframes home-title-settle {
  from { opacity: 0; transform: translateY(34px) rotate(-2deg) scale(0.96); filter: blur(5px); }
  to { opacity: 1; transform: translateY(0) rotate(0deg) scale(1); filter: blur(0); }
}

@keyframes home-copy-arrive {
  from { opacity: 0; transform: translateY(26px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes home-surface-arrive {
  from { opacity: 0; transform: translateY(14px) scale(0.94); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes home-backdrop-arrive {
  from { opacity: 0; }
  to { opacity: 1; }
}

@keyframes home-glass-sweep {
  0% { opacity: 0; transform: translateX(-130%) skewX(-18deg); }
  20% { opacity: 0.85; }
  100% { opacity: 0; transform: translateX(250%) skewX(-18deg); }
}
