
/* =================================================
LENIS
================================================= */

html.lenis,
html.lenis body{
  height:auto;
}

.lenis.lenis-smooth{
  scroll-behavior:auto !important;
}

.lenis.lenis-smooth [data-lenis-prevent]{
  overscroll-behavior:contain;
}

/* =================================================
FX BASE
================================================= */

.fx-reveal,
.fx-blur,
.fx-rotate,
.fx-scale,
.fx-slide,
.fx-typewriter,
.fx-fade,
.fx-zoom-out,
.fx-zoom-in,
.fx-swing,
.fx-flip,
.fx-wave,
.fx-bounce,
.fx-skew,
.fx-stretch,
.fx-cinematic{
  overflow:hidden;
  position:relative;
  will-change:transform, opacity, filter;
  display:block;
}

/* =================================================
SPLIT
================================================= */

.split-parent{
  overflow:hidden;
}

.word,
.char{
  display:inline-block;
  position:relative;
  will-change:transform, opacity, filter;
  transform:translateZ(0);
  backface-visibility:hidden;
  transform-style:preserve-3d;
}

.word{ white-space:nowrap; }
.char{ line-height:1em; }

/* =================================================
ELEMENTOR FIX
================================================= */

.elementor-heading-title{
  overflow:visible !important;
  text-wrap:balance;
}


/* =========================================================
GLOBAL RESET (IMPORTANT POUR ELEMENTOR + GSAP)
========================================================= */

html,
body{
  overflow-x:hidden;
}

/* IMPORTANT : on neutralise les animations Elementor sur les éléments GSAP */
.fx-reveal,
.fx-blur,
.fx-rotate,
.fx-scale,
.fx-slide,
.fx-typewriter,
.fx-fade,
.fx-zoom-out,
.fx-zoom-in,
.fx-swing,
.fx-flip,
.fx-wave,
.fx-bounce,
.fx-skew,
.fx-stretch,
.fx-cinematic,
.img-reveal,
.img-zoom,
.img-blur,
.img-rotate,
.img-parallax{
  transform:none;
  animation:none !important;
  transition:none !important;
}

/* =========================================================
ELEMENTOR SAFETY
========================================================= */

.elementor-section,
.elementor-container,
.elementor-column,
.elementor-widget,
.elementor-widget-container,
.elementor-heading-title{
  overflow:visible !important;
}

/* =========================================================
TEXT FX BASE
========================================================= */

.fx-reveal,
.fx-blur,
.fx-rotate,
.fx-scale,
.fx-slide,
.fx-typewriter,
.fx-fade,
.fx-zoom-out,
.fx-zoom-in,
.fx-swing,
.fx-flip,
.fx-wave,
.fx-bounce,
.fx-skew,
.fx-stretch,
.fx-cinematic{
  display:block;
  position:relative;
  overflow:visible;
  line-height:1.2;
}

/* =========================================================
SPLIT SYSTEM
========================================================= */

.char,
.word,
.line{
  display:inline-block;
  position:relative;
  will-change:transform, opacity, filter;
  backface-visibility:hidden;
  transform:translateZ(0);
}

/* =========================================================
WORD FIX
========================================================= */

.word{
  white-space:nowrap;
}

/* =========================================================
3D FIX
========================================================= */

.fx-rotate,
.fx-flip{
  perspective:1000px;
}

.fx-rotate .char,
.fx-flip .char{
  transform-style:preserve-3d;
}

/* =========================================================
IMAGES
========================================================= */

.img-reveal,
.img-zoom,
.img-blur,
.img-rotate,
.img-parallax{
  overflow:hidden;
  position:relative;
}











