.elementor-90 .elementor-element.elementor-element-ae87e8b{--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:flex-end;--overlay-opacity:0.1;}.elementor-90 .elementor-element.elementor-element-ae87e8b::before, .elementor-90 .elementor-element.elementor-element-ae87e8b > .elementor-background-video-container::before, .elementor-90 .elementor-element.elementor-element-ae87e8b > .e-con-inner > .elementor-background-video-container::before, .elementor-90 .elementor-element.elementor-element-ae87e8b > .elementor-background-slideshow::before, .elementor-90 .elementor-element.elementor-element-ae87e8b > .e-con-inner > .elementor-background-slideshow::before, .elementor-90 .elementor-element.elementor-element-ae87e8b > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:#000000;--background-overlay:'';}.elementor-90 .elementor-element.elementor-element-ae87e8b:not(.elementor-motion-effects-element-type-background), .elementor-90 .elementor-element.elementor-element-ae87e8b > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-repeat:no-repeat;background-size:cover;}.elementor-90 .elementor-element.elementor-element-16f6aaf{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 90px;padding:0px 0px 0px 0px;}.elementor-90 .elementor-element.elementor-element-16f6aaf .elementor-heading-title{font-family:"Roboto", Sans-serif;font-size:130px;font-weight:400;color:#FFFFFF;}.elementor-90 .elementor-element.elementor-element-8e6737d{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 20px) 100px;}.elementor-90 .elementor-element.elementor-element-8e6737d .elementor-heading-title{font-family:"Roboto", Sans-serif;font-size:40px;font-weight:300;color:#FFFFFF;}.elementor-90 .elementor-element.elementor-element-9147305{--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-start;--margin-top:50px;--margin-bottom:50px;--margin-left:0px;--margin-right:0px;}.elementor-90 .elementor-element.elementor-element-1a37a3a{width:var( --container-widget-width, 70% );max-width:70%;margin:40px 0px calc(var(--kit-widget-spacing, 0px) + 40px) 80px;--container-widget-width:70%;--container-widget-flex-grow:0;}.elementor-90 .elementor-element.elementor-element-f59313c{--display:flex;--min-height:50vh;--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-90 .elementor-element.elementor-element-becd3a1{--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;--gap:30px 30px;--row-gap:30px;--column-gap:30px;--margin-top:50px;--margin-bottom:30px;--margin-left:0px;--margin-right:0px;}.elementor-90 .elementor-element.elementor-element-f2b0f32{margin:20px 0px calc(var(--kit-widget-spacing, 0px) + 50px) 80px;padding:0px 0px 0px 0px;}.elementor-90 .elementor-element.elementor-element-a83e71b{--display:flex;--min-height:0px;--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:center;--align-items:center;--margin-top:50px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-90 .elementor-element.elementor-element-76d87cd{--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;--gap:32px 32px;--row-gap:32px;--column-gap:32px;}.elementor-90 .elementor-element.elementor-element-edbfba3{--display:flex;--min-height:450px;}.elementor-90 .elementor-element.elementor-element-edbfba3:not(.elementor-motion-effects-element-type-background), .elementor-90 .elementor-element.elementor-element-edbfba3 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-repeat:no-repeat;background-size:cover;}.elementor-90 .elementor-element.elementor-element-07f636e{--display:flex;--min-height:450px;}.elementor-90 .elementor-element.elementor-element-07f636e:not(.elementor-motion-effects-element-type-background), .elementor-90 .elementor-element.elementor-element-07f636e > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-repeat:no-repeat;background-size:cover;}.elementor-90 .elementor-element.elementor-element-9e2d767{--display:flex;--min-height:450px;}.elementor-90 .elementor-element.elementor-element-9e2d767:not(.elementor-motion-effects-element-type-background), .elementor-90 .elementor-element.elementor-element-9e2d767 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-repeat:no-repeat;background-size:cover;}.elementor-90 .elementor-element.elementor-element-4f47ae5{--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:100px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-90 .elementor-element.elementor-element-c37fed5{--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-90 .elementor-element.elementor-element-519e516.elementor-element{--align-self:center;}@media(max-width:1024px){.elementor-90 .elementor-element.elementor-element-ae87e8b{--min-height:90vh;--padding-top:0px;--padding-bottom:0px;--padding-left:20px;--padding-right:20px;}.elementor-90 .elementor-element.elementor-element-16f6aaf{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;text-align:start;}.elementor-90 .elementor-element.elementor-element-16f6aaf .elementor-heading-title{font-size:80px;}.elementor-90 .elementor-element.elementor-element-8e6737d{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 20px) 0px;}.elementor-90 .elementor-element.elementor-element-8e6737d .elementor-heading-title{font-size:26px;}.elementor-90 .elementor-element.elementor-element-9147305{--padding-top:0px;--padding-bottom:0px;--padding-left:40px;--padding-right:40px;}.elementor-90 .elementor-element.elementor-element-1a37a3a{margin:40px 0px calc(var(--kit-widget-spacing, 0px) + 40px) 0px;--container-widget-width:100%;--container-widget-flex-grow:0;width:var( --container-widget-width, 100% );max-width:100%;}.elementor-90 .elementor-element.elementor-element-f59313c{--padding-top:0px;--padding-bottom:0px;--padding-left:40px;--padding-right:40px;}.elementor-90 .elementor-element.elementor-element-becd3a1{--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--padding-top:0px;--padding-bottom:0px;--padding-left:40px;--padding-right:40px;}.elementor-90 .elementor-element.elementor-element-f2b0f32{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 50px) 0px;}.elementor-90 .elementor-element.elementor-element-a83e71b{--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;--padding-top:0px;--padding-bottom:0px;--padding-left:40px;--padding-right:40px;}}@media(max-width:767px){.elementor-90 .elementor-element.elementor-element-16f6aaf .elementor-heading-title{font-size:60px;}.elementor-90 .elementor-element.elementor-element-9147305{--padding-top:0px;--padding-bottom:0px;--padding-left:20px;--padding-right:20px;}.elementor-90 .elementor-element.elementor-element-edbfba3{--min-height:300px;}.elementor-90 .elementor-element.elementor-element-07f636e{--min-height:300px;}.elementor-90 .elementor-element.elementor-element-9e2d767{--min-height:300px;}}@media(min-width:768px){.elementor-90 .elementor-element.elementor-element-ae87e8b{--content-width:100vw;}.elementor-90 .elementor-element.elementor-element-9147305{--content-width:1400px;}.elementor-90 .elementor-element.elementor-element-f59313c{--content-width:80%;}.elementor-90 .elementor-element.elementor-element-becd3a1{--content-width:1400px;}.elementor-90 .elementor-element.elementor-element-a83e71b{--width:100%;}.elementor-90 .elementor-element.elementor-element-76d87cd{--content-width:1400px;}.elementor-90 .elementor-element.elementor-element-4f47ae5{--content-width:100%;}}@media(max-width:1024px) and (min-width:768px){.elementor-90 .elementor-element.elementor-element-9147305{--content-width:100%;}.elementor-90 .elementor-element.elementor-element-becd3a1{--content-width:100%;}}/* Start custom CSS for html, class: .elementor-element-1a37a3a */.elementor-90 .elementor-element.elementor-element-1a37a3a{
    color: #000000;
    font-size: 16px;
    text-align: left;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-3dd06af *//* ================================
   CAROUSEL GALERIE PROJET
   ================================ */

