*{
    box-sizing:border-box;
}

html, body{
    width:100%;
    height:100%;
    margin:0;
    padding:0;
    overflow-x:hidden;
}


/* ================= NAVIGATION ================= */

nav{
    top:0;
    left:0;
    width:100%;
    padding:6px 15px;
    margin:0;
    display:flex;
    position:fixed;
    background:white;
    box-shadow:0 4px 10px rgba(0,0,0,0.2);
    z-index:1000;
    justify-content:space-between;
    align-items:center;
}


/* LOGO */

.logo img{
    width:80px;
    height:80px;
    object-fit:contain;
}


/* MENU PRINCIPAL */

nav ul{
    display:flex;
    gap:30px;
    list-style:none;
    margin:0;
    padding:0;
    align-items:center;
}


ul li a{
    text-decoration:none;
    font-family:Georgia, 'Times New Roman', Times, serif;
    font-size:16px;
    font-weight:bold;
    color:black;
    display:block;
}


/* ================= SOUS MENU ================= */


.submenu{
    display:none;
    position:absolute;
    background:white;
    width:320px;
    max-width:90vw;
    padding:10px;
    box-shadow:0 4px 10px rgba(0,0,0,.2);
}


.submenu li{
    margin-bottom:8px;
}


.submenu li a{
    font-size:15px;
    font-weight:normal;
    padding:10px;
    word-wrap:break-word;
}


.submenu li a:hover{
    color:rgb(137,137,216);
}


/* ouverture desktop */

@media (min-width:769px){

    .dropdown:hover > .submenu{
        display:block;
    }


    /* deuxième colonne Votre métier */
    
    .partie{
        position:relative;
        left:150px;
        top:-450px;
    }

}




.menu-toggle{
    display:none;
    font-size:30px;
    cursor:pointer;
}


@media(max-width:768px){

    .menu-toggle{
        display:block;
    }


    nav .menu{
        display:none;
    }


    nav .menu.active{
        display:flex;
    }

}



/* ================= MOBILE ================= */


@media(max-width:768px){


    nav{
        flex-direction:column;
        gap:15px;
        text-align:center;
    }


    nav ul{
        flex-direction:column;
        width:100%;
        gap:15px;
        align-items:center;
    }


    ul li a{
        font-size:15px;
        padding:8px 0;
    }



    /* sous-menu téléphone */

    .submenu{
        position:static !important;
        width:100% !important;
        max-width:100% !important;
        height:auto !important;
        padding:5px 0;
        box-shadow:none;
        background:#f9f9f9;
        border-radius:5px;
    }



    .dropdown.open > .submenu{
        display:block;
    }



    /* correction Votre métier */

    .partie{
        position:static !important;
        left:0 !important;
        top:0 !important;
        width:100%;
    }


}
/* .partie{
    left: 150px;
    top: -230px;
    position: relative;
} */
.logo img{
     width:80px;
    height:80px;
    object-fit:contain;
}
.logo h2{
    bottom: 20px;
    position: relative;
}

.herobanne{
    margin: 0;
    padding: 0;
    width: 100%;
}
.herobanne img{
    height: 500px;
    width: 100%;
    object-fit: cover; /* insérer cette ligne */
}

.section{
     width: 90%;
    margin: auto;
    color: black;
    font-style: normal;
    font-weight: 100;
    box-shadow: 0 5px 10px rgba(253, 100, 200, 0.3);
    line-height: 30px;

    /* Supprime cette ligne */
    /* height: 500px; */

    /* Mets plutôt */
    height: auto;
    padding: 30px;


    
}
.section p{
font-size: large;
line-height: 30px;
margin-left: 30px;
padding: 20px;
}
.section h2{
    text-align: center;
    color: #004aad;
}
.Services{
    display: flex;
    flex-wrap: wrap; 
    gap: 10px;
    width: 100%;
    margin: auto;
    padding: 30px;
}
.service:hover{
   transform: scale(1.02);
}
.service img{
    width: 300px;
    height: auto;
    justify-content: center;
    border-radius: 10px;
     max-width: 100%; /* insérer cette ligne */
    width: 100%;     /* insérer cette ligne */

}
.servi {
    text-align: center;
    margin: auto;
    font-weight: bold;
    padding: 30px;
    font-family: 'Times New Roman', Times, serif;
   
}
.service{
    box-shadow: 0 5px 10px rgba(182, 71, 143, 0.3);
     padding: 50px;
     flex: 1 1 300px;

}
.service h3, .service p{
    margin: 0;
    text-align: center;
}
.service p{ 
    font-size: 16px;
}
.service h3{
    margin-bottom: 5px;
}

.temoignages{
    display: flex;
    gap: 50px;
    margin: auto;
    justify-content: center;
    background-color: aliceblue;
    height: 270px;
    padding-top: 30px;
}
.temo{
    padding: 10px;
    margin: 0;
}
.temo:hover{
      transform: scale(1.02);

}
.temo img{
    width: 150px;
    height: 150px;
    justify-content: center;
    border-radius: 100%;
}
.tem{
    text-align: center;
    padding: 20px;
}

.externaliser{
    display: flex;
    justify-content: center;
    padding: 0;
    margin: 0;
    gap: 20px;
    background-color: aliceblue;
    height: 300px;
    
}
.externaliser img{
    width: 200px;
    height: 150px;
    border-radius: 20px;
    
}
.exter p{
    padding-bottom: 30px;
    text-align: center;
    font-size: 16px;
    color: #052d5a;
}
.exter:hover{
    transform: scale(1.02);

}
.exter {
    background-color: aliceblue;
    padding: 15px;
    flex: 1 1 250px;
    margin-top: 30px;
}

.pour{
    text-align: center;
    padding-bottom: 40px;
    padding-top: 40px;
}


/* --- LE PIED DE PAGE (Prend tous les côtés et va en bas) --- */
footer {
    display: flex !important;
    justify-content: space-between !important;
    width: 100% !important;
    max-width: 100vw !important;
    box-sizing: border-box !important;
    
    /* --- Force la position tout en bas --- */
    margin-top: auto !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    
    /* --- Votre design --- */
    background: rgb(45, 45, 75);
    padding: 50px 4%;
    gap: 30px;
    color: white;
}

/* --- LES COLONNES (Répartis équitablement l'espace) --- */
.footer-col {
    flex: 1; 
    min-width: 220px; /* Évite que les colonnes soient trop écrasées */
}

.footer-col h3 {
    color: white;
    font-size: 20px;
    font-family: Georgia, 'Times New Roman', serif;
    margin-bottom: 20px;
    position: relative;
}

/* Petite ligne décorative sous vos titres */
.footer-col h3::after {
    content: "";
    display: block;
    width: 50px;
    height: 3px;
    background: rgb(137, 137, 216);
    margin-top: 8px;
}

.footer-col p {
    line-height: 1.7;
    color: #e8e8e8;
    font-size: 15px;
    font-family: Arial, sans-serif;
}

.footer-col ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-col ul li {
    color: #e8e8e8;
    margin-bottom: 12px;
    font-size: 15px;
    transition: 0.3s;
}

/* Animation au survol des liens */
.footer-col ul li:hover {
    color: rgb(137, 137, 216);
    transform: translateX(5px);
    cursor: pointer;
}

/* --- VERSION MOBILE (S'empile proprement sur smartphone) --- */
@media (max-width: 768px) {
    footer {
        flex-direction: column;
        text-align: center;
        align-items: center;
    }
    
    .footer-col h3::after {
        margin: 8px auto 0 auto; /* Centre la ligne décorative sur mobile */
    }
}


.stats{
    display: flex;
    gap: 90px;
    justify-content: center;
}
.status{
    font-size: 18px;
    color: black;
    font-family: 'Times New Roman', Times, serif;
    font-weight: bold;
}
.chiffres{
    text-align: center;
    padding: 40px;
    font-size: 28px;
    margin-bottom: 40px;
    color: #222;
    box-shadow: 4px 5px 10px whitesmoke;
}
.process{
    display: flex;
    justify-content: center;
    gap: 30px;
    font-size: larger;
    box-shadow: 0 4px 8px rgba(24, 22, 23, 0.15);
}
.step{
    padding: 30px;
    flex: 1 1 200px; /* insérer cette ligne */
}
.step:hover{
    transform: scale(1.05);
}
.com{
    text-align: center;
    padding: 60px;
}
.process img{
    width: 150px;
    padding: 20px;
    border-radius: 100%;
}

