/* Animations sobres et progressives */
.motion-ready .cs-reveal{
  opacity:0;
  transform:translateY(22px);
  transition:opacity .72s cubic-bezier(.22,1,.36,1),transform .72s cubic-bezier(.22,1,.36,1);
  transition-delay:var(--reveal-delay,0ms);
}
.motion-ready .cs-reveal.is-visible{opacity:1;transform:none}

.site-header{
  transition:background-color .35s ease,box-shadow .35s ease,backdrop-filter .35s ease;
}
.site-header.is-scrolled{
  background:rgba(24,23,20,.88);
  box-shadow:0 12px 35px rgba(0,0,0,.12);
  backdrop-filter:blur(12px);
}
.nav a{position:relative}
.nav a::after{
  content:"";
  position:absolute;
  right:0;
  bottom:-7px;
  left:0;
  height:1px;
  background:currentColor;
  transform:scaleX(0);
  transform-origin:right;
  transition:transform .3s ease;
}
.nav a:hover::after,.nav a:focus-visible::after{transform:scaleX(1);transform-origin:left}

.btn,.contact-actions a,.mobile-actions a{
  transition:transform .25s ease,box-shadow .25s ease,background-color .25s ease,color .25s ease,border-color .25s ease;
}
.btn:hover,.contact-actions a:hover{transform:translateY(-2px);box-shadow:0 12px 25px rgba(38,30,24,.13)}
.btn:active,.contact-actions a:active{transform:translateY(0)}

.service-card,.quick-grid>div,.commit-grid>div,.process-grid>div,.offer-grid>div,.producer-grid>div,.featured-panel,.testimonial-card{
  transition:transform .38s cubic-bezier(.22,1,.36,1),box-shadow .38s ease,border-color .38s ease;
}
.service-card:hover,.commit-grid>div:hover,.process-grid>div:hover,.offer-grid>div:hover,.producer-grid>div:hover,.testimonial-card:hover{
  transform:translateY(-5px);
  border-color:rgba(137,45,59,.22);
  box-shadow:0 18px 38px rgba(45,35,27,.09);
}

.story-image,.gallery-grid>a,.gallery-grid>figure,.gallery-grid>div{overflow:hidden}
.story-image img,.gallery-grid img,.service-card img,.featured-panel img{
  transition:transform .8s cubic-bezier(.22,1,.36,1),filter .5s ease;
}
.story-image:hover img,.gallery-grid>*:hover img,.service-card:hover img,.featured-panel:hover img{
  transform:scale(1.035);
  filter:saturate(1.04);
}

.hero-content>*{animation:cs-hero-in .85s cubic-bezier(.22,1,.36,1) both}
.hero-content>*:nth-child(2){animation-delay:.10s}
.hero-content>*:nth-child(3){animation-delay:.20s}
.hero-content>*:nth-child(4){animation-delay:.30s}
@keyframes cs-hero-in{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}

@media(max-width:820px){
  .site-header.is-scrolled{background:rgba(24,23,20,.94)}
  .service-card:hover,.commit-grid>div:hover,.process-grid>div:hover,.offer-grid>div:hover,.producer-grid>div:hover,.testimonial-card:hover{transform:none;box-shadow:none}
}

@media(prefers-reduced-motion:reduce){
  .motion-ready .cs-reveal,.motion-ready .cs-reveal.is-visible{opacity:1;transform:none;transition:none}
  .hero-content>*{animation:none}
  .site-header,.nav a::after,.btn,.contact-actions a,.service-card,.quick-grid>div,.commit-grid>div,.process-grid>div,.offer-grid>div,.producer-grid>div,.featured-panel,.testimonial-card,.story-image img,.gallery-grid img,.service-card img,.featured-panel img{transition:none!important}
  html{scroll-behavior:auto!important}
}
