/* Animations élégantes — tweakables via classes body.a-* (voir anim-elegant.js) */
.site-header,.header{will-change:transform}
body.a-smarthdr .site-header,body.a-smarthdr .header{transition:transform .4s cubic-bezier(.22,.61,.21,1)}
.hdr-hide{transform:translateY(-105%)!important}
@media (prefers-reduced-motion: no-preference){
body.a-reveal .rv{opacity:0;transform:translateY(26px);transition:opacity .75s cubic-bezier(.22,.61,.21,1),transform .75s cubic-bezier(.22,.61,.21,1)}
body.a-reveal .rv.in{opacity:1;transform:none}
body.a-hero .hero-seq{opacity:0;transform:translateY(24px);transition:opacity .85s cubic-bezier(.22,.61,.21,1),transform .85s cubic-bezier(.22,.61,.21,1)}
body.a-hero.is-loaded .hero-seq{opacity:1;transform:none}
body.a-hover .btn{transition:transform .3s cubic-bezier(.22,.61,.21,1),background .15s ease,color .15s ease,border-color .15s ease}
body.a-hover .btn:hover{transform:translateY(-2px)}
body.a-hover .btn .arr{display:inline-block;transition:transform .3s cubic-bezier(.22,.61,.21,1)}
body.a-hover .btn:hover .arr{transform:translateX(4px)}
body.a-hover .team__card .ph,body.a-hover .valeurs__card .ph,body.a-hover .cas__item .ph,body.a-hover .cas>div .ph,body.a-hover .galerie__item .ph,body.a-hover .gal .ph{transition:transform .8s cubic-bezier(.22,.61,.21,1)}
body.a-hover .team__card:hover .ph,body.a-hover .valeurs__card:hover .ph,body.a-hover .cas__item:hover .ph,body.a-hover .cas>div:hover .ph,body.a-hover .galerie__item:hover .ph,body.a-hover .gal .ph:hover{transform:scale(1.025)}
body.a-tabs .treat__panel.is-active{animation:panelIn .55s cubic-bezier(.22,.61,.21,1)}
@keyframes panelIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
body.a-parallax .plx{transform:translateY(var(--plx,0px))}
body.a-parallax .hero__media .ph,body.a-parallax .acc__map .ph,body.a-parallax .access__map .ph{top:-32px;bottom:-32px}
}