.slider{
    width:100%;
    overflow:hidden;
    margin:40px auto;
background: rgba(255, 255, 255, 9.6);
}

.slides{
    display:flex;
    gap:15px;
    animation:defilement 20s linear infinite;
}

.secteur{
    min-width:300px;
    text-align:center;
    padding: 20px;
}

.secteur img{
    width:200px;
    height:200px;
    object-fit:cover;
    border-radius:100%;
}

.secteur p{
    margin-top:10px;
    font-size:20px;
    font-weight:bold;
    
}
.accompagnons{
    text-align: center;
    color: #004aad;

}

/* Tablette */
@media(max-width:992px){

    .secteur{
        min-width:250px;
    }

    .secteur img{
        width:170px;
        height:170px;
    }

}


/* Téléphone */
@media(max-width:600px){

    .slider{
        margin:20px auto;
    }


    .slides{
        gap:10px;
    }


    .secteur{
        min-width:200px;
        padding:10px;
    }


    .secteur img{
        width:130px;
        height:130px;
    }


    .secteur p{
        font-size:16px;
    }

}
@keyframes defilement{

    0%{
        transform:translateX(0);
    }

    100%{
        transform:translateX(-100%);
    }

}

.entext img{
    height: 600px;
    width: 100%;
    object-fit: cover; /* insérer cette ligne */
}
.sav{
    background-color: rgb(114, 114, 219);
    width: 40%;
    height: 40px;
    margin-bottom: 50px;
}
.savoir{
    text-align: center;
    color: white;
    margin: 0;
}
.entext p{
    font-weight: 200;
    color: rgb(233, 98, 98);
    width: 400px;
    font-size: larger;
    padding: 20px;
}
.titre{
    text-align: center;
    width: 100%;
    
}
.titre h2{
    text-align: center;
    width: 70%;
    color: rgb(89, 89, 160);
    margin: 0 auto;
    font-size: 20px;
    font-style: italic;
    padding: 20px;
}
.titre p{
    text-align: center;
    width: 90%;
    margin: 0 auto;
    padding: 20px;
    text-align: justify;
    line-height: 30px;
    font-size: 16px;
}



/* #marquee {
    width: 100%;
    overflow: hidden;
    white-space: nowrap;
    position: relative;
    height: 60px;
}

#text {
    position: absolute;
    left: 100%;
    top: 50%;
    transform: translateY(-50%);
    font-size: 2rem;
    font-weight: bold;
    color: rgb(89, 89, 160);

} */
/* .titre-defilant {
    width: 100%;
    overflow: hidden;
    white-space: nowrap;
    background: rgba(0, 0, 0, 0.35); transparent
    padding: 12px 0;
}

.titre-defilant h2 {
    display: inline-block;
    padding-left: 100%;
    font-size: 2rem;
    font-weight: bold;
    color: #fff;
    animation: defilement 18s linear infinite;
}

@keyframes defilement {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(-100%);
    }
} */
.arch{
    text-align: center;
    padding: 30px;
}
.archives{
    display: flex;
    width: 95%;
    padding: 30px;
    box-shadow: 0px 10px 20px rgb(240, 231, 231);
    
}
.sou_arch {
    padding: 20px;
    font-size: 18px;
    font-family: 'Times New Roman', Times, serif;
    line-height: 30px;
    text-align: justify;
    
}
.sou_arch p{
    padding: 15px;
    font-size: 18px;
    font-family: 'Times New Roman', Times, serif;
    line-height: 30px;
    text-align: left;  
}
.sou_arch h2{
   color: #548eda;  
   font-style: oblique;
   font-size:larger;
}
.sou_arch img{
    height: 400px;
    width: 600px;
    border-radius: 20px;
}

.butou{
    text-align: center;
    padding: 20px;
}
.buta{
    text-align: center;
}
.secteuser{
    display: flex;
    margin: 0 auto;
    gap: 5px;
    padding: 20px;
}
.secteuse{
    margin: 0 auto;
    padding: 10px;
    text-align: left;
    box-shadow: 0px 10px 20px rgb(245, 219, 219);

}
.secteuse:hover{
   transform: scale(1.03);
}
.secteuse img{
    width: 400px;
    height: 200px;
}
.secteuse p{
    width: 400px;
    text-align: left;
    font-size: 16px;
    color: #002b5c;
    font-family:serif;
}
.secteuse h3{
    text-align: center;
}
.sect{
    text-align: center;
}
table{
    margin: 0 auto;
    width: 90%;
    height: 300px;
    background-color: azure;
}
.tab{
    text-align: center;
}

.benific{
    display: flex;
    width: 95%;
    margin: 0 auto;
    height: 370px;
    text-align: center;
    gap: 20px;
}
.benificer:hover{
    transform: scale(1.03);

}
.benificer {
    margin: 0 auto;
    box-shadow: 0 10px 20px rgb(214, 202, 202);
        padding: 30px;

}
.benificer img{
    width: 200px;
    height: 200px;
    border-radius: 15px;
}
.benificer p{
    /* text-align: justify; */
    width: 85%;
    font-size: 16px;
    text-align: center;
}
.benificer h3{
    text-align: center;
}
.ben{
    text-align: center;
    padding: 18px;
}

.cate {
    text-align: center;
    padding: 50px;
}
.Catégories{
    display: flex;
    width: 100%;
    margin: 0 auto;
}
.categor{
    margin: 0 auto;
    height: 650px;
    box-shadow: 0px 10px 20px rgb(245, 219, 219);
    padding: 30px;
    text-align: center;
}
.categor:hover{
        transform: scale(1.03);
}
.categor img{
    width: 350px;
    height: 250px;
    border-radius: 20px;
}

.categor h3{
    text-align: center;
    padding: 15px;
}
.categor  p{
    width: 320px;
    text-align: left;
    line-height: 25px;
    font-size: 16px;
    font-family:serif;
    color: #474949;
    
}
.texto{
    margin: 0 auto;
    width: 80%;
    text-align: center;
    padding: 50px;
    box-shadow: 0px 10px 20px white;
}
.texto p{
    width: 100%;
    text-align: justify;
    line-height: 30px;
    font-size: 17px;
}
button{
    background-color: blue;
    width:250px;
    max-width:90%;
    height: 45px;
    border-radius: 20px;
    border: none;
    color: white;
    font-family: Georgia, 'Times New Roman', Times, serif;
    font-size: larger;
    cursor: pointer;
    
}
.but{
    display: block;
    margin: 40px auto;
    background-color: blue;
    width: 280px;
    height: 50px;
    border-radius: 20px;
    border: none;
    color: white;
}
button:hover{
    background-color: brown;
}
.compagniment{
    width: 100%;
    text-align: center;
    margin: 0 auto;
}
.compagniment p{
    text-align: center;
    width: 100%;
    padding-right: 40px;
    font-size: large;
}
.compagniment h2{
    
   color: #0066cc;
}
.expetateur{
    text-align: center;
    display: flex;
    width: 100%;
    gap: 10px;
    box-shadow: 0px 10px 20px rgb(226, 212, 212);
}
.exp{
    text-align: center;
    padding: 20px;
}
.exper{
    width: 220px;
    text-align: center;
}
.exper img{
    width: 180px;
    height: 200px;
    border-radius: 5px;
    transition: transform 0.5s ease;
}
.exper img:hover{
    transform: translateY(-10px);
}
.exper p{
    width: 180px;
    padding: 15px;
    font-size: 17px;
}

.fois{
    padding: 20px;
    text-align: center;
}
.maino{
    text-align: center;
    display: flex;
    width: 100%;
    gap: 20px;
    box-shadow: 0px 10px 20px rgb(226, 212, 212);
}
.maino p{
    text-align: center;
    font-size: 16px;
    /* color: #004aad; */
    
}
.pret{
    width: 220px;
    text-align: center;
    margin: 0 auto;
}
.pret img{
    width: 180px;
    height: 180px;
    border-radius: 5px;
    transition: transform 0.5s ease;
}
.pret img:hover{
    transform: scale(1.08);
}
.pret p{
    text-align: center;
}

