/* Progressive enhancement only: content stays visible if JavaScript is unavailable. */
@media (prefers-reduced-motion: no-preference) {
  .js [data-reveal] { opacity: 0; transform: translateY(20px); transition: opacity .65s ease, transform .65s cubic-bezier(.2,.7,.2,1); }
  .js [data-reveal].is-visible { opacity: 1; transform: translateY(0); }
  .js .hero-copy { animation: hero-enter .7s .1s both cubic-bezier(.2,.7,.2,1); }
  .js .hero-art { animation: hero-enter .8s .2s both cubic-bezier(.2,.7,.2,1); }
  .js .stamp { animation: stamp-in .7s .75s both cubic-bezier(.2,.7,.2,1); }
  .btn { transition: transform .2s ease, background-color .2s ease; }
  .btn:hover { transform: translateY(-2px); }
  .card { transition: transform .3s ease; }
  .card:hover { transform: translateY(-5px); }
  @keyframes hero-enter { from { opacity: 0; transform: translateY(25px); } to { opacity: 1; transform: translateY(0); } }
  @keyframes stamp-in { from { opacity: 0; transform: scale(.7) rotate(-18deg); } to { opacity: 1; transform: scale(1) rotate(0); } }
}
