.elementor-kit-7{--e-global-color-primary:#141414;--e-global-color-secondary:#EC008C;--e-global-color-text:#D4D4D4;--e-global-color-accent:#61CE70;--e-global-color-782a462:#999999;--e-global-color-f7dc164:#F8F8F8;--e-global-color-580d8af:#646464;--e-global-typography-primary-font-family:"Inter";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Inter";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;background-color:var( --e-global-color-primary );}.elementor-kit-7 e-page-transition{background-color:var( --e-global-color-primary );}.elementor-kit-7 h2{color:var( --e-global-color-782a462 );font-family:"Roboto Slab", Sans-serif;font-size:2rem;font-weight:300;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:0px;}.elementor-element{--widgets-spacing:0px 0px;--widgets-spacing-row:0px;--widgets-spacing-column:0px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS */:root{
  --accent: #ff00a8;   /* fuchsia */
  --fg: #ffffff;          
  --hover-fg: #fff;
  --thick: 1px;
  --pad-y: .6rem;
  --pad-x: 1rem;
  --radius: 0;
  --bg-opacity: 1;
}
html, body {
    font-size: 18px;
    background-color:#141414;
    scroll-behavior: auto !important;
}
.header{
  position: fixed; /* indispensable ici */
  top: 0; left: 0; right: 0;
  z-index: 9999;   /* plus haut que tout le reste */
  will-change: transform; /* pour les translateY GSAP */
}
.header_logo{
    width:100%;
    transition: width 0.5s ease-out
}
@media (max-height:950px){
    .header_logo{
        width:70% !important;
    }
    .header_right{
        scale:0.8;
    }    
        
        
    }
}
/* Par sécurité, mets le pin en-dessous */
#home-section_hero{
  z-index: 1;
  
  position: relative; /* crée un contexte si besoin */
}

.

.elementor-section {background-color:transparent;}


@media (max-width: 1440px) {
  html { font-size: 13px; } /* 18px */
}
/*padding*/
.section-padding{
    padding-left:2rem;
    padding-right:2rem;
}


/*MENU*/
.menu{
    overflow:scroll;
    scrollbar-width: none;
    transition: .75s cubic-bezier(.3,.86,.36,.95);
    clip-path: polygon(0 0, 50% 0, 50% 0, 100% 0, 100% -100%, 50% -100%, 50% 0, 0 0);
}

.menu::after{
    content:"";
    display:block;
    position: absolute;
    width:2px;
    background-color: #ccc;
    top:0;
    bottom:0;
    left:50%;
    z-index:12;
}

.menu--open {
        clip-path: polygon(0 0, 50% 0, 50% 0, 100% 0, 100% 100%, 50% 100%, 50% 100%, 0 100%);
    pointer-events: all;
}

.menu_link{
    font-size: 3.25rem;
    font-weight: 400;
}
.menu_link, .menu_link:hover, .footer-menu_link,.footer-menu_link:hover{
    color:var(--e-global-color-text);
    font-family: "Roboto Slab", Sans-Serif;
    
    
}

.menu_link:after, .footer-menu_link:after{
        background-color: #ec008c;
        bottom: -5px;
        content: "";
        display: block;
        height: 2px;
        left: 0;
        position: absolute;
        -webkit-transform: scaleX(0);
        transform: scaleX(0);
        -webkit-transform-origin: left;
        transform-origin: left;
        -webkit-transition: .5s cubic-bezier(.3,.86,.36,.95);
        transition: .5s cubic-bezier(.3,.86,.36,.95);
        width: 100%
    
}


@media(max-width:1024px){
  .menu__cols{ grid-template-columns:1fr!important; min-height:10px !important; }
  .menu__col-left{
        min-height:50vh;
        
    }
    .menu__col-right{
        min-height:50vh;
        font-size: 1rem !important;
    }
    .menu_link{
        font-size: 1.25rem;
        font-weight: 400;
}
}
.menu_link:hover:after, .footer-menu_link:hover:after {
        -webkit-transform: scaleX(1);
        transform: scaleX(1)
    }
    
/*Footer*/
/********/
/*menu*/
.footer-menu{
    line-height: 1.5rem;
}
.footer-menu_link, .footer-menu_link:hover{
    font-size:1.8em !important;
    font-weight: 300;
    
}
@media(max-width:767px){
    .footer-menu_link{
        font-size:1.3em !important;
    }
}
    
/*Page Contact */
/*titre*/
.contact_sb_title {
    display: inline-flex;
    align-items: center;
    font-size: 2rem;
}
.contact_sb_title::before{
    content:'';
    display: inline-block;
    width:8px;
    height:8px;
    aspect-ratio: 1 / 1;
    background: #C2C2C2;
    margin-right:10px;
    
    
}
/*formulaire*/
.field-columns {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-auto-rows: 1fr 1fr;
    gap:20px;


}
@media (max-width: 767px) {
    .field-columns{
        display:grid;
        grid-template-columns:1fr;
        gap:1rem;
    }
}
.input:focus{
    border: unset;
}
.col .field-input, .field-input{
    padding:1em 0!important;
    margin-bottom:2rem;
    display:block;
    color:white;
    background: none;
    border:unset;
    border-bottom:2px solid #c2c2c2;
    

}

