.elementor-11 .elementor-element.elementor-element-d4f1dc5{--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:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-11 .elementor-element.elementor-element-d4f1dc5:not(.elementor-motion-effects-element-type-background), .elementor-11 .elementor-element.elementor-element-d4f1dc5 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#000000;}.elementor-11 .elementor-element.elementor-element-7ff779b{--display:flex;--min-height:85vh;--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--e-transform-origin-x:center;--e-transform-origin-y:center;}.elementor-11 .elementor-element.elementor-element-2a860b0{--e-transform-scale:0.7;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;z-index:1;}.elementor-11 .elementor-element.elementor-element-2a860b0 .elementor-wrapper{--video-aspect-ratio:1.77777;filter:brightness( 40% ) contrast( 100% ) saturate( 100% ) blur( 0px ) hue-rotate( 0deg );}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );text-transform:var( --e-global-typography-primary-text-transform );line-height:var( --e-global-typography-primary-line-height );}.elementor-11 .elementor-element.elementor-element-3c8f9d2{width:var( --container-widget-width, 100% );max-width:100%;--e-transform-scale:0.9;padding:0px 0px 0px 0px;--container-widget-width:100%;--container-widget-flex-grow:0;z-index:2;}.elementor-11 .elementor-element.elementor-element-3c8f9d2 .elementor-heading-title{font-family:"OVERSOUR FONT", Sans-serif;font-weight:300;text-transform:uppercase;line-height:88px;color:#FFFFFF;}.elementor-11 .elementor-element.elementor-element-72c9594{--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;--justify-content:space-around;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-11 .elementor-element.elementor-element-72c9594.e-con{--align-self:stretch;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );text-transform:var( --e-global-typography-text-text-transform );line-height:var( --e-global-typography-text-line-height );}.elementor-11 .elementor-element.elementor-element-4cd2bdc{width:100%;max-width:100%;margin:0px 30px calc(var(--kit-widget-spacing, 0px) + 0px) 30px;font-size:var( --e-global-typography-ea088aa-font-size );font-weight:var( --e-global-typography-ea088aa-font-weight );text-transform:var( --e-global-typography-ea088aa-text-transform );line-height:var( --e-global-typography-ea088aa-line-height );color:#FFFFFF;}.elementor-11 .elementor-element.elementor-element-4cd2bdc.elementor-element{--align-self:stretch;--flex-grow:1;--flex-shrink:1;}.elementor-11 .elementor-element.elementor-element-c2f4c89{--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;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-11 .elementor-element.elementor-element-a2e58a4{--display:flex;--min-height:100vh;--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-11 .elementor-element.elementor-element-90e3538{--display:flex;--overflow:hidden;--padding-top:55px;--padding-bottom:80px;--padding-left:0px;--padding-right:0px;}.elementor-11 .elementor-element.elementor-element-90e3538.e-con{--align-self:flex-start;}.elementor-11 .elementor-element.elementor-element-e9e3361{--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;--justify-content:center;}.elementor-11 .elementor-element.elementor-element-1058899{text-align:start;}.elementor-11 .elementor-element.elementor-element-1058899 .elementor-heading-title{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );text-transform:var( --e-global-typography-secondary-text-transform );line-height:var( --e-global-typography-secondary-line-height );}.elementor-11 .elementor-element.elementor-element-d1f7e6d{--display:flex;--flex-direction:row;--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;--justify-content:flex-start;--align-items:center;}.elementor-widget-portfolio .elementor-portfolio-item__title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );text-transform:var( --e-global-typography-primary-text-transform );line-height:var( --e-global-typography-primary-line-height );}.elementor-widget-portfolio .elementor-portfolio__filter{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );text-transform:var( --e-global-typography-primary-text-transform );line-height:var( --e-global-typography-primary-line-height );}.elementor-11 .elementor-element.elementor-element-dab70c0{--grid-row-gap:70px;width:100%;max-width:100%;--grid-column-gap:70px;}.elementor-11 .elementor-element.elementor-element-dab70c0 > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-11 .elementor-element.elementor-element-dab70c0 a .elementor-portfolio-item__overlay{background-color:#0000008C;}.elementor-11 .elementor-element.elementor-element-dab70c0 .elementor-portfolio-item__title{font-family:"OVERSOUR FONT", Sans-serif;font-size:16px;font-weight:400;text-transform:uppercase;line-height:20px;}.elementor-11 .elementor-element.elementor-element-f39982b{--grid-row-gap:70px;width:100%;max-width:100%;--grid-column-gap:70px;}.elementor-11 .elementor-element.elementor-element-f39982b > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-11 .elementor-element.elementor-element-f39982b a .elementor-portfolio-item__overlay{background-color:#0000008C;}.elementor-11 .elementor-element.elementor-element-f39982b .elementor-portfolio-item__title{font-family:"OVERSOUR FONT", Sans-serif;font-size:16px;font-weight:400;text-transform:uppercase;line-height:20px;}.elementor-11 .elementor-element.elementor-element-d14ea55{--grid-row-gap:70px;width:100%;max-width:100%;--grid-column-gap:70px;}.elementor-11 .elementor-element.elementor-element-d14ea55 > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-11 .elementor-element.elementor-element-d14ea55 a .elementor-portfolio-item__overlay{background-color:#0000008C;}.elementor-11 .elementor-element.elementor-element-d14ea55 .elementor-portfolio-item__title{font-family:"OVERSOUR FONT", Sans-serif;font-size:16px;font-weight:400;text-transform:uppercase;line-height:20px;}.elementor-11 .elementor-element.elementor-element-f49fb01{--grid-row-gap:70px;width:100%;max-width:100%;--grid-column-gap:70px;}.elementor-11 .elementor-element.elementor-element-f49fb01 > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-11 .elementor-element.elementor-element-f49fb01 a .elementor-portfolio-item__overlay{background-color:#0000008C;}.elementor-11 .elementor-element.elementor-element-f49fb01 .elementor-portfolio-item__title{font-family:"OVERSOUR FONT", Sans-serif;font-size:16px;font-weight:400;text-transform:uppercase;line-height:20px;}.elementor-11 .elementor-element.elementor-element-7e1563d{--grid-row-gap:70px;width:100%;max-width:100%;--grid-column-gap:70px;}.elementor-11 .elementor-element.elementor-element-7e1563d > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-11 .elementor-element.elementor-element-7e1563d a .elementor-portfolio-item__overlay{background-color:#0000008C;}.elementor-11 .elementor-element.elementor-element-7e1563d .elementor-portfolio-item__title{font-family:"OVERSOUR FONT", Sans-serif;font-size:16px;font-weight:400;text-transform:uppercase;line-height:20px;}.elementor-11 .elementor-element.elementor-element-a0d6cce{--display:flex;--min-height:100vh;--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:space-between;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:25px;--padding-bottom:25px;--padding-left:0px;--padding-right:0px;}.elementor-11 .elementor-element.elementor-element-a0d6cce:not(.elementor-motion-effects-element-type-background), .elementor-11 .elementor-element.elementor-element-a0d6cce > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFF9F4;}.elementor-11 .elementor-element.elementor-element-837ef52{--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-11 .elementor-element.elementor-element-5984c49{--display:flex;}.elementor-11 .elementor-element.elementor-element-5984c49.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-11 .elementor-element.elementor-element-6479cc5 .elementor-heading-title{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );text-transform:var( --e-global-typography-secondary-text-transform );line-height:var( --e-global-typography-secondary-line-height );}.elementor-11 .elementor-element.elementor-element-03e48e7{--display:flex;--align-items:flex-end;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-11 .elementor-element.elementor-element-03e48e7.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-11 .elementor-element.elementor-element-7c066fc{--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;--justify-content:flex-end;}.elementor-11 .elementor-element.elementor-element-2f0e6ec{--display:flex;}.elementor-11 .elementor-element.elementor-element-2f0e6ec.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-11 .elementor-element.elementor-element-fcfa3be{font-size:var( --e-global-typography-1cb0c76-font-size );font-weight:var( --e-global-typography-1cb0c76-font-weight );text-transform:var( --e-global-typography-1cb0c76-text-transform );line-height:var( --e-global-typography-1cb0c76-line-height );}.elementor-widget-divider .elementor-divider__text{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );text-transform:var( --e-global-typography-secondary-text-transform );line-height:var( --e-global-typography-secondary-line-height );}.elementor-11 .elementor-element.elementor-element-77afa44{--divider-border-style:solid;--divider-color:#000;--divider-border-width:1px;}.elementor-11 .elementor-element.elementor-element-77afa44 .elementor-divider-separator{width:100%;}.elementor-11 .elementor-element.elementor-element-77afa44 .elementor-divider{padding-block-start:2px;padding-block-end:2px;}.elementor-11 .elementor-element.elementor-element-86cd066{font-size:var( --e-global-typography-ea088aa-font-size );font-weight:var( --e-global-typography-ea088aa-font-weight );text-transform:var( --e-global-typography-ea088aa-text-transform );line-height:var( --e-global-typography-ea088aa-line-height );}.elementor-11 .elementor-element.elementor-element-bab6e74{--display:flex;}.elementor-11 .elementor-element.elementor-element-259fff5{font-size:var( --e-global-typography-1cb0c76-font-size );font-weight:var( --e-global-typography-1cb0c76-font-weight );text-transform:var( --e-global-typography-1cb0c76-text-transform );line-height:var( --e-global-typography-1cb0c76-line-height );}.elementor-11 .elementor-element.elementor-element-f582fba{--divider-border-style:solid;--divider-color:#000;--divider-border-width:1px;}.elementor-11 .elementor-element.elementor-element-f582fba .elementor-divider-separator{width:100%;}.elementor-11 .elementor-element.elementor-element-f582fba .elementor-divider{padding-block-start:2px;padding-block-end:2px;}.elementor-11 .elementor-element.elementor-element-066daaa{font-size:var( --e-global-typography-ea088aa-font-size );font-weight:var( --e-global-typography-ea088aa-font-weight );text-transform:var( --e-global-typography-ea088aa-text-transform );line-height:var( --e-global-typography-ea088aa-line-height );}.elementor-11 .elementor-element.elementor-element-a30de26{--display:flex;}.elementor-11 .elementor-element.elementor-element-97471db{font-size:var( --e-global-typography-1cb0c76-font-size );font-weight:var( --e-global-typography-1cb0c76-font-weight );text-transform:var( --e-global-typography-1cb0c76-text-transform );line-height:var( --e-global-typography-1cb0c76-line-height );}.elementor-11 .elementor-element.elementor-element-ff2785f{--divider-border-style:solid;--divider-color:#000;--divider-border-width:1px;}.elementor-11 .elementor-element.elementor-element-ff2785f .elementor-divider-separator{width:100%;}.elementor-11 .elementor-element.elementor-element-ff2785f .elementor-divider{padding-block-start:2px;padding-block-end:2px;}.elementor-11 .elementor-element.elementor-element-df12127{font-size:var( --e-global-typography-ea088aa-font-size );font-weight:var( --e-global-typography-ea088aa-font-weight );text-transform:var( --e-global-typography-ea088aa-text-transform );line-height:var( --e-global-typography-ea088aa-line-height );}:root{--page-title-display:none;}@media(min-width:768px){.elementor-11 .elementor-element.elementor-element-7ff779b{--content-width:817px;}.elementor-11 .elementor-element.elementor-element-5984c49{--width:50%;}.elementor-11 .elementor-element.elementor-element-03e48e7{--width:50%;}.elementor-11 .elementor-element.elementor-element-2f0e6ec{--width:68.097%;}}@media(max-width:1024px){.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-11 .elementor-element.elementor-element-4cd2bdc{font-size:var( --e-global-typography-ea088aa-font-size );line-height:var( --e-global-typography-ea088aa-line-height );}.elementor-11 .elementor-element.elementor-element-1058899 .elementor-heading-title{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );}.elementor-widget-portfolio .elementor-portfolio-item__title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );}.elementor-widget-portfolio .elementor-portfolio__filter{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );}.elementor-11 .elementor-element.elementor-element-6479cc5 .elementor-heading-title{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );}.elementor-11 .elementor-element.elementor-element-fcfa3be{font-size:var( --e-global-typography-1cb0c76-font-size );line-height:var( --e-global-typography-1cb0c76-line-height );}.elementor-widget-divider .elementor-divider__text{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );}.elementor-11 .elementor-element.elementor-element-86cd066{font-size:var( --e-global-typography-ea088aa-font-size );line-height:var( --e-global-typography-ea088aa-line-height );}.elementor-11 .elementor-element.elementor-element-259fff5{font-size:var( --e-global-typography-1cb0c76-font-size );line-height:var( --e-global-typography-1cb0c76-line-height );}.elementor-11 .elementor-element.elementor-element-066daaa{font-size:var( --e-global-typography-ea088aa-font-size );line-height:var( --e-global-typography-ea088aa-line-height );}.elementor-11 .elementor-element.elementor-element-97471db{font-size:var( --e-global-typography-1cb0c76-font-size );line-height:var( --e-global-typography-1cb0c76-line-height );}.elementor-11 .elementor-element.elementor-element-df12127{font-size:var( --e-global-typography-ea088aa-font-size );line-height:var( --e-global-typography-ea088aa-line-height );}}@media(max-width:767px){.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );}.elementor-11 .elementor-element.elementor-element-3c8f9d2 .elementor-heading-title{font-size:36px;line-height:55px;}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-11 .elementor-element.elementor-element-4cd2bdc{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;font-size:var( --e-global-typography-ea088aa-font-size );line-height:var( --e-global-typography-ea088aa-line-height );}.elementor-11 .elementor-element.elementor-element-1058899 .elementor-heading-title{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );}.elementor-widget-portfolio .elementor-portfolio-item__title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );}.elementor-widget-portfolio .elementor-portfolio__filter{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );}.elementor-11 .elementor-element.elementor-element-6479cc5 .elementor-heading-title{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );}.elementor-11 .elementor-element.elementor-element-fcfa3be{font-size:var( --e-global-typography-1cb0c76-font-size );line-height:var( --e-global-typography-1cb0c76-line-height );}.elementor-widget-divider .elementor-divider__text{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );}.elementor-11 .elementor-element.elementor-element-86cd066{font-size:var( --e-global-typography-ea088aa-font-size );line-height:var( --e-global-typography-ea088aa-line-height );}.elementor-11 .elementor-element.elementor-element-259fff5{font-size:var( --e-global-typography-1cb0c76-font-size );line-height:var( --e-global-typography-1cb0c76-line-height );}.elementor-11 .elementor-element.elementor-element-066daaa{font-size:var( --e-global-typography-ea088aa-font-size );line-height:var( --e-global-typography-ea088aa-line-height );}.elementor-11 .elementor-element.elementor-element-97471db{font-size:var( --e-global-typography-1cb0c76-font-size );line-height:var( --e-global-typography-1cb0c76-line-height );}.elementor-11 .elementor-element.elementor-element-df12127{font-size:var( --e-global-typography-ea088aa-font-size );line-height:var( --e-global-typography-ea088aa-line-height );}}/* Start custom CSS for heading, class: .elementor-element-3c8f9d2 */.texte-scale-poesie {
  width: 150px;
  color: #000;
  height: auto;
  mix-blend-mode: difference !important;
  z-index: 1000;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-7ff779b *//* Le conteneur parent */
.hero-video {
  position: relative;
  width: 100%;
  height: 100vh;
  overflow: hidden;
  background-color: #000;
  display: block; /* On repasse en block pour gérer l'absolu proprement */
}

/* La vidéo : elle occupe tout l'espace en arrière-plan */
.hero-video .video-scale,
.hero-video .video-scale iframe {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
}

/* Le texte : Centrage ABSOLU forcé */
.hero-video .texte-scale-poesie {
  position: absolute;
  /* Ces 4 lignes forcent le centrage parfait peu importe le reste */
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  
  width: 90%;
  max-width: 900px;
  z-index: 10;
  text-align: center;
  color: white;
  font-size: 3rem;
  margin: 0 !important;
  padding: 0 !important;
  pointer-events: none;
}

/* Ajustements Mobile */
@media (max-width: 768px) {
  .hero-video .texte-scale-poesie {
    font-size: 2rem;
  }
}

@media (max-width: 480px) {
  .hero-video .texte-scale-poesie {
    font-size: 1.5rem;
  }
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-4cd2bdc */.texte-sticky-skill p {
  text-align: justify;
  text-justify: inter-word;
}/* End custom CSS */
/* Start custom CSS for portfolio, class: .elementor-element-dab70c0 *//* ============================================================
   PORTFOLIO ELEMENTOR — VERSION FINALE SANS CONTOUR NOIR
   ============================================================ */

/* 1. Conteneur de la carte */
.elementor-portfolio-item {
    position: relative;
    overflow: hidden;
    display: flex !important;
    flex-direction: column;
    width: 100%;
    aspect-ratio: 1/1 !important;
    background-color: #000;
    /* Nettoyage des ombres et bordures parasites */
    border: none !important;
    box-shadow: none !important;
}

/* 2. On s'assure que le lien et l'image remplissent ce ratio */
.elementor-portfolio-item .elementor-post__thumbnail__link,
.elementor-portfolio-item__img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
}

.elementor-portfolio-item .elementor-post__thumbnail img,
.elementor-portfolio-item__img img {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    /* L'astuce : on agrandit très légèrement l'image (1.02) pour qu'elle mange le bord noir */
    transform: translate(-50%, -50%) scale(1.02) !important;
    width: 101% !important;
    height: 101% !important;
    object-fit: cover !important;
    object-position: center !important;
    transition: filter .5s ease, transform .5s ease !important;
    border: none !important;
}

/* 3. Effet de flou + Léger Zoom au survol pour garantir la couverture des bords */
.elementor-portfolio-item:hover .elementor-portfolio-item__img img,
.elementor-portfolio-item:hover .elementor-post__thumbnail img {
    filter: blur(4px);
    transform: translate(-50%, -50%) scale(1.05) !important;
}

/* 4. Overlay : On l'étend d'un pixel pour être sûr de couvrir les angles */
.elementor-portfolio-item__overlay {
    position: absolute !important;
    inset: -1px !important; /* Déborde de 1px pour masquer le liseré */
    z-index: 2;
    background-color: rgba(0,0,0,0.3);
    opacity: 0;
    transition: opacity 0.5s ease;
    border: none !important;
}

.elementor-portfolio-item:hover .elementor-portfolio-item__overlay {
    opacity: 1;
}

.elementor-portfolio-item__overlay-inner {
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 20px;
    color: #ffffff;
}

/* 5. Ligne du haut : Titre et Bouton */
.elementor-portfolio-top {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 12px;
}

.elementor-portfolio-item__title {
    margin: 0;
    text-align: left;
    color: #ffffff !important;
}

/* 6. Bouton Découvrir */
.elementor-portfolio-discover {
    display: inline-block;
    padding: 6px 14px;
    border: 1px solid #ffffff;
    border-radius: 50px;
    color: #ffffff;
    text-decoration: none;
    font-weight: 400;
    font-size: 12px;
    text-transform: none;
    line-height: 1.2;
    vertical-align: middle;
    transition: all .3s ease;
    position: relative;
    top: -4px;
    pointer-events: auto;
}

.elementor-portfolio-discover:hover {
    background: #ffffff;
    color: #000000;
    border-color: #ffffff;
}

/* 7. Ligne du bas : Taxonomies */
.elementor-portfolio-bottom {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 6px;
    font-size: 12px;
    color: #ffffff;
    text-transform: uppercase;
    letter-spacing: .02em;
}

/* 8. Adaptation Mobile */
@media (max-width: 768px) {
    .elementor-portfolio-discover {
        display: block;
        margin-top: 10px;
        width: max-content;
        top: 0;
    }
    
    .elementor-portfolio-item__overlay {
        opacity: 1;
    }
}/* End custom CSS */
/* Start custom CSS for portfolio, class: .elementor-element-f39982b *//* ============================================================
   PORTFOLIO ELEMENTOR — VERSION FINALE SANS CONTOUR NOIR
   ============================================================ */

/* 1. Conteneur de la carte */
.elementor-portfolio-item {
    position: relative;
    overflow: hidden;
    display: flex !important;
    flex-direction: column;
    width: 100%;
    aspect-ratio: 1/1 !important;
    background-color: #000;
    /* Nettoyage des ombres et bordures parasites */
    border: none !important;
    box-shadow: none !important;
}

/* 2. On s'assure que le lien et l'image remplissent ce ratio */
.elementor-portfolio-item .elementor-post__thumbnail__link,
.elementor-portfolio-item__img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
}

