/* =========================================================
   Animations SOUS-MENUS
   ========================================================= */
   @media screen and (min-width: 1279px) {

  .nav-menu .dropdown.w-dropdown {
    position: relative;
  }

  .nav-menu .dropdown .w-dropdown-toggle {
    display: flex;
    align-items: center;
    gap: 0.45rem;
  }

  /* Flèche */
  .nav-menu .dropdown .icon-2.w-icon-dropdown-toggle {
    transition: transform 0.28s ease;
    transform-origin: center;
  }

  .nav-menu .dropdown.w-dropdown.is-open .icon-2.w-icon-dropdown-toggle,
  .nav-menu .dropdown.w-dropdown:focus-within .icon-2.w-icon-dropdown-toggle {
    transform: rotate(180deg);
  }

  /* Sous-menu : animation uniquement, sans changer le style */
  .nav-menu .dropdown .dropdown-list-2.w-dropdown-list {
    display: block !important;
    position: absolute;
    top: calc(100% + 12px);
    left: 0;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(-14px) scale(0.98);
    transform-origin: top center;
    transition:
      opacity 0.28s ease,
      transform 0.32s ease,
      visibility 0s linear 0.32s;
    will-change: opacity, transform;
    z-index: 200;
  }

  /* zone tampon */
  .nav-menu .dropdown.w-dropdown::after {
    content: "";
    position: absolute;
    left: 0;
    top: 100%;
    width: 100%;
    height: 16px;
  }

  .nav-menu .dropdown.w-dropdown.is-open .dropdown-list-2.w-dropdown-list,
  .nav-menu .dropdown.w-dropdown:focus-within .dropdown-list-2.w-dropdown-list {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0) scale(1);
    transition:
      opacity 0.28s ease,
      transform 0.32s ease,
      visibility 0s linear 0s;
  }

  /* items */
  .nav-menu .dropdown .dropdown-list-2.w-dropdown-list .link-block.drop {
    opacity: 0;
    transform: translateY(-8px);
    transition:
      opacity 0.34s ease,
      transform 0.34s ease;
  }

  .nav-menu .dropdown.w-dropdown.is-open .dropdown-list-2.w-dropdown-list .link-block.drop,
  .nav-menu .dropdown.w-dropdown:focus-within .dropdown-list-2.w-dropdown-list .link-block.drop {
    opacity: 1;
    transform: translateY(0);
  }

  .nav-menu .dropdown .dropdown-list-2.w-dropdown-list .link-block.drop:nth-child(1) { transition-delay: 0.03s; }
  .nav-menu .dropdown .dropdown-list-2.w-dropdown-list .link-block.drop:nth-child(2) { transition-delay: 0.07s; }
  .nav-menu .dropdown .dropdown-list-2.w-dropdown-list .link-block.drop:nth-child(3) { transition-delay: 0.11s; }
  .nav-menu .dropdown .dropdown-list-2.w-dropdown-list .link-block.drop:nth-child(4) { transition-delay: 0.15s; }
  .nav-menu .dropdown .dropdown-list-2.w-dropdown-list .link-block.drop:nth-child(5) { transition-delay: 0.19s; }
  .nav-menu .dropdown .dropdown-list-2.w-dropdown-list .link-block.drop:nth-child(6) { transition-delay: 0.23s; }
  .nav-menu .dropdown .dropdown-list-2.w-dropdown-list .link-block.drop:nth-child(7) { transition-delay: 0.27s; }
  .nav-menu .dropdown .dropdown-list-2.w-dropdown-list .link-block.drop:nth-child(8) { transition-delay: 0.31s; }

  /* image légère anim */
  .nav-menu .dropdown .dropdown-list-2.w-dropdown-list .image-square {
    transition: transform 0.3s ease;
  }

  .nav-menu .dropdown .dropdown-list-2.w-dropdown-list .link-block.drop:hover .image-square {
    transform: scale(1.03);
  }
}

/* =========================================================
   Animations Pages d'Accueil
   ========================================================= */

.item-format {
  opacity: 0;
  transform: translateX(-18px) translateY(12px);
  transition:
    opacity 0.8s ease,
    transform 0.8s ease;
  will-change: opacity, transform;
}

.item-format.is-visible {
  opacity: 1;
  transform: translateX(0);
}

/* Optionnel : respecte les préférences d’accessibilité */
@media (prefers-reduced-motion: reduce) {
  .item-format,
  .item-format.is-visible {
    opacity: 1;
    transform: none;
    transition: none;
  }
}



/* État initial */
.slide-espace .wrapper-content-slider-espace,
.slide-espace .capacite-format,
.slide-espace .title-h3,
.slide-espace [subfield="text"],
.slide-espace .cat-espace,
.slide-espace .button {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity 0.7s ease, transform 0.9s ease;
  will-change: opacity, transform;
}

.slide-espace.is-visible .wrapper-content-slider-espace,
.slide-espace.is-visible .capacite-format,
.slide-espace.is-visible .title-h3,
.slide-espace.is-visible [subfield="text"],
.slide-espace.is-visible .cat-espace,
.slide-espace.is-visible .button {
  opacity: 1;
  transform: translateY(0);
}

.slide-espace.is-visible .capacite-format { transition-delay: 0.08s; }
.slide-espace.is-visible .title-h3 { transition-delay: 0.18s; }
.slide-espace.is-visible [subfield="text"] { transition-delay: 0.28s; }
.slide-espace.is-visible .cat-espace:nth-child(1) { transition-delay: 0.38s; }
.slide-espace.is-visible .cat-espace:nth-child(2) { transition-delay: 0.46s; }
.slide-espace.is-visible .cat-espace:nth-child(3) { transition-delay: 0.54s; }
.slide-espace.is-visible .button { transition-delay: 0.66s; }

@media (prefers-reduced-motion: reduce) {
  .slide-espace .wrapper-content-slider-espace,
  .slide-espace .capacite-format,
  .slide-espace .title-h3,
  .slide-espace [subfield="text"],
  .slide-espace .cat-espace,
  .slide-espace .button {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}
.slide-espace {
  position: relative;
  overflow: hidden;
}

.slide-espace-visual {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.slide-espace-visual .slice {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-image: inherit;
  opacity: 0;
  transform: scale(1.06) translateY(20px);
  transition:
    opacity 0.8s ease,
    transform 1.2s cubic-bezier(0.22, 1, 0.36, 1);
}

.slide-espace-visual .slice-1 {
  clip-path: polygon(0 0, 34% 0, 22% 100%, 0 100%);
}

.slide-espace-visual .slice-2 {
  clip-path: polygon(28% 0, 68% 0, 56% 100%, 16% 100%);
}

.slide-espace-visual .slice-3 {
  clip-path: polygon(62% 0, 100% 0, 100% 100%, 50% 100%);
}

.slide-espace.slide-in-view .slice-1 {
  opacity: 1;
  transform: scale(1) translateY(0);
  transition-delay: 0.05s;
}

.slide-espace.slide-in-view .slice-2 {
  opacity: 1;
  transform: scale(1) translateY(0);
  transition-delay: 0.18s;
}

.slide-espace.slide-in-view .slice-3 {
  opacity: 1;
  transform: scale(1) translateY(0);
  transition-delay: 0.32s;
}

.slide-espace-visual::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.10);
  pointer-events: none;
}

.slide-espace-visual .slice::after {
  content: "";
  position: absolute;
  inset: 0;
  border-left: 1px solid rgba(255,255,255,0.08);
  border-right: 1px solid rgba(255,255,255,0.08);
  pointer-events: none;
}

.wrapper-content-slider-espace {
  position: relative;
  z-index: 2;
  opacity: 0;
  transform: translateY(18px);
  transition: opacity 0.7s ease, transform 0.9s ease;
}

.slide-espace.slide-in-view .wrapper-content-slider-espace {
  opacity: 1;
  transform: translateY(0);
  transition-delay: 0.12s;
}

.slide-espace .capacite-format,
.slide-espace .title-h3,
.slide-espace [subfield="text"],
.slide-espace .cat-espace,
.slide-espace .button {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity 0.7s ease, transform 0.9s ease;
}

.slide-espace.slide-in-view .capacite-format {
  opacity: 1;
  transform: translateY(0);
  transition-delay: 0.18s;
}

.slide-espace.slide-in-view .title-h3 {
  opacity: 1;
  transform: translateY(0);
  transition-delay: 0.28s;
}

.slide-espace.slide-in-view [subfield="text"] {
  opacity: 1;
  transform: translateY(0);
  transition-delay: 0.38s;
}

.slide-espace.slide-in-view .cat-espace:nth-child(1) {
  opacity: 1;
  transform: translateY(0);
  transition-delay: 0.48s;
}

.slide-espace.slide-in-view .cat-espace:nth-child(2) {
  opacity: 1;
  transform: translateY(0);
  transition-delay: 0.56s;
}

.slide-espace.slide-in-view .cat-espace:nth-child(3) {
  opacity: 1;
  transform: translateY(0);
  transition-delay: 0.64s;
}

.slide-espace.slide-in-view .button {
  opacity: 1;
  transform: translateY(0);
  transition-delay: 0.74s;
}

.logo-diagora-build path {
  fill: #333333;
  fill-opacity: 0;
  stroke: #333333;
  stroke-width: 1.35;
  stroke-linecap: round;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
  clip-path: inset(0 100% 0 0);
  will-change: stroke-dashoffset, fill-opacity, clip-path;
}

.logo-diagora-build.is-animated path {
  animation:
    diagora-fill 0.45s ease forwards;
}

