/* CBS Groupe — pack fluidité v2 (08/11/2026 21h25) — v2 : ne double pas une animation existante (html.cbs-motion)
   Aucun changement de contenu, couleur, typo ni structure.
   Uniquement : défilement doux, fondu doux à l'apparition, survols, respect de prefers-reduced-motion.
   Aucun décalage de mise en page : seules opacity/transform sont animées (pas de height/margin). */
html{scroll-behavior:smooth}
:target{scroll-margin-top:96px}
/* Fondu au scroll : n'agit QUE si le JS a ajouté .cbs-fx sur <html> (sans JS = contenu visible) */
.cbs-fx .cbs-reveal{opacity:0;transform:translate3d(0,14px,0);transition:opacity .6s cubic-bezier(.2,.7,.2,1),transform .6s cubic-bezier(.2,.7,.2,1);will-change:opacity,transform}
.cbs-fx .cbs-reveal.cbs-in{opacity:1;transform:none;will-change:auto}
/* Survols doux (ne touchent ni couleurs ni tailles de boîte) */
a,button,.btn,[class*="btn"],html:not(.cbs-motion) [class*="card"]{transition-property:color,background-color,border-color,box-shadow,transform,opacity;transition-duration:.2s;transition-timing-function:ease-out}
@media (hover:hover){html:not(.cbs-motion) [class*="card"]:hover{transform:translate3d(0,-2px,0)}}
img{transition:opacity .3s ease-out}
@media (prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
 .cbs-fx .cbs-reveal{opacity:1!important;transform:none!important}
}
