@font-face {
    font-family: 'Montserrat';
    src: url('/assets/fonts/Montserrat/Montserrat-VariableFont_wght.ttf') format('truetype');
    font-weight: 100 900; /* Montserrat Variable couvre plusieurs poids */
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Montserrat';
    src: url('/assets/fonts/Montserrat/Montserrat-Italic-VariableFont_wght.ttf') format('truetype');
    font-weight: 100 900;
    font-style: italic;
    font-display: swap;
}

/* Preloader Styles */
#preloader {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #000;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
  transition: opacity 0.5s ease-out;
}

#preloader.hidden {
  opacity: 0;
  pointer-events: none;
}

/* Title */
.title {
  font-family: "Montserrat", serif;
  font-optical-sizing: auto;
  font-style: normal;
}

.content {
  font-family: "Montserrat", serif;
  font-optical-sizing: auto;
  font-style: normal;
}


/* Animations */

.animate-title {
    display: flex;
    font-family: "Montserrat", serif;
    gap: 0.1em; /* Espacement entre les lettres */
    overflow: hidden; /* Masque tout ce qui dépasse */
    line-height: 1; /* Pour éviter de trop grands espaces verticaux */
    justify-content: center; /* Centrage horizontal */
}

.animate-title span {
display: inline-block;
transform: translateY(1em); /* Position plus basse pour éviter les débordements */
transition: transform 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); /* Accélération puis ralentissement */
}

.animate-title .space {
width: 0.5em; /* Largeur fixe pour les espaces */
display: inline-block;
transform: none; /* Pas d'animation pour les espaces */
}

.text-reveal {
opacity: 0;
transform: translateY(20px);
transition: opacity 0.5s ease, transform 0.5s ease;
}

.text-reveal.visible {
opacity: 1;
transform: translateY(0);
}

.word-reveal[data-direction="up"] {
    transform: translateY(20px);
}

.word-reveal[data-direction="down"] {
    transform: translateY(-20px);
}

.word-reveal[data-direction="left"] {
    transform: translateX(20px);
}

.word-reveal[data-direction="right"] {
    transform: translateX(-20px);
}
.word-reveal {
    opacity: 0;
    transform: translate(0, 0);
    transition: opacity 1s ease-out, transform 1s ease-out;
    position: relative;
}
.word-reveal.visible {
    opacity: 1;
}
.eza-zoom-container {
    overflow: hidden;
    border-radius: 10px;
    transform: scale(1); /* Commence à 100% */
    transition: transform 1.5s cubic-bezier(0.25, 0.8, 0.25, 1); /* Animation fluide */
    transform-origin: center center; /* Centrage de l'animation */
}
.eza-zoom-image {
    transform: scale(1.8); /* L'image commence à 180% */
    transition: transform 1.5s cubic-bezier(0.25, 0.8, 0.25, 1); /* Même animation fluide */
    object-fit: cover;
    width: 100%;
    height: 100%;
    visibility: hidden; /* L'image est invisible au départ */
    transform-origin: center center; /* Centrage de l'animation */
}
.eza-zoom-image.visible {
    visibility: visible;
}

/* Menu */
.menu-link {
position: relative;
display: inline-block;
color: inherit;
text-decoration: none;
overflow: hidden;
}

.menu-link::after {
content: '';
position: absolute;
left: 0;
bottom: 0;
width: 0;
height: 2px;
background-color: currentColor;
transition: width 0.3s ease-in-out;
}

.menu-link:hover::after {
width: 100%;
}