/*
   --page-padding : padding gauche de ton container WordPress
   (ex: .container { padding: 0 5vw } → mettre 5vw)
   Ajuste cette valeur pour aligner la flèche avec le reste du contenu.
*/
:root{
    /* Aligne la flèche sur le bord gauche d'un container centré de 1400px */
    --page-padding: max(20px, calc((100vw - 1400px) / 2));
}

/* --- FULL BLEED : sort du container vers la droite --- */
.projet-carousel{
    display:flex;
    align-items:center;
    gap:28px;

    /* Prend 100vw depuis le bord gauche du viewport */
    width:100vw;
    position:relative;
    left:50%;
    margin-left:-50vw;
    margin-right:-50vw;

    /* Aligne la flèche avec le reste du contenu de la page */
    padding-left:var(--page-padding);

    /* Clip uniquement à droite — empêche la scrollbar */
    overflow:hidden;
}

/* --- FLÈCHE GAUCHE --- */
.projet-carousel-prev{
    flex-shrink:0;
    width:48px;
    height:48px;
    border-radius:50%;
    border:1.5px solid #1a1a1a;
    background:transparent;
    display:flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    transition:background .2s ease;
    padding:0;
    /* reset styles navigateur */
    appearance:none;
    -webkit-appearance:none;
    -webkit-tap-highlight-color:transparent;
    outline:none;
    box-shadow:none;
}