.logo-diagora-build.is-animated path:nth-child(1) {
  animation-delay: 0.55s;
}
.logo-diagora-build.is-animated path:nth-child(2) {
  animation-delay: 0.80s;
}
.logo-diagora-build.is-animated path:nth-child(3) {
  animation-delay: 1.05s;
}
.logo-diagora-build.is-animated path:nth-child(4) {
  animation-delay: 1.30s;
}
.logo-diagora-build.is-animated path:nth-child(5) {
  animation-delay: 1.55s;
}
.logo-diagora-build.is-animated path:nth-child(6) {
  animation-delay: 1.80s;
}
.logo-diagora-build.is-animated path:nth-child(7) {
  animation-delay: 2.05s;
}

@keyframes diagora-fill {
  from {
    fill: transparent;
  }
  to {
    fill: #333333;
  }
}

/* =========================================================
   Spectacle HOMEPAGE
========================================================= */

.section-events .title-h1 .word {
  display: inline-block;
  white-space: nowrap;
  margin-right: 0.22em;
}

.section-events .title-h1 .word:last-child {
  margin-right: 0;
}

.section-events .title-h1 .char {
  display: inline-block;
  opacity: 0;
  transform: translateY(22px);
  transition:
    transform 0.7s cubic-bezier(0.22, 1, 0.36, 1),
    opacity 0.7s ease;
  will-change: transform, opacity;
}

.section-events .item-event {
  opacity: 0;
  transform: translateY(28px);
  transition:
    transform 0.75s cubic-bezier(0.22, 1, 0.36, 1),
    opacity 0.75s ease;
  will-change: transform, opacity;
}

.section-events.is-visible .title-h1 .char,
.section-events.is-visible .item-event {
  opacity: 1;
  transform: translateY(0);
}

/* =========================================================
   Animation HOVER item Format HOMEPAGE
========================================================= */

.link-item-format .image-item-format,
.link-item-format .overlay-item,
.link-item-format .button-item,
.link-item-format .button-item svg,
.link-item-format .capacite-format,
.link-item-format .title-h3,
.link-item-format .wrapper-content-item > div:last-child {
  will-change: transform, opacity;
}

/* image */
.link-item-format .image-item-format {
  transition: transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
}

/* overlay */
.link-item-format .overlay-item {
  transition: opacity 0.45s ease;
}

/* bouton rond */
.link-item-format .button-item {
  transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}

/* svg + */
.link-item-format .button-item svg {
  transition: transform 0.55s cubic-bezier(0.22, 1, 0.36, 1);
  transform-origin: center;
}

/* badge capacité */
.link-item-format .capacite-format {
  transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.35s ease;
}

/* titre */
.link-item-format .title-h3 {
  transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}

/* texte */
.link-item-format .wrapper-content-item > div:last-child {
  transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.35s ease;
}

/* HOVER */
.link-item-format:hover .image-item-format,
.link-item-format:focus-visible .image-item-format {
  transform: scale(1.06);
}

.link-item-format:hover .overlay-item,
.link-item-format:focus-visible .overlay-item {
  opacity: 1;
}

.link-item-format:hover .button-item,
.link-item-format:focus-visible .button-item {
  transform: translateY(-4px) scale(1.04);
}

.link-item-format:hover .button-item svg,
.link-item-format:focus-visible .button-item svg {
  transform: rotate(180deg);
}

.link-item-format:hover .capacite-format,
.link-item-format:focus-visible .capacite-format {
  transform: translateY(-3px);
}

.link-item-format:hover .title-h3,
.link-item-format:focus-visible .title-h3 {
  transform: translateY(2px);
}

.link-item-format:hover .wrapper-content-item > div:last-child,
.link-item-format:focus-visible .wrapper-content-item > div:last-child {
  transform: translateY(4px);
}

/* =========================================================
   Animation CTA ARROW
========================================================= */
.button-cta-anim {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  overflow: hidden;
}

.button-cta-anim__text-wrap {
  position: relative;
  display: inline-flex;
  overflow: hidden;
  line-height: 1.2;
  height: 1.2em;
}

.button-cta-anim__text {
  display: inline-block;
  white-space: nowrap;
  transition: transform 0.35s ease;
}

.button-cta-anim__text--current {
  position: relative;
  transform: translateY(0%);
}

.button-cta-anim__text--hover {
  position: absolute;
  left: 0;
  top: 0;
  transform: translateY(110%);
}

.button-cta-anim:hover .button-cta-anim__text--current,
.button-cta-anim:focus-visible .button-cta-anim__text--current {
  transform: translateY(-110%);
}

.button-cta-anim:hover .button-cta-anim__text--hover,
.button-cta-anim:focus-visible .button-cta-anim__text--hover {
  transform: translateY(0%);
}

.button-cta-anim__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.35s ease;
}

.button-cta-anim:hover .button-cta-anim__icon,
.button-cta-anim:focus-visible .button-cta-anim__icon {
  transform: translateX(4px);
}

/* =========================================================
   Animation titres hero
   Cible uniquement : .section-hero h1.title-h1
========================================================= */

.section-hero h1.title-h1 {
  overflow: visible;
}

.section-hero h1.title-h1 .hero-title-reveal {
  display: inline-block;
  opacity: 1;
  clip-path: inset(0 100% 0 0);
  -webkit-clip-path: inset(0 100% 0 0);
  will-change: clip-path, opacity;
}

.section-hero h1.title-h1 .hero-title-word {
  display: inline-block;
  white-space: nowrap;
  margin-right: 0.22em;
}

.section-hero h1.title-h1 .hero-title-word:last-child {
  margin-right: 0;
}

.section-hero h1.title-h1 .hero-title-char {
  display: inline-block;
  opacity: 0;
  filter: blur(10px);
  transform: translateX(-6px);
  will-change: opacity, filter, transform;
}



/* =========================================================
   Animations template Types d'événements
   ========================================================= */

/* Base */
.section-hero,
.section-presentation-evenement,
.section-accompagnement,
.section-espaces,
.section-avis,
.section-contact {
  overflow: hidden;
}

/* Hero */
.section-hero .overlay {
  opacity: 0;
  transition: opacity 0.9s ease;
}

.section-hero.is-visible .overlay {
  opacity: 1;
}

.section-hero .wrapper-content-banner-other > div,
.section-hero .wrapper-content-banner-other .button {
  opacity: 0;
  transform: translateY(18px);
  filter: blur(6px);
  transition:
    opacity 0.7s ease,
    transform 0.8s ease,
    filter 0.8s ease;
  will-change: opacity, transform, filter;
}

.section-hero.is-visible .wrapper-content-banner-other > div,
.section-hero.is-visible .wrapper-content-banner-other .button {
  opacity: 1;
  transform: translateY(0);
  filter: blur(0);
}

.section-hero.is-visible .wrapper-content-banner-other > div:nth-child(3) {
  transition-delay: 0.25s;
}

.section-hero.is-visible .wrapper-content-banner-other .button {
  transition-delay: 0.4s;
}

/* Titre hero déjà préparé en JS */
.section-hero h1.title-h1 {
  overflow: visible;
}

.section-hero h1.title-h1 .hero-title-reveal {
  display: inline-block;
  opacity: 1;
  clip-path: inset(0 100% 0 0);
  -webkit-clip-path: inset(0 100% 0 0);
  will-change: clip-path, opacity;
}

.section-hero h1.title-h1 .hero-title-word {
  display: inline-block;
  white-space: nowrap;
  margin-right: 0.22em;
}

.section-hero h1.title-h1 .hero-title-word:last-child {
  margin-right: 0;
}

.section-hero h1.title-h1 .hero-title-char {
  display: inline-block;
  opacity: 0;
  filter: blur(10px);
  transform: translateX(-6px);
  will-change: opacity, filter, transform;
}

/* Présentation */
.section-presentation-evenement .col-1-presentation-evenement {
  opacity: 0;
  transform: translateX(-28px);
  filter: blur(6px);
  transition:
    opacity 0.8s ease,
    transform 0.9s ease,
    filter 0.9s ease;
}

.section-presentation-evenement .col-2-presentation-evenement-copy {
  opacity: 0;
  transform: translateX(36px);
  transition:
    opacity 0.8s ease,
    transform 1s cubic-bezier(0.22, 1, 0.36, 1);
}

.section-presentation-evenement .wrapper-image-col {
  clip-path: inset(0 0 0 100%);
  -webkit-clip-path: inset(0 0 0 100%);
  transition:
    clip-path 1s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-clip-path 1s cubic-bezier(0.22, 1, 0.36, 1);
}

.section-presentation-evenement.is-visible .col-1-presentation-evenement,
.section-presentation-evenement.is-visible .col-2-presentation-evenement-copy {
  opacity: 1;
  transform: translateX(0);
  filter: blur(0);
}

.section-presentation-evenement.is-visible .wrapper-image-col {
  clip-path: inset(0 0 0 0);
  -webkit-clip-path: inset(0 0 0 0);
  transition-delay: 0.15s;
}

/* Bloc accompagnement */
.section-accompagnement .wrapper-accompagnement {
  opacity: 0;
  transform: translateY(30px) scale(0.98);
  transition:
    opacity 0.8s ease,
    transform 1s cubic-bezier(0.22, 1, 0.36, 1);
}

.section-accompagnement .item-accompagnement {
  opacity: 0;
  transform: translateY(18px);
  transition:
    opacity 0.7s ease,
    transform 0.8s ease;
}

.section-accompagnement.is-visible .wrapper-accompagnement {
  opacity: 1;
  transform: translateY(0) scale(1);
}

