/* =========================================================
   Motion — one orchestrated reveal, kept subtle
   ========================================================= */

.reveal{
  opacity: 0;
  transform: translateY(16px);
  transition: opacity .7s ease, transform .7s ease;
}
.reveal.is-visible{
  opacity: 1;
  transform: none;
}

/* stagger children of a revealed group slightly */
.produits-grid .produit.reveal:nth-child(2){ transition-delay: .08s; }
.produits-grid .produit.reveal:nth-child(3){ transition-delay: .16s; }

.theme-toggle svg{ transition: transform .25s ease; }
.theme-toggle:active svg{ transform: scale(.85); }
