/* Content stays visible until the scroll controller opts in off-screen blocks. */
@media (prefers-reduced-motion: no-preference) {
 .rds-scroll-progress {
  position: fixed;
  z-index: 11;
  top: 0;
  inset-inline: 0;
  height: 2px;
  pointer-events: none;
  background: #ed8475;
  transform: scaleX(0);
  transform-origin: left center;
 }

 [data-scroll-state="pending"] {
  opacity: .24;
  transform: translate3d(0,22px,0);
 }

 [data-scroll-reveal="left"][data-scroll-state="pending"] {transform:translate3d(-24px,10px,0)}
 [data-scroll-reveal="right"][data-scroll-state="pending"] {transform:translate3d(24px,10px,0)}
 [data-scroll-reveal="rule"][data-scroll-state] {position:relative}
 [data-scroll-reveal="rule"][data-scroll-state]::after {
  content:"";
  display:block;
  position:absolute;
  inset:auto auto -10px 0;
  width:27px;
  height:2px;
  background:var(--red);
  transform:scaleX(1);
  transform-origin:left;
  transition:transform .65s cubic-bezier(.22,1,.36,1);
 }
 [data-scroll-reveal="rule"][data-scroll-state="pending"]::after {transform:scaleX(.12)}

 [data-scroll-reveal="crop"][data-scroll-state="pending"] {
  opacity: .68;
  transform: translate3d(0,14px,0);
  clip-path: inset(9% 0 13% 0);
 }

 [data-scroll-state="shown"] {
  opacity: 1;
  transform: none;
  transition: opacity .55s cubic-bezier(.22,1,.36,1),
              transform .7s cubic-bezier(.22,1,.36,1),
              clip-path .8s cubic-bezier(.22,1,.36,1);
  transition-delay: var(--rds-scroll-delay,0ms);
 }

 [data-scroll-reveal="crop"][data-scroll-state="shown"] {clip-path:inset(0)}
 [data-scroll-stagger="1"] {--rds-scroll-delay:65ms}
 [data-scroll-stagger="2"] {--rds-scroll-delay:130ms}

 [data-scroll-state]:is(:target,:focus-within) {
  opacity:1;
  transform:none;
  clip-path:none;
  transition:none;
 }

 [data-scroll-depth-active] {overflow:hidden}
 [data-scroll-depth-active]>img {
  transform:translate3d(0,var(--rds-depth-shift,0px),0) scale(1.08);
  transform-origin:center;
 }

 /* Keep the card still: only the picture grows inside its crop. */
 .catalog-image img {
  transform-origin:var(--rds-zoom-x,50%) var(--rds-zoom-y,50%);
  transition:transform .48s cubic-bezier(.18,.75,.25,1);
 }
 .catalog-card:focus-within .catalog-image img {transform:scale(1.09)}
 .button > [aria-hidden],.nav-project > [aria-hidden],.gallery-item > [aria-hidden] {
  transition:transform .25s cubic-bezier(.22,1,.36,1);
 }
 .button:focus-visible > [aria-hidden],.nav-project:focus-visible > [aria-hidden] {
  transform:translateX(3px);
 }
 @media (hover:hover) and (pointer:fine) {
  .catalog-card:hover .catalog-image img {transform:scale(1.09)}
  .button:hover > [aria-hidden],.nav-project:hover > [aria-hidden] {transform:translateX(3px)}
  .gallery-item:hover > [aria-hidden] {transform:translate3d(2px,-2px,0)}
 }
 .traiteurs-profile {
  animation:rds-result-in .36s cubic-bezier(.22,1,.36,1) both;
 }
 .traiteurs-profile:nth-child(2) {animation-delay:55ms}
 @keyframes rds-result-in {
  from {opacity:.55;transform:translateY(10px)}
  to {opacity:1;transform:translateY(0)}
 }

 @media (max-width:640px) {
  [data-scroll-state="pending"],
  [data-scroll-reveal="left"][data-scroll-state="pending"],
  [data-scroll-reveal="right"][data-scroll-state="pending"] {transform:translate3d(0,14px,0)}
  [data-scroll-reveal="crop"][data-scroll-state="pending"] {
   transform:translate3d(0,8px,0);
   clip-path:inset(6% 0 10% 0);
  }
 }
}
