@media (prefers-reduced-motion: no-preference) {
  @keyframes ia-fade-up {
    from { opacity: 0; transform: translateY(14px); }
    to   { opacity: 1; transform: none; }
  }

  [data-ia-hero] .nb-shell > div:first-child > * {
    animation: ia-fade-up .6s cubic-bezier(.2, .7, .2, 1) both;
  }
  [data-ia-hero] .nb-shell > div:first-child > :nth-child(2) { animation-delay: .08s; }
  [data-ia-hero] .nb-shell > div:first-child > :nth-child(3) { animation-delay: .16s; }
  [data-ia-hero] .nb-shell > div:first-child > :nth-child(4) { animation-delay: .24s; }
  [data-ia-hero] .nb-shell > div:first-child > :nth-child(5) { animation-delay: .32s; }
  [data-ia-hero] .nb-shell > .card {
    animation: ia-fade-up .7s cubic-bezier(.2, .7, .2, 1) .2s backwards;
  }

  .ia-pending {
    opacity: 0;
    transform: translateY(16px);
  }
  .ia-reveal {
    transition: opacity .55s ease, transform .55s cubic-bezier(.2, .7, .2, 1);
    transition-delay: var(--ia-delay, 0ms);
  }

  [data-ia-page] .card {
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
  }
  [data-ia-page] .card:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 28px -12px color-mix(in oklab, var(--color-primary) 30%, transparent);
    border-color: color-mix(in oklab, var(--color-primary) 35%, transparent);
  }
  [data-ia-page] .card.ia-pending:hover {
    transform: translateY(16px);
  }
  [data-ia-page] .btn {
    transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease;
  }
  [data-ia-page] .btn:hover {
    transform: translateY(-1px);
  }
  [data-ia-page] .btn:active {
    transform: translateY(0);
  }
}