.numerisation{
    width: 80%;
    margin: 0 auto;
    text-align: center;
    padding: 20px;
}
.numeri h2{
    padding: 5px;
    color: rgb(39, 122, 218);
}
.numeri p{
    width: 90%;
    text-align: justify;
    padding: 20px;
    line-height: 30px;
    font-family: 'Times New Roman', Times, serif;
    font-size: large;
}
.intelligente{
    display: flex;
    width: 97%;
    text-align: center;
    margin: 0 auto;
    padding: 20px;
    gap: 20px;
}
.automatise {
    box-shadow: 0 5px 10px rgb(241, 206, 139);
    padding: 30px;
    width: 500px;
    gap: 20px;
}
.automatise:hover{
    transform: scale(1.05);
    background-color: beige;
}
.automatise p{
    text-align: left;
    width: auto;
    font-size:large;
    font-family: serif;
    color: #404653;
}
.automatise img{
    width: 200px;
    height: 200px;
}
.intel{
    text-align: center;
}
.sec{
    margin: 0 auto;
    width: 100%;
    text-align: center;
    padding: 50px;
    background-color: aliceblue;
}
.sec img{
    margin: 0 auto;
    width: 80%;
    border-radius: 40px;
    padding: 50px;
    height: 350px;
}
.sec p{
    margin: 0 auto;
    width: 95%;
    text-align: justify;
    line-height: 30px;
    font-family: Georgia, 'Times New Roman', Times, serif;
    font-style: oblique;
    font-size: large;
    padding: 30px;
    color: #3f4553;
}
.different{
    text-align: center;
    color: #576f8a;
}
table td, table th{
    font-family: Georgia, 'Times New Roman', Times, serif;
    font-size: 18px;
    font-weight: 100;
    line-height: 30px;
}
.parti{
    width: 100%;
    line-height: 30px;
    margin: 0 auto;
    padding: 30px;
}
.parti h2{
    text-align: center;
    color: #6b89ac;
}
.parti p{
    width: 80%;
    line-height: 30px;
    margin: 0 auto;
    text-align: left;
    font-size: 16px;
    font-family:sans-serif;
}
.part{
    display: flex;
    width: 70%;
    margin: 0 auto;
    background-color: rgb(124, 159, 190);
}
.partd{
    padding: 50px;
}
.partd button{
    margin-top: 60px;
    width: 250px;
}
.helbo{
    display: flex;
    width: 100%;
    margin: 0 auto;
}
.document {
    margin: 0 auto;
    text-align: justify;
    box-shadow: 0 5px 10px rgb(241, 206, 139);
}
.document:hover{
    transform: scale(1.05);
}
.document img{
    width: 300px;
    height: 150px;
}
.document p{
    width: 300px;
    text-align: center;
    font-size: 16px;
    font-family: sans-serif;
}
.document h3{
    text-align: center;
}
.doc{
    text-align: center;
    padding: 40px;
}
.lontain{
    display: flex;
    width: 100%;
    margin: 0 auto;
}
.lontaine{
    width: 200px;
    height: 150px;
    margin: 0 auto;
    box-shadow: 0 5px 10px rgb(218, 154, 35);
    border-bottom: double blue;
}
.lontaine img{
    width: 265px;
    height: 180px;
    border-radius: 20px;
    /* border-color: #002b5c; */
}
.lontaine:hover{
    transform: scale(1.05);
}
.lontaine p, .lontaine h3{
    /* width: 180px; */
    text-align: center;
    font-size: 16px;
    font-family: sans-serif;
}
.loin{
    text-align: center;
    background-color: rgb(122, 122, 245);
    margin: 0 auto;
    margin-top: 70px;
    border-radius: 20px;
    width: 50%;
    padding: 10px;
    color: white;
}
.NOS{
    padding: 30px;
}
.espace{
    padding: 200px;
}

.Ged{
    width: 90%;
    text-align: center;
    margin: 0 auto;
    padding: 20px;
}
.Ged h2{
    color: rgb(72, 72, 207);
    width: 90%;
    
}
.Ged p{
    width: 80%;
    margin: 0 auto;
    text-align: left;
    line-height: 20px;
    font-family: sans-serif;
    font-size: 16px;
    padding-bottom: 20px;
}
.fonct{
    text-align: center;
    font-size: 30px;
    margin: 40px 0;
    color: #004aad;
}


.fonctionnel{
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    width: 90%;
    margin: auto;
    padding: 30px;
    gap: 30px;
    box-shadow: 0 5px 15px rgba(0,0,0,0.15);
    border-radius: 15px;
}


.fonction{
    width: 250px;
    padding: 20px;
    text-align: center;
    transition: 0.3s;
    background: white;
    border-radius: 15px;
}


.fonction:hover{
    transform: translateY(-10px);
    box-shadow: 0 10px 20px rgba(0,0,0,0.2);
}


.fonction img{
    width: 150px;
    height: 150px;
    object-fit: cover;
    border-radius: 15px;
}


.fonction p{
    text-align: center;
    line-height: 30px;
    font-family: 'Times New Roman', Times, serif;
    font-size: 18px;
    font-weight: bold;
}
.compagn{
    text-align: center;
    padding: 30px;
    border-radius: 10px;
    width: 50%;
    margin: 0 auto;
    color: #2a66aa;

}
.cote{
    display: flex;
    width: 100%;
    margin: 0 auto;
    padding: 40px;
    gap: 20px;
}
.cot{
    width: 70%;
    margin: 0 auto;
}
.cot img{
    width: 650px;
    height: 350px;
}
.cot p{
    width: 90%;
    text-align: left;
    line-height: 30px;
    font-family: 'Times New Roman', Times, serif;
    font-size: large;
}
.compagnier h2{
    text-align: center;
}
.compagnier p{
    text-align: justify;
    width: 90%;
    padding: 20px;
    margin: 0 auto;
    line-height: 30px;
    font-family: 'Times New Roman', Times, serif;
    font-size: large;
}
.électronique{
    display: flex;
    width: 97%;
    margin: 0 auto;
    gap: 20px;
    text-align: justify;
    height: auto;
}
.Electro {
    width: 70%;
    margin: 0 auto;
    box-shadow: 0 5px 10px rgb(218, 154, 35);
}
.Electro:hover{
    transform: scale(1.04);
}
.Electro img{
    width: 200px;
    height: 180px;
    padding: 30px;
}
.Electro p{
    width: 250px;
    text-align: center;
    line-height: 20px;
    font-family: sans-serif;
    font-size: 14px;
    color: #202227;
}
.Electro h2{
    text-align: center;
    font-family: 'Times New Roman', Times, serif;
    font-size: large;
}

.solu{
    text-align: center;
    padding: 20px;
    background-color: rgb(145, 145, 204);
    border-radius: 20px;
    width: 70%;
    margin: 0 auto;
    margin-bottom: 50px;
    padding-bottom: 40px;
    color: white;
}
.jali{
    margin: 0 auto;
    padding: 40px;
    text-align: center;
}

.faq{
    width: 80%;
    margin: 50px auto;
    box-shadow: 4px 10px 20px rgb(214, 159, 159);
}
.accordion{
    margin-bottom: 20px;
}
.accordion-btn{
    width: 100%;
    border: none;
    border-radius: 12px;
    padding: 25px 30px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
    color: black;
}
.left{
    display: flex;
    align-items: center;
    gap: 20px;
}
.left img{
    width: 55px;
}
.left span{
    font-size: 20px;
}
.icon{
    font-size: 22px;
    transition: .3s;
}
.accordion-content{
    max-height: 0;
    overflow: hidden;
    border-radius: 0 0 12px 12px;
    transition: .4s;
    padding: 0 30px;
}
.accordion-content p{
  line-height: 30px;
  font-size: large;
  font-style: italic;
}
.accordion.active .accordion-content{
    max-height: 200px;
    padding: 20px 30px;
}
.accordion.active .icon{
    transform: rotate(180deg);
}