.elementor-portfolio-item .elementor-post__thumbnail img,
.elementor-portfolio-item__img img {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    /* L'astuce : on agrandit très légèrement l'image (1.02) pour qu'elle mange le bord noir */
    transform: translate(-50%, -50%) scale(1.02) !important;
    width: 101% !important;
    height: 101% !important;
    object-fit: cover !important;
    object-position: center !important;
    transition: filter .5s ease, transform .5s ease !important;
    border: none !important;
}

/* 3. Effet de flou + Léger Zoom au survol pour garantir la couverture des bords */
.elementor-portfolio-item:hover .elementor-portfolio-item__img img,
.elementor-portfolio-item:hover .elementor-post__thumbnail img {
    filter: blur(4px);
    transform: translate(-50%, -50%) scale(1.05) !important;
}

/* 4. Overlay : On l'étend d'un pixel pour être sûr de couvrir les angles */
.elementor-portfolio-item__overlay {
    position: absolute !important;
    inset: -1px !important; /* Déborde de 1px pour masquer le liseré */
    z-index: 2;
    background-color: rgba(0,0,0,0.3);
    opacity: 0;
    transition: opacity 0.5s ease;
    border: none !important;
}

.elementor-portfolio-item:hover .elementor-portfolio-item__overlay {
    opacity: 1;
}

