/* Campy Yallaa — couche d'animation globale (voir motion.js) */
@keyframes cyLeft{from{opacity:0;transform:translateX(-28px)}to{opacity:1;transform:none}}
@keyframes cyZoom{from{opacity:0;transform:scale(.94)}to{opacity:1;transform:none}}
@keyframes cyUp{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
.cy-js .cy-reveal{opacity:0}
.cy-js .cy-reveal.is-in{opacity:1;animation:cyUp .75s cubic-bezier(.2,.7,.2,1) var(--d,0s) backwards}
.cy-js .cy-reveal.is-in[data-cy-fx="left"]{animation-name:cyLeft}
.cy-js .cy-reveal.is-in[data-cy-fx="zoom"]{animation-name:cyZoom}
html{scroll-behavior:smooth;scroll-padding-top:96px}
.cy-progress{position:fixed;left:0;top:0;height:3px;width:100%;z-index:99999;transform-origin:0 50%;transform:scaleX(0);background:linear-gradient(90deg,#2f7a4f,#ff7a1a);pointer-events:none;will-change:transform}
header.cy-scrolled{box-shadow:0 8px 30px -14px rgba(16,24,40,.35);transition:box-shadow .3s}
@media (hover:hover) and (pointer:fine){
.cy-tilt{transition:transform .15s ease-out,box-shadow .25s ease!important}
.cy-tilt:hover{transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateY(-4px)!important}
}
:where(a,button,.cy-btn,.campy-v8-btn,.cy-v9-btn):active{transform:scale(.97)}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.cy-progress{display:none}}
