*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: sans-serif;
}

html{
    scroll-behavior: smooth;
}


:root{
    --main-color-1: #EA4020;
    --main-color-1-1: #ea4220ce;
    --main-color-1-2: #191919e4;
    --main-color-2: #191919;
    --main-color-3: #F0F2F5;
    --main-color-4: #323232;
    --main-color-5: #414141;
    --main-color-6: #F7FAFF;

    /* ---------- */

}

ul{
    list-style: none;
    margin: 0;
    padding: 0;
}

a{
    text-decoration: none;
}

h1,h2,h3,h4{
    font-family: "Roboto", sans-serif;
}

p{
    font-family: "Open Sans", sans-serif;
}

.p_text{
    color: #4a4a4a !important; 

}

.br{
    border: 1px solid #000;
} 


body{
    font-family: sans-serif;
    background: var(--main-color-3);
    cursor: none;
}

.web-contain{
    width: 100%;
    max-width: 1920px;
    margin: 0 auto;
    border: 1px solid #000;
    
}

.header_contain
{
    width: 100%;
    position: sticky;
    top: 0;
    background: var(--main-color-3);
    z-index: 100;
}

.link_effect .night-off{
        display: block;
        color: var(--main-color-1);
}
.link_effect.active .night-off{
    display: none;
}
.link_effect .night-on{
    display: none;
}
.link_effect.active .night-on{
   display: block;
   /* color: var(--main-color-3); */
}

.link_effect{
    display: block;
    position: fixed;
    top: 30px;
    right: 30px;
    z-index: 99999;
    font-size: 2rem;
}

.menu-nav{
    width: 100%;
    height: 100px;
    padding: 0 60px;
    /* background: var(--main-color-2); */
    /* border-bottom: 2px solid black; */
    display: flex;
    justify-content: space-between;
    align-items: center;
    box-shadow: 0px 7px 5px -1px rgba(0,0,0,0.31);
}

.logo{
    display: block;
    height: 80px;
}

.logo img{
    height: 100%;
}

.nav-button{
    width: 50px;
    height: 50px;
    border: none;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: none;
    visibility: hidden;
    display: none;
    cursor: pointer;
}

.nav-button .li{
    display: block;
    width: 40px;
    height: 5px;
    background-color: var(--main-color-2);
    transition: all 0.4s ease;
}

.nav-button .li1{
    transform: translateY(-10px);
}
.nav-button .li3{
    transform: translateY(10PX);
}

.nav-button.active .li1{
    transform: translateY(5px) rotate(135deg);
}


.nav-button.active .li2{
    opacity: 0;
}
.nav-button.active .li3{
    transform: translateY(-5px) rotate(-135deg);

}

/*nav-list*/
.nav_list{
    display: flex;
    flex-direction: row;
    transition: all 0.4s ease;

}

.nav_list .link{
    margin: 20px;
    font-size: 1.6rem;
}
.nav_list .link .link_nav{
    color: var(--main-color-2);
}
/*content-area*/
.content-area{
    width: 100%;
    height: calc(100vh - 100px);
    max-height: 1200px;
    /* background: var(--main-color-1-2); */
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    background: #f8f8f8ee;
}

.content-area:before{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url("../img/texture/office.webp");
    background-size: cover;
    background-repeat: no-repeat;
    z-index: -5;
}

.area-title{
    width: 40%;
    min-width: 300px;
    height: 400px;
    /* border: 1px solid #000; */
    padding: 20px 30px;

}



.animated-text {
    border-right: 2px solid #000;
    padding-right: 3px;
    animation: blink 0.7s infinite;
    color: var(--main-color-1);
}