.elementor-portfolio-item__overlay-inner {
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 20px;
    color: #ffffff;
}

/* 5. Ligne du haut : Titre et Bouton */
.elementor-portfolio-top {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 12px;
}

.elementor-portfolio-item__title {
    margin: 0;
    text-align: left;
    color: #ffffff !important;
}

/* 6. Bouton Découvrir */
.elementor-portfolio-discover {
    display: inline-block;
    padding: 6px 14px;
    border: 1px solid #ffffff;
    border-radius: 50px;
    color: #ffffff;
    text-decoration: none;
    font-weight: 400;
    font-size: 12px;
    text-transform: none;
    line-height: 1.2;
    vertical-align: middle;
    transition: all .3s ease;
    position: relative;
    top: -4px;
    pointer-events: auto;
}

.elementor-portfolio-discover:hover {
    background: #ffffff;
    color: #000000;
    border-color: #ffffff;
}

/* 7. Ligne du bas : Taxonomies */
.elementor-portfolio-bottom {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 6px;
    font-size: 12px;
    color: #ffffff;
    text-transform: uppercase;
    letter-spacing: .02em;
}

/* 8. Adaptation Mobile */
@media (max-width: 768px) {
    .elementor-portfolio-discover {
        display: block;
        margin-top: 10px;
        width: max-content;
        top: 0;
    }
    
    .elementor-portfolio-item__overlay {
        opacity: 1;
    }
}/* End custom CSS */
/* Start custom CSS for portfolio, class: .elementor-element-d14ea55 *//* ============================================================
   PORTFOLIO ELEMENTOR — VERSION FINALE SANS CONTOUR NOIR
   ============================================================ */

