/* Shared scroll-reveal for the standalone top-level pages (overview, who-we-are).
   Values extracted verbatim from the live Gamma site's --animation-* props:
   fade + 20px rise, 1s, cubic-bezier(0.22,1,0.36,1) ease-out, 0.15s base delay.
   Implémenté en @keyframes et NON en transition : une animation @keyframes
   démarre même si l'élément n'a jamais encore été peint, et survit aux
   recalculs de style provoqués par l'arrivée des polices/images pendant un
   chargement à froid — recalculs qui ANNULENT les transitions dans Chrome
   (transitioncancel) et faisaient apparaître l'image du hero d'un coup. */
.r-anim { opacity: 0; transform: translateY(20px); }
.r-anim.r-in {
  animation: r-reveal 1s cubic-bezier(0.22, 1, 0.36, 1) 0.15s both;
}
@keyframes r-reveal {
  from { opacity: 0; transform: translateY(20px); }
  to   { opacity: 1; transform: none; }
}
@media (prefers-reduced-motion: reduce) {
  .r-anim, .r-anim.r-in {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
    animation: none !important;
  }
}