.Partie1{
    width: 100%;
    margin: 0 auto;
    justify-content: center;
}
.Partie1 h2{
    text-align: center;
    padding: 30px;
}
.espacentA{
    padding:45px;
}
.Partie1 p{
    width: 70%;
    margin: 0 auto;
    text-align: justify;
    line-height: 20px;
    font-family: Georgia, 'Times New Roman', Times, serif;
    font-size: 16px;
}
.Partie1 .buti{
    text-align: center;
    padding: 20px;
}
.metier{
    display: flex;
    margin: 0 auto;
    width: 90%;
    padding: 30px;
    background-color: aliceblue;
    box-shadow: 0 5px 20px rgb(202, 194, 194);
}
.partie2 {
    margin: 0 auto;
}
.partie2 p{
    width: 90%;
    line-height: 30px;
    font-family: Georgia, 'Times New Roman', Times, serif;
    text-align: justify;
    font-size: 16px;
}
.partie2 video{
    border: none;
    padding: 50px;
}
.meill{
    display: flex;
    width: 80%;
    padding: 20px;
}
.Banque{
    width: 80%;
    margin: 0 auto;
}
.Banque table{
    border: none;
}
.Banque ul, .Banque li{
    width: 70%;
    text-align: justify;
    line-height: 30px;
    font-family: 'Times New Roman', Times, serif;
}

.processus{
    text-align: center;
    padding: 10px;
}
.Helbor{
    text-align: center;
    background-color: rgb(113, 187, 221);
    width: 60%;
    margin: 0 auto;
    border-radius: 20px;
}
.Helbor3{
    text-align: center;
    width: 60%;
    margin: 0 auto;
    padding: 70px;
}


.électrophon{
    display: flex;
    width: 80%;
    /* margin: 0 auto; */
    gap: 20px;
    text-align: justify;
    /* box-shadow: 0 5px 10px rgb(218, 154, 35); */

}
.Electrop {
    width: 70%;
    margin: 0 auto;
    box-shadow: 0 5px 10px rgb(218, 154, 35);
    border-radius: 20px;
        border-bottom: 7px solid rgb(31, 161, 201);

}

.Electrop img{
    width: 200px;
    height: 150px;
    padding: 30px;
}

.Electrop p{
    width: 250px;
    text-align: center;
    line-height: 20px;
    font-family: 'Times New Roman', Times, serif;
    font-size: large;
}
.Electrop h2{
    text-align: center;
    font-family: 'Times New Roman', Times, serif;
    font-size: large;
}


.outsap{
    display: flex;
    width: 90%;
    margin: 0 auto;
    padding: 40px;
    
}
.out{
    width: 90%;
    margin: 0 auto;
    padding: 40px;
    box-shadow: 4px 10px 20px whitesmoke;
}
.out p{
    line-height: 25px;
    font-family: sans sans-serif;
    padding: 5px;
    text-align: left;
    font-size: large;
}
.out h2{
    font-family: Georgia, 'Times New Roman', Times, serif;
    color: rgb(136, 136, 224);
}
.out img{
   width: 500px;
   height: 400px;
   border-radius: 10px;
}
.flux{
    display: flex;
    margin: 0 auto;
    width: 90%;
    padding: 20px;
    gap: 20px;

}
.fluxant {
    width: 250px;
    margin: 0 auto;
    box-shadow: 4px 10px 20px rgb(226, 146, 146);
    padding: 25px;
    border-bottom: 7px solid rgb(31, 161, 201);

}
.fluxant:hover {
    transform: scale(1.1);

}
.fluxant img{
    width: 220px;
    height: 150px;
    border-radius: 10px;
}
.fluxant p{
    /* width: 200px; */
    /* text-align: justify; */
    line-height: 20px;
    text-align: center;
    font-size: 16px;
    font-family: sans-serif;
    padding: 5px;
}
.fluxant h3{
    /* width: 200px; */
    /* text-align: justify; */
    /* line-height: 30px; */
    text-align: center;
}
 .flou{
   text-align: center;
   padding: 30px;
   color: rgb(199, 61, 176);
}
.bout{
    text-align: center;
    padding: 20px;
}
.BPOU{
    display: flex;
    margin: 0 auto;
    width: 90%;
}

.helPO{
    width: 350px;
    height: auto;
    margin: 0 auto;
    box-shadow: 4px 10px 20px rgb(226, 146, 146);
    padding-left: 70px;
    padding: 20px;
    text-align: justify;
    border-bottom: 7px solid rgb(31, 161, 201);



}
.helPO:hover{
        transform: scale(1.03);
    }

.helPO img{
    width: 320px;
    height: 180px;
}
.helPO h3{
   text-align: center;

}
.helPO p{
   text-align: center;
      font-size: 16px;
    font-family: sans-serif;

}
.Bpo{
    text-align: center;
    padding: 18px;
    color: rgb(199, 61, 176);
}

.drapo{
    display: flex;
    width: 80%;
    margin: 0 auto;
    /* text-align: justify; */
    gap: 20px;
    box-shadow: 7px 10px 20px rgb(226, 146, 146);
    padding: 20px;

}
.drap {
    width: 60%;
    margin: 0 auto;
}
.drap img{
    width: 500px;
    height: 300px;
    border-radius: 30px;
    }
.drap h2{
   color: rgb(211, 52, 198);
    }
.drap p{
    /* width: 400px; */
    line-height: 30px;
    font-size: 16px;

    }

    .espace3{
        padding: 70px;
    }
    .espace4{
        padding: 30px;
    }
    .NOSE{
           color: rgb(211, 52, 198);
           padding: 20px;
           margin-left: 0;

    }
    .vrac{
        width: 80%;
        margin:  0 auto;
        font-family: Arial, Helvetica, sans-serif;
        font-size: 17px;
        line-height: 20px;  
    }
    .vrac p{
        line-height: 30px; 
        font-size: 16px;
    }
    .vrac h2{
        color: rgb(211, 52, 198);
    }
    .vrai{
        text-align: center;
        width: 400px;
        height: auto;
        margin: 0 auto;
        margin-top: 20px;
    }
    .vrai button{
        padding-top: 10px;
    }
    .espaces{
    padding:50px 20px;
    }
    .traite{
        text-align: center;
        width: 61%;
        margin: 0 auto;
        padding: 20px;
        font-family: 'Times New Roman', Times, serif;
        font-size: 18px;
        font-weight: lighter;
    }


    .lontainair{
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    gap: 70px;
    flex-wrap: wrap;
    margin: 40px auto;
}

.lontainer{
    width: 220px;
    text-align: center;
    transition: 0.3s;
}

.lontainer img{
    width: 180px;
    height: 180px;
    border-radius: 50%;
    object-fit: cover;
    box-shadow: 0 5px 10px rgb(218,154,35);
}

.lontainer:hover{
    transform: translateY(-10px);
}

.lontainer p{
    margin-top: 15px;
    font-size: 17px;
    /* font-weight: bold; */
    line-height: 1.5;
}
.para{
    padding: 10px;
}

.espacesa{
    padding:50px 20px;
}
.lontaine h4{
    text-align: center;
}
.lontaine p{
    text-align: center;
}
.optant{
    text-align: center;
    padding: 20px;
}


/* =========================
   MENU RESPONSIVE
========================= */

*{
    box-sizing:border-box;
}


.menu-toggle{
    display:none;
    font-size:35px;
    cursor:pointer;
    color:black;
}



/* =========================
   TABLETTE
========================= */

@media(max-width:992px){

    nav{
        padding:10px 25px;
    }


    nav ul{
        gap:15px;
        flex-wrap:wrap;
    }


    .Services,
    .temoignages,
    .externaliser,
    .stats,
    .process,
    .grid,
    .archives,
    .secteuser,
    .benific,
    .Catégories,
    .expetateur,
    .maino,
    .intelligente,
    .part,
    .helbo,
    .fonctionnel,
    .cote,
    .électronique,
    .électrophon,
    .outsap,
    .flux,
    .BPOU,
    .drapo,
    .metier{

        flex-wrap:wrap;
        justify-content:center;

    }


    img,
    video{

        max-width:100%;
        height:auto;

    }


    .sou_arch img,
    .cot img,
    .out img,
    .drap img{

        width:100%;
        height:auto;

    }

}




/* =========================
   TELEPHONE
========================= */