/* 1. Conteneur de la carte */
.elementor-portfolio-item {
    position: relative;
    overflow: hidden;
    display: flex !important;
    flex-direction: column;
    width: 100%;
    aspect-ratio: 1/1 !important;
    background-color: #000;
    /* Nettoyage des ombres et bordures parasites */
    border: none !important;
    box-shadow: none !important;
}

/* 2. On s'assure que le lien et l'image remplissent ce ratio */
.elementor-portfolio-item .elementor-post__thumbnail__link,
.elementor-portfolio-item__img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
}

.elementor-portfolio-item .elementor-post__thumbnail img,
.elementor-portfolio-item__img img {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    /* L'astuce : on agrandit très légèrement l'image (1.02) pour qu'elle mange le bord noir */
    transform: translate(-50%, -50%) scale(1.02) !important;
    width: 101% !important;
    height: 101% !important;
    object-fit: cover !important;
    object-position: center !important;
    transition: filter .5s ease, transform .5s ease !important;
    border: none !important;
}

/* 3. Effet de flou + Léger Zoom au survol pour garantir la couverture des bords */
.elementor-portfolio-item:hover .elementor-portfolio-item__img img,
.elementor-portfolio-item:hover .elementor-post__thumbnail img {
    filter: blur(4px);
    transform: translate(-50%, -50%) scale(1.05) !important;
}

