@keyframes goark-enter {
  from { opacity: 0; transform: translateY(18px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes goark-float {
  0%, 100% { translate: 0 0; }
  50% { translate: 0 -8px; }
}
@keyframes goark-breathe {
  0%, 100% { opacity: .5; scale: 1; }
  50% { opacity: .9; scale: 1.025; }
}
@media (prefers-reduced-motion: no-preference) {
  .hero-copy > *, .download-copy > * { animation: goark-enter .65s ease-out both; }
  .hero-copy > :nth-child(2), .download-copy > :nth-child(2) { animation-delay: .08s; }
  .hero-copy > :nth-child(3), .download-copy > :nth-child(3) { animation-delay: .16s; }
  .hero-copy > :nth-child(n+4), .download-copy > :nth-child(n+4) { animation-delay: .24s; }
  .app-device, .download-phone { animation: goark-float 7s ease-in-out infinite; }
  .download-visual .preview-callout { animation: goark-float 6s ease-in-out infinite; }
  .download-visual .callout-store { animation-delay: -3s; }
  .preview-glow, .app-orbit { animation: goark-breathe 8s ease-in-out infinite; }
  .app-orbit-two { animation-delay: -4s; }
  .motion-reveal { opacity: 0; transform: translateY(22px); transition: opacity .6s ease-out, transform .6s ease-out; }
  .motion-reveal.is-visible { opacity: 1; transform: translateY(0); }
  .feature-card:nth-child(3n+2), .how-step:nth-child(2), .download-step-grid article:nth-child(2) { transition-delay: .08s; }
  .feature-card:nth-child(3n+3), .how-step:nth-child(3), .download-step-grid article:nth-child(3) { transition-delay: .16s; }
  .download-phone > img:not([hidden]) { animation: goark-enter .3s ease-out both; }
}
@media (prefers-reduced-motion: reduce) {
  .motion-reveal { opacity: 1; transform: none; }
  .app-device, .download-phone, .preview-callout, .preview-glow, .app-orbit { animation: none; }
}