@keyframes blink {
    0%, 100% { border-color: transparent; }
    50% { border-color: #000; }
}

.area-picture{
    width: 40%;
    height: 400px;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
}

.title-web{
    font-size: clamp(1.55rem, 2.5vw, 3rem);
}



.h2-title{
    text-transform: uppercase;
    font-size: clamp(1.25rem, 2.5vw, 1.6rem);
    height: 70px;
    
}

.description-text{
    font-size: clamp(1.0rem, 2.5vw, 1.6rem);
    line-height: 1.2;
}

.button-web {
    margin: 40px auto 0 auto;
    position: relative;
    display: block;
    text-align: center;
    color: var(--main-color-3);
    width: 320px;
    padding: 22px 20px;
    border-radius: 5px;
    text-decoration: none;
    font-weight: bold;
    transition: transform 0.2s ease;
    background: var(--main-color-4);
    border: 1px solid #0000009d;
    cursor: pointer;
    z-index: 1;
}





.linkdin_button{
    width: 50px;
    height: 50px;
    display: block;
    color: var(--main-color-2);
    font-size: 40px;
    cursor: pointer;
    position: absolute;
    bottom: 20px;
    right: 20px;
}

.photo-area{
    width: 360px;
    height: 360px;
    background: var(--main-color-4);
    overflow: hidden;
    filter: grayscale(100%); /* Version standard */
  -webkit-filter: grayscale(100%); /* Préfixe pour Webkit (Chrome, Safari) */
    background-size: cover;
    border-radius: 50%;
    position: relative;
}
.photo-area:before{
   content: "";
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   background: var(--main-color-4);
   border-radius: 50%;
   z-index: -1;
}



/*Main_container*/
.main_container{
    width: 100%;
}

.textuel_contain{
    width: 100%;
    min-height: 400px;
    font-size: clamp(18px, 2vw, 30px);
    background: #191919e4;
    color: var(--main-color-3);
    padding: 20px;
    display: flex;
    flex-direction: column;
    justify-content: center;align-items: center;
    position: relative;
}

.textuel-title{
    text-transform: uppercase;
    margin-bottom: 20px;
}

.textuel_contain::before{
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    background: url("../img/photo/bg-fond.webp") center/cover no-repeat;
  filter: blur(2px) saturate(100%);

    z-index: -1;
}

.textuel_contain p{
    width: 80%;
    margin: 0 auto;
}
/* About-contain */
.about_contain{
    width: 100%;
    min-height: 100vh;
    max-height: 1900px;
    padding: 60px 20px;
    position: relative;
    background: url("../img/texture/forest_bg.jpg");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    z-index: -5;
}

.about_contain::before{
    content: "";
    position: absolute;
    bottom: 0;
    right: 0;
    background: url("../img/texture/top-shape.png");
    background-repeat: no-repeat;
    background-position: bottom;
    width: 100%;
    height: 100%;
    z-index: -5;
}

.about-title,
.about-subtitle{
    text-align: center;
}

.about-title{
    margin-bottom: 40px;
}
.about-subtitle{
    margin-top: 40px;
    color: var(--main-color-1);
    font-size: 25px;
}

.about_container{
    width: 100%;
    height: auto;
    max-width: 1200px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: 0 auto;

}

.card-about-left{
    width: 40%;
    max-width: 360px;
    min-width: 280px;
    height: 450px;
    /* overflow: hidden; */
}

.card{
    width: 100%;
    height: 100%;
    perspective: 1000px;
}

.contain_photo{
    background: var(--main-color-4);
    border-radius: 10px;
    padding-top: 60px;
    position: relative;
    margin-bottom: 40px;
    transition: all 0.15s ease-out;
}

.contain_photo img{
    object-fit: cover;
}

.card-inner {
    width: 100%;
    height: 100%;
    transition: transform 0.2s ease;
    transform-style: preserve-3d;
}
.cadre{
    content: "";
    position: absolute;
    bottom: -20px;
    left: -30px;
    width: 100%;
    height: 100%;
    border: 10px solid #ea42209d;
    border-radius: 10px;
    z-index: -1;
}

.card-about-right{
    width: 60%;
    min-width: 360px;
    overflow: hidden;
    line-height: 1.6;
    padding: 0 30px;
    font-size: clamp(1.05rem, 2.5vw, 0.95rem);
}

.img-about{
    display: block;
    width: 85%;
    margin: 10px auto;
    border-radius: 15px;
    filter: grayscale(100%); /* Version standard */
  -webkit-filter: grayscale(100%); /* Préfixe pour Webkit (Chrome, Safari) */
}
/* Services Section */

.services_section{
    width: 100%;
    padding: 40px 10px;
    position: relative;
    z-index: 0;
    background: var(--main-color-6);
}

.formation_title,
.faq_title,
.contact-title,
.comp-title,
.services_title{
    text-align: center;
    font-size: clamp(2.5rem, 2vw, 1.8rem);
    text-transform: uppercase;
    margin-bottom: 40px;
    color: var(--main-color-1);
}

.services_title{
    margin-bottom: 0;
}

.services_subtitle{
    text-align: center;
    color: var(--main-color-5);
    font-size: 22px;
    margin-bottom: 40px;
}

.services_cards{
    width: 100%;
    max-width: 1200px;
    min-height: 400px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: 20px auto;

}

.card_services{
    width: 350px;
    height: 320px;
    border-radius: 15px;
    margin: 25px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1.25rem;
    text-align: left;
    padding: 5px;
    background: var(--main-color-3);
    color: var(--main-color-5);
    border: .5px solid #00000019;
    position: relative;
    padding: 15px;
    box-shadow: 3px 3px 28px 2px rgba(0, 0, 0, 0.10);
    transition: all 0.4s ease-in-out;
}

.card_services:hover{
    transform: translateY(-5px);
    scale: 1.05;
    border: .5px solid #0000004e;
}



.card_services .uil{
    font-size: 40px;
    color: var(--main-color-1);
}
.card_services span{
    position: absolute;
    top: 15px;
    left: 15px;
    display: block;
    width: 55px;
    height: 55px;
    border-radius: 50%;
    background: #ea422019;
    display: flex;
    justify-content: center;
    align-items: center;
    
}





.card_services strong{
    line-height: 2;
    color: var(--main-color-2);
}

.competences_section{
    width: 100%;
    min-height: 100vh;
    max-height: 1200px;
    padding: 40px 10px;
    background: url("../img/texture/golden_bg.webp");
    background-size: cover;
}

.comp-title{
    text-align: center;
    margin-bottom: 150px;
}

.img-comp{
    width: 90%;
    max-width: 550px;
    display: block;
    margin
    : 80px auto;
}

/* BANNER*/
.banner_content{
    width: 100%;
    background: var(--main-color-4);
    margin: 0;
}

.text_banner{
    font-size: 1.75rem;
    text-transform: uppercase;
    margin: 0 20px;
    color: var(--main-color-3);
}
.banner_content {
    overflow: hidden;
    width: 100%;
    position: relative;
    padding: 50px 0;
  }
  
  .banner_track {
    white-space: nowrap;
    display: flex;
  }
  
  .banner_loop {
    display: inline-block;
    animation: scrollLeft 40s linear infinite;
  }
  
  .text_banner {
    display: inline-block;
    margin: 0 30px;
  }
  
  @keyframes scrollLeft {
    0% {
      transform: translateX(0%);
    }
    100% {
      transform: translateX(-50%);
    }
  }
/* Projet FAQ */
.cta_section {
    padding: 100px 20px;
    background: var(--main-color-1-2);
    color: var(--main-color-3);
    text-align: center;
    position: relative;
}

.cta_section::before{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url("../img/photo/bg-fond.png");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    z-index: -1;
}
.cta_title {
    font-size: 2rem;
    margin-bottom: 10px;
    text-transform: uppercase;
}
.cta_text {
    font-size: 1.1rem;
    margin-bottom: 20px;
}


.cta_button {
    padding: 20px 30px;
    margin: 30px auto;
    display: block;
    width: 80%;
    max-width: 300px;
    color: #EA4020;
    font-weight: bold;
    border-radius: 5px;
    text-decoration: none;
    transition: background 0.3s;
    transition: all .3s ease-in-out;
    border: 1px solid #ea422068;
    background: var(--main-color-3);
}


.cta_button-audit{
    background: var(--main-color-1);
    color: var(--main-color-3);
}

.cta_button:hover{
    scale: 1.05;
}


/* Projet FAQ */
.section_faq{
    width: 100%;
    background: var(--main-color-3);
    padding: 60px 10px;
    position: relative;
    z-index: 0;
}

.faq_box{
    z-index: 0;
}

.faq_title{
    text-align: center;
    margin-bottom: 80px;
}

.box_title{
    width: 100%;
    max-width: 650px;
    min-width: 320px;
    min-height: 80px;
    border: 0.25px solid var(--main-color-2);
    font-size: clamp(1.65rem, 2vw, 1rem);
    padding: 10px 40px;
    position: relative;
    cursor: pointer;
    margin: 10px auto;
    border-radius: 15px;
    position: relative;
   background: var(--main-color-4);
   color: var(--main-color-3);
}

.box_title.active{
    background: #EAEAEA;
    color: var(--main-color-4);

}


.box_title .uil{
    position: absolute;
    right: 10px;
    bottom: 0px;
    transform: translateY(-50%) rotate(0deg);
    transition: transform 0.3s ease;
}

.box_title.active .uil {
    transform: translateY(-50%) rotate(180deg);
}

.box_text{
    width: 100%;
    max-width: 650px;
    min-width: 320px;
    margin: 10px auto;
    height: 0;
    overflow: hidden;
    transition: all 0.4s ease;
    font-size: clamp(1.25rem, 2vw, 1.15rem);
    
}

.box_text.active{
    height: none;
    padding: 15px;
}

.contact_section{
    width: 100%;
    min-height: 500px;
    position: relative;
    margin-top: 100px;
}

.contact_form{
    width: 95%;
    max-width: 800px;
    min-height: 500px;
    border: .5px solid #0000001f ;
    background: var(--main-color-3);
    color: var(--main-color-4);
    border-radius: 25px;
    margin: 0 auto;
    padding: 20px 15px;
    position: relative;
    z-index: 0;
    box-shadow: 10px 10px 12px 0px rgba(163,152,152,0.46);
}

.form_subtitle{
    font-size: 15px;
    text-align: center;
    font-weight: 300;
    max-width: 600px;
    margin: 0 auto 40px auto;
}
.form_title{
    font-size: clamp(2.5rem, 2vw, 1.25rem);
    text-align: center;
    text-transform: uppercase;
    color: var(--main-color-1);
}

.formulaire_contact{
    width: 100%;
    max-width: 560;
    min-width: 280px;
    margin: 0 auto;
    padding: 15px;
    
}


.up_form{
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-top: 40px;
}

.input_contact{
    width: 100%;
    min-width: 240px;
    padding: 15px;
    font-size: 20px;
    border-radius: 5px;
    margin: 10px 0;
    position: relative;
    border: .5px solid #0000001f ;
}


#textarea_contact{
    width: 100%;
    min-width: 240px;
    min-height: 250px;
    border-radius: 5px;
    font-size: 20px;
    margin: 20px auto;
    padding: 15px;
    border: .5px solid #0000001f ;
}