.field-input::placeholder { /* Standard */
  opacity: 1;
  font-size: 1.3rem;
 
}
.field-input:focus::placeholder {
    opacity:.5;
}
.field-input:focus {
    outline: none;
    
}

.checkbox{
    color:#c2c2c2;
    margin-bottom:2rem;
}
/*Bouton formulaire*/

.btn-submit{
    --height: 3em;
    display: inline-flex;
    justify-content: space-between;
    align-items: center;
    gap: 1em;
    height: var(--height);
    padding-top:0;
    padding-bottom:0;
    padding-left: 1em;
    padding-right: 1em;
    position: relative;
    border-left: 1px solid #c2c2c2;
    border-bottom: 1px solid #c2c2c2;
    border-radius:unset;
    font-weight: 300;
    font-size: 1.1rem;
    line-height: 1;
    white-space: nowrap;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    font-family: var(--primary-font-ascent-override);
    color: #c2c2c2;
    transition: .15s;
    transition-property: border-color,color
}
.btn-submit
.black{
    border-color: white !important;
    color:white;
    fill:white !important;
}


.btn-submit:has(.icon) {
    padding-right: 0;
}
.btn-submit__icon{

    display: flex;
    justify-content: center;
    align-items: center;
    width: calc(var(--height) - 2px);
    height: 100%;
    position:relative;
    transform: translateX(16px);
    transition: background-color 0.30s ease;

}

.btn-submit__icon.-map{
    transform: translateX(1px);
}
.btn-submit__icon .chevron-right {
    width:16px;
    height:16px;
}



.icon {
    width:0.5em;
    height:100%;
    fill:white;
}
.btn-submit:hover {
    background-color:#EC018C;
    color:white;
}


/*Envoie du formulaire*/
.wpcf7 form.failed .btn-submit,
.wpcf7 form.invalid .btn-submit,
.wpcf7 form.sent .btn-submit{
  background: none; /* rouge */
  
}
.field-input.wpcf7-not-valid {
    border-color: #7b023d;
}
.wpcf7-not-valid-tip {
  display: none;
}


/*Home PAge*/
/*Hero Temporaire*/
.home-hero{
    background: #f2f2f2 url('https://placehold.co/2000x1500?text=visuelle+en+attente') center/cover no-repeat;
    min-height: 80vh;
}
.home-hero__img{
    transform: scale(1);
}

/*home-section2*/
.home-section2{
    background-color: #141414;
    border-radius:10px 10px 0px 0px;
}

/*home Domaine*/
.home-title{
    color: var(--e-global-color-secondary);
}
.home-text_muted {
  opacity:1 ;  /* état initial */
  transform: translateY(20px);
  width:70%;
}

.home-domaine__img{
    border-radius:0.8rem;
    aspect-ratio: 3 / 2;
    height:20vw;
    width:30%;
    transition: width 1s ease-in-out !important;
    background-size: 30vw;
}
@media (max-width:1024px){
    .home-domaine__img{
        border-radius:0,1rem;
        aspect-ratio: 3 / 2;
        min-height:40vh;
        min-width:85vw;
       
       
    }
}

/*HOME-PROJETCT*/
.home-section__projet{
    background-color: #141414 !important;
}

.home-projets__sousTitre{
    font-style: italic;
    font-family: "Inter", Sans-Serif;

    font-weight: 300;
    font-size: 2.2rem;
}

.home-projets__img{
     background-position: center;
    background-repeat: no-repeat;
    aspect-ratio: 4/3;
    border-radius: 0.1rem;
    width:33vw;
    transform: scale(1);
    transition: all ease 0.8s;
    filter: grayscale(100%);
    
  
}

@media (max-width: 1024px) {
  .home-projets__img{
      width:95vw !important;
      min-height:50vh !important;
      
  }
}

.container-projets { 
    transition: none !important; 
    will-change: transform, opacity; 
    aspect-ratio: 4/3;
    border-radius:20px;
    
   
}

.home-projets__img:hover{
    transform: scale(1.1) !important;
    filter: grayscale(0%);
   
    
}

/* PAGE REALISATION */
.realisation-hero__img {
    filter: grayscale(100%);
    aspect-ratio: 5/3;
}
/*BTN*/
.btn-sweep, .btn-sweep__black{
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: .9rem;
    padding: var(--pad-y) var(--pad-x);
    border: 0;
    
    cursor: pointer;
    font-family: 'Inter', sans-serif;
    font-weight: 300;
    font-size: 16px;
    line-height: 1;
}