.section-accompagnement.is-visible .item-accompagnement {
  opacity: 1;
  transform: translateY(0);
}

/* Espaces */
.section-espaces .title-h2,
.section-espaces .w50,
.section-espaces .slider {
  opacity: 0;
  transform: translateY(22px);
  transition:
    opacity 0.7s ease,
    transform 0.8s ease;
}

.section-espaces.is-visible .title-h2,
.section-espaces.is-visible .w50,
.section-espaces.is-visible .slider {
  opacity: 1;
  transform: translateY(0);
}

.section-espaces.is-visible .w50 {
  transition-delay: 0.12s;
}

.section-espaces.is-visible .slider {
  transition-delay: 0.26s;
}

/* Avis clients */
.section-avis .subtitle,
.section-avis .title-h2,
.section-avis .item-avis {
  opacity: 0;
  transform: translateY(22px);
  transition:
    opacity 0.7s ease,
    transform 0.8s ease;
}

.section-avis.is-visible .subtitle,
.section-avis.is-visible .title-h2,
.section-avis.is-visible .item-avis {
  opacity: 1;
  transform: translateY(0);
}

.section-avis.is-visible .title-h2 {
  transition-delay: 0.12s;
}

/* Contact */
.section-contact .col-1-contact {
  opacity: 0;
  transform: translateX(-28px);
  filter: blur(6px);
  transition:
    opacity 0.8s ease,
    transform 0.9s ease,
    filter 0.9s ease;
}

.section-contact .wrapper-form {
  opacity: 0;
  transform: translateY(28px) scale(0.98);
  transition:
    opacity 0.8s ease,
    transform 1s cubic-bezier(0.22, 1, 0.36, 1);
}

.section-contact.is-visible .col-1-contact,
.section-contact.is-visible .wrapper-form {
  opacity: 1;
  transform: translate(0) scale(1);
  filter: blur(0);
}

.section-contact.is-visible .wrapper-form {
  transition-delay: 0.15s;
}

/* Accessibilité */
@media (prefers-reduced-motion: reduce) {
  .section-hero .overlay,
  .section-hero .wrapper-content-banner-other > div,
  .section-hero .wrapper-content-banner-other .button,
  .section-hero h1.title-h1 .hero-title-reveal,
  .section-hero h1.title-h1 .hero-title-char,
  .section-presentation-evenement .col-1-presentation-evenement,
  .section-presentation-evenement .col-2-presentation-evenement-copy,
  .section-presentation-evenement .wrapper-image-col,
  .section-accompagnement .wrapper-accompagnement,
  .section-accompagnement .item-accompagnement,
  .section-espaces .title-h2,
  .section-espaces .w50,
  .section-espaces .slider,
  .section-avis .subtitle,
  .section-avis .title-h2,
  .section-avis .item-avis,
  .section-contact .col-1-contact,
  .section-contact .wrapper-form {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
    clip-path: none !important;
    -webkit-clip-path: none !important;
    transition: none !important;
  }
}

/* =========================================================
   Animations single espace
   Cibles non encore animées :
   - .section-config
   - .section-caracteristiques
   ========================================================= */

/* Sections */
.section-config,
.section-caracteristiques {
  overflow: hidden;
}

/* =========================================================
   Section configurations
========================================================= */

.section-config .subtitle,
.section-config .title-h2,
.section-config .w50,
.section-config .wrapper-config,
.section-config > .container > .button {
  opacity: 0;
  transform: translateY(22px);
  transition:
    opacity 0.7s ease,
    transform 0.8s ease;
  will-change: opacity, transform;
}

.section-config.is-visible .subtitle,
.section-config.is-visible .title-h2,
.section-config.is-visible .w50,
.section-config.is-visible .wrapper-config,
.section-config.is-visible > .container > .button {
  opacity: 1;
  transform: translateY(0);
}

.section-config.is-visible .title-h2 {
  transition-delay: 0.10s;
}

.section-config.is-visible .w50 {
  transition-delay: 0.18s;
}

.section-config.is-visible .wrapper-config {
  transition-delay: 0.28s;
}

.section-config.is-visible > .container > .button {
  transition-delay: 0.42s;
}

/* Cartes configuration */
.section-config .item-configuration {
  opacity: 0;
  transform: translateY(24px) scale(0.98);
  transition:
    opacity 0.7s ease,
    transform 0.9s cubic-bezier(0.22, 1, 0.36, 1);
  will-change: opacity, transform;
}

.section-config.is-visible .item-configuration {
  opacity: 1;
  transform: translateY(0) scale(1);
}

/* Image des cartes */
.section-config .item-configuration .wrapper-image-item {
  overflow: hidden;
}

.section-config .item-configuration .image-item-format {
  transform: scale(1.08);
  transition:
    transform 1.2s cubic-bezier(0.22, 1, 0.36, 1);
  will-change: transform;
}

.section-config.is-visible .item-configuration .image-item-format {
  transform: scale(1);
}

/* =========================================================
   Section caractéristiques / équipements
========================================================= */

.section-caracteristiques .wrapper-caracteristiques {
  opacity: 0;
  transform: translateX(-26px);
  filter: blur(6px);
  transition:
    opacity 0.8s ease,
    transform 0.9s ease,
    filter 0.9s ease;
  will-change: opacity, transform, filter;
}

.section-caracteristiques.is-visible .wrapper-caracteristiques {
  opacity: 1;
  transform: translateX(0);
  filter: blur(0);
}

.section-caracteristiques .wrapper-caracteristiques:nth-child(2) {
  transition-delay: 0.18s;
}

/* Points de liste */
.section-caracteristiques .item-caracteristique {
  opacity: 0;
  transform: translateX(-14px);
  transition:
    opacity 0.55s ease,
    transform 0.65s ease;
  will-change: opacity, transform;
}

.section-caracteristiques.is-visible .item-caracteristique {
  opacity: 1;
  transform: translateX(0);
}

/* Images à droite */
.section-caracteristiques .wrapper-images-caracteristiques img {
  opacity: 0;
  transform: translateY(24px) scale(0.96);
  transition:
    opacity 0.8s ease,
    transform 1s cubic-bezier(0.22, 1, 0.36, 1);
  will-change: opacity, transform;
}

.section-caracteristiques.is-visible .wrapper-images-caracteristiques img {
  opacity: 1;
  transform: translateY(0) scale(1);
}

.section-caracteristiques.is-visible .wrapper-images-caracteristiques img:nth-child(2) {
  transition-delay: 0.16s;
}

/* Grande image : reveal droite vers gauche */
.section-caracteristiques .wrapper-image-col-2 {
  opacity: 0;
  clip-path: inset(0 0 0 100%);
  -webkit-clip-path: inset(0 0 0 100%);
  transition:
    opacity 0.8s ease,
    clip-path 1s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-clip-path 1s cubic-bezier(0.22, 1, 0.36, 1);
  will-change: opacity, clip-path;
}

.section-caracteristiques.is-visible .wrapper-image-col-2 {
  opacity: 1;
  clip-path: inset(0 0 0 0);
  -webkit-clip-path: inset(0 0 0 0);
  transition-delay: 0.2s;
}

.section-caracteristiques .wrapper-image-col-2 .image-col {
  transform: scale(1.06);
  transition:
    transform 1.2s cubic-bezier(0.22, 1, 0.36, 1);
}

.section-caracteristiques.is-visible .wrapper-image-col-2 .image-col {
  transform: scale(1);
}

/* Accessibilité */
@media (prefers-reduced-motion: reduce) {
  .section-config .subtitle,
  .section-config .title-h2,
  .section-config .w50,
  .section-config .wrapper-config,
  .section-config > .container > .button,
  .section-config .item-configuration,
  .section-config .item-configuration .image-item-format,
  .section-caracteristiques .wrapper-caracteristiques,
  .section-caracteristiques .item-caracteristique,
  .section-caracteristiques .wrapper-images-caracteristiques img,
  .section-caracteristiques .wrapper-image-col-2,
  .section-caracteristiques .wrapper-image-col-2 .image-col {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
    clip-path: none !important;
    -webkit-clip-path: none !important;
    transition: none !important;
  }
}



/* =========================================================
   Animations page Infos pratiques
   ========================================================= */

.section-hero-minimal,
.section-infos-pratiques,
.section-hebergements,
.section-restaurants-partenaires,
.section-projet-2 {
  overflow: hidden;
}

/* =========================================================
   Hero minimal
========================================================= */

.section-hero-minimal .wrapper-content-banner-minimal .title-h1,
.section-hero-minimal .wrapper-content-banner-minimal > div:not(.pt20):not(.pt40) {
  opacity: 0;
  transform: translateY(24px);
  filter: blur(6px);
  transition:
    opacity 0.75s ease,
    transform 0.85s ease,
    filter 0.85s ease;
  will-change: opacity, transform, filter;
}

.section-hero-minimal.is-visible .wrapper-content-banner-minimal .title-h1,
.section-hero-minimal.is-visible .wrapper-content-banner-minimal > div:not(.pt20):not(.pt40) {
  opacity: 1;
  transform: translateY(0);
  filter: blur(0);
}

.section-hero-minimal.is-visible .wrapper-content-banner-minimal > div:not(.pt20):not(.pt40) {
  transition-delay: 0.14s;
}

/* =========================================================
   Bloc venir à Diagora
========================================================= */

.section-infos-pratiques .wrapper-infos-pratiques {
  opacity: 0;
  transform: translateY(30px) scale(0.98);
  transition:
    opacity 0.8s ease,
    transform 1s cubic-bezier(0.22, 1, 0.36, 1);
  will-change: opacity, transform;
}