.button_form{
    width: 100%;
    max-width: 300px;
    padding: 15px;
    text-align: center;
    font-size: 22px;
    border-radius: 15px;
    display: block;
    margin: 20px auto;
    border: none;
    background: var(--main-color-4);
    background: var(--main-color-1);
    border: .5px solid #00000029;
    position: relative;
    cursor: pointer;
}

.button_form:hover{
    background: var(--main-color-1-1);
    color: var(--main-color-3);
}


/* Formation */
.form-message {
    margin-top: 15px;
    font-weight: bold;
    text-align: center;
}


.section_formation{
    width: 100%;
    min-height: 100vh;
    max-height: 1800px;
    margin: 40px 0;
    padding: 40px 0;
}
.formation_title{
    text-align: center;
}

.formation_text{
    width: 100%;
    min-width: 320px;
    margin: 20px auto;
    font-size: clamp(1.05rem, 2vw, .95rem);
}

.formation_cards{
    width: 100%;
    max-width: 1100px;
    margin: 40px auto;
    display: flex;
    flex-wrap: wrap;
}
.formation_cards:nth-child(1){
    flex-direction: row-reverse;
}



.card_form{
    width: 50%;
    padding: 20px;
    min-width: 360px;
    margin: 0 auto;
}

.img_wp{
    display: block;
    margin: 10px auto;
    width: 70%;
    min-width: 320px;
}
/* Social-media */
.social-media{
    width: 50px;
    height: 150px;
    position: absolute;
    top: 10px;
    right: 15px;
    /* transform: translateY(-50%); */
    display: flex;
    flex-direction: column;
    text-align: center;
    font-size: 50px;
}