.btn-sweep, .btn-sweep__black:hover{
    color: white !important;
    border-left: var(--thick) solid white;
    border-bottom: var(--thick) solid white;
}

.btn-sweep__black{
    color: var(--e-global-color-primary) !important;
    border-left: var(--thick) solid var(--e-global-color-text);
    border-bottom: var(--thick) solid var(--e-global-color-text);
    transition: all .25s ease;
}

/* Fond animé gauche → droite */
.btn-sweep::before, .btn-sweep__black::before{
  content:"";
  position:absolute;
  inset:0;
  background-color: var(--e-global-color-secondary);
  
  z-index:-1;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .35s ease;
  border-radius: inherit;
}

.btn-sweep:hover::before, .btn-sweep__black:hover::before,
.btn-sweep:focus-visible::before{
  transform: scaleX(1);
}

/* Hover = inversion couleur + icône qui glisse */
.btn-sweep:hover, .btn-sweep__black:hover
.btn-sweep:focus-visible{
  color: white
}

.btn-sweep__icon{
  font-size: 0.8em;
  color: var(--e-global-color-secondary);
  transition: all .25s ease;
  
  
}

.btn-sweep:hover, .btn-sweep__black:hover .btn-sweep__icon{
  transform: translateX(5px);
  color:white;
}


/*Contact Alert*/
.wpcf7-response-output{
    border: 1px solid #EC018C !important;
    font-size:14px;
    font-family: "Inter", Sans-Serif;
    font-weight: 300;
    color: var(--e-global-color-text)!important;
}



/*PAGE SERVICE*/
/**************/
.service_img{
    border-radius:20px;
    aspect-ratio: auto;
    min-height:500px;

}

/*PAGE REALISATION*/
.realistion__img{
    /*filter: grayscale(100%);*/
    border-radius:20px;
    overflow: hidden;
    aspect-ratio: 16/9;
    }
}

/* Page About*/
.about_img {
    aspect-ratio: 16/9;
    max-width:90% !important;
    border-radius: 20px !important;
    overflow:hidden;
}

.team-card__01{
    top:100px;
   
}
.team-card__03{
    top:200px;
   
}

.parent-div {
    display: flex;        /* Active le mode Flexbox */
    flex-direction: column; /* Empile les éléments verticalement */
    min-height: 50%;     /* S'assure que le parent est assez grand */
    align-items: center;
    font-size:10px;
}
.about-team {
    margin-top: auto; 
    border-top:1px solid var(--e-global-color-secondary);
    width:100%;
    
    line-height: 2em;
    display:grid;
    grid-template-columns: max-content max-content;
    justify-content: center;
    /* Espacement entre les lignes et colonnes */
    gap: 3px 5px; 
    
    /* Pour aligner le texte proprement s'il y a plusieurs lignes */
    align-items: center;
}

.parent-div-special{
    display: flex;        /* Active le mode Flexbox */
    flex-direction: column; /* Empile les éléments verticalement */
    min-height: 0%;     /* S'assure que le parent est assez grand */
    align-items: center;
    font-size:10px;
}



/*COLOR*/
.c-fus{
    color:#EC018C !important;
}


/**FONT SIZE*/
.fs-1{
    font-size: 1em;
}
.fs-1-2{
    font-size: 1.2em;
}
.fs-1-3 {
    font-size:1.3em;
}
.fs-1-5{
    font-size: 2em;
}
.fs-2{
    font-size: 2em;
}

/*font font-weight*/
.b-700{
    font-weight: 700;
}

/*mobile*/
@media (max-width:768px){
    html { font-size: 13px; }
    .home-domaine__img{
        border-radius:0.1rem;
        aspect-ratio: 3 / 2;
        min-height:40vh;
        min-width:95vw;
    }
    
    .section-padding{
        padding-left:0.2rem;
        padding-right:0.2rem;
    }
    
    /*ABOUT*/
    .team-card__01{
        top:0px;
        margin-bottom:10px;
    }
    .team-card__03{
        top:0px;
        margin-top:10px;
    }
    
    .parent-div {
    min-height: 50%
    }

    .about-team {
     padding: 0px 0px 0 0px;
     gap: 0px 10px; 

    }

    .parent-div-special{
     min-height: 50%;    
    }
    
    .fs-1-3 {
    font-size:1.2em;
}
}
/* Applique ça aux classes que tu animes */
.gsap-page__title, 
.gsap-text, 
.service_img, 
.home-hero__img,
.gsap-col {
    will-change: transform, opacity; /* Prévient le navigateur que ça va bouger */
    backface-visibility: hidden;    /* Évite le scintillement */
    transform: translateZ(0);       /* Force l'utilisation du GPU */
    -webkit-font-smoothing: antialiased; /* Rend le texte plus net pendant l'anim */
}/* End custom CSS */