@charset "UTF-8";

/* =========================================================
   ANIMATIONS AU DÉFILEMENT (js/reveal.js)
   L'état « caché » ne s'applique que si JS tourne (html.vsc-anim),
   donc sans JS tout le contenu reste visible.
   ========================================================= */
.vsc-anim .reveal,
.vsc-anim .reveal-left,
.vsc-anim .reveal-right {
  opacity: 0;
  transition: opacity 0.9s cubic-bezier(0.22, 0.61, 0.36, 1), transform 0.9s cubic-bezier(0.22, 0.61, 0.36, 1);
  transition-delay: var(--reveal-delay, 0s);
  will-change: opacity, transform;
}

.vsc-anim .reveal {
  transform: translateY(calc(30vw / 19.2));
}

.vsc-anim .reveal-left {
  transform: translateX(calc(-60vw / 19.2));
}

.vsc-anim .reveal-right {
  transform: translateX(calc(60vw / 19.2));
}

.vsc-anim .reveal.is-visible,
.vsc-anim .reveal-left.is-visible,
.vsc-anim .reveal-right.is-visible {
  opacity: 1;
  transform: none;
}

.vsc-anim .reveal-image {
  overflow: hidden;
  clip-path: inset(100% 0 0 0 round calc(20vw / 19.2));
  transition: clip-path 1.2s cubic-bezier(0.22, 0.61, 0.36, 1);
  transition-delay: var(--reveal-delay, 0s);
}

.vsc-anim .reveal-image img,
.vsc-anim .reveal-image .vce-asset-background-simple-item {
  transform: scale(1.12);
  transition: transform 1.6s cubic-bezier(0.22, 0.61, 0.36, 1);
  transition-delay: var(--reveal-delay, 0s);
}

.vsc-anim .reveal-image.is-visible {
  clip-path: inset(0 0 0 0 round calc(20vw / 19.2));
}

.vsc-anim .reveal-image.is-visible img,
.vsc-anim .reveal-image.is-visible .vce-asset-background-simple-item {
  transform: scale(1);
}

.vsc-anim .reveal-line {
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 1s cubic-bezier(0.22, 0.61, 0.36, 1);
  transition-delay: var(--reveal-delay, 0s);
}

.vsc-anim .reveal-line.is-visible {
  transform: scaleX(1);
}

.vsc-anim .delay-1 {
  --reveal-delay: 0.15s;
}

.vsc-anim .delay-2 {
  --reveal-delay: 0.3s;
}

.vsc-anim .delay-3 {
  --reveal-delay: 0.45s;
}

.vsc-anim .delay-4 {
  --reveal-delay: 0.6s;
}

.vsc-anim .delay-5 {
  --reveal-delay: 0.75s;
}

.vsc-anim .delay-6 {
  --reveal-delay: 0.9s;
}

@media (max-width: 767px) {
  .vsc-anim .reveal {
    transform: translateY(20px);
  }
  .vsc-anim .reveal-left {
    transform: translateX(-30px);
  }
  .vsc-anim .reveal-right {
    transform: translateX(30px);
  }
}

.count-up {
  font-variant-numeric: tabular-nums;
}

@media (prefers-reduced-motion: reduce) {
  .vsc-anim .reveal,
.vsc-anim .reveal-left,
.vsc-anim .reveal-right,
.vsc-anim .reveal-image,
.vsc-anim .reveal-line {
    opacity: 1 !important;
    transform: none !important;
    clip-path: none !important;
    transition: none !important;
  }
  .vsc-anim .rw-word { opacity: 1 !important; }
  .vsc-anim .parallax { transform: none !important; }
}

/* ---------- Texte qui s'allume mot par mot (reveal-words) ---------- */
.vsc-anim .rw-word {
  opacity: calc(0.18 + 0.82 * var(--rw, 0));
  transition: opacity 0.2s linear;
}

/* ---------- Parallaxe douce (ne pas combiner avec reveal sur le même élément) ---------- */
.vsc-anim .parallax {
  transform: translate3d(0, var(--parallax-y, 0px), 0);
  will-change: transform;
}
/*# sourceMappingURL=../css/animations.css.map */