.social-media a:nth-child(1){
    color: var(--main-color-1);
}
.social-media a:nth-child(2){
    color: var(--main-color-4);
}
.social-media a:nth-child(3){
    color: var(--main-color-5);
}
/*Audit */
.audit_section {
  background: url("../img/texture/golden_bg.webp");
  padding: 60px 20px;
  text-align: center;
}

.audit_container {
  max-width: 800px;
  margin: auto;
}

.audit_title {
  font-size: 2rem;
  color: #EA4020;
  margin-bottom: 20px;
  text-transform: uppercase;
}

.audit_text {
  font-size: 1.1rem;
  margin-bottom: 20px;
  color: #333;
}

.audit_list {
  text-align: left;
  max-width: 600px;
  margin: 0 auto 20px;
  padding-left: 0;
}

.audit_list li {
  list-style: none;
  padding: 8px 0;
  font-size: 1rem;
  border-bottom: 1px solid #e0e0e0;
}



/*PORTFOLIO */
.portfolio_section{
    width: 100%;
    min-height: 500px;
    padding: 80px 10px;
}

.portfolio_title{
    text-transform: uppercase;
    font-size: clamp(2.25rem, 2vw, 1.15rem);
    margin-bottom: 40px;
    display: flex;
    color: var(--main-color-1);
}


