/* tb-motion — lightweight, tasteful scroll-reveal + micro-interactions for the
   ToastBikes site. No build step, no deps. Progressive enhancement: elements are
   only hidden AFTER tb-motion.js adds .tb-anim, so with JS off nothing disappears.
   Fully disabled under prefers-reduced-motion. */

.tb-anim{
  opacity:0;
  transform:translateY(16px);
  transition:opacity .6s cubic-bezier(.22,.7,.24,1), transform .6s cubic-bezier(.22,.7,.24,1);
  will-change:opacity, transform;
}
.tb-anim.tb-in{ opacity:1; transform:none; }

/* subtle lift on the site's card-like surfaces (only where not already animated by JS state) */
@media (prefers-reduced-motion: no-preference){
  .panel, .notecard, .card, .msgrow{ transition:transform .18s ease, box-shadow .18s ease; }
  a.btn, .btn{ transition:transform .12s ease, box-shadow .12s ease, background-color .15s ease; }
}

/* honour the OS setting: no motion at all */
@media (prefers-reduced-motion: reduce){
  .tb-anim{ opacity:1 !important; transform:none !important; transition:none !important; }
}