.section-infos-pratiques.is-visible .wrapper-infos-pratiques {
  opacity: 1;
  transform: translateY(0) scale(1);
}

.section-infos-pratiques .col-1-50 {
  opacity: 0;
  transform: translateX(-26px);
  filter: blur(6px);
  transition:
    opacity 0.75s ease,
    transform 0.85s ease,
    filter 0.85s ease;
}

.section-infos-pratiques .col-2-50 {
  opacity: 0;
  transform: translateX(34px);
  transition:
    opacity 0.75s ease,
    transform 0.95s cubic-bezier(0.22, 1, 0.36, 1);
}

.section-infos-pratiques.is-visible .col-1-50,
.section-infos-pratiques.is-visible .col-2-50 {
  opacity: 1;
  transform: translateX(0);
  filter: blur(0);
}

.section-infos-pratiques.is-visible .col-2-50 {
  transition-delay: 0.18s;
}

/* Accordéons */
.section-infos-pratiques .va-et-vient {
  opacity: 0;
  transform: translateX(-16px);
  transition:
    opacity 0.55s ease,
    transform 0.65s ease;
  will-change: opacity, transform;
}

.section-infos-pratiques.is-visible .va-et-vient {
  opacity: 1;
  transform: translateX(0);
}

/* Map */
.section-infos-pratiques .diagora-google-map-wrap {
  opacity: 0;
  clip-path: inset(0 0 0 100%);
  -webkit-clip-path: inset(0 0 0 100%);
  transition:
    opacity 0.8s ease,
    clip-path 1s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-clip-path 1s cubic-bezier(0.22, 1, 0.36, 1);
  will-change: opacity, clip-path;
}

.section-infos-pratiques.is-visible .diagora-google-map-wrap {
  opacity: 1;
  clip-path: inset(0 0 0 0);
  -webkit-clip-path: inset(0 0 0 0);
  transition-delay: 0.22s;
}

/* =========================================================
   Hébergements
========================================================= */

.section-hebergements .col-1-slider {
  opacity: 0;
  transform: translateX(-28px);
  filter: blur(6px);
  transition:
    opacity 0.8s ease,
    transform 0.9s ease,
    filter 0.9s ease;
}

.section-hebergements .col-2-slider {
  opacity: 0;
  transform: translateX(36px);
  transition:
    opacity 0.8s ease,
    transform 1s cubic-bezier(0.22, 1, 0.36, 1);
}

.section-hebergements.is-visible .col-1-slider,
.section-hebergements.is-visible .col-2-slider {
  opacity: 1;
  transform: translateX(0);
  filter: blur(0);
}

.section-hebergements.is-visible .col-2-slider {
  transition-delay: 0.18s;
}

.section-hebergements .item-event {
  opacity: 0;
  transform: translateY(24px) scale(0.98);
  transition:
    opacity 0.7s ease,
    transform 0.9s cubic-bezier(0.22, 1, 0.36, 1);
  will-change: opacity, transform;
}

.section-hebergements.is-visible .item-event {
  opacity: 1;
  transform: translateY(0) scale(1);
}

.section-hebergements .item-event .wrapper-image-item-event {
  overflow: hidden;
}

.section-hebergements .item-event .image-event {
  transform: scale(1.08);
  transition:
    transform 1.15s cubic-bezier(0.22, 1, 0.36, 1);
}

.section-hebergements.is-visible .item-event .image-event {
  transform: scale(1);
}

/* =========================================================
   Restaurants partenaires
========================================================= */

.section-restaurants-partenaires .col-restaurants-partenaires:first-child {
  opacity: 0;
  transform: translateX(-28px);
  filter: blur(6px);
  transition:
    opacity 0.8s ease,
    transform 0.9s ease,
    filter 0.9s ease;
}

.section-restaurants-partenaires .col-restaurants-partenaires:last-child {
  opacity: 0;
  transform: translateX(34px);
  transition:
    opacity 0.8s ease,
    transform 1s cubic-bezier(0.22, 1, 0.36, 1);
}

.section-restaurants-partenaires.is-visible .col-restaurants-partenaires:first-child,
.section-restaurants-partenaires.is-visible .col-restaurants-partenaires:last-child {
  opacity: 1;
  transform: translateX(0);
  filter: blur(0);
}

.section-restaurants-partenaires.is-visible .col-restaurants-partenaires:last-child {
  transition-delay: 0.18s;
}

.section-restaurants-partenaires .slider-restaurant-partenaires {
  opacity: 0;
  transform: translateY(20px);
  transition:
    opacity 0.75s ease,
    transform 0.85s ease;
}

.section-restaurants-partenaires.is-visible .slider-restaurant-partenaires {
  opacity: 1;
  transform: translateY(0);
  transition-delay: 0.22s;
}

/* =========================================================
   Bloc projet
========================================================= */

.section-projet-2 > .container > div {
  opacity: 0;
  transform: translateY(28px);
  filter: blur(6px);
  transition:
    opacity 0.8s ease,
    transform 0.9s ease,
    filter 0.9s ease;
  will-change: opacity, transform, filter;
}

.section-projet-2.is-visible > .container > div {
  opacity: 1;
  transform: translateY(0);
  filter: blur(0);
}

/* Accessibilité */
@media (prefers-reduced-motion: reduce) {
  .section-hero-minimal .wrapper-content-banner-minimal .title-h1,
  .section-hero-minimal .wrapper-content-banner-minimal > div,
  .section-infos-pratiques .wrapper-infos-pratiques,
  .section-infos-pratiques .col-1-50,
  .section-infos-pratiques .col-2-50,
  .section-infos-pratiques .va-et-vient,
  .section-infos-pratiques .diagora-google-map-wrap,
  .section-hebergements .col-1-slider,
  .section-hebergements .col-2-slider,
  .section-hebergements .item-event,
  .section-hebergements .item-event .image-event,
  .section-restaurants-partenaires .col-restaurants-partenaires,
  .section-restaurants-partenaires .slider-restaurant-partenaires,
  .section-projet-2 > .container > div {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
    clip-path: none !important;
    -webkit-clip-path: none !important;
    transition: none !important;
  }
}


/* =========================================================
   Animations page Le lieu
   Cibles propres à cette page
   ========================================================= */

.section-chiffres,
.section-sur-mesure,
.section-engagements {
  overflow: hidden;
}

/* =========================================================
   Chiffres clés
========================================================= */

.section-chiffres .title-h2,
.section-chiffres .item-chiffres {
  opacity: 0;
  transform: translateY(24px);
  transition:
    opacity 0.7s ease,
    transform 0.8s ease;
  will-change: opacity, transform;
}

.section-chiffres.is-visible .title-h2,
.section-chiffres.is-visible .item-chiffres {
  opacity: 1;
  transform: translateY(0);
}

.section-chiffres .icon-chiffres {
  transform: scale(0.86);
  transition:
    transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
}

.section-chiffres.is-visible .icon-chiffres {
  transform: scale(1);
}

/* =========================================================
   Section équipe / sur mesure
========================================================= */

.section-sur-mesure .col-1-presentation-evenement-copy {
  opacity: 0;
  transform: translateX(-36px);
  transition:
    opacity 0.8s ease,
    transform 1s cubic-bezier(0.22, 1, 0.36, 1);
  will-change: opacity, transform;
}

.section-sur-mesure .col-2-presentation-evenement-copy-copy {
  opacity: 0;
  transform: translateX(28px);
  filter: blur(6px);
  transition:
    opacity 0.8s ease,
    transform 0.9s ease,
    filter 0.9s ease;
  will-change: opacity, transform, filter;
}

.section-sur-mesure.is-visible .col-1-presentation-evenement-copy,
.section-sur-mesure.is-visible .col-2-presentation-evenement-copy-copy {
  opacity: 1;
  transform: translateX(0);
  filter: blur(0);
}

.section-sur-mesure.is-visible .col-2-presentation-evenement-copy-copy {
  transition-delay: 0.18s;
}

/* Image gauche : reveal gauche vers droite */
.section-sur-mesure .wrapper-image-col-left {
  opacity: 0;
  clip-path: inset(0 100% 0 0);
  -webkit-clip-path: inset(0 100% 0 0);
  transition:
    opacity 0.8s ease,
    clip-path 1s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-clip-path 1s cubic-bezier(0.22, 1, 0.36, 1);
  will-change: opacity, clip-path;
}

.section-sur-mesure.is-visible .wrapper-image-col-left {
  opacity: 1;
  clip-path: inset(0 0 0 0);
  -webkit-clip-path: inset(0 0 0 0);
}

.section-sur-mesure .wrapper-image-col-left .image-col {
  transform: scale(1.06);
  transition:
    transform 1.2s cubic-bezier(0.22, 1, 0.36, 1);
}

.section-sur-mesure.is-visible .wrapper-image-col-left .image-col {
  transform: scale(1);
}

/* =========================================================
   Engagements
========================================================= */

.section-engagements .w70 {
  opacity: 0;
  transform: translateY(24px);
  filter: blur(6px);
  transition:
    opacity 0.75s ease,
    transform 0.85s ease,
    filter 0.85s ease;
  will-change: opacity, transform, filter;
}

.section-engagements.is-visible .w70 {
  opacity: 1;
  transform: translateY(0);
  filter: blur(0);
}

.section-engagements .item-engagement {
  opacity: 0;
  transform: translateY(24px) scale(0.98);
  transition:
    opacity 0.7s ease,
    transform 0.9s cubic-bezier(0.22, 1, 0.36, 1);
  will-change: opacity, transform;
}