@media(max-width:768px){


body{

    overflow-x:hidden;
   

}



/* NAVBAR */

nav{

    flex-direction:row;
    justify-content:space-between;
    align-items:center;
    padding:10px 20px;

}



.logo img{

       width:60px;
    height:60px;
    object-fit:contain;

}



/* BOUTON MENU */

.menu-toggle{

    display:block;

}



/* MENU MOBILE */

nav ul.menu{

    display:none;

    position:absolute;

    top:90px;

    left:0;
    right: 0;

    width:100vw;

    background:white;

    flex-direction:column;

    align-items:center;

    padding:20px 0;

    margin:0;

    box-shadow:0 5px 15px rgba(0,0,0,0.2);

}



nav ul.menu.active{

    display:flex;

}



nav ul.menu li{

    width:100%;
    text-align:center;

}



nav ul.menu li a{

    display:block;
    padding:12px;
    font-size:16px;

}



/* SOUS MENU MOBILE */

.submenu{

    position:static;

    width:100%;

    display:none;

}


.dropdown:hover .submenu{

    display:none;

}



/* IMAGES PRINCIPALES */

.herobanne img,
.entext img{

    width:100%;
    height:auto;

}



/* SECTIONS EN COLONNE */

.Services,
.temoignages,
.externaliser,
.stats,
.process,
.grid,
.archives,
.secteuser,
.benific,
.Catégories,
.expetateur,
.maino,
.intelligente,
.part,
.helbo,
.lontain,
.fonctionnel,
.cote,
.électronique,
.électrophon,
.outsap,
.flux,
.BPOU,
.drapo,
.metier{

    flex-direction:column;
    align-items:center;
    width:100%;

}



/* CARTES */

.service,
.secteuse,
.document,
.categor,
.Electro,
.Electrop,
.helPO,
.fluxant{

    width:90%;
    margin:15px auto;

}



/* TEXTES DES CARTES */

.service p,
.secteuse p,
.document p,
.categor p,
.Electro p,
.Electrop p,
.drap p,
.out p{

    width:90%;
    margin:auto;

}



/* IMAGES DES CARTES */

.service img,
.secteuse img,
.document img,
.categor img,
.Electro img,
.Electrop img,
.helPO img,
.fluxant img{

    width:100%;
    height:auto;

}



/* BOUTONS */

button{

    width:90%;
    max-width:350px;

}



/* TABLEAUX */

table{

    width:100%;
    display:block;
    overflow-x:auto;

}



/* ESPACES */

.espace,
.espacesa{

    padding:50px;

}



/* ELEMENT POSITIONNE */

.partie{

    left:0;
    top:0;
    position:relative;

}



/* TEXTES */

.entext p,
.drap p,
.Ged p,
.Partie1 p{

    width:90%;
    margin:auto;

}


}

.hero-banque{
    text-align: center;
    margin: 0 auto;
    padding: 30px;
}
.hero-banque p{
    line-height: 20px;
    font-size: larger;
    font-family: 'Times New Roman', Times, serif;

}
.hero-banque h1{
    font-size:48px;
    color:#002b5c;

}
.intro {
    text-align: center;
    margin: 0 auto;
    width: 100%;
    gap: 20px;
    
 
}
.intro p{
    
    line-height: 25px;
    font-family:Georgia, 'Times New Roman', Times, serif;
    font-size:18px;
    width: 50%;
    text-align: left;
    margin: 0 auto;
    
}
.intro h2{
    
        color:#002b5c;

    
}
.hero-banque a{
    display: inline-block;
    width: 300px;
    height: 50px;
    background: #275fa8;
    color: white;
    text-decoration: none;
    border-radius: 30px;
    font-weight: 200;
    text-align: center;
    padding: 15px;
        margin-top: 40px;
        font-family: Georgia, 'Times New Roman', Times, serif;
        font-size: larger;


}
.hero-banque a:hover{
    background-color: #548eda;
    color: black;

}

.defis{
    width: 100%;
    justify-content: center;
    padding: 40px;
    
}
.defis h2{
text-align: center;
font-size:48px;
color:#002b5c;
 margin-bottom:40px;
    
}
.defis .cards{
    display: flex;
    width: 100%;
    justify-content: center;
    margin: 0 auto;
    padding: 30px;
        background-color: white;
        box-shadow: 0 5px 10px rgb(129, 126, 126);

}
.defis .cards p{
    display: flex;
    width: 80%;
    justify-content: center;
    font-family:Georgia, 'Times New Roman', Times, serif;
    font-size: 20px;
    color: #222;
    text-align: left;
}
.defis .cards h3{
    display: flex;
    width: 70%;
    justify-content: center;
    font-family:Georgia, 'Times New Roman', Times, serif;
    font-size: 20px;
    color: #173596;
}

.services-banque {

}
.service-grid{
    display: flex;
    box-shadow: 0 5px 10px rgb(129, 126, 126);
    width: 100%;
    gap: 20px;
    margin: 0 auto;
    text-align: center;
    line-height: 20px;
    /* text-align: justify; */

}


.services-banque h2{
    text-align: center;
    font-size: 40px;
    color:#002b5c;
    padding: 20px;

}



.why h2{
    text-align: center;
    /* padding: 40px; */
    font-size: 30px;
    color: #18335c;

}

.why-container{
    display: flex;
    /* flex-wrap: wrap; */
    justify-content: center;
    padding:80px 2%;
    gap: 25px;
    width: 100%;
    margin: auto; 
    /* box-shadow: 0 10px 20px rgb(66, 156, 152);   */
    background:linear-gradient(135deg,#edf5ff,#ffffff);
    /* padding: 30px; */
}
.pourq{
  width: 210px;
 text-align: center;

}
.pourq h4{
  width: 180px;
    text-align: center;
    font-size: 20px;
    color: #0d6efd;
    
}

.pourq img{
    width: 120px;
    height: 120px;
    object-fit: contain;
    margin: 0 auto 15px auto;
    border-radius: 100%;
    
}
.timeline{
     display: flex;
    /* flex-wrap: wrap; */
    justify-content: center;
    gap: 20px;
    width: 100%;
    margin: auto;   
    font-family: Arial, Helvetica, sans-serif;
    padding: 5px;

}
.processe{
    text-align: center;
    padding: 10px;
    font-family:Georgia, 'Times New Roman', Times, serif;
    font-size: 28px;
}
.statistiques h3{
    font-family:Georgia, 'Times New Roman', Times, serif;
    font-size: x-large;
        color: #004aad;

}
.statistiques h3,p{
    font-family:Georgia, 'Times New Roman', Times, serif;
    font-size: x-large;
}


/*partie engagement


*/
.process{

    padding:90px 8%;
    background:#f8fbff;

}

.process-title{

    text-align:center;
    max-width:850px;
    margin:auto;
    /* margin-bottom:70px; */
    padding: 70px;


}

.process-title span{

    color:#0d6efd;
    font-weight:bold;
    letter-spacing:2px;

}

.process-title h2{

    font-size:42px;
    color:#002b5c;
    margin:15px 0;
    text-align: center;

}

.process-title p{

    color:#666;
    line-height:30px;
    font-size:18px;

}

.timeline{

    display:flex;
    justify-content:center;
    /* align-items:flex-start; */
    gap:15px;
    /* flex-wrap:wrap; */


}

.step{

    width:210px;
    text-align:center;
    background:white;
    padding:35px 25px;
    border-radius:20px;
    box-shadow:0 15px 35px rgba(0,0,0,.08);
    transition:.4s;
    position:relative;

}

.step:hover{

    transform:translateY(-12px);

}

.circle{

    width:70px;
    height:70px;
    margin:auto;
    margin-bottom:20px;
    border-radius:50%;
    background:#0d6efd;
    color:white;
    display:flex;
    justify-content:center;
    align-items:center;
    font-size:28px;
    font-weight:bold;

}

.step h3{

    color:#002b5c;
    margin-bottom:15px;

}

.step p{

    color:#666;
    line-height:26px;

}

.line{

    width:70px;
    height:5px;
    background:#0d6efd;
    margin-top:65px;
    border-radius:20px;

}

@media(max-width:1100px){

.line{

display:none;

}

.timeline{

gap:25px;

}

.step{

width:100%;
max-width:350px;

}

.process-title h2{

font-size:34px;

}

}



.engagements{

    padding:90px 8%;
    background:linear-gradient(135deg,#edf5ff,#ffffff);

}

.titre-engagement{

    text-align:center;
    max-width:800px;
    margin:auto;
    margin-bottom:60px;

}

.titre-engagement span{

    color:#0d6efd;
    font-weight:bold;
    letter-spacing:2px;

}

.titre-engagement h2{

    font-size:42px;
    margin-top:15px;
    color:#002b5c;

}

.titre-engagement p{

    color:#555;
    line-height:30px;
    font-size:18px;

}

.engagement-grid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(260px,1fr));

    gap:30px;

}

.engagement-card{

    background:white;

    padding:40px;

    border-radius:20px;

    text-align:center;

    transition:.4s;

    box-shadow:0 15px 35px rgba(0,0,0,.08);

    position:relative;

    overflow:hidden;

}

