@media (prefers-reduced-motion: no-preference) {
  @keyframes enter-up {
    from { opacity: 0; transform: translateY(20px); }
    to { opacity: 1; transform: translateY(0); }
  }

  @keyframes enter-scale {
    from { opacity: 0; transform: translateY(16px) scale(.97); }
    to { opacity: 1; transform: translateY(0) scale(1); }
  }

  .hero .eyebrow { animation: enter-up .55s both; }
  .hero h1 { animation: enter-up .7s .08s both; }
  .hero p { animation: enter-up .7s .18s both; }
  .hero .button { animation: enter-up .65s .29s both; }
  .hero-graphic { animation: enter-scale .8s .17s both; }

  .motion-ready {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity .7s ease, transform .7s cubic-bezier(.2,.7,.2,1);
  }
  .motion-ready.motion-visible { opacity: 1; transform: translateY(0); }

  .cover-card, .experience-grid article, .advisor-card, .insurer-list span {
    transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease;
  }
  .cover-card:hover, .cover-card:focus-within,
  .experience-grid article:hover, .insurer-list span:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 30px rgb(0 0 0 / .08);
  }
  .experience-grid article:hover { border-color: #888; box-shadow: 0 16px 30px rgb(0 0 0 / .2); }
  .button:active { transform: scale(.97); }
  .faq-list details[open] { animation: enter-up .3s both; }
}