.section-engagements.is-visible .item-engagement {
  opacity: 1;
  transform: translateY(0) scale(1);
}

.section-engagements .icon-engagements {
  opacity: 0.35;
  transform: scale(0.9);
  transition:
    opacity 0.7s ease,
    transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
}

.section-engagements.is-visible .icon-engagements {
  opacity: 1;
  transform: scale(1);
}

/* =========================================================
   Bloc Découvrez nos espaces
========================================================= */

.section-espaces .slide-espace.nos-espaces {
  opacity: 0;
  transform: translateY(28px) scale(0.985);
  overflow: hidden;
  transition:
    opacity 0.8s ease,
    transform 1s cubic-bezier(0.22, 1, 0.36, 1);
  will-change: opacity, transform;
}

.section-espaces.is-visible .slide-espace.nos-espaces {
  opacity: 1;
  transform: translateY(0) scale(1);
}

.section-espaces .slide-espace.nos-espaces::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: inherit;
  background-size: cover;
  background-position: center;
  transform: scale(1.08);
  transition:
    transform 1.25s cubic-bezier(0.22, 1, 0.36, 1);
  z-index: 0;
}

.section-espaces.is-visible .slide-espace.nos-espaces::before {
  transform: scale(1);
}

.section-espaces .slide-espace.nos-espaces .wrapper-content-nos-espaces {
  position: relative;
  z-index: 2;
  opacity: 0;
  transform: translateY(22px);
  filter: blur(6px);
  transition:
    opacity 0.75s ease,
    transform 0.85s ease,
    filter 0.85s ease;
}

.section-espaces.is-visible .slide-espace.nos-espaces .wrapper-content-nos-espaces {
  opacity: 1;
  transform: translateY(0);
  filter: blur(0);
  transition-delay: 0.25s;
}

/* Accessibilité */
@media (prefers-reduced-motion: reduce) {
  .section-chiffres .title-h2,
  .section-chiffres .item-chiffres,
  .section-chiffres .icon-chiffres,
  .section-sur-mesure .col-1-presentation-evenement-copy,
  .section-sur-mesure .col-2-presentation-evenement-copy-copy,
  .section-sur-mesure .wrapper-image-col-left,
  .section-sur-mesure .wrapper-image-col-left .image-col,
  .section-engagements .w70,
  .section-engagements .item-engagement,
  .section-engagements .icon-engagements,
  .section-espaces .slide-espace.nos-espaces,
  .section-espaces .slide-espace.nos-espaces::before,
  .section-espaces .slide-espace.nos-espaces .wrapper-content-nos-espaces {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
    clip-path: none !important;
    -webkit-clip-path: none !important;
    transition: none !important;
  }
}


/* =========================================================
   Animations page Actualités
   Cibles propres à cette page
   ========================================================= */

.section-manifestations,
.section-actus {
  overflow: hidden;
}

/* =========================================================
   Manifestations & formats accueillis
========================================================= */

.section-manifestations .subtitle,
.section-manifestations .title-h2,
.section-manifestations .w50,
.section-manifestations .wrapper-manifestation {
  opacity: 0;
  transform: translateY(22px);
  transition:
    opacity 0.7s ease,
    transform 0.8s ease;
  will-change: opacity, transform;
}

.section-manifestations.is-visible .subtitle,
.section-manifestations.is-visible .title-h2,
.section-manifestations.is-visible .w50,
.section-manifestations.is-visible .wrapper-manifestation {
  opacity: 1;
  transform: translateY(0);
}

.section-manifestations.is-visible .title-h2 {
  transition-delay: 0.1s;
}

.section-manifestations.is-visible .w50 {
  transition-delay: 0.18s;
}

.section-manifestations.is-visible .wrapper-manifestation {
  transition-delay: 0.28s;
}

/* Cartes manifestations */
.section-manifestations .item-manifestation {
  opacity: 0;
  transform: translateY(26px) scale(0.98);
  transition:
    opacity 0.7s ease,
    transform 0.9s cubic-bezier(0.22, 1, 0.36, 1);
  will-change: opacity, transform;
}

.section-manifestations.is-visible .item-manifestation {
  opacity: 1;
  transform: translateY(0) scale(1);
}

/* Images manifestations */
.section-manifestations .item-manifestation .wrapper-image-item {
  overflow: hidden;
}

.section-manifestations .item-manifestation .image-item-format {
  transform: scale(1.08);
  transition:
    transform 1.15s cubic-bezier(0.22, 1, 0.36, 1);
  will-change: transform;
}

.section-manifestations.is-visible .item-manifestation .image-item-format {
  transform: scale(1);
}

/* Bouton + dans les cartes */
.section-manifestations .button-item {
  opacity: 0;
  transform: scale(0.75) rotate(-20deg);
  transition:
    opacity 0.5s ease,
    transform 0.65s cubic-bezier(0.22, 1, 0.36, 1);
}

.section-manifestations.is-visible .button-item {
  opacity: 1;
  transform: scale(1) rotate(0);
}

/* =========================================================
   Dernières actualités
========================================================= */

.section-actus .wrapper-actu-list > .title-h2,
.section-actus .wrapper-actu-list > .w50,
.section-actus .collection-list-espaces,
.section-actus .js-actu-load-more {
  opacity: 0;
  transform: translateY(22px);
  transition:
    opacity 0.7s ease,
    transform 0.8s ease;
  will-change: opacity, transform;
}

.section-actus.is-visible .wrapper-actu-list > .title-h2,
.section-actus.is-visible .wrapper-actu-list > .w50,
.section-actus.is-visible .collection-list-espaces,
.section-actus.is-visible .js-actu-load-more {
  opacity: 1;
  transform: translateY(0);
}

.section-actus.is-visible .wrapper-actu-list > .w50 {
  transition-delay: 0.12s;
}

.section-actus.is-visible .collection-list-espaces {
  transition-delay: 0.24s;
}

.section-actus.is-visible .js-actu-load-more {
  transition-delay: 0.36s;
}

/* Cartes actualités */
.section-actus .collection-item-2 {
  opacity: 0;
  transform: translateY(26px) scale(0.98);
  transition:
    opacity 0.7s ease,
    transform 0.9s cubic-bezier(0.22, 1, 0.36, 1);
  will-change: opacity, transform;
}

.section-actus.is-visible .collection-item-2 {
  opacity: 1;
  transform: translateY(0) scale(1);
}

/* Images actualités */
.section-actus .collection-item-2 .wrapper-image-item {
  overflow: hidden;
}

.section-actus .collection-item-2 .image-item-format {
  transform: scale(1.08);
  transition:
    transform 1.15s cubic-bezier(0.22, 1, 0.36, 1);
}

.section-actus.is-visible .collection-item-2 .image-item-format {
  transform: scale(1);
}

/* Accessibilité */
@media (prefers-reduced-motion: reduce) {
  .section-manifestations .subtitle,
  .section-manifestations .title-h2,
  .section-manifestations .w50,
  .section-manifestations .wrapper-manifestation,
  .section-manifestations .item-manifestation,
  .section-manifestations .item-manifestation .image-item-format,
  .section-manifestations .button-item,
  .section-actus .wrapper-actu-list > .title-h2,
  .section-actus .wrapper-actu-list > .w50,
  .section-actus .collection-list-espaces,
  .section-actus .js-actu-load-more,
  .section-actus .collection-item-2,
  .section-actus .collection-item-2 .image-item-format {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
    transition: none !important;
  }
}


/* =========================================================
   Animations page Spectacles
   Cibles propres à cette page
   ========================================================= */

.section-spectacle-une,
.section-spectacles {
  overflow: hidden;
}

/* =========================================================
   Spectacle à la une
========================================================= */

.section-spectacle-une > .container > .title-h2,
.section-spectacle-une .wrapper-spectacle-une {
  opacity: 0;
  transform: translateY(24px);
  transition:
    opacity 0.75s ease,
    transform 0.85s ease;
  will-change: opacity, transform;
}

.section-spectacle-une.is-visible > .container > .title-h2,
.section-spectacle-une.is-visible .wrapper-spectacle-une {
  opacity: 1;
  transform: translateY(0);
}

.section-spectacle-une.is-visible .wrapper-spectacle-une {
  transition-delay: 0.18s;
}

/* Image du spectacle à la une */
.section-spectacle-une .wrapper-image-spectacle {
  overflow: hidden;
}

.section-spectacle-une .wrapper-image-spectacle .image {
  transform: scale(1.08);
  transition:
    transform 1.15s cubic-bezier(0.22, 1, 0.36, 1);
  will-change: transform;
}

.section-spectacle-une.is-visible .wrapper-image-spectacle .image {
  transform: scale(1);
}

/* Contenu du spectacle à la une */
.section-spectacle-une .wrapper-content-spectacle > * {
  opacity: 0;
  transform: translateY(16px);
  transition:
    opacity 0.65s ease,
    transform 0.75s ease;
  will-change: opacity, transform;
}

.section-spectacle-une.is-visible .wrapper-content-spectacle > * {
  opacity: 1;
  transform: translateY(0);
}

/* Date absolue */
.section-spectacle-une .date-abs {
  opacity: 0;
  transform: translateX(18px) scale(0.92);
  transition:
    opacity 0.65s ease,
    transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
}

.section-spectacle-une.is-visible .date-abs {
  opacity: 1;
  transform: translateX(0) scale(1);
  transition-delay: 0.55s;
}

/* =========================================================
   Toute la programmation
========================================================= */