.engagement-card::before{

    content:"";

    position:absolute;

    width:100%;

    height:5px;

    left:0;

    top:0;

    background:#0d6efd;

}

.engagement-card:hover{

    transform:translateY(-12px);

    box-shadow:0 25px 45px rgba(0,0,0,.18);

}

.icon{

    width:90px;

    height:90px;

    margin:auto;

    border-radius:50%;

    background:#eaf3ff;

    display:flex;

    justify-content:center;

    align-items:center;

    font-size:45px;

    margin-bottom:25px;

}

.engagement-card h3{

    font-size:48px;

    color:#0d6efd;

    margin-bottom:10px;

}

.engagement-card h4{

    font-size:22px;

    color:#002b5c;

    margin-bottom:15px;

}

.engagement-card p{

    color:#666;

    line-height:28px;

}

@media(max-width:768px){

.titre-engagement h2{

font-size:32px;

}

}





/* ==============================
   PAGE ASSURANCE / CNSS
============================== */


/* HERO TAG */

.tag{

    display:inline-block;
    background:#e8f2ff;
    color:#0066cc;
    padding:8px 20px;
    border-radius:30px;
    font-size:14px;
    font-weight:bold;
    margin-bottom:20px;

}


/* INTRO */

.intro{

    width:85%;
    margin:80px auto;
    text-align:center;
    box-shadow: 4px 5px 10px wheat;
    height: auto;

}


.intro h2{

    color:#002b5c;
    font-size:38px;
    margin-bottom:25px;

}


.intro p{

    max-width:900px;
    margin:auto;
    line-height:32px;
    font-size:18px;
    color:#555;

}




/* DEFIS */

.defis{

    /* padding:80px 8%; */
    background:#f7faff;
    width: 100%;

}


.defis h2,
.services-banque h2,
.documents h2,
.why h2{

    text-align:center;
    color:#002b5c;
    font-size:38px;
    margin-bottom:50px;

}



.cards{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
    gap:30px;

}


.card{

    background:white;
    padding:35px 25px;
    border-radius:18px;
    text-align:center;
    box-shadow:0 10px 30px rgba(0,0,0,.08);
    transition:.4s;

}


.card:hover{

    transform:translateY(-10px);

}


.card h3{

    color:#0066cc;
    margin-bottom:15px;

}


.card p{
    color:#666;
    line-height:26px;
    font-size: 14px;

}




/* SOLUTIONS */

.services-banque{

    /* padding:50px 2%; */
      width: 100%;
    justify-content: center;

}

.service-grid{
  
   display:flex;
    grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
    gap:10px;

}


.service-grid.service{
    width: 200px;

    background:white;
    border-radius:20px;
    /* overflow:hidden; */
    box-shadow:0 10px 30px rgba(0,0,0,.1);
    transition:.4s;

}



.service-grid.service.service:hover{

    transform:translateY(-10px);

}



.service-grid.service.service img{

    width:100%;
    height:200px;
    object-fit:cover;

}



.service-grid.service h3{

    color:#002b5c;
    padding:15px 20px 5px;

}



.service-grid.service p{

    padding:0 20px 25px;
    color:#666;
    line-height:26px;

}





/* DOCUMENTS */

.documents{
    width:100%;
    padding:80px 2%;
    background:#f8f9fb;
}

.documents h2{
    text-align:center;
    font-size:38px;
    color:#0b2e59;
    margin-bottom:50px;
    font-weight:700;
}

.cards{
    width: 50%px;
    display:grid;
    display: flex;
    grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
    gap:35px;
}

.card{
    background:#fff;

    /* padding:35px 20px; */
    border-radius:12px;
    text-align:center;
    box-shadow:0 8px 20px rgba(0,0,0,.08);
    transition:.4s;
    cursor:pointer;
}

.card:hover{
    transform:translateY(-8px);
    box-shadow:0 15px 35px rgba(0,0,0,.15);
}

.card h3{
    font-size:20px;
    color:#0b2e59;
    font-weight:600;
}





/* WHY */

.why{

    padding:90px 8%;

}


.why-container{

    display:flex;
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
    gap:5px;

}



.pourq{

    text-align:center;
    background:white;
    padding:25px;
    border-radius:20px;
    box-shadow:0 10px 25px rgba(0,0,0,.1);
    transition:.4s;

}



.pourq:hover{

    transform:translateY(-10px);

}



.pourq img{

    width:130px;
    height:130px;
    border-radius:50%;
    object-fit:cover;
    margin-bottom:20px;

}



.pourq h4{

    color:#002b5c;
    font-size:18px;

}




/* PROCESS */

.process{

    padding:90px 8%;
    background:#f7faff;

}


.process h2{

    text-align:center;
    color:#002b5c;
    font-size:38px;
    margin-bottom:50px;

}



.timeline{

    display:flex;
    justify-content:center;
    gap:25px;
    flex-wrap:wrap;

}



.step{

    width:220px;
    background:white;
    padding:30px;
    border-radius:20px;
    text-align:center;
    box-shadow:0 10px 25px rgba(0,0,0,.1);
    transition:.4s;

}


.step:hover{

    transform:translateY(-10px);

}



.step h3{

    color:#0066cc;

}


.step p{

    color:#666;
    line-height:25px;

}





/* ENGAGEMENTS */

.engagements{

    padding:90px 8%;
    background:linear-gradient(135deg,#eef6ff,#ffffff);

}


.titre-engagement{

    text-align:center;
    max-width:800px;
    margin:auto;
    margin-bottom:50px;

}


.titre-engagement span{

    color:#0066cc;
    font-weight:bold;
    letter-spacing:2px;

}


.titre-engagement h2{

    color:#002b5c;
    font-size:40px;

}


.titre-engagement p{

    color:#666;
    line-height:28px;

}



.engagement-grid{

    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
    gap:30px;

}



.engagement-card{

    background:white;
    text-align:center;
    padding:35px;
    border-radius:20px;
    box-shadow:0 15px 30px rgba(0,0,0,.1);
    transition:.4s;

}


.engagement-card:hover{

    transform:translateY(-10px);

}


.icon{

    font-size:45px;
    margin-bottom:20px;

}



.engagement-card h3{

    font-size:45px;
    color:#0066cc;

}



.engagement-card h4{

    color:#002b5c;

}




/* CTA FINAL */


.cta{

    padding:80px 10%;
    text-align:center;
    background:#002b5c;
    color:white;

}


.cta h2{

    font-size:38px;
    margin-bottom:20px;
    color: white;

}



.cta p{

    font-size:18px;
    margin-bottom:30px;

}



.cta .btn{

    background:white;
    color:#002b5c;

}



.cta .btn:hover{

    background:#0066cc;
    color:white;

}




/* MOBILE */


@media(max-width:768px){


.intro h2,
.defis h2,
.services-banque h2,
.documents h2,
.why h2,
.process h2{

    font-size:30px;

}


.hero-content h1{

    font-size:35px;

}


}







/* ==========================================================================
   STYLE GÉNÉRAL
   ========================================================================== */
:root {
    --primary: #1d4ed8;       /* Bleu Médical */
    --primary-dark: #1e1b4b;  /* Indigo Foncé */
    --secondary: #10b981;     /* Émeraude / Confiance */
    --text-main: #1e293b;     /* Gris Ardoise Foncé */
    --text-muted: #64748b;    /* Gris Textes Secondaires */
    --bg-light: #f8fafc;      /* Fond Clair */
    --white: #ffffff;
}

* {
    margin: 0;
    padding: 0;
    box-space: border-box;
}

body {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    background-color: var(--bg-light);
    color: var(--text-main);
    line-height: 1.6;
    
}

.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 24px;
}

/* ==========================================================================
   BOUTONS & COMPOSANTS
   ========================================================================== */
.btn {
    display: inline-block;
    background-color: var(--secondary);
    color: var(--white);
    font-weight: 700;
    padding: 14px 32px;
    border-radius: 8px;
    text-decoration: none;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
    transition: background-color 0.3s ease, transform 0.2s ease;
}

.btn:hover {
    background-color: #059669;
    transform: translateY(-1px);
}

/* ==========================================================================
   1. HERO SECTION
   ========================================================================== */
