.elementor-1542 .elementor-element.elementor-element-503f651{--display:flex;--flex-direction:row-reverse;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap-reverse;--justify-content:space-between;--align-items:center;}.elementor-1542 .elementor-element.elementor-element-b191d0b{font-family:"Montserrat";}.elementor-1542 .elementor-element.elementor-element-6324a40{--display:flex;}.elementor-1542 .elementor-element.elementor-element-9d9c40d{--display:flex;--min-height:748px;}.elementor-1542 .elementor-element.elementor-element-527b51e{--display:flex;--z-index:0;}.elementor-1542 .elementor-element.elementor-element-2764cf7{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:flex-start;}.elementor-1542 .elementor-element.elementor-element-e9d4a2f{font-family:"Montserrat";}.elementor-1542 .elementor-element.elementor-element-2ed91df .elementor-button{background-color:#FFFFFF00;font-family:"Montserrat";font-size:1.3rem;font-weight:300;line-height:32px;fill:var( --e-global-color-5ebdc0a );color:var( --e-global-color-5ebdc0a );border-radius:0px 0px 0px 0px;padding:14px 30px 14px 030px;}.elementor-1542 .elementor-element.elementor-element-2ed91df{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 50px;}.elementor-1542 .elementor-element.elementor-element-2ed91df.elementor-element{--align-self:flex-start;}.elementor-1542 .elementor-element.elementor-element-cab39b6{--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;--align-items:flex-end;}.elementor-1542 .elementor-element.elementor-element-42376d3{text-align:right;font-family:"Montserrat";}.elementor-1542 .elementor-element.elementor-element-b57f7bd .elementor-button{background-color:#FFFFFF00;font-family:"Montserrat";font-size:1.3rem;font-weight:300;line-height:32px;fill:var( --e-global-color-5ebdc0a );color:var( --e-global-color-5ebdc0a );border-radius:0px 0px 0px 0px;padding:14px 30px 14px 030px;}.elementor-1542 .elementor-element.elementor-element-b57f7bd{margin:0px 050px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-1542 .elementor-element.elementor-element-b57f7bd.elementor-element{--align-self:flex-end;}.elementor-1542 .elementor-element.elementor-element-a142ff8{--display:flex;}.elementor-1542 .elementor-element.elementor-element-ed0d3e3{--display:flex;}.elementor-1542 .elementor-element.elementor-element-99c56ca{--display:flex;--justify-content:center;}.elementor-1542 .elementor-element.elementor-element-99c56ca:not(.elementor-motion-effects-element-type-background), .elementor-1542 .elementor-element.elementor-element-99c56ca > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-5ebdc0a );}.elementor-1542 .elementor-element.elementor-element-1332c9c img{opacity:1;}.elementor-1542 .elementor-element.elementor-element-06456d1{--display:flex;--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-1542 .elementor-element.elementor-element-06456d1:not(.elementor-motion-effects-element-type-background), .elementor-1542 .elementor-element.elementor-element-06456d1 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-1542 .elementor-element.elementor-element-06456d1.e-con{--align-self:center;}.elementor-1542 .elementor-element.elementor-element-afa655d{width:var( --container-widget-width, 50% );max-width:50%;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;--container-widget-width:50%;--container-widget-flex-grow:0;text-align:center;}.elementor-1542 .elementor-element.elementor-element-afa655d.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-1542 .elementor-element.elementor-element-afa655d .elementor-heading-title{font-family:"Montserrat";font-size:90px;font-weight:600;color:var( --e-global-color-5ebdc0a );}.elementor-1542 .elementor-element.elementor-element-3c8e36c{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-1542 .elementor-element.elementor-element-8c08227{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-1542 .elementor-element.elementor-element-59f382f{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-1542 .elementor-element.elementor-element-6997067{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-1542 .elementor-element.elementor-element-cefa5f7{--display:flex;--min-height:500px;}.elementor-1542 .elementor-element.elementor-element-ef5943d{--display:flex;--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-1542 .elementor-element.elementor-element-4d262fe{--display:flex;--min-height:700px;--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-1542 .elementor-element.elementor-element-0580c3d{width:var( --container-widget-width, 50% );max-width:50%;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;--container-widget-width:50%;--container-widget-flex-grow:0;text-align:center;}.elementor-1542 .elementor-element.elementor-element-0580c3d.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-1542 .elementor-element.elementor-element-0580c3d .elementor-heading-title{font-family:"Montserrat";font-size:90px;font-weight:600;color:var( --e-global-color-a3b3344 );}.elementor-1542 .elementor-element.elementor-element-6438308{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-1542 .elementor-element.elementor-element-3274a30{--display:flex;}.elementor-1542 .elementor-element.elementor-element-d9c5647{--display:flex;}.elementor-1542 .elementor-element.elementor-element-1608e81{text-align:left;}.elementor-1542 .elementor-element.elementor-element-1608e81 .elementor-heading-title{font-family:var( --e-global-typography-8ce087d-font-family );font-size:var( --e-global-typography-8ce087d-font-size );font-weight:var( --e-global-typography-8ce087d-font-weight );color:var( --e-global-color-bdbbd12 );}.elementor-1542 .elementor-element.elementor-element-bea7b0a{text-align:left;}.elementor-1542 .elementor-element.elementor-element-bea7b0a .elementor-heading-title{font-family:var( --e-global-typography-605556c-font-family );font-size:var( --e-global-typography-605556c-font-size );font-weight:var( --e-global-typography-605556c-font-weight );color:var( --e-global-color-bdbbd12 );}.elementor-1542 .elementor-element.elementor-element-b0cc68b{--divider-border-style:solid;--divider-color:var( --e-global-color-9f6a08d );--divider-border-width:5px;}.elementor-1542 .elementor-element.elementor-element-b0cc68b .elementor-divider-separator{width:10%;}.elementor-1542 .elementor-element.elementor-element-b0cc68b .elementor-divider{padding-block-start:15px;padding-block-end:15px;}.elementor-1542 .elementor-element.elementor-element-aeb41e6{font-family:var( --e-global-typography-4369d1d-font-family );}.elementor-1542 .elementor-element.elementor-element-f061f22{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-1542 .elementor-element.elementor-element-0ac5f10{--display:flex;}.elementor-1542 .elementor-element.elementor-element-23227f0{--display:flex;}.elementor-1542 .elementor-element.elementor-element-58b7ffa{text-align:left;}.elementor-1542 .elementor-element.elementor-element-58b7ffa .elementor-heading-title{font-family:var( --e-global-typography-8ce087d-font-family );font-size:var( --e-global-typography-8ce087d-font-size );font-weight:var( --e-global-typography-8ce087d-font-weight );color:var( --e-global-color-bdbbd12 );}.elementor-1542 .elementor-element.elementor-element-048586f{text-align:left;}.elementor-1542 .elementor-element.elementor-element-048586f .elementor-heading-title{font-family:var( --e-global-typography-605556c-font-family );font-size:var( --e-global-typography-605556c-font-size );font-weight:var( --e-global-typography-605556c-font-weight );color:var( --e-global-color-bdbbd12 );}.elementor-1542 .elementor-element.elementor-element-bc50cfc{--divider-border-style:solid;--divider-color:var( --e-global-color-9f6a08d );--divider-border-width:5px;}.elementor-1542 .elementor-element.elementor-element-bc50cfc .elementor-divider-separator{width:10%;}.elementor-1542 .elementor-element.elementor-element-bc50cfc .elementor-divider{padding-block-start:15px;padding-block-end:15px;}.elementor-1542 .elementor-element.elementor-element-10f0f15{font-family:var( --e-global-typography-4369d1d-font-family );}.elementor-1542 .elementor-element.elementor-element-f59f9a1{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-1542 .elementor-element.elementor-element-6823f5a{--display:flex;}.elementor-1542 .elementor-element.elementor-element-20c8134{--display:flex;}.elementor-1542 .elementor-element.elementor-element-0590ab9{text-align:left;}.elementor-1542 .elementor-element.elementor-element-0590ab9 .elementor-heading-title{font-family:var( --e-global-typography-8ce087d-font-family );font-size:var( --e-global-typography-8ce087d-font-size );font-weight:var( --e-global-typography-8ce087d-font-weight );color:var( --e-global-color-bdbbd12 );}.elementor-1542 .elementor-element.elementor-element-509258e{text-align:left;}.elementor-1542 .elementor-element.elementor-element-509258e .elementor-heading-title{font-family:var( --e-global-typography-605556c-font-family );font-size:var( --e-global-typography-605556c-font-size );font-weight:var( --e-global-typography-605556c-font-weight );color:var( --e-global-color-bdbbd12 );}.elementor-1542 .elementor-element.elementor-element-c4e0dd2{--divider-border-style:solid;--divider-color:var( --e-global-color-9f6a08d );--divider-border-width:5px;}.elementor-1542 .elementor-element.elementor-element-c4e0dd2 .elementor-divider-separator{width:10%;}.elementor-1542 .elementor-element.elementor-element-c4e0dd2 .elementor-divider{padding-block-start:15px;padding-block-end:15px;}.elementor-1542 .elementor-element.elementor-element-8d3ad23{font-family:var( --e-global-typography-4369d1d-font-family );}.elementor-1542 .elementor-element.elementor-element-1cc626c{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-1542 .elementor-element.elementor-element-7b3285b{--display:flex;}.elementor-1542 .elementor-element.elementor-element-fa783bf{--display:flex;}.elementor-1542 .elementor-element.elementor-element-23f1b94{text-align:left;}.elementor-1542 .elementor-element.elementor-element-23f1b94 .elementor-heading-title{font-family:var( --e-global-typography-8ce087d-font-family );font-size:var( --e-global-typography-8ce087d-font-size );font-weight:var( --e-global-typography-8ce087d-font-weight );color:var( --e-global-color-bdbbd12 );}.elementor-1542 .elementor-element.elementor-element-f93dfa4{text-align:left;}.elementor-1542 .elementor-element.elementor-element-f93dfa4 .elementor-heading-title{font-family:var( --e-global-typography-605556c-font-family );font-size:var( --e-global-typography-605556c-font-size );font-weight:var( --e-global-typography-605556c-font-weight );color:var( --e-global-color-bdbbd12 );}.elementor-1542 .elementor-element.elementor-element-cfa0642{--divider-border-style:solid;--divider-color:var( --e-global-color-9f6a08d );--divider-border-width:5px;}.elementor-1542 .elementor-element.elementor-element-cfa0642 .elementor-divider-separator{width:10%;}.elementor-1542 .elementor-element.elementor-element-cfa0642 .elementor-divider{padding-block-start:15px;padding-block-end:15px;}.elementor-1542 .elementor-element.elementor-element-0b55527{font-family:var( --e-global-typography-4369d1d-font-family );}.elementor-1542 .elementor-element.elementor-element-7df8e22{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-1542 .elementor-element.elementor-element-de150c5{--display:flex;}.elementor-1542 .elementor-element.elementor-element-de26466{--display:flex;}.elementor-1542 .elementor-element.elementor-element-46a6c55{text-align:left;}.elementor-1542 .elementor-element.elementor-element-46a6c55 .elementor-heading-title{font-family:var( --e-global-typography-8ce087d-font-family );font-size:var( --e-global-typography-8ce087d-font-size );font-weight:var( --e-global-typography-8ce087d-font-weight );color:var( --e-global-color-bdbbd12 );}.elementor-1542 .elementor-element.elementor-element-f8e906c{text-align:left;}.elementor-1542 .elementor-element.elementor-element-f8e906c .elementor-heading-title{font-family:var( --e-global-typography-605556c-font-family );font-size:var( --e-global-typography-605556c-font-size );font-weight:var( --e-global-typography-605556c-font-weight );color:var( --e-global-color-bdbbd12 );}.elementor-1542 .elementor-element.elementor-element-dbb5acc{--divider-border-style:solid;--divider-color:var( --e-global-color-9f6a08d );--divider-border-width:5px;}.elementor-1542 .elementor-element.elementor-element-dbb5acc .elementor-divider-separator{width:10%;}.elementor-1542 .elementor-element.elementor-element-dbb5acc .elementor-divider{padding-block-start:15px;padding-block-end:15px;}.elementor-1542 .elementor-element.elementor-element-a45b930{font-family:var( --e-global-typography-4369d1d-font-family );}.elementor-1542 .elementor-element.elementor-element-6a0c307{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-1542 .elementor-element.elementor-element-9bcf9eb{--display:flex;}.elementor-1542 .elementor-element.elementor-element-7ae8039{--display:flex;}.elementor-1542 .elementor-element.elementor-element-43a5a02{text-align:left;}.elementor-1542 .elementor-element.elementor-element-43a5a02 .elementor-heading-title{font-family:var( --e-global-typography-8ce087d-font-family );font-size:var( --e-global-typography-8ce087d-font-size );font-weight:var( --e-global-typography-8ce087d-font-weight );color:var( --e-global-color-bdbbd12 );}.elementor-1542 .elementor-element.elementor-element-6db204a{text-align:left;}.elementor-1542 .elementor-element.elementor-element-6db204a .elementor-heading-title{font-family:var( --e-global-typography-605556c-font-family );font-size:var( --e-global-typography-605556c-font-size );font-weight:var( --e-global-typography-605556c-font-weight );color:var( --e-global-color-bdbbd12 );}.elementor-1542 .elementor-element.elementor-element-b035cf3{--divider-border-style:solid;--divider-color:var( --e-global-color-9f6a08d );--divider-border-width:5px;}.elementor-1542 .elementor-element.elementor-element-b035cf3 .elementor-divider-separator{width:10%;}.elementor-1542 .elementor-element.elementor-element-b035cf3 .elementor-divider{padding-block-start:15px;padding-block-end:15px;}.elementor-1542 .elementor-element.elementor-element-58b5850{font-family:var( --e-global-typography-4369d1d-font-family );}.elementor-1542 .elementor-element.elementor-element-a77ac36{--display:flex;}:root{--page-title-display:none;}@media(min-width:768px){.elementor-1542 .elementor-element.elementor-element-503f651{--content-width:1350px;}}@media(max-width:1024px){.elementor-1542 .elementor-element.elementor-element-1608e81 .elementor-heading-title{font-size:var( --e-global-typography-8ce087d-font-size );}.elementor-1542 .elementor-element.elementor-element-bea7b0a .elementor-heading-title{font-size:var( --e-global-typography-605556c-font-size );}.elementor-1542 .elementor-element.elementor-element-58b7ffa .elementor-heading-title{font-size:var( --e-global-typography-8ce087d-font-size );}.elementor-1542 .elementor-element.elementor-element-048586f .elementor-heading-title{font-size:var( --e-global-typography-605556c-font-size );}.elementor-1542 .elementor-element.elementor-element-0590ab9 .elementor-heading-title{font-size:var( --e-global-typography-8ce087d-font-size );}.elementor-1542 .elementor-element.elementor-element-509258e .elementor-heading-title{font-size:var( --e-global-typography-605556c-font-size );}.elementor-1542 .elementor-element.elementor-element-23f1b94 .elementor-heading-title{font-size:var( --e-global-typography-8ce087d-font-size );}.elementor-1542 .elementor-element.elementor-element-f93dfa4 .elementor-heading-title{font-size:var( --e-global-typography-605556c-font-size );}.elementor-1542 .elementor-element.elementor-element-46a6c55 .elementor-heading-title{font-size:var( --e-global-typography-8ce087d-font-size );}.elementor-1542 .elementor-element.elementor-element-f8e906c .elementor-heading-title{font-size:var( --e-global-typography-605556c-font-size );}.elementor-1542 .elementor-element.elementor-element-43a5a02 .elementor-heading-title{font-size:var( --e-global-typography-8ce087d-font-size );}.elementor-1542 .elementor-element.elementor-element-6db204a .elementor-heading-title{font-size:var( --e-global-typography-605556c-font-size );}}@media(max-width:767px){.elementor-1542 .elementor-element.elementor-element-1608e81 .elementor-heading-title{font-size:var( --e-global-typography-8ce087d-font-size );}.elementor-1542 .elementor-element.elementor-element-bea7b0a .elementor-heading-title{font-size:var( --e-global-typography-605556c-font-size );}.elementor-1542 .elementor-element.elementor-element-58b7ffa .elementor-heading-title{font-size:var( --e-global-typography-8ce087d-font-size );}.elementor-1542 .elementor-element.elementor-element-048586f .elementor-heading-title{font-size:var( --e-global-typography-605556c-font-size );}.elementor-1542 .elementor-element.elementor-element-0590ab9 .elementor-heading-title{font-size:var( --e-global-typography-8ce087d-font-size );}.elementor-1542 .elementor-element.elementor-element-509258e .elementor-heading-title{font-size:var( --e-global-typography-605556c-font-size );}.elementor-1542 .elementor-element.elementor-element-23f1b94 .elementor-heading-title{font-size:var( --e-global-typography-8ce087d-font-size );}.elementor-1542 .elementor-element.elementor-element-f93dfa4 .elementor-heading-title{font-size:var( --e-global-typography-605556c-font-size );}.elementor-1542 .elementor-element.elementor-element-46a6c55 .elementor-heading-title{font-size:var( --e-global-typography-8ce087d-font-size );}.elementor-1542 .elementor-element.elementor-element-f8e906c .elementor-heading-title{font-size:var( --e-global-typography-605556c-font-size );}.elementor-1542 .elementor-element.elementor-element-43a5a02 .elementor-heading-title{font-size:var( --e-global-typography-8ce087d-font-size );}.elementor-1542 .elementor-element.elementor-element-6db204a .elementor-heading-title{font-size:var( --e-global-typography-605556c-font-size );}}/* Start custom CSS for html, class: .elementor-element-ed05996 */.headline-wrapper svg{
  transform: scale(1.8);
  transform-origin: center;
}