.section-spectacles > .container > .title-h2,
.section-spectacles .collection-list-spectacles,
.section-spectacles .button-center {
  opacity: 0;
  transform: translateY(24px);
  transition:
    opacity 0.75s ease,
    transform 0.85s ease;
  will-change: opacity, transform;
}

.section-spectacles.is-visible > .container > .title-h2,
.section-spectacles.is-visible .collection-list-spectacles,
.section-spectacles.is-visible .button-center {
  opacity: 1;
  transform: translateY(0);
}

.section-spectacles.is-visible .collection-list-spectacles {
  transition-delay: 0.18s;
}

.section-spectacles.is-visible .button-center {
  transition-delay: 0.36s;
}

/* Items liste spectacles */
.section-spectacles .collection-item {
  opacity: 0;
  transform: translateY(24px) scale(0.985);
  transition:
    opacity 0.7s ease,
    transform 0.9s cubic-bezier(0.22, 1, 0.36, 1);
  will-change: opacity, transform;
}

.section-spectacles.is-visible .collection-item {
  opacity: 1;
  transform: translateY(0) scale(1);
}

/* Images liste spectacles */
.section-spectacles .wrapper-image-spectacle {
  overflow: hidden;
}

.section-spectacles .wrapper-image-spectacle .image {
  transform: scale(1.08);
  transition:
    transform 1.15s cubic-bezier(0.22, 1, 0.36, 1);
}

.section-spectacles.is-visible .wrapper-image-spectacle .image {
  transform: scale(1);
}

/* Contenu liste spectacles */
.section-spectacles .wrapper-content-spectacle.liste > * {
  opacity: 0;
  transform: translateY(14px);
  transition:
    opacity 0.6s ease,
    transform 0.7s ease;
}

.section-spectacles.is-visible .wrapper-content-spectacle.liste > * {
  opacity: 1;
  transform: translateY(0);
}

/* =========================================================
   Bloc Avant et après spectacle
========================================================= */

.section-espaces .slide-espace.nos-espaces {
  opacity: 0;
  transform: translateY(28px) scale(0.985);
  overflow: hidden;
  transition:
    opacity 0.8s ease,
    transform 1s cubic-bezier(0.22, 1, 0.36, 1);
  will-change: opacity, transform;
}

.section-espaces.is-visible .slide-espace.nos-espaces {
  opacity: 1;
  transform: translateY(0) scale(1);
}

.section-espaces .slide-espace.nos-espaces::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: inherit;
  background-size: cover;
  background-position: center;
  transform: scale(1.08);
  transition:
    transform 1.25s cubic-bezier(0.22, 1, 0.36, 1);
  z-index: 0;
}

.section-espaces.is-visible .slide-espace.nos-espaces::before {
  transform: scale(1);
}

.section-espaces .wrapper-content-bar {
  position: relative;
  z-index: 2;
  opacity: 0;
  transform: translateY(22px);
  filter: blur(6px);
  transition:
    opacity 0.75s ease,
    transform 0.85s ease,
    filter 0.85s ease;
}

.section-espaces.is-visible .wrapper-content-bar {
  opacity: 1;
  transform: translateY(0);
  filter: blur(0);
  transition-delay: 0.25s;
}

/* =========================================================
   Demandez le programme
========================================================= */

.section-projet-2 .w70 {
  opacity: 0;
  transform: translateY(28px);
  filter: blur(6px);
  transition:
    opacity 0.8s ease,
    transform 0.9s ease,
    filter 0.9s ease;
  will-change: opacity, transform, filter;
}

.section-projet-2.is-visible .w70 {
  opacity: 1;
  transform: translateY(0);
  filter: blur(0);
}

/* Accessibilité */
@media (prefers-reduced-motion: reduce) {
  .section-spectacle-une > .container > .title-h2,
  .section-spectacle-une .wrapper-spectacle-une,
  .section-spectacle-une .wrapper-image-spectacle .image,
  .section-spectacle-une .wrapper-content-spectacle > *,
  .section-spectacle-une .date-abs,
  .section-spectacles > .container > .title-h2,
  .section-spectacles .collection-list-spectacles,
  .section-spectacles .button-center,
  .section-spectacles .collection-item,
  .section-spectacles .wrapper-image-spectacle .image,
  .section-spectacles .wrapper-content-spectacle.liste > *,
  .section-espaces .slide-espace.nos-espaces,
  .section-espaces .slide-espace.nos-espaces::before,
  .section-espaces .wrapper-content-bar,
  .section-projet-2 .w70 {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
    transition: none !important;
  }
}


/* =========================================================
   ANIMATION LOGO FOOTER
========================================================= */


@-webkit-keyframes animate-svg-stroke-1 {
  0% {
    stroke-dashoffset: 3244px;
    stroke-dasharray: 3244px;
  }

  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 3244px;
  }
}

@keyframes animate-svg-stroke-1 {
  0% {
    stroke-dashoffset: 3244px;
    stroke-dasharray: 3244px;
  }

  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 3244px;
  }
}

@-webkit-keyframes animate-svg-fill-1 {
  0% {
    fill: transparent;
  }

  100% {
    fill: rgb(255, 255, 255);
  }
}

@keyframes animate-svg-fill-1 {
  0% {
    fill: transparent;
  }

  100% {
    fill: rgb(255, 255, 255);
  }
}

.svg-elem-1 {
  -webkit-animation: animate-svg-stroke-1 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0s both,
                       animate-svg-fill-1 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 0.8s both;
          animation: animate-svg-stroke-1 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0s both,
               animate-svg-fill-1 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 0.8s both;
}

@-webkit-keyframes animate-svg-stroke-2 {
  0% {
    stroke-dashoffset: 1248.075927734375px;
    stroke-dasharray: 1248.075927734375px;
  }

  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 1248.075927734375px;
  }
}

@keyframes animate-svg-stroke-2 {
  0% {
    stroke-dashoffset: 1248.075927734375px;
    stroke-dasharray: 1248.075927734375px;
  }

  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 1248.075927734375px;
  }
}

@-webkit-keyframes animate-svg-fill-2 {
  0% {
    fill: transparent;
  }

  100% {
    fill: rgb(0, 0, 0);
  }
}

@keyframes animate-svg-fill-2 {
  0% {
    fill: transparent;
  }

  100% {
    fill: rgb(0, 0, 0);
  }
}

.svg-elem-2 {
  -webkit-animation: animate-svg-stroke-2 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0.12s both,
                       animate-svg-fill-2 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 0.9s both;
          animation: animate-svg-stroke-2 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0.12s both,
               animate-svg-fill-2 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 0.9s both;
}

@-webkit-keyframes animate-svg-stroke-3 {
  0% {
    stroke-dashoffset: 550.83349609375px;
    stroke-dasharray: 550.83349609375px;
  }

  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 550.83349609375px;
  }
}

@keyframes animate-svg-stroke-3 {
  0% {
    stroke-dashoffset: 550.83349609375px;
    stroke-dasharray: 550.83349609375px;
  }

  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 550.83349609375px;
  }
}

@-webkit-keyframes animate-svg-fill-3 {
  0% {
    fill: transparent;
  }

  100% {
    fill: rgb(0, 0, 0);
  }
}

@keyframes animate-svg-fill-3 {
  0% {
    fill: transparent;
  }

  100% {
    fill: rgb(0, 0, 0);
  }
}

.svg-elem-3 {
  -webkit-animation: animate-svg-stroke-3 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0.24s both,
                       animate-svg-fill-3 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1s both;
          animation: animate-svg-stroke-3 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0.24s both,
               animate-svg-fill-3 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1s both;
}

@-webkit-keyframes animate-svg-stroke-4 {
  0% {
    stroke-dashoffset: 984.5465698242188px;
    stroke-dasharray: 984.5465698242188px;
  }

  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 984.5465698242188px;
  }
}

@keyframes animate-svg-stroke-4 {
  0% {
    stroke-dashoffset: 984.5465698242188px;
    stroke-dasharray: 984.5465698242188px;
  }

  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 984.5465698242188px;
  }
}

@-webkit-keyframes animate-svg-fill-4 {
  0% {
    fill: transparent;
  }

  100% {
    fill: rgb(0, 0, 0);
  }
}

@keyframes animate-svg-fill-4 {
  0% {
    fill: transparent;
  }

  100% {
    fill: rgb(0, 0, 0);
  }
}

.svg-elem-4 {
  -webkit-animation: animate-svg-stroke-4 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0.36s both,
                       animate-svg-fill-4 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.1s both;
          animation: animate-svg-stroke-4 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0.36s both,
               animate-svg-fill-4 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.1s both;
}

@-webkit-keyframes animate-svg-stroke-5 {
  0% {
    stroke-dashoffset: 1320.46826171875px;
    stroke-dasharray: 1320.46826171875px;
  }

  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 1320.46826171875px;
  }
}

@keyframes animate-svg-stroke-5 {
  0% {
    stroke-dashoffset: 1320.46826171875px;
    stroke-dasharray: 1320.46826171875px;
  }

  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 1320.46826171875px;
  }
}

@-webkit-keyframes animate-svg-fill-5 {
  0% {
    fill: transparent;
  }

  100% {
    fill: rgb(0, 0, 0);
  }
}

@keyframes animate-svg-fill-5 {
  0% {
    fill: transparent;
  }

  100% {
    fill: rgb(0, 0, 0);
  }
}

.svg-elem-5 {
  -webkit-animation: animate-svg-stroke-5 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0.48s both,
                       animate-svg-fill-5 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.2000000000000002s both;
          animation: animate-svg-stroke-5 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0.48s both,
               animate-svg-fill-5 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.2000000000000002s both;
}