.hero {
    background: linear-gradient(135deg, var(--primary) 0%, var(--primary-dark) 100%);
    color: var(--white);
    text-align: center;
    padding: 80px 24px;
}

.hero-badge {
    background-color: rgba(255, 255, 255, 0.15);
    color: #93c5fd;
    font-size: 14px;
    font-weight: 600;
    padding: 6px 16px;
    border-radius: 50px;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.hero h1 {
    font-size: 40px;
    font-weight: 800;
    margin: 24px 0 16px 0;
    line-height: 1.2;
}

.hero p {
    font-size: 18px;
    color: #bfdbfe;
    max-width: 650px;
    margin: 0 auto 32px auto;
}

/* ==========================================================================
   2. SERVICES SECTION
   ========================================================================== */
.services-section {
    padding: 64px 0;
}

.section-title {
    text-align: center;
    margin-bottom: 48px;
}

.section-title h2 {
    font-size: 32px;
    color: #0f172a;
    font-weight: 700;
}

.section-title p {
    color: var(--text-muted);
    margin-top: 8px;
}

.services-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 32px;
}

.service-card {
    background-color: var(--white);
    padding: 32px;
    border-radius: 12px;
    border: 1px solid #e2e8f0;
    box-shadow: 0 1px 3px rgba(0,0,0,0.05);
    transition: box-shadow 0.3s ease;
}

.service-card:hover {
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.05);
}

.service-icon {
    width: 48px;
    height: 48px;
    background-color: #dbeafe;
    color: var(--primary);
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    font-size: 20px;
    margin-bottom: 24px;
}

.service-card h3 {
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 16px;
    color: #0f172a;
}

.service-list {
    list-style: none;
}

.service-list li {
    font-size: 14px;
    color: var(--text-muted);
    margin-bottom: 12px;
    display: flex;
    align-items: flex-start;
}

.service-list li i {
    color: var(--secondary);
    margin-right: 8px;
    margin-top: 4px;
}

/* ==========================================================================
   3. AVANTAGES (POURQUOI CHOISIR)
   ========================================================================== */
.advantages-section {
    background-color: #f1f5f9;
    padding: 64px 0;
}

.advantages-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 24px;
}

.advantage-card {
    background-color: var(--white);
    padding: 24px;
    border-radius: 8px;
    text-align: center;
    box-shadow: 0 1px 3px rgba(0,0,0,0.02);
}

.advantage-card i {
    font-size: 32px;
    margin-bottom: 16px;
    display: inline-block;
}

.advantage-card i.security { color: var(--secondary); }
.advantage-card i.teams { color: var(--primary); }
.advantage-card i.hours { color: #6366f1; }
.advantage-card i.chart { color: #a855f7; }

.advantage-card h4 {
    font-size: 16px;
    font-weight: 700;
    margin-bottom: 8px;
    color: #0f172a;
}

.advantage-card p {
    font-size: 14px;
    color: var(--text-muted);
}

/* ==========================================================================
   4. PROCESSUS D'INTÉGRATION
   ========================================================================== */
.process-section {
    padding: 64px 0;
}

.process-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 24px;
}

.process-step {
    text-align: center;
}

.step-number {
    width: 40px;
    height: 40px;
    background-color: #4f46e5;
    color: var(--white);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    margin: 0 auto 12px auto;
}

.process-step h4 {
    font-weight: 700;
    margin-bottom: 4px;
}

.process-step p {
    font-size: 12px;
    color: var(--text-muted);
}

/* ==========================================================================
   5. CTA / CONTACT
   ========================================================================== */
.cta-section {
    background-color: var(--primary-dark);
    color: var(--white);
    text-align: center;
    padding: 64px 24px;
}

.cta-section h2 {
    font-size: 32px;
    font-weight: 700;
    margin-bottom: 16px;
}

.cta-section p {
    color: #c7d2fe;
    margin-bottom: 32px;
}

/* ==========================================================================
   RESPONSIVE MEDIA QUERIES
   ========================================================================== */
@media (max-width: 768px) {
    .hero h1 { font-size: 32px; }
    .hero p { font-size: 16px; }
    .section-title h2 { font-size: 28px; }
}






/* ===========================
   PAGE ACTUALITÉS
=========================== */

.breadcrumb{
    width:90%;
    margin:120px auto 30px;
    font-size:15px;
    display:flex;
    align-items:center;
    gap:10px;
    flex-wrap:wrap;
}

.breadcrumb a{
    text-decoration:none;
    color:#666;
    transition:.3s;
}

.breadcrumb a:hover{
    color:#d69a23;
}

.breadcrumb .active{
    color:#d69a23;
    font-weight:600;
}

/* ===========================
   Header
=========================== */

.actualites-header{
    width:90%;
    margin:0 auto 50px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    flex-wrap:wrap;
    gap:20px;
}

.actualites-header h1{
    font-size:42px;
    color:#222;
    margin:0;
    position:relative;
}

.actualites-header h1::after{
    content:"";
    width:70px;
    height:4px;
    background:#d69a23;
    display:block;
    margin-top:12px;
    border-radius:10px;
}

.categorie{
    display:flex;
    flex-direction:column;
    gap:8px;
}

.categorie label{
    font-weight:bold;
    color:#444;
}

.categorie select{
    padding:12px 18px;
    border:1px solid #ddd;
    border-radius:30px;
    outline:none;
    cursor:pointer;
    min-width:240px;
    transition:.3s;
}

.categorie select:focus{
    border-color:#d69a23;
}

/* ===========================
   Cartes Actualités
=========================== */

.actualites{
    width:90%;
    margin:0 auto 70px;
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(360px,1fr));
    gap:30px;
}

.news-card{
    background:#fff;
    border-radius:18px;
    overflow:hidden;
    box-shadow:0 8px 25px rgba(0,0,0,.08);
    transition:.4s;
}

.news-card:hover{
    transform:translateY(-8px);
    box-shadow:0 20px 40px rgba(0,0,0,.15);
}

.news-card img{
    width:100%;
    height:230px;
    object-fit:cover;
}

.news-content{
    padding:25px;
}

.news-content span{
    color:#d69a23;
    font-weight:bold;
    font-size:14px;
}

.news-content h3{
    margin:15px 0;
    font-size:22px;
    color:#222;
    line-height:1.5;
}

.news-content a{
    display:inline-block;
    margin-top:10px;
    color:#d69a23;
    text-decoration:none;
    font-weight:bold;
    transition:.3s;
}

.news-content a:hover{
    letter-spacing:1px;
}

/* ===========================
   Pagination
=========================== */

.pagination{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:12px;
    margin:40px 0 80px;
    flex-wrap:wrap;
}

.pagination a,
.pagination span{
    width:45px;
    height:45px;
    display:flex;
    justify-content:center;
    align-items:center;
    border-radius:50%;
    text-decoration:none;
    background:#f5f5f5;
    color:#444;
    font-weight:bold;
    transition:.3s;
}

.pagination a:hover{
    background:#d69a23;
    color:#fff;
}

.pagination .active{
    background:#d69a23;
    color:#fff;
}

/* ===========================
   Responsive
=========================== */

@media(max-width:768px){

    .actualites-header{
        flex-direction:column;
        align-items:flex-start;
    }

    .actualites-header h1{
        font-size:32px;
    }

    .categorie{
        width:100%;
    }

    .categorie select{
        width:100%;
    }

    .actualites{
        grid-template-columns:1fr;
    }

    .news-content h3{
        font-size:20px;
    }

    .news-card img{
        height:200px;
    }
}















/* =========================
        HERO FAQ
========================= */

.hero-faq{
    height:420px;
    background:
    linear-gradient(rgba(0,45,90,.75),rgba(0,45,90,.75)),
    url("../images/faq.jpg");
    background-size:cover;
    background-position:center;
    display:flex;
    justify-content:center;
    align-items:center;
    text-align:center;
    margin-top:80px;
}

.hero-faq-content h1{
    color:white;
    font-size:50px;
    margin-bottom:20px;
    font-weight:700;
}

.hero-faq-content p{
    color:white;
    font-size:24px;
}



/* =========================
      CATEGORIES
========================= */

.faq-categories{
    width:90%;
    margin:80px auto;
    text-align:center;
}

.faq-categories h2,
.faq h2{
    font-size:35px;
    color:#12304a;
    margin-bottom:40px;
}


.categories{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
    gap:25px;
}