/* fond sombre uniquement au survol et pendant le clic */
.projet-carousel-prev:hover,
.projet-carousel-prev:active{
    background:#1a1a1a !important;
    border-color:#1a1a1a !important;
}

/* reset outline après le clic, sans changer le fond */
.projet-carousel-prev:focus,
.projet-carousel-prev:focus-visible{
    outline:none !important;
    box-shadow:none !important;
}

.projet-carousel-prev svg{
    width:24px;
    height:24px;
    color:#1a1a1a;
    transition:color .2s ease;
    display:block;
}

.projet-carousel-prev:hover svg{
    color:#fff;
}

.projet-carousel-prev:active svg{
    color:#fff;
}

/* --- VIEWPORT --- */
.projet-carousel-viewport{
    flex:1;
    min-width:0;
    overflow:hidden;
}

/* --- TRACK --- */
.projet-carousel-track{
    display:flex;
    gap:20px;
    transition:transform .5s cubic-bezier(.77,0,.18,1);
    will-change:transform;
}

/* --- SLIDES : principale + aperçu de la suivante --- */
.projet-carousel-slide{
    flex:0 0 calc(78% - 10px);
    aspect-ratio:16/10;
    overflow:hidden;
}

.projet-carousel-slide img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}

/* ================================
   TABLETTE — 1024px
   ================================ */
@media (max-width:1024px){

    .projet-carousel{
        gap:20px;
    }

    .projet-carousel-prev{
        width:42px;
        height:42px;
    }

    .projet-carousel-slide{
        flex:0 0 calc(80% - 10px);
    }
}

/* ================================
   MOBILE — 767px
   ================================ */
@media (max-width:767px){

    .projet-carousel{
        gap:14px;
    }

    .projet-carousel-prev{
        width:36px;
        height:36px;
    }

    .projet-carousel-prev svg{
        width:14px;
        height:14px;
    }

    .projet-carousel-slide{
        flex:0 0 calc(88% - 7px);
        aspect-ratio:4/3;
    }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-f2b0f32 *//* ================================
   CONTENEUR GLOBAL
   ================================ */
.infos-projet-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
    max-width: 1400px;
    margin: 0 auto;
    font-size: 16px;
    align-items: start;
}

/* ================================
   COLONNES
   ================================ */
.infos-projet-col {
    display: flex;
    flex-direction: column;
    gap: 28px;
}

/* ================================
   ITEM
   ================================ */
.infos-projet-item {
    display: block;
    width: 100%;
}

/* ================================
   TITRE
   ================================ */
.infos-projet-titre {
    font-weight: 700;
    line-height: 1.1;
    margin-bottom: 8px;
}

/* ================================
   TEXTE
   ================================ */
.infos-projet-texte {
    line-height: 1.4;
}

/* ================================
   ÉQUIPE MOE
   ================================ */
.moe-block {
    display: block;
    margin-bottom: 8px;
}

.moe-block:last-child {
    margin-bottom: 0;
}

.moe-role {
    display: block;
    font-weight: 700;
    line-height: 1.1;
}

.moe-name {
    display: block;
    font-weight: 400;
    line-height: 1.4;
}

/* ================================
   TABLETTE — 1024px
   ================================ */
@media (max-width: 1024px) {
    .infos-projet-list {
        gap: 24px;
    }

    .infos-projet-col {
        gap: 20px;
    }
}

/* ================================
   MOBILE — 767px
   ================================ */
@media (max-width: 767px) {
    .infos-projet-list {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    .infos-projet-col {
        gap: 18px;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-a83e71b */.elementor-90 .elementor-element.elementor-element-a83e71b{
    justify-self: center;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-112101e */.video-courte-wrap{
    width:100%;
}

.video-observe{
    display:block;
    width:100%;
    height:auto;
    object-fit:cover;
}/* End custom CSS */