/* 4. Overlay : On l'étend d'un pixel pour être sûr de couvrir les angles */
.elementor-portfolio-item__overlay {
    position: absolute !important;
    inset: -1px !important; /* Déborde de 1px pour masquer le liseré */
    z-index: 2;
    background-color: rgba(0,0,0,0.3);
    opacity: 0;
    transition: opacity 0.5s ease;
    border: none !important;
}

.elementor-portfolio-item:hover .elementor-portfolio-item__overlay {
    opacity: 1;
}

.elementor-portfolio-item__overlay-inner {
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 20px;
    color: #ffffff;
}

/* 5. Ligne du haut : Titre et Bouton */
.elementor-portfolio-top {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 12px;
}

.elementor-portfolio-item__title {
    margin: 0;
    text-align: left;
    color: #ffffff !important;
}

/* 6. Bouton Découvrir */
.elementor-portfolio-discover {
    display: inline-block;
    padding: 6px 14px;
    border: 1px solid #ffffff;
    border-radius: 50px;
    color: #ffffff;
    text-decoration: none;
    font-weight: 400;
    font-size: 12px;
    text-transform: none;
    line-height: 1.2;
    vertical-align: middle;
    transition: all .3s ease;
    position: relative;
    top: -4px;
    pointer-events: auto;
}