.cards_portfolio{
    width: 100%;
    max-width: 1100px;
    display: flex;
    flex-wrap: wrap;
   
    justify-content: center;
    margin: 10px auto;
}



.portfolio_card{
    width: 300px;
    height: 280px;
    margin: 20px 30px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.card_title_f{
    color: var(--main-color-1);
}
.text_f{
    color: var(--main-color-5);
}

.button_portfolio{
    display: block;
    width: 280px;
    padding: 15px;
    background: var(--main-color-4);
    color: var(--main-color-3);
    border-radius: 15px;
    margin: 40px auto;
    text-align: center;
    text-transform: uppercase;
}
/* Footer content */

.footer_content{
    width: 100%;
    min-height: 500px;
    background: var(--main-color-4);
    /* margin-top: 100px; */
    color: var(--main-color-3);
    padding: 100px 10px;
}
.up_footer{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-around;
    padding: 100px 10px;
}
.cards_footer{
    width: 350px;
    padding: 5px;
    margin-bottom: 40px;

}


.text-item{
    font-size: clamp(1.25rem, 2vw, 1.05rem);
    line-height: 0.9;
    margin-bottom: 20px;
}

.item-list{
    font-size: clamp(1.25rem, 2vw, 1.05rem);
}

.link-so{
    color: var(--main-color-3);
}

.footer_title{
    font-size: clamp(1.45rem, 2vw, 1.15rem);
    margin-bottom: 20px;
}

.line_span{
    width: 100%;
    max-width: 450px;
    height: 3px;
    background: var(--main-color-3);
    display: block;
    margin: 40px auto;
}

.copy{
    text-align: center;
    font-size: 1.75rem;
}

.card_span{
    width: 100%;
    height: 150px;
    display: block;
    background: var(--main-color-4);
    /* transform: translateY(-50%); */
    z-index: -1;
    position: absolute;
    bottom: 0;
}

.round{
    position: absolute;
    display: block;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 5px solid #ea42207b;
    pointer-events: none;
    transform: translate(-50%, -50%);
    z-index: 99999;
}

.up_page{
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: var(--main-color-3);
    position: fixed;
    bottom: 30px;
    right: 30px;
    border: none;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 40px;
    color: var(--main-color-1);
    opacity: 0;
    transition: all 0.3s ease;
    pointer-events: none;
    z-index: 1000;
    border: 0.5px solid #0000002c;
}

.cursor_ball{
    position: fixed;
    width: 20px;
    height: 20px;
    font-size: 20px;
    border-radius: 50%;
    pointer-events: none; /* pour ne pas gêner les clics */
    transform: translate(-50%, -50%);

    z-index: 9999;
    color: var(--main-color-4);
}



.up_page.visible {
    opacity: 1;
    pointer-events: auto;
    cursor: pointer;
}

@media  screen and (max-width: 920px){

    body{
        cursor: default;
    }

    .cursor_ball{
        opacity: 0;
    }

    .nav-button{
        display: block;
        visibility: visible;
    }

    .nav_list{
        position: absolute;
        top: 100px;
        left: 0;
        width: 100%;
        height: 0;
        overflow: hidden;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        background: var(--main-color-3);
        
    }

    .menu-nav{
        padding: 0 20px;
    }

    .link_effect{
        right: 100px;
    }

    .nav_list.active{
        height: calc(100vh - 100px);
    }
    
    .nav_list .link{
        margin: 10px;
    }
    .nav_list .link_nav{
        margin: 10px;
        color: var(--main-color-1);
    }
    /* ------ */
    .content-area{
        flex-direction: column-reverse;
        height: auto;
        width: 100%;
        height: calc(100vh - 100px);
        min-height: 800px;
    }
    .area-title,
    .area-picture{
        width: 100%;
        padding: 20px;
    }


    .area-title{
        padding-bottom: 150px;
        height: 50%;
    }

    .area-picture{
        width: 100%;
        height: 50%;
    }
    .photo-area{
        width: 320px;
        height: 320px;
    }

    .photo-area img{
        width: 100%;
    }

    .card-about-right{
        width: 100%;
        margin: 0;
    }

    /* --------- */
    
}
@media  screen and (max-width: 768px){


    .area-picture{
        height: 30%;
    }
    .area-title{
        height: 70%;
        padding: 10px;
    }
    .photo-area{
        width: 180px;
        height: 180px;
    }

    .logo img{
        height: 60px;
    }

    .title-web{
        margin-bottom: 10px;

    }
    .h2-title{
        text-transform: uppercase;
        margin-bottom: 30px;
    }
    


    .button-web {
        margin: 20px auto 0 auto;
        width: 220px;
        padding: 15px 20px;
        cursor: pointer;
    }

    .card-about-left{
        width: 100%;
        height: auto;
    }
    .card-about-right{
        width: 100%;
        height: auto;
    }

    .img-about{
        display: block;
        width: 85%;
        margin: 10px auto;
    }

    .formulaire_contact{
        padding: 10px;
    }

    .contact_form{
        width: 95%;
        padding: 20px 0;
    }
    .input_contact{
        width: 90%;
        min-width: none;
        margin: 5px auto;
        display: block;
        
    }
    
    #textarea_contact{
        width: 90%;
        margin: 5px auto;
        margin: 5px auto;
        display: block;
    }

    .social-media{
        right: 20px;
    }

    .button_form{
        width: 250px;
        margin: 20px auto;
    }

    .box_title{
        font-size: clamp(1.35rem, 2vw, 1rem);
    }

    .cadre{
        display: none;
    }
    
}