/* perspective pour l’effet 3D */
.headline-wrapper{
  perspective: 1000px;
}

/* cible tous les “glyphes” */
.headline-wrapper svg [id]{
  opacity: 0;
  transform: rotateY(90deg);
  transform-origin: center;
  transform-box: fill-box; /* super important sur SVG */
  will-change: transform, opacity;
}

/* quand on active */
.headline-wrapper svg.is-reveal [id]{
  animation: letterFlip 650ms cubic-bezier(.2,.8,.2,1) forwards;
  animation-delay: calc(var(--i, 0) * 55ms);
}

@keyframes letterFlip{
  0%   { opacity: 0; transform: rotateY(90deg); }
  60%  { opacity: 1; }
  100% { opacity: 1; transform: rotateY(0deg); }
}

@media (prefers-reduced-motion: reduce){
  .headline-wrapper svg [id]{
    opacity: 1;
    transform: none;
    animation: none;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-6324a40 *//* Zone globale (durée du pin) */
.pin-zone{
  --start: 25;  /* largeur au début (%) */
  --end: 100;   /* largeur finale (%) */
  --w: 55;      /* valeur animée (ex: 55 -> 100) */

  height: 220vh;              /* durée de la phase “pin” */
  position: relative;
  overflow: visible !important;
}

/* Sticky plein écran */
.pin-sticky{
  position: sticky;
  top: 0;
  height: 100vh;

  display: flex;
  align-items: center;
  justify-content: center;

  overflow: visible !important;
}

/* Cadre (MASQUE) => c’est ICI que tu règles la hauteur visible */
.pin-frame{
  width: calc(var(--w) * 1vw);   /* --w va de 55 à 100 */
  max-width: 100vw;

  height: 500vh;                  /* ✅ règle ici : 70/80/90/100vh */
  max-height: 700vh;

  /* full-bleed même si le parent est boxed */
  position: relative;
  left: 50%;
  transform: translateX(-50%);

  overflow: hidden;              /* crop contrôlé par height */
}

/* Image */
.pin-frame img{
  width: 100%;
  height: 100%;
  display: block;

  object-fit: cover;             /* garde un rendu propre */
  object-position: center;       /* ajuste: center top / center bottom */
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-2ed91df *//* ===== BOUTON AVEC ROND EXTERIEUR + ANIMATION ===== */
.btn-rond-anim{
  /* Mets les variables ici (sur le wrapper), comme ça elles sont dispo partout */
  --dot: 58px;
  --border: 1px;
  --pill-h: 64px;
  --yellow: #E8FF24;
  --gap: 1px; /* espace entre le rond et le bouton (évite la superposition) */

  /* Réserve de place à gauche pour le rond */
  padding-left: calc(var(--dot) + var(--gap));
}

.btn-rond-anim .elementor-button{
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;

  height: var(--pill-h);
  padding: 0 34px;

  border: var(--border) solid #000 !important;
  background: #fff !important;
  color: #111 !important;
  border-radius: 999px !important;

  overflow: visible !important; /* le rond sort du bouton */
  text-decoration: none;
}

/* IMPORTANT : Elementor écrase souvent au hover -> on force aussi ici */
.btn-rond-anim .elementor-button:hover,
.btn-rond-anim .elementor-button:focus,
.btn-rond-anim .elementor-button:active{
  border: var(--border) solid #000 !important;
  background: #fff !important;
  color: #111 !important;
  border-radius: 999px !important;
}

/* Texte au-dessus */
.btn-rond-anim .elementor-button .elementor-button-text{
  position: relative;
  z-index: 4;
}

/* Rond */
.btn-rond-anim .elementor-button::before{
  content: "";
  position: absolute;
  top: 50%;
  left: calc(-1 * (var(--dot) + var(--gap))); /* 👈 plus à gauche => plus de chevauchement */
  width: var(--dot);
  height: var(--dot);
  border-radius: 999px;
  background: var(--yellow);
  transform: translateY(-50%);
  z-index: 2;
  transition: left 420ms cubic-bezier(.2,.8,.2,1);
}

/* Icône dans le rond : + au repos */
.btn-rond-anim .elementor-button::after{
  content: "+";
  position: absolute;
  top: 50%;
  left: calc(-1 * (var(--dot) + var(--gap)));
  width: var(--dot);
  height: var(--dot);
  transform: translateY(-50%);
  z-index: 3;

  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 30px;
  line-height: 1;
  color: #000;

  transition:
    left 420ms cubic-bezier(.2,.8,.2,1),
    transform 420ms cubic-bezier(.2,.8,.2,1),
    content 0ms linear 0ms; /* évite des effets chelous de swap */
}

/* Hover : le rond finit à droite (avec le même gap) */
.btn-rond-anim .elementor-button:hover::before{
  left: calc(100% + var(--gap));
}

/* Hover : flèche inclinée 45° vers le haut */
.btn-rond-anim .elementor-button:hover::after{
  left: calc(100% + var(--gap));
  content: "→";
  font-size: 26px;
  transform: translateY(-50%) rotate(-45deg);
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-b57f7bd *//* ===== BOUTON AVEC ROND EXTERIEUR + ANIMATION ===== */
.btn-rond-anim{
  /* Mets les variables ici (sur le wrapper), comme ça elles sont dispo partout */
  --dot: 58px;
  --border: 1px;
  --pill-h: 64px;
  --yellow: #E8FF24;
  --gap: 1px; /* espace entre le rond et le bouton (évite la superposition) */

  /* Réserve de place à gauche pour le rond */
  padding-left: calc(var(--dot) + var(--gap));
}

.btn-rond-anim .elementor-button{
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;

  height: var(--pill-h);
  padding: 0 34px;

  border: var(--border) solid #000 !important;
  background: #fff !important;
  color: #111 !important;
  border-radius: 999px !important;

  overflow: visible !important; /* le rond sort du bouton */
  text-decoration: none;
}

/* IMPORTANT : Elementor écrase souvent au hover -> on force aussi ici */
.btn-rond-anim .elementor-button:hover,
.btn-rond-anim .elementor-button:focus,
.btn-rond-anim .elementor-button:active{
  border: var(--border) solid #000 !important;
  background: #fff !important;
  color: #111 !important;
  border-radius: 999px !important;
}

/* Texte au-dessus */
.btn-rond-anim .elementor-button .elementor-button-text{
  position: relative;
  z-index: 4;
}

/* Rond */
.btn-rond-anim .elementor-button::before{
  content: "";
  position: absolute;
  top: 50%;
  left: calc(-1 * (var(--dot) + var(--gap))); /* 👈 plus à gauche => plus de chevauchement */
  width: var(--dot);
  height: var(--dot);
  border-radius: 999px;
  background: var(--yellow);
  transform: translateY(-50%);
  z-index: 2;
  transition: left 420ms cubic-bezier(.2,.8,.2,1);
}

/* Icône dans le rond : + au repos */
.btn-rond-anim .elementor-button::after{
  content: "+";
  position: absolute;
  top: 50%;
  left: calc(-1 * (var(--dot) + var(--gap)));
  width: var(--dot);
  height: var(--dot);
  transform: translateY(-50%);
  z-index: 3;

  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 30px;
  line-height: 1;
  color: #000;

  transition:
    left 420ms cubic-bezier(.2,.8,.2,1),
    transform 420ms cubic-bezier(.2,.8,.2,1),
    content 0ms linear 0ms; /* évite des effets chelous de swap */
}

/* Hover : le rond finit à droite (avec le même gap) */
.btn-rond-anim .elementor-button:hover::before{
  left: calc(100% + var(--gap));
}

/* Hover : flèche inclinée 45° vers le haut */
.btn-rond-anim .elementor-button:hover::after{
  left: calc(100% + var(--gap));
  content: "→";
  font-size: 26px;
  transform: translateY(-50%) rotate(-45deg);
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-afa655d */.elementor-1542 .elementor-element.elementor-element-0a4dff4 .elementor-heading-title {

  display: inline-block;
  white-space: nowrap;
  overflow: hidden;
}

..elementor-1542 .elementor-element.elementor-element-0a4dff4 .elementor-heading-title {
  display: inline-block;
  -webkit-mask: linear-gradient(to left, #000 0 0);
  -webkit-mask-size: 0% 100%;
  -webkit-mask-position: right;
  -webkit-mask-repeat: no-repeat;
  animation: sweepMaskLetter 1s cubic-bezier(.2,.6,.2,1) forwards;
}

@keyframes sweepMaskLetter {
  to {
    -webkit-mask-size: 100% 100%;
    -webkit-mask-position: left;
  }
}

@media screen and (max-width: 768px) {
    .elementor-1542 .elementor-element.elementor-element-0a4dff4 .elementor-heading-title {
  font-size: 40px;
}
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-a142ff8 *//* WRAPPER */
.parallax-wrapper{
  position: relative;
}

/* SLIDES */
.parallax-wrapper .slide{
  position: sticky;
  top: 0;
  height: 100vh;
  width: 100%;
  overflow: hidden;
}

/* SLIDE 1 */
.parallax-wrapper .slide-1{
  background: #ffffff;
  z-index: 1;
}

/* SLIDE 2 (arrive d'en bas) */
.parallax-wrapper .slide-2{
  background: transparent;
  z-index: 2;
}

/* SLIDE 3 */
.parallax-wrapper .slide-3{
  background: #1F1F1F; /* change si besoin */
  z-index: 3;
}

/* ELEMENT QUI MONTE (ton PNG) */
.parallax-wrapper .slide-2 .parallax-up{
  position: absolute;
  left: 50%;
  top: 60%;
  transform: translate(-50%, 120%);
  will-change: transform;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-54c959f */.marquee-track span{
  font-family: 'Playfair Display', serif;
  font-weight: 600;
  font-size: clamp(20px, 3vw, 44px);
  letter-spacing: 0.08em;
text-transform: uppercase;
}




.marquee{
  width: 100%;
  overflow: hidden;
  white-space: nowrap;
}

.marquee-track{
  display: inline-flex;
  will-change: transform;
  font-size: 32px;
  animation: marquee 20s linear infinite;
}

.marquee-track span{
  flex-shrink: 0;
  padding-right: 0.5rem;
}

@keyframes marquee{
  from{ transform: translateX(0); }
  to{ transform: translateX(-50%); }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-e19fdff */.marquee-track2 span{
  font-family: 'Source Code Pro', monospace;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.12em;
font-size: 30px;
}

.marquee2{
  width: 100%;
  overflow: hidden;
  white-space: nowrap;
}

.marquee-track2{
  display: inline-flex;
  flex-shrink: 0;
  will-change: transform;
}

.marquee-track2 span{
  flex-shrink: 0;
  padding-right: 0.5rem;
}

/* animation normale (gauche → droite) */
.marquee2{
  --duration: 35s;
}

.marquee2:not(.marquee--reverse2) .marquee-track2{
  animation: marquee-left var(--duration) linear infinite;
}

/* animation inversée (droite → gauche) */
.marquee--reverse2 .marquee-track2{
  animation: marquee-right var(--duration) linear infinite;
}

@keyframes marquee-left{
  from{ transform: translateX(0); }
  to{ transform: translateX(-50%); }
}

@keyframes marquee-right{
  from{ transform: translateX(-50%); }
  to{ transform: translateX(0); }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6997067 */.marquee-track3 span{
  font-family: 'awaken', serif;
  font-weight: 200;
  font-size: clamp(20px, 3vw, 44px);
  letter-spacing: 0.08em;

}




.marquee3{
  width: 100%;
  overflow: hidden;
  white-space: nowrap;
}

.marquee-track3{
  display: inline-flex;
  will-change: transform;
  font-size: 32px;
  animation: marquee 20s linear infinite;
}

.marquee-track3 span{
  flex-shrink: 0;
  padding-right: 0.5rem;
  padding-top: 0.8rem;
}

@keyframes marquee3{
  from{ transform: translateX(0); }
  to{ transform: translateX(-50%); }
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-0580c3d */.elementor-1542 .elementor-element.elementor-element-0a4dff4 .elementor-heading-title {

  display: inline-block;
  white-space: nowrap;
  overflow: hidden;
}

..elementor-1542 .elementor-element.elementor-element-0a4dff4 .elementor-heading-title {
  display: inline-block;
  -webkit-mask: linear-gradient(to left, #000 0 0);
  -webkit-mask-size: 0% 100%;
  -webkit-mask-position: right;
  -webkit-mask-repeat: no-repeat;
  animation: sweepMaskLetter 1s cubic-bezier(.2,.6,.2,1) forwards;
}

@keyframes sweepMaskLetter {
  to {
    -webkit-mask-size: 100% 100%;
    -webkit-mask-position: left;
  }
}

@media screen and (max-width: 768px) {
    .elementor-1542 .elementor-element.elementor-element-0a4dff4 .elementor-heading-title {
  font-size: 40px;
}
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-cefa5f7 *//* ===== PARALLAX WRAP ===== */
.parallax-wrap{
  position: relative;
  height: 500vh;               /* durée du scroll */
  background: #1F1F1F;
}

/* ===== INTRO (sticky pleine hauteur) ===== */
.parallax-intro{
  position: sticky;
  top: 0;
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #1F1F1F;
  z-index: 2;
}

.parallax-title{
  color: #fff;
  text-align: center;
  margin: 0;
}

/* ===== SCENE (sticky) ===== */
.parallax-scene{
  position: sticky;
  top: 0;
  height: 100vh;
  display: flex;
  gap: 60px;
  align-items: center;
  padding: 0 clamp(18px, 5vw, 80px);
  z-index: 3;
  background: #1F1F1F; /* garde le fond noir */
}

/* Colonnes */
.parallax-left,
.parallax-right{
  width: 50%;
}

.parallax-left img{
  width: 100%;
  height: auto;
  display: block;
  border-radius: 18px;
}

/* Texte */
.parallax-right{
  color: #fff;
}

/* Responsive */
@media (max-width: 900px){
  .parallax-scene{
    flex-direction: column;
    gap: 24px;
    padding: 24px;
  }
  .parallax-left,
  .parallax-right{
    width: 100%;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-a77ac36 */.parallax-text{
  position: relative;
  min-height: 120vh; /* espace pour le parallax */
  display: flex;
  align-items: center;
  justify-content: flex-end; /* à droite */
  padding-right: 8vw;        /* marge droite */
}

.parallax-text .elementor-widget{
  max-width: 520px;          /* largeur texte */
}

.parallax-text .parallax-inner{
  transform: translateY(60px);
  opacity: 0;
  transition: none;
  will-change: transform, opacity;
}/* End custom CSS */