.elementor-portfolio-discover:hover {
    background: #ffffff;
    color: #000000;
    border-color: #ffffff;
}

/* 7. Ligne du bas : Taxonomies */
.elementor-portfolio-bottom {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 6px;
    font-size: 12px;
    color: #ffffff;
    text-transform: uppercase;
    letter-spacing: .02em;
}

/* 8. Adaptation Mobile */
@media (max-width: 768px) {
    .elementor-portfolio-discover {
        display: block;
        margin-top: 10px;
        width: max-content;
        top: 0;
    }
    
    .elementor-portfolio-item__overlay {
        opacity: 1;
    }
}/* End custom CSS */
/* Start custom CSS for portfolio, class: .elementor-element-f49fb01 *//* ============================================================
   PORTFOLIO ELEMENTOR — VERSION FINALE SANS CONTOUR NOIR
   ============================================================ */

/* 1. Conteneur de la carte */
.elementor-portfolio-item {
    position: relative;
    overflow: hidden;
    display: flex !important;
    flex-direction: column;
    width: 100%;
    aspect-ratio: 1/1 !important;
    background-color: #000;
    /* Nettoyage des ombres et bordures parasites */
    border: none !important;
    box-shadow: none !important;
}

/* 2. On s'assure que le lien et l'image remplissent ce ratio */
.elementor-portfolio-item .elementor-post__thumbnail__link,
.elementor-portfolio-item__img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
}

.elementor-portfolio-item .elementor-post__thumbnail img,
.elementor-portfolio-item__img img {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    /* L'astuce : on agrandit très légèrement l'image (1.02) pour qu'elle mange le bord noir */
    transform: translate(-50%, -50%) scale(1.02) !important;
    width: 101% !important;
    height: 101% !important;
    object-fit: cover !important;
    object-position: center !important;
    transition: filter .5s ease, transform .5s ease !important;
    border: none !important;
}

/* 3. Effet de flou + Léger Zoom au survol pour garantir la couverture des bords */
.elementor-portfolio-item:hover .elementor-portfolio-item__img img,
.elementor-portfolio-item:hover .elementor-post__thumbnail img {
    filter: blur(4px);
    transform: translate(-50%, -50%) scale(1.05) !important;
}

/* 4. Overlay : On l'étend d'un pixel pour être sûr de couvrir les angles */
.elementor-portfolio-item__overlay {
    position: absolute !important;
    inset: -1px !important; /* Déborde de 1px pour masquer le liseré */
    z-index: 2;
    background-color: rgba(0,0,0,0.3);
    opacity: 0;
    transition: opacity 0.5s ease;
    border: none !important;
}

.elementor-portfolio-item:hover .elementor-portfolio-item__overlay {
    opacity: 1;
}

.elementor-portfolio-item__overlay-inner {
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 20px;
    color: #ffffff;
}

/* 5. Ligne du haut : Titre et Bouton */
.elementor-portfolio-top {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 12px;
}

.elementor-portfolio-item__title {
    margin: 0;
    text-align: left;
    color: #ffffff !important;
}

