/* JC Conduite — motion layer, additive and reversible */
:root{--motion-gold:#f6c400;--motion-red:#ef1b2d}
html{scroll-behavior:smooth}
body{overflow-x:hidden}
@media(prefers-reduced-motion:no-preference){
.hero{position:relative;isolation:isolate}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 78% 28%,rgba(246,196,0,.12),transparent 46%);animation:jcGlow 9s ease-in-out 2 alternate both}
.hero h1,.hero h2,.hero .manuscrit{animation:jcRise .95s cubic-bezier(.2,.7,.2,1) both}
.hero .manuscrit{animation-delay:.22s}
.hero img,.hero video{animation:jcReveal 1.4s ease-out both}
a,button,.btn,[class*="button"]{transition:transform .25s ease,box-shadow .3s ease,filter .3s ease}
a:hover,button:hover,.btn:hover{filter:brightness(1.08)}
.btn:hover,button:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(239,27,45,.16)}
img{transition:transform .7s cubic-bezier(.2,.7,.2,1)}
figure:hover img,.card:hover img{transform:scale(1.035)}
.jc-reveal{opacity:0;transform:translateY(25px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}
.jc-reveal.jc-visible{opacity:1;transform:translateY(0)}
@keyframes jcGlow{from{opacity:.35;transform:translateX(-2%)}to{opacity:1;transform:translateX(2%)}}
@keyframes jcRise{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}
@keyframes jcReveal{from{opacity:.45;filter:brightness(.7)}to{opacity:1;filter:brightness(1)}}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}.jc-reveal{opacity:1!important;transform:none!important}}
@media print{.jc-reveal{opacity:1!important;transform:none!important}.hero::after{display:none}}
