.elementor-9023 .elementor-element.elementor-element-0cfda1a{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0rem;--margin-bottom:0rem;--margin-left:0rem;--margin-right:0rem;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-9023 .elementor-element.elementor-element-ad5f409{--display:flex;}.elementor-9023 .elementor-element.elementor-element-cf271ee.elementor-element{--align-self:flex-end;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}@media(max-width:767px){.elementor-9023 .elementor-element.elementor-element-0cfda1a{--justify-content:flex-start;}.elementor-9023 .elementor-element.elementor-element-ad5f409{--justify-content:space-between;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}}/* Start custom CSS for container, class: .elementor-element-0cfda1a *//* On force le conteneur à être neutre */
.elementor-9023 .elementor-element.elementor-element-0cfda1a {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important; /* Indispensable pour que le Pinning fonctionne */
    padding: 0 !important;
    margin: 0 !important;
}

/* On s'assure que la section ne crée pas de scroll horizontal parasite */
body {
    overflow-x: hidden;
}/* End custom CSS */
/* Start custom CSS *//* ============================================================
   FOND DYNAMIQUE - ARFOS PASTEL ORBS + GRAIN HD
   ============================================================ */

html, body {
    background: transparent !important;
}

/* Animation des boules (mouvement lent, ample et fluide) */
@keyframes moveOrbs {
  0% {
    background-position: 
      0% 0%,      /* Bleu */
      100% 0%,    /* Rose */
      0% 100%,    /* Vert */
      100% 100%,  /* Orange */
      50% 50%;    /* Bordeaux */
  }
  25% {
    background-position: 
      100% 0%,    
      100% 100%,  
      0% 0%,      
      0% 100%,    
      20% 80%;    
  }
  50% {
    background-position: 
      100% 100%,  
      0% 100%,    
      100% 0%,    
      0% 0%,      
      80% 20%;    
  }
  75% {
    background-position: 
      0% 100%,    
      0% 0%,      
      100% 100%,  
      100% 0%,    
      50% 80%;    
  }
  100% {
    background-position: 
      0% 0%,      
      100% 0%,    
      0% 100%,    
      100% 100%,  
      50% 50%;    
  }
}

/* Animation spécifique pour mobile (mouvements plus resserrés) */
@keyframes moveOrbsMobile {
  0% {
    background-position: 
      20% 10%,    /* Bleu */
      80% 20%,    /* Rose */
      10% 80%,    /* Vert */
      90% 90%,    /* Orange */
      50% 50%;    /* Bordeaux */
  }
  33% {
    background-position: 
      80% 20%,    
      90% 90%,  
      20% 10%,      
      10% 80%,    
      40% 60%;    
  }
  66% {
    background-position: 
      90% 90%,  
      10% 80%,    
      80% 20%,    
      20% 10%,      
      60% 40%;    
  }
  100% {
    background-position: 
      20% 10%,    
      80% 20%,    
      10% 80%,    
      90% 90%,  
      50% 50%;    
  }
}

/* Le fond coloré (Boules diffuses avec les couleurs officielles ARFOS) */
html::before {
    content: "";
    position: fixed;
    top: -20%; left: -20%;
    width: 140%; height: 140%;
    z-index: -2;
    background-color: #fcfcfd; /* Fond très clair pour l'effet pastel */
    
    /* Utilisation des couleurs exactes du nuancier avec une opacité réduite pour l'effet pastel */
    background-image: 
        radial-gradient(circle, rgba(5, 133, 200, 0.25) 0%, rgba(5, 133, 200, 0) 60%),   /* Bleu #0585C8 */
        radial-gradient(circle, rgba(234, 82, 132, 0.25) 0%, rgba(234, 82, 132, 0) 60%), /* Rose #EA5284 */
        radial-gradient(circle, rgba(219, 219, 4, 0.20) 0%, rgba(219, 219, 4, 0) 60%),    /* Vert #DBDB04 */
        radial-gradient(circle, rgba(243, 146, 4, 0.20) 0%, rgba(243, 146, 4, 0) 60%),    /* Orange #F39204 */
        radial-gradient(circle, rgba(166, 36, 35, 0.12) 0%, rgba(166, 36, 35, 0) 60%);   /* Bordeaux #A62423 (plus transparent car sombre) */
    
    /* Tailles différentes pour chaque boule pour un effet organique */
    background-size: 
        55vmax 55vmax, 
        60vmax 60vmax, 
        65vmax 65vmax, 
        50vmax 50vmax, 
        70vmax 70vmax;
    background-repeat: no-repeat;
    animation: moveOrbs 45s ease-in-out infinite alternate;
    filter: blur(80px); /* Rend les boules extrêmement diffuses et douces */
    pointer-events: none;
}

/* GRAIN HD */
html::after {
    content: "";
    position: fixed;
    top: 0; left: 0;
    width: 100%; height: 100%;
    z-index: -1;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.5' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");
    mix-blend-mode: multiply; 
    opacity: 0.15; /* Effet grain élégant */
    pointer-events: none;
}

/* Version Mobile optimisée */
@media (max-width: 767px) {
    html::before {
        /* On réduit la taille des boules pour qu'elles soient plus concentrées sur le petit écran */
        background-size: 
            80vw 80vw, 
            90vw 90vw, 
            85vw 85vw, 
            75vw 75vw, 
            100vw 100vw;
        filter: blur(40px); /* Flou réduit proportionnellement */
        animation: moveOrbsMobile 25s ease-in-out infinite alternate;
    }
    html::after {
        opacity: 0.15; /* Grain maintenu sur mobile également */
    }
}/* End custom CSS */