/* 6. Bouton Découvrir */
.elementor-portfolio-discover {
    display: inline-block;
    padding: 6px 14px;
    border: 1px solid #ffffff;
    border-radius: 50px;
    color: #ffffff;
    text-decoration: none;
    font-weight: 400;
    font-size: 12px;
    text-transform: none;
    line-height: 1.2;
    vertical-align: middle;
    transition: all .3s ease;
    position: relative;
    top: -4px;
    pointer-events: auto;
}

.elementor-portfolio-discover:hover {
    background: #ffffff;
    color: #000000;
    border-color: #ffffff;
}

/* 7. Ligne du bas : Taxonomies */
.elementor-portfolio-bottom {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 6px;
    font-size: 12px;
    color: #ffffff;
    text-transform: uppercase;
    letter-spacing: .02em;
}

/* 8. Adaptation Mobile */
@media (max-width: 768px) {
    .elementor-portfolio-discover {
        display: block;
        margin-top: 10px;
        width: max-content;
        top: 0;
    }
    
    .elementor-portfolio-item__overlay {
        opacity: 1;
    }
}/* End custom CSS */
/* Start custom CSS for portfolio, class: .elementor-element-7e1563d *//* ============================================================
   PORTFOLIO ELEMENTOR — VERSION FINALE SANS CONTOUR NOIR
   ============================================================ */

/* 1. Conteneur de la carte */
.elementor-portfolio-item {
    position: relative;
    overflow: hidden;
    display: flex !important;
    flex-direction: column;
    width: 100%;
    aspect-ratio: 1/1 !important;
    background-color: #000;
    /* Nettoyage des ombres et bordures parasites */
    border: none !important;
    box-shadow: none !important;
}

/* 2. On s'assure que le lien et l'image remplissent ce ratio */
.elementor-portfolio-item .elementor-post__thumbnail__link,
.elementor-portfolio-item__img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
}

.elementor-portfolio-item .elementor-post__thumbnail img,
.elementor-portfolio-item__img img {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    /* L'astuce : on agrandit très légèrement l'image (1.02) pour qu'elle mange le bord noir */
    transform: translate(-50%, -50%) scale(1.02) !important;
    width: 101% !important;
    height: 101% !important;
    object-fit: cover !important;
    object-position: center !important;
    transition: filter .5s ease, transform .5s ease !important;
    border: none !important;
}

/* 3. Effet de flou + Léger Zoom au survol pour garantir la couverture des bords */
.elementor-portfolio-item:hover .elementor-portfolio-item__img img,
.elementor-portfolio-item:hover .elementor-post__thumbnail img {
    filter: blur(4px);
    transform: translate(-50%, -50%) scale(1.05) !important;
}

/* 4. Overlay : On l'étend d'un pixel pour être sûr de couvrir les angles */
.elementor-portfolio-item__overlay {
    position: absolute !important;
    inset: -1px !important; /* Déborde de 1px pour masquer le liseré */
    z-index: 2;
    background-color: rgba(0,0,0,0.3);
    opacity: 0;
    transition: opacity 0.5s ease;
    border: none !important;
}

.elementor-portfolio-item:hover .elementor-portfolio-item__overlay {
    opacity: 1;
}

.elementor-portfolio-item__overlay-inner {
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 20px;
    color: #ffffff;
}

/* 5. Ligne du haut : Titre et Bouton */
.elementor-portfolio-top {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 12px;
}

.elementor-portfolio-item__title {
    margin: 0;
    text-align: left;
    color: #ffffff !important;
}

/* 6. Bouton Découvrir */
.elementor-portfolio-discover {
    display: inline-block;
    padding: 6px 14px;
    border: 1px solid #ffffff;
    border-radius: 50px;
    color: #ffffff;
    text-decoration: none;
    font-weight: 400;
    font-size: 12px;
    text-transform: none;
    line-height: 1.2;
    vertical-align: middle;
    transition: all .3s ease;
    position: relative;
    top: -4px;
    pointer-events: auto;
}

.elementor-portfolio-discover:hover {
    background: #ffffff;
    color: #000000;
    border-color: #ffffff;
}

/* 7. Ligne du bas : Taxonomies */
.elementor-portfolio-bottom {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 6px;
    font-size: 12px;
    color: #ffffff;
    text-transform: uppercase;
    letter-spacing: .02em;
}

/* 8. Adaptation Mobile */
@media (max-width: 768px) {
    .elementor-portfolio-discover {
        display: block;
        margin-top: 10px;
        width: max-content;
        top: 0;
    }
    
    .elementor-portfolio-item__overlay {
        opacity: 1;
    }
}/* End custom CSS */
/* Start custom CSS *//* ============================================================
   STRUCTURE DE LA PISTE (ZONE DE SCROLL)
   ============================================================ */
.piste-scroll {
    position: relative !important;
    /* On garde une piste longue (600vh) pour que le scroll soit plus doux */
    height: 600vh !important; 
    margin: 0 !important;
}