.categories button{

    padding:25px 15px;
    background:white;
    border:none;
    border-radius:15px;
    box-shadow:0 8px 25px rgba(0,0,0,.08);
    font-size:16px;
    font-weight:600;
    color:#12304a;
    cursor:pointer;
    transition:.4s;
}


.categories button:hover{
    background:#d69a23;
    color:white;
    transform:translateY(-8px);
}



/* =========================
          FAQ
========================= */


.faq{
    width:75%;
    margin:80px auto;
}


.faq-item{
    margin-bottom:20px;
}


.faq-question{

    width:100%;
    padding:25px;
    background:white;
    border:none;
    border-radius:12px;
    display:flex;
    justify-content:space-between;
    align-items:center;

    font-size:18px;
    font-weight:600;
    color:#12304a;

    box-shadow:0 5px 20px rgba(0,0,0,.08);

    cursor:pointer;
}



.faq-question span{

    width:35px;
    height:35px;
    display:flex;
    justify-content:center;
    align-items:center;

    background:#d69a23;
    color:white;
    border-radius:50%;

    font-size:25px;
}



.faq-answer{

    background:#f8f8f8;
    padding:20px 25px;
    margin-top:5px;
    border-radius:0 0 12px 12px;

    color:#555;
    line-height:1.7;
}




/* =========================
        CONTACT
========================= */


.faq-contact{

    width:90%;
    margin:80px auto;
    padding:60px 30px;

    text-align:center;

    background:#12304a;
    border-radius:25px;
}


.faq-contact h2{

    color:white;
    font-size:35px;

}


.faq-contact p{

    color:white;
    font-size:18px;
    margin:25px auto;
    max-width:700px;

}



.btn-faq{

    display:inline-block;

    padding:15px 35px;

    background:#d69a23;
    color:white;

    border-radius:30px;

    text-decoration:none;
    font-weight:bold;

    transition:.3s;

}


.btn-faq:hover{

    background:white;
    color:#12304a;

}



/* =========================
        MOBILE
========================= */

@media(max-width:768px){


.hero-faq-content h1{
    font-size:35px;
}


.hero-faq-content p{
    font-size:18px;
}



.faq{
    width:90%;
}


.categories{
    grid-template-columns:1fr;
}


}



/*contact.css/*
/* =========================
       HERO CONTACT
========================= */


/* .hero-contact{

height:420px;

background:
linear-gradient(rgba(0,45,90,.75),rgba(0,45,90,.75)),
url("../images/contact.jpg");

background-size:cover;
background-position:center;

display:flex;
justify-content:center;
align-items:center;

text-align:center;

margin-top:80px;

}


.hero-contact h1{

color:white;
font-size:50px;

}


.hero-contact p{

color:white;
font-size:22px;
max-width:700px;

}

.contenConta{
display: flex;
gap: 20px;
margin: 0 auto;
width: 95%; 
align-items:flex-start;



}
.conto{
    box-shadow: 0 5px 10px white;
    background-color: rgb(196, 186, 167);
    /* border:solid rgb(92, 92, 128); */
    /* margin: 0 auto; */
    /* width: 100%; 
    padding: 20px;
    height: 40em;
    border-radius: 30px;
} */
/* input{
    width: 200px;
    height: 20px;
    border: solid 2px rgb(100, 94, 94) ;
}
.conto{
    flex:1;
}
.conto h1{
    color:#0c3c78;
    font-size:38px;
    margin-bottom:20px;
}
.conto p{
    font-size:18px;
    line-height:32px;
    color:#555;
} */
/* form{
    background:#fff;
    padding:35px;
    border-radius:15px;
    box-shadow:0 10px 35px rgba(0,0,0,.12);
}

.ligne{
    margin:18px 0;
}

.ligne input,
textarea{
    width:100%;
    padding:15px;
    border:1px solid #ddd;
    border-radius:8px;
    font-size:16px;
    outline:none;
    transition:.3s;
} */


/* .ligne input:focus,
textarea:focus{
    border-color:#0c3c78;
}

textarea{
    resize:none;
} */

/* fieldset{
    border:1px solid #ddd;
    padding:15px;
    margin:20px 0;
    border-radius:8px;
}

legend{
    color:#0c3c78;
    font-weight:bold;
}

fieldset label{
    display:block;
    margin:10px 0;
}

.civilite{
    margin-bottom:20px;
}

.civilite label{
    margin-right:25px;
} */ 

button{
    width:100%;
    padding:16px;
    border:none;
    background:#0c3c78;
    color:#fff;
    font-size:18px;
    border-radius:8px;
    cursor:pointer;
    transition:.3s;
}

button:hover{
    background:#f5a623;
}


.hero-overlay{
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,.45);
}

.hero-text{
    position: absolute;
    top: 0px;
    left: 70px;
    width: 45%;
    /* color: white; */
    z-index: 10;
}

.hero-text h1{
    font-size: 55px;
    margin-bottom: 20px;
}

.hero-text p{
    font-size: 20px;
    line-height: 32px;
}

 .espacent{
        padding:20px;
     }






/*contact*/

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
    font-family:Arial, Helvetica, sans-serif;
}

body{
    background:#f4f7fb;
    padding:50px 20px;
    color:#333;
}

fieldset{
    border:none;
}

.contact-container{
    max-width:1400px;
    margin:auto;
    display:flex;
    gap:40px;
    align-items:flex-start;
}

.conteau:first-child{
    flex:2;
    background:#fff;
    padding:40px;
    border-radius:15px;
    box-shadow:0 10px 30px rgba(0,0,0,.08);
}

.conteau:last-child{
    flex:1;
}

legend{
    font-size:35px;
    font-weight:bold;
    color:#0d6efd;
    margin-bottom:20px;
}

h2{
    color:#003366;
    margin:30px 0 10px;
}

p{
    margin-bottom:15px;
    line-height:1.6;
}

.groupform{
    margin-bottom:20px;
}

.groupform label{
    display:block;
    font-weight:600;
    margin-bottom:8px;
}

.groupform input[type=text],
.groupform input[type=email],
.groupform input[type=tel],
.groupform select,
.groupform textarea{
    width:100%;
    padding:14px;
    border:1px solid #d8d8d8;
    border-radius:8px;
    font-size:16px;
    transition:.3s;
}

.groupform textarea{
    min-height:180px;
    resize:vertical;
}

.groupform input:focus,
.groupform select:focus,
.groupform textarea:focus{
    outline:none;
    border-color:#0d6efd;
    box-shadow:0 0 10px rgba(13,110,253,.2);
}

.groupform input[type=radio],
.groupform input[type=checkbox]{
    margin-right:8px;
}

.groupform button{
    background:#0d6efd;
    color:#fff;
    border:none;
    padding:16px 40px;
    font-size:18px;
    border-radius:8px;
    cursor:pointer;
    transition:.3s;
}

.groupform button:hover{
    background:#004db8;
    transform:translateY(-2px);
}

.conteau:last-child{
    display:flex;
    flex-direction:column;
    gap:20px;
}

.cano{
    background:#fff;
    padding:25px;
    border-radius:15px;
    text-align:center;
    box-shadow:0 8px 25px rgba(0,0,0,.08);
    transition:.3s;
}

.cano:hover{
    transform:translateY(-5px);
}

.cano img{
    width:60px;
    height:60px;
    object-fit:contain;
    margin-bottom:15px;
}

.cano h3{
    color:#0d6efd;
    margin-bottom:10px;
    font-size:22px;
}

.cano p{
    margin:0;
    color:#555;
}

@media(max-width:992px){

.contact-container{
    flex-direction:column;
}

.conteau:first-child,
.conteau:last-child{
    width:100%;
}

}

@media(max-width:600px){

body{
    padding:20px 10px;
}

.conteau:first-child{
    padding:20px;
}

legend{
    font-size:28px;
}

h2{
    font-size:22px;
}

.groupform button{
    width:100%;
}

}

































































     @media(max-width:768px){
    /* Empile le menu et les blocs verticalement */
    nav, nav ul, .Services, .temoignages, .externaliser, .stats, .process, .archives {
        flex-direction: column !important;
        align-items: center !important;
        text-align: center !important;
    }
    /* Rend les bannières moins hautes sur smartphone */
    .herobanne img, .entext img {
        height: 250px !important;
    }
    /* Ajuste la largeur du texte de présentation */
    .entext p {
        width: 100% !important;
    }
}