@-webkit-keyframes animate-svg-stroke-6 {
  0% {
    stroke-dashoffset: 1260.7386474609375px;
    stroke-dasharray: 1260.7386474609375px;
  }

  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 1260.7386474609375px;
  }
}

@keyframes animate-svg-stroke-6 {
  0% {
    stroke-dashoffset: 1260.7386474609375px;
    stroke-dasharray: 1260.7386474609375px;
  }

  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 1260.7386474609375px;
  }
}

@-webkit-keyframes animate-svg-fill-6 {
  0% {
    fill: transparent;
  }

  100% {
    fill: rgb(0, 0, 0);
  }
}

@keyframes animate-svg-fill-6 {
  0% {
    fill: transparent;
  }

  100% {
    fill: rgb(0, 0, 0);
  }
}

.svg-elem-6 {
  -webkit-animation: animate-svg-stroke-6 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0.6s both,
                       animate-svg-fill-6 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.3s both;
          animation: animate-svg-stroke-6 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0.6s both,
               animate-svg-fill-6 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.3s both;
}

@-webkit-keyframes animate-svg-stroke-7 {
  0% {
    stroke-dashoffset: 1161.5670166015625px;
    stroke-dasharray: 1161.5670166015625px;
  }

  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 1161.5670166015625px;
  }
}

@keyframes animate-svg-stroke-7 {
  0% {
    stroke-dashoffset: 1161.5670166015625px;
    stroke-dasharray: 1161.5670166015625px;
  }

  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 1161.5670166015625px;
  }
}

@-webkit-keyframes animate-svg-fill-7 {
  0% {
    fill: transparent;
  }

  100% {
    fill: rgb(0, 0, 0);
  }
}

@keyframes animate-svg-fill-7 {
  0% {
    fill: transparent;
  }

  100% {
    fill: rgb(0, 0, 0);
  }
}

.svg-elem-7 {
  -webkit-animation: animate-svg-stroke-7 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0.72s both,
                       animate-svg-fill-7 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.4000000000000001s both;
          animation: animate-svg-stroke-7 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0.72s both,
               animate-svg-fill-7 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.4000000000000001s both;
}

@-webkit-keyframes animate-svg-stroke-8 {
  0% {
    stroke-dashoffset: 984.5669555664062px;
    stroke-dasharray: 984.5669555664062px;
  }

  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 984.5669555664062px;
  }
}

@keyframes animate-svg-stroke-8 {
  0% {
    stroke-dashoffset: 984.5669555664062px;
    stroke-dasharray: 984.5669555664062px;
  }

  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 984.5669555664062px;
  }
}

@-webkit-keyframes animate-svg-fill-8 {
  0% {
    fill: transparent;
  }

  100% {
    fill: rgb(0, 0, 0);
  }
}

@keyframes animate-svg-fill-8 {
  0% {
    fill: transparent;
  }

  100% {
    fill: rgb(0, 0, 0);
  }
}

.svg-elem-8 {
  -webkit-animation: animate-svg-stroke-8 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0.84s both,
                       animate-svg-fill-8 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.5s both;
          animation: animate-svg-stroke-8 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0.84s both,
               animate-svg-fill-8 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.5s both;
}

@-webkit-keyframes animate-svg-stroke-9 {
  0% {
    stroke-dashoffset: 1248.075927734375px;
    stroke-dasharray: 1248.075927734375px;
  }

  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 1248.075927734375px;
  }
}

@keyframes animate-svg-stroke-9 {
  0% {
    stroke-dashoffset: 1248.075927734375px;
    stroke-dasharray: 1248.075927734375px;
  }

  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 1248.075927734375px;
  }
}

@-webkit-keyframes animate-svg-fill-9 {
  0% {
    fill: transparent;
  }

  100% {
    fill: rgb(51, 51, 51);
  }
}

@keyframes animate-svg-fill-9 {
  0% {
    fill: transparent;
  }

  100% {
    fill: rgb(51, 51, 51);
  }
}

.svg-elem-9 {
  -webkit-animation: animate-svg-stroke-9 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0.96s both,
                       animate-svg-fill-9 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.6s both;
          animation: animate-svg-stroke-9 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0.96s both,
               animate-svg-fill-9 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.6s both;
}

@-webkit-keyframes animate-svg-stroke-10 {
  0% {
    stroke-dashoffset: 550.83349609375px;
    stroke-dasharray: 550.83349609375px;
  }

  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 550.83349609375px;
  }
}

@keyframes animate-svg-stroke-10 {
  0% {
    stroke-dashoffset: 550.83349609375px;
    stroke-dasharray: 550.83349609375px;
  }

  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 550.83349609375px;
  }
}

@-webkit-keyframes animate-svg-fill-10 {
  0% {
    fill: transparent;
  }

  100% {
    fill: rgb(51, 51, 51);
  }
}

@keyframes animate-svg-fill-10 {
  0% {
    fill: transparent;
  }

  100% {
    fill: rgb(51, 51, 51);
  }
}

.svg-elem-10 {
  -webkit-animation: animate-svg-stroke-10 1s cubic-bezier(0.47, 0, 0.745, 0.715) 1.08s both,
                       animate-svg-fill-10 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.7000000000000002s both;
          animation: animate-svg-stroke-10 1s cubic-bezier(0.47, 0, 0.745, 0.715) 1.08s both,
               animate-svg-fill-10 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.7000000000000002s both;
}

@-webkit-keyframes animate-svg-stroke-11 {
  0% {
    stroke-dashoffset: 984.5465698242188px;
    stroke-dasharray: 984.5465698242188px;
  }

  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 984.5465698242188px;
  }
}

@keyframes animate-svg-stroke-11 {
  0% {
    stroke-dashoffset: 984.5465698242188px;
    stroke-dasharray: 984.5465698242188px;
  }

  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 984.5465698242188px;
  }
}

@-webkit-keyframes animate-svg-fill-11 {
  0% {
    fill: transparent;
  }

  100% {
    fill: rgb(51, 51, 51);
  }
}

@keyframes animate-svg-fill-11 {
  0% {
    fill: transparent;
  }

  100% {
    fill: rgb(51, 51, 51);
  }
}

.svg-elem-11 {
  -webkit-animation: animate-svg-stroke-11 1s cubic-bezier(0.47, 0, 0.745, 0.715) 1.2s both,
                       animate-svg-fill-11 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.8s both;
          animation: animate-svg-stroke-11 1s cubic-bezier(0.47, 0, 0.745, 0.715) 1.2s both,
               animate-svg-fill-11 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.8s both;
}

@-webkit-keyframes animate-svg-stroke-12 {
  0% {
    stroke-dashoffset: 1320.46826171875px;
    stroke-dasharray: 1320.46826171875px;
  }

  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 1320.46826171875px;
  }
}

@keyframes animate-svg-stroke-12 {
  0% {
    stroke-dashoffset: 1320.46826171875px;
    stroke-dasharray: 1320.46826171875px;
  }

  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 1320.46826171875px;
  }
}

@-webkit-keyframes animate-svg-fill-12 {
  0% {
    fill: transparent;
  }

  100% {
    fill: rgb(51, 51, 51);
  }
}

@keyframes animate-svg-fill-12 {
  0% {
    fill: transparent;
  }

  100% {
    fill: rgb(51, 51, 51);
  }
}

.svg-elem-12 {
  -webkit-animation: animate-svg-stroke-12 1s cubic-bezier(0.47, 0, 0.745, 0.715) 1.3199999999999998s both,
                       animate-svg-fill-12 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.9000000000000001s both;
          animation: animate-svg-stroke-12 1s cubic-bezier(0.47, 0, 0.745, 0.715) 1.3199999999999998s both,
               animate-svg-fill-12 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.9000000000000001s both;
}

@-webkit-keyframes animate-svg-stroke-13 {
  0% {
    stroke-dashoffset: 1260.7386474609375px;
    stroke-dasharray: 1260.7386474609375px;
  }

  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 1260.7386474609375px;
  }
}

@keyframes animate-svg-stroke-13 {
  0% {
    stroke-dashoffset: 1260.7386474609375px;
    stroke-dasharray: 1260.7386474609375px;
  }

  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 1260.7386474609375px;
  }
}

@-webkit-keyframes animate-svg-fill-13 {
  0% {
    fill: transparent;
  }

  100% {
    fill: rgb(51, 51, 51);
  }
}

@keyframes animate-svg-fill-13 {
  0% {
    fill: transparent;
  }

  100% {
    fill: rgb(51, 51, 51);
  }
}

.svg-elem-13 {
  -webkit-animation: animate-svg-stroke-13 1s cubic-bezier(0.47, 0, 0.745, 0.715) 1.44s both,
                       animate-svg-fill-13 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2s both;
          animation: animate-svg-stroke-13 1s cubic-bezier(0.47, 0, 0.745, 0.715) 1.44s both,
               animate-svg-fill-13 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2s both;
}

@-webkit-keyframes animate-svg-stroke-14 {
  0% {
    stroke-dashoffset: 1161.5670166015625px;
    stroke-dasharray: 1161.5670166015625px;
  }

  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 1161.5670166015625px;
  }
}

@keyframes animate-svg-stroke-14 {
  0% {
    stroke-dashoffset: 1161.5670166015625px;
    stroke-dasharray: 1161.5670166015625px;
  }

  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 1161.5670166015625px;
  }
}

@-webkit-keyframes animate-svg-fill-14 {
  0% {
    fill: transparent;
  }

  100% {
    fill: rgb(51, 51, 51);
  }
}

@keyframes animate-svg-fill-14 {
  0% {
    fill: transparent;
  }

  100% {
    fill: rgb(51, 51, 51);
  }
}

.svg-elem-14 {
  -webkit-animation: animate-svg-stroke-14 1s cubic-bezier(0.47, 0, 0.745, 0.715) 1.56s both,
                       animate-svg-fill-14 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.1s both;
          animation: animate-svg-stroke-14 1s cubic-bezier(0.47, 0, 0.745, 0.715) 1.56s both,
               animate-svg-fill-14 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.1s both;
}

@-webkit-keyframes animate-svg-stroke-15 {
  0% {
    stroke-dashoffset: 984.5669555664062px;
    stroke-dasharray: 984.5669555664062px;
  }

  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 984.5669555664062px;
  }
}

@keyframes animate-svg-stroke-15 {
  0% {
    stroke-dashoffset: 984.5669555664062px;
    stroke-dasharray: 984.5669555664062px;
  }

  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 984.5669555664062px;
  }
}

@-webkit-keyframes animate-svg-fill-15 {
  0% {
    fill: transparent;
  }

  100% {
    fill: rgb(51, 51, 51);
  }
}

@keyframes animate-svg-fill-15 {
  0% {
    fill: transparent;
  }

  100% {
    fill: rgb(51, 51, 51);
  }
}

.svg-elem-15 {
  -webkit-animation: animate-svg-stroke-15 1s cubic-bezier(0.47, 0, 0.745, 0.715) 1.68s both,
                       animate-svg-fill-15 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.2s both;
          animation: animate-svg-stroke-15 1s cubic-bezier(0.47, 0, 0.745, 0.715) 1.68s both,
               animate-svg-fill-15 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.2s both;
}

@-webkit-keyframes animate-svg-stroke-16 {
  0% {
    stroke-dashoffset: 1248.075927734375px;
    stroke-dasharray: 1248.075927734375px;
  }

  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 1248.075927734375px;
  }
}

@keyframes animate-svg-stroke-16 {
  0% {
    stroke-dashoffset: 1248.075927734375px;
    stroke-dasharray: 1248.075927734375px;
  }

  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 1248.075927734375px;
  }
}

.svg-elem-16 {
  -webkit-animation: animate-svg-stroke-16 1s cubic-bezier(0.47, 0, 0.745, 0.715) 1.7999999999999998s both,
                       animate-svg-fill-16 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.3s both;
          animation: animate-svg-stroke-16 1s cubic-bezier(0.47, 0, 0.745, 0.715) 1.7999999999999998s both,
               animate-svg-fill-16 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.3s both;
}

@-webkit-keyframes animate-svg-stroke-17 {
  0% {
    stroke-dashoffset: 550.83349609375px;
    stroke-dasharray: 550.83349609375px;
  }

  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 550.83349609375px;
  }
}

@keyframes animate-svg-stroke-17 {
  0% {
    stroke-dashoffset: 550.83349609375px;
    stroke-dasharray: 550.83349609375px;
  }

  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 550.83349609375px;
  }
}

.svg-elem-17 {
  -webkit-animation: animate-svg-stroke-17 1s cubic-bezier(0.47, 0, 0.745, 0.715) 1.92s both,
                       animate-svg-fill-17 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.4000000000000004s both;
          animation: animate-svg-stroke-17 1s cubic-bezier(0.47, 0, 0.745, 0.715) 1.92s both,
               animate-svg-fill-17 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.4000000000000004s both;
}

@-webkit-keyframes animate-svg-stroke-18 {
  0% {
    stroke-dashoffset: 984.5465698242188px;
    stroke-dasharray: 984.5465698242188px;
  }

  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 984.5465698242188px;
  }
}

@keyframes animate-svg-stroke-18 {
  0% {
    stroke-dashoffset: 984.5465698242188px;
    stroke-dasharray: 984.5465698242188px;
  }

  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 984.5465698242188px;
  }
}

.svg-elem-18 {
  -webkit-animation: animate-svg-stroke-18 1s cubic-bezier(0.47, 0, 0.745, 0.715) 2.04s both,
                       animate-svg-fill-18 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.5s both;
          animation: animate-svg-stroke-18 1s cubic-bezier(0.47, 0, 0.745, 0.715) 2.04s both,
               animate-svg-fill-18 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.5s both;
}

@-webkit-keyframes animate-svg-stroke-19 {
  0% {
    stroke-dashoffset: 1320.46826171875px;
    stroke-dasharray: 1320.46826171875px;
  }

  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 1320.46826171875px;
  }
}

@keyframes animate-svg-stroke-19 {
  0% {
    stroke-dashoffset: 1320.46826171875px;
    stroke-dasharray: 1320.46826171875px;
  }

  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 1320.46826171875px;
  }
}

.svg-elem-19 {
  -webkit-animation: animate-svg-stroke-19 1s cubic-bezier(0.47, 0, 0.745, 0.715) 2.16s both,
                       animate-svg-fill-19 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.6s both;
          animation: animate-svg-stroke-19 1s cubic-bezier(0.47, 0, 0.745, 0.715) 2.16s both,
               animate-svg-fill-19 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.6s both;
}

@-webkit-keyframes animate-svg-stroke-20 {
  0% {
    stroke-dashoffset: 1260.7386474609375px;
    stroke-dasharray: 1260.7386474609375px;
  }

  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 1260.7386474609375px;
  }
}

@keyframes animate-svg-stroke-20 {
  0% {
    stroke-dashoffset: 1260.7386474609375px;
    stroke-dasharray: 1260.7386474609375px;
  }

  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 1260.7386474609375px;
  }
}

.svg-elem-20 {
  -webkit-animation: animate-svg-stroke-20 1s cubic-bezier(0.47, 0, 0.745, 0.715) 2.28s both,
                       animate-svg-fill-20 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.7s both;
          animation: animate-svg-stroke-20 1s cubic-bezier(0.47, 0, 0.745, 0.715) 2.28s both,
               animate-svg-fill-20 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.7s both;
}

@-webkit-keyframes animate-svg-stroke-21 {
  0% {
    stroke-dashoffset: 1161.5670166015625px;
    stroke-dasharray: 1161.5670166015625px;
  }

  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 1161.5670166015625px;
  }
}

@keyframes animate-svg-stroke-21 {
  0% {
    stroke-dashoffset: 1161.5670166015625px;
    stroke-dasharray: 1161.5670166015625px;
  }

  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 1161.5670166015625px;
  }
}

.svg-elem-21 {
  -webkit-animation: animate-svg-stroke-21 1s cubic-bezier(0.47, 0, 0.745, 0.715) 2.4s both,
                       animate-svg-fill-21 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.8s both;
          animation: animate-svg-stroke-21 1s cubic-bezier(0.47, 0, 0.745, 0.715) 2.4s both,
               animate-svg-fill-21 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.8s both;
}

@-webkit-keyframes animate-svg-stroke-22 {
  0% {
    stroke-dashoffset: 984.5669555664062px;
    stroke-dasharray: 984.5669555664062px;
  }

  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 984.5669555664062px;
  }
}

@keyframes animate-svg-stroke-22 {
  0% {
    stroke-dashoffset: 984.5669555664062px;
    stroke-dasharray: 984.5669555664062px;
  }

  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 984.5669555664062px;
  }
}

.svg-elem-22 {
  -webkit-animation: animate-svg-stroke-22 1s cubic-bezier(0.47, 0, 0.745, 0.715) 2.52s both,
                       animate-svg-fill-22 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.9000000000000004s both;
          animation: animate-svg-stroke-22 1s cubic-bezier(0.47, 0, 0.745, 0.715) 2.52s both,
               animate-svg-fill-22 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.9000000000000004s both;
}


  @keyframes animate-svg-stroke-color {
  0% {
    stroke: #898989;
  }
  100% {
    stroke: #333333;
  }
}
  .svg-elem-16 {
  animation:
    animate-svg-stroke-16 1s cubic-bezier(0.47, 0, 0.745, 0.715) 1.8s both,
    animate-svg-stroke-color 0.2s linear 2.3s both;
}

.svg-elem-17 {
  animation:
    animate-svg-stroke-17 1s cubic-bezier(0.47, 0, 0.745, 0.715) 1.92s both,
    animate-svg-stroke-color 0.2s linear 2.4s both;
}

.svg-elem-18 {
  animation:
    animate-svg-stroke-18 1s cubic-bezier(0.47, 0, 0.745, 0.715) 2.04s both,
    animate-svg-stroke-color 0.2s linear 2.5s both;
}

.svg-elem-19 {
  animation:
    animate-svg-stroke-19 1s cubic-bezier(0.47, 0, 0.745, 0.715) 2.16s both,
    animate-svg-stroke-color 0.2s linear 2.6s both;
}

.svg-elem-20 {
  animation:
    animate-svg-stroke-20 1s cubic-bezier(0.47, 0, 0.745, 0.715) 2.28s both,
    animate-svg-stroke-color 0.2s linear 2.7s both;
}

.svg-elem-21 {
  animation:
    animate-svg-stroke-21 1s cubic-bezier(0.47, 0, 0.745, 0.715) 2.4s both,
    animate-svg-stroke-color 0.2s linear 2.8s both;
}

.svg-elem-22 {
  animation:
    animate-svg-stroke-22 1s cubic-bezier(0.47, 0, 0.745, 0.715) 2.52s both,
    animate-svg-stroke-color 0.2s linear 2.9s both;
}

  .footer-logo-anim [class^="svg-elem-"] {
  animation-play-state: paused;
}

.footer-logo-anim.is-visible [class^="svg-elem-"] {
  animation-play-state: running;
}