/* LE CADRE STICKY (L'ÉCRAN FIXE) */
.cadre-sticky {
    position: -webkit-sticky !important;
    position: sticky !important;
    top: 0 !important;
    height: 100vh !important;
    width: 100% !important;
    overflow: hidden !important;
    display: flex !important;
    align-items: center !important;
}

/* ============================================================
   LE TRAIN (MOUVEMENT HORIZONTAL)
   ============================================================ */
.train-projets {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    padding-left: 250vw !important; /* Ton réglage de décalage initial */
    width: fit-content !important;
    
    /* OPTIMISATIONS ANTI-SACCADES */
    will-change: transform;
    transform-style: preserve-3d;
    backface-visibility: hidden;
    transition: none !important; /* Très important : empêche le CSS de lutter contre le JS */
}

/* ============================================================
   LES CARTES PROJETS (RATIO 1:1)
   ============================================================ */
.train-projets .elementor-portfolio-item {
    position: relative !important;
    flex: 0 0 500px !important; 
    width: 500px !important;
    aspect-ratio: 1 / 1 !important; /* Ton ratio carré */
    margin-right: 80px !important;
    overflow: hidden;
    background: #000; /* Fond noir de sécurité */
}

/* L'IMAGE : PLEIN ÉCRAN (COVER) DANS LA CARRE */
.train-projets .elementor-portfolio-item__img,
.train-projets .elementor-portfolio-item__img img,
.train-projets .elementor-post__thumbnail img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important; /* Remplit tout le carré sans bords noirs */
    object-position: center !important;
    display: block !important;
    transition: filter .5s ease; /* Garde ton effet de flou */
}

/* ============================================================
   EFFETS DE HOVER ET OVERLAY (CONSERVÉS)
   ============================================================ */
/* Flou au survol */
.train-projets .elementor-portfolio-item:hover .elementor-portfolio-item__img img {
    filter: blur(4px);
}

/* Overlay */
.elementor-portfolio-item__overlay {
    position: absolute !important;
    inset: 0 !important;
    z-index: 2;
    background-color: rgba(0,0,0,0.3);
    opacity: 0;
    transition: opacity 0.5s ease;
}

.elementor-portfolio-item:hover .elementor-portfolio-item__overlay {
    opacity: 1;
}

.elementor-portfolio-item__overlay-inner {
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 25px;
    color: #ffffff;
}

/* Bouton Découvrir */
.elementor-portfolio-discover {
    display: inline-block;
    padding: 7px 16px;
    border: 1px solid #ffffff;
    border-radius: 50px;
    color: #ffffff;
    text-decoration: none;
    font-size: 11px;
    text-transform: uppercase;
    transition: all .3s ease;
    align-self: flex-end;
}

.elementor-portfolio-discover:hover {
    background: #ffffff;
    color: #000000;
}/* End custom CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'OVERSOUR FONT';
	font-style: normal;
	font-weight: 100;
	font-display: auto;
	src: url('https://elyseniezgoda.co/wp-content/uploads/2025/08/CabinetGrotesk-Thin.woff') format('woff');
}
@font-face {
	font-family: 'OVERSOUR FONT';
	font-style: normal;
	font-weight: 200;
	font-display: auto;
	src: url('https://elyseniezgoda.co/wp-content/uploads/2025/08/CabinetGrotesk-Extralight.woff') format('woff');
}
@font-face {
	font-family: 'OVERSOUR FONT';
	font-style: normal;
	font-weight: 300;
	font-display: auto;
	src: url('https://elyseniezgoda.co/wp-content/uploads/2025/08/CabinetGrotesk-Light.woff') format('woff');
}
@font-face {
	font-family: 'OVERSOUR FONT';
	font-style: normal;
	font-weight: 400;
	font-display: auto;
	src: url('https://elyseniezgoda.co/wp-content/uploads/2025/08/CabinetGrotesk-Regular.woff') format('woff');
}
@font-face {
	font-family: 'OVERSOUR FONT';
	font-style: normal;
	font-weight: 500;
	font-display: auto;
	src: url('https://elyseniezgoda.co/wp-content/uploads/2025/08/CabinetGrotesk-Medium.woff') format('woff');
}
@font-face {
	font-family: 'OVERSOUR FONT';
	font-style: normal;
	font-weight: 600;
	font-display: auto;
	src: url('https://elyseniezgoda.co/wp-content/uploads/2025/08/CabinetGrotesk-Bold.woff') format('woff');
}
@font-face {
	font-family: 'OVERSOUR FONT';
	font-style: normal;
	font-weight: 700;
	font-display: auto;
	src: url('https://elyseniezgoda.co/wp-content/uploads/2025/08/CabinetGrotesk-Extrabold.woff') format('woff');
}
@font-face {
	font-family: 'OVERSOUR FONT';
	font-style: normal;
	font-weight: 800;
	font-display: auto;
	src: url('https://elyseniezgoda.co/wp-content/uploads/2025/08/CabinetGrotesk-Black.woff') format('woff');
}
/* End Custom Fonts CSS */