/*=========================================================
SEME CONGO
Version : 1.0
Conception : INTEGRA Tech
Developpeur : Jidel LOEMBA
=========================================================*/


/*=========================================================
VARIABLES
=========================================================*/

:root{
    --primary:#0E4EA6;
    --primary-dark:#0A2F6B;
    --secondary:#1E90FF;
    --white:#ffffff;
    --light:#F7F9FC;
    --text:#596273;
    --shadow:0 20px 50px rgba(0,0,0,.18);
    --transition:.35s ease;
}


/*=========================================================
RESET
=========================================================*/

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    overflow-x:hidden;
    font-family:'Open Sans',sans-serif;
    color:var(--text);
    background:#fff;
}

img{
    max-width:90%;
    display:block;
}

a{
    text-decoration:none;
}

ul{
    list-style:none;
}

section{
    position:relative;
}

.container{
    position:relative;
    z-index:10;
}


/*=========================================================
TYPOGRAPHIE
=========================================================*/

h1,h2,h3,h4,h5{
    font-family:'Poppins',sans-serif;
    color:#fff;
}

p{
    margin-bottom:0;
}


/*=========================================================
NAVBAR
=========================================================*/

#mainNavbar{
    position:fixed;
    top:0;
    left:0;
    width:100%;
    z-index:9999;
    padding:18px 0;
    transition:.4s;
    background:transparent;
}

#mainNavbar.scrolled{
    background:rgba(8,25,62,.92);
    backdrop-filter:blur(10px);
    box-shadow:0 10px 35px rgba(0,0,0,.25);
    padding:12px 0;

}


/*=========================================================
LOGO
=========================================================*/

.navbar-brand{
    display:flex;
    align-items:center;
}

.navbar-brand img{
    height:72px;
    transition:.4s;
}

#mainNavbar.scrolled .navbar-brand img{
    height:65px;
}

.logo-blue{

    display:none;

}

.navbar.scrolled .logo-white{

    display:none;

}

.navbar.scrolled .logo-blue{

    display:block;

}

a.navbar-brand{
	width: 270px;
}

/*=========================================================
MENU
=========================================================*/

.navbar-nav{
    gap:10px;
}

.nav-link{
    position:relative;
    color:#fff;
    font-size:15px;
    font-weight:600;
    transition:all .3s ease;
}

.nav-link:hover{
    color:#74bfff;
}

.nav-link::after{
    content:"";
    position:absolute;
    left:0;
    bottom:-8px;
    width:0;
    height:3px;
    border-radius:20px;
    background:var(--secondary);
    transition:var(--transition);
}

.nav-link:hover::after{
    width:100%;
}

/* Page active */
.nav-link.active{
    color:#1E88E5 !important;
    font-weight:700;
}


/*=========================================================
BOUTON DEVIS
=========================================================*/

.btn-devis{
    background:var(--secondary);
    color:#fff;
    padding:18px 26px;
    border-radius:50px;
    font-size:16px;
    font-weight:700;
    transition:var(--transition);
    box-shadow:0 15px 25px rgba(30,144,255,.35);

}
s
.btn, .btn-devis:hover{
    background-color: #fff;
    color: #000;
	transform:translateY(-4px);
}


/*=========================================================
MENU MOBILE
=========================================================*/

.navbar-toggler{
    border:none;
    color:#fff;
    font-size:32px;

}

.navbar-toggler:focus{
    box-shadow:none;
}

/*=========================================================
HERO PREMIUM
=========================================================*/

#hero{
    position:relative;
    width:100%;
    height:100vh;
    overflow:hidden;
}

.heroSwiper{
    width:100%;
    height:100%;
}

.swiper-slide{
    position:relative;
    overflow:hidden;
}

/*---------------------------------------------------------
Images
---------------------------------------------------------*/

.slide::before{
    content:"";
    position:absolute;
    inset:0;
    background-size:cover;
    background-position:center center;
    background-repeat:no-repeat;
    transform:scale(1);
    animation:heroZoom 10s linear infinite;

}

.slide1::before{

    background-image:url("../images/hero/hero-1.jpg");

}

.slide2::before{

    background-image:url("../images/hero/hero-2.jpg");

}

.slide3::before{

    background-image:url("../images/hero/hero-3.jpg");

}

/*---------------------------------------------------------
Overlay
---------------------------------------------------------*/

.overlay, .hero-overlay{

    position:absolute;

    inset:0;

    background:
    linear-gradient(
        90deg,
        rgba(0,0,0,.78) 0%,
        rgba(0,0,0,.55) 35%,
        rgba(0,0,0,.18) 70%,
        rgba(0,0,0,.08) 100%
    );

    z-index:2;

}

/*---------------------------------------------------------
Contenu
---------------------------------------------------------*/

.hero-content{
    position:relative;
    z-index:5;
    width:720px;
    margin-top:90px;
    animation:heroContent 1.2s ease;
}

/* Badge */

.subtitle{
    display:inline-flex;
    align-items:center;
    padding:12px 24px;
    border-radius:40px;
    background:#1E90FF;
    color:#fff;
    font-size:17px;
    font-weight:700;
    margin-bottom:30px;
    box-shadow:0 10px 25px rgba(30,144,255,.35);
}

/*---------------------------------------------------------
Titre
---------------------------------------------------------*/

.hero-content h1{
    color:#fff;
    font-size:42px;
    font-weight:800;
    line-height:1.05;
    letter-spacing:2px;
    margin-bottom:15px;
    text-transform:uppercase;
    text-shadow:
        0 5px 10px rgba(0,0,0,.25),
        0 20px 35px rgba(0,0,0,.35);
}

/*---------------------------------------------------------
Texte
---------------------------------------------------------*/

.hero-content p{
    color:#fff;
    font-size:24px;
    line-height:1.8;
    max-width:650px;
    margin-bottom:45px;
    opacity:.96;
}

/*---------------------------------------------------------
Boutons
---------------------------------------------------------*/

.hero-buttons{
    display:flex;
    align-items:center;
    gap:22px;
}

.btn-primary-custom{
    background:#0E4EA6;
    color:#fff;
    padding:18px 42px;
    border-radius:50px;
    font-size:18px;
    font-weight:700;
    transition:.35s;
    box-shadow:0 20px 40px rgba(14,78,166,.45);
}

.btn-primary-custom:hover{
    transform:translateY(-5px);
    background:#1560d8;
    color:#fff;
}

.btn-outline-custom{
    border:2px solid rgba(255,255,255,.85);
    color:#fff;
    padding:18px 42px;
    border-radius:50px;
    font-size:18px;
    font-weight:700;
    transition:.35s;
    backdrop-filter:blur(5px);
}

.btn-outline-custom:hover{
    background:#fff;
    color:#0E4EA6;
    transform:translateY(-5px);
}

/*---------------------------------------------------------
Pagination
---------------------------------------------------------*/

.swiper-pagination{
    bottom:45px !important;
}

.swiper-pagination-bullet{
    width:14px;
    height:14px;
    background:#fff;
    opacity:.35;
}

.swiper-pagination-bullet-active{
    background:#1E90FF;
    opacity:1;
    transform:scale(1.25);
}

/*---------------------------------------------------------
Flèche
---------------------------------------------------------*/

.scroll-down{
    position:absolute;
    bottom:80px;
    left:50%;
    transform:translateX(-50%);
    z-index:20;
}

.scroll-down i{
    color:#fff;
    font-size:42px;
    animation:bounce 2s infinite;
    text-shadow:0 5px 15px rgba(0,0,0,.35);
}

/*---------------------------------------------------------
Animations
---------------------------------------------------------*/

@keyframes heroZoom{

    from{
        transform:scale(1);
    }

    to{
        transform:scale(1.12);
    }

}

@keyframes heroContent{
    from{
        opacity:0;
        transform:translateX(-80px);
    }

    to{
        opacity:1;
        transform:translateX(0);
    }
}

@keyframes bounce{
    0%,20%,50%,80%,100%{
        transform:translateY(0);
    }

    40%{
        transform:translateY(12px);
    }

    60%{
        transform:translateY(6px);
    }
}

/*=========================================================
ALIGNEMENT PREMIUM
=========================================================*/

.heroSwiper .swiper-slide{
    display:flex;
    align-items:center;
}

.heroSwiper .container{
    width:100%;
    display:grid;
    grid-template-columns:55% 45%;
    align-items:center;
    height:100vh;
}

.hero-content{
    margin-top:0;
    padding-top:100px;
}

.hero-content>*{
    opacity:0;
    transform:translateY(40px);
    animation:heroFade .9s forwards;
}

.hero-content .subtitle{
    animation-delay:.2s;
}

.hero-content h1{
    animation-delay:.4s;
}

.hero-content p{
    animation-delay:.6s;
}

.hero-buttons{
    animation:heroFade .9s forwards;
    animation-delay:.8s;
    opacity:0;
}

/*=========================================================
BOUTONS
=========================================================*/

.btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:150px;
    height:42px;
    border-radius:60px;
}

/*=========================================================
SCROLL INDICATOR
=========================================================*/

.scroll-down{
    width:52px;
    height:52px;
    border-radius:50%;
    background:rgba(255,255,255,.15);
    backdrop-filter:blur(8px);
    display:flex;
    justify-content:center;
    align-items:center;
    transition:.35s;
}

.scroll-down:hover{
    background:#1E90FF;
}

/*=========================================================
HERO ANIMATIONS
=========================================================*/

@keyframes heroFade{

    from{
        opacity:0;
        transform:translateY(35px);
    }

    to{
        opacity:1;
        transform:translateY(0);
    }

}

/*=========================================================
RESPONSIVE
=========================================================*/

@media(max-width:1200px){

.heroSwiper .container{

grid-template-columns:100%;

}

.hero-content{

width:100%;

max-width:800px;

}

.hero-content h1{

font-size:65px;

}

}

@media(max-width:992px){

.navbar-brand img{

height:65px;

}

.hero-content{

text-align:center;

margin:auto;

padding-top:130px;

}

.hero-content h1{

font-size:52px;

}

.hero-content p{

font-size:20px;

}

.hero-buttons{

justify-content:center;

flex-wrap:wrap;

}

.btn{

min-width:250px;

}

}

@media(max-width:768px){

.hero-content h1{
font-size:42px;
}

.hero-content p{
font-size:18px;
line-height:1.6;
}

.subtitle{
font-size:15px;
}

.btn{
width:100%;
}

.hero-buttons{
flex-direction:column;
}

}

@media(max-width:576px){
.hero-content{
padding-top:160px;
}

.hero-content h1{
font-size:34px;
}

.hero-content p{
font-size:17px;
}

.navbar-brand img{
height:55px;
}

}


/*=========================================================
SECTION : QUI SOMMES-NOUS
=========================================================*/

.about{
    padding:120px 0;
    background:#F7F9FC;
}

.section-badge{
    display:inline-block;
    padding:10px 22px;
    background:#E8F2FF;
    color:#0B2F8A;
    border-radius:40px;
    font-size:15px;
    font-weight:700;
    letter-spacing:1px;
    margin-bottom:20px;
}

.about h2{
    color:#0B2F8A;
    font-size:35px;
    font-weight:700;
    line-height:1.2;
    margin-bottom:25px;
}

.about p{
    font-size:18px;
    line-height:1.9;    
    color:#5E6675;
    margin-bottom:35px;
}

.about-image{
    overflow:hidden;
    border-radius:25px;
    box-shadow:0 20px 60px rgba(0,0,0,.15);
}

.about-image img{
    width:100%;
    transition:.6s;
}

.about-image:hover img{
    transform:scale(1.05);
}

.about-list{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:18px;
    margin-top:20px;
    margin-bottom:35px;
}

.about-list div{
    display:flex;
    align-items:center;
    font-size:17px;
    font-weight:600;
    color:#2D3748;
}

.about-list i{
    color:#1E88E5;
    font-size:22px;
    margin-right:12px;
}

.about .btn-primary-custom{
    padding:18px 38px;
    border-radius:50px;
    font-size:17px;
    font-weight:700;
    box-shadow:0 15px 35px rgba(11,47,138,.25);
}

.about .btn-primary-custom:hover{
    transform:translateY(-5px);
}

/*=========================================================
NOS ENGAGEMENTS
=========================================================*/

.values{
    padding:40px 0;
    background:linear-gradient(180deg,#ffffff,#f6f9fc);
    position: relative;
    margin-top: -70px;
    z-index: 20;
    border-top:2px solid #e6ebfc;
}

.section-title{
    color:#0B2F8A;
    font-size:48px;
    font-weight:700;
    margin-top:15px;
}

.section-description{
    max-width:720px;
    margin:25px auto 0;
    font-size:18px;
    line-height:1.9;
    color:#667085;
}

.value-card{
    position:relative;
    background:#fff;
    border-radius:25px;
    padding:45px 35px;
    text-align:center;
    overflow:hidden;
    transition:.45s;
    box-shadow:0 15px 45px rgba(0,0,0,.08);
    height:100%;
}

.value-card::before{
    content:"";
    position:absolute;
    left:0;
    top:0;
    width:100%;
    height:5px;
    background:linear-gradient(90deg,#0B2F8A,#1E88E5);
}

.value-card:hover{
    transform:translateY(-12px);
    box-shadow:0 25px 60px rgba(11,47,138,.18);
}

.value-icon{
    width:90px;
    height:90px;
    margin:auto;
    border-radius:50%;
    background:linear-gradient(135deg,#0B2F8A,#1E88E5);
    display:flex;
    align-items:center;
    justify-content:center;
    margin-bottom:30px;
    transition:.4s;
}

.value-card:hover .value-icon{
    transform:rotate(12deg) scale(1.1);
}

.value-icon i{
    color:#fff;
    font-size:38px;
}

.value-card h4{
    color:#0B2F8A;
    font-size:26px;
    font-weight:700;
    margin-bottom:20px;
}

.value-card p{
    color:#667085;
    line-height:1.8;
    font-size:16px;
}

/*=========================================================
NOTRE ENGAGEMENT
=========================================================*/

.commitment{
    border-top:1px solid rgba(255,255,255,.08);
    padding:25px 0;
    background:linear-gradient(135deg,#0B2F8A,#1457C5);

}

.commitment-title{

    color:#fff;

    font-size:32px;

    font-weight:700;

    margin:15px 0 40px;

}

/* Les 5 éléments sur une seule ligne */

.engagement-list{

    display:flex;

    justify-content:space-between;

    align-items:flex-start;

    gap:30px;

}

.engagement-item{

    flex:1;

    text-align:center;

    transition:.4s;

}

.engagement-item i{

    width:70px;

    height:70px;

    display:flex;

    align-items:center;

    justify-content:center;

    margin:0 auto 20px;

    border-radius:50%;

    background:rgba(255,255,255,.12);

    border:1px solid rgba(255,255,255,.18);

    color:#fff;

    font-size:28px;

    transition:.4s;

}

.engagement-item h5{

    color:#fff;

    font-size:15px;

    font-weight:600;

    margin:0;

}

.engagement-item:hover{

    transform:translateY(-8px);

}

.engagement-item:hover i{

    background:#1E88E5;

    transform:scale(1.1);

    box-shadow:0 15px 35px rgba(30,136,229,.35);

}

/* Responsive */

@media(max-width:992px){

    .engagement-list{

        flex-wrap:wrap;

        justify-content:center;

    }

    .engagement-item{

        flex:0 0 220px;

        margin-bottom:30px;

    }

}


/*=========================================================
POURQUOI CHOISIR SEME
=========================================================*/

.why-us{

    padding:120px 0;

    background:#ffffff;

    position:relative;

}

/*=========================================================
IMAGE
=========================================================*/

.why-image{

    position:relative;

    border-radius:25px;

    overflow:hidden;

    box-shadow:0 20px 60px rgba(0,0,0,.18);

}

.why-image img{

    width:100%;

    display:block;

}

.why-image:hover img{

    transform:scale(1.08);

}

.why-list{

    display:flex;

    flex-direction:column;

    gap:20px;

}

.why-item{

    display:flex;

    align-items:flex-start;

    gap:20px;

    background:#fff;

    border-radius:18px;

    padding:22px;

    transition:.35s;

    box-shadow:0 10px 35px rgba(0,0,0,.06);

    border-left:5px solid transparent;

}

.why-item:hover{

    transform:translateX(10px);

    border-left:5px solid var(--primary);

    box-shadow:0 20px 45px rgba(0,0,0,.12);

}

.why-icon{

    min-width:65px;

    height:65px;

    border-radius:18px;

    display:flex;

    align-items:center;

    justify-content:center;

    background:linear-gradient(135deg,var(--primary),#2D8CFF);

}

.why-icon i{

    color:#fff;

    font-size:28px;

}

.why-item h5{

    color:var(--secondary);

    font-size:22px;

    font-weight:700;

    margin-bottom:8px;

}

.why-item p{

    margin:0;

    color:#6B7280;

    line-height:1.7;

    font-size:16px;

}

/*=========================================================
STATISTIQUES
=========================================================*/

.stats{

    background:linear-gradient(135deg,#0B2F8A,#1457C5);

    padding:25px 0;

}

.stat-box{

    color:#fff;

}

.stat-box h2{

    font-size:52px;

    font-weight:800;

    margin-bottom:10px;

}

.stat-box p{

    font-size:18px;

    opacity:.95;

    margin:0;

}

/*=========================================================
CARTE FLOTTANTE
=========================================================*/

.experience-card{

    position:absolute;

    left:30px;

    bottom:30px;

    width:280px;

    background:#FFFFFF;

    border-radius:20px;

    padding:25px;

    z-index:100;

    box-shadow:0 20px 50px rgba(0,0,0,.25);

    animation:floatCard 4s ease-in-out infinite;

}

@keyframes floatCard{

    0%{

        transform:translateY(0);

    }

    50%{

        transform:translateY(-10px);

    }

    100%{

        transform:translateY(0);

    }

}

.experience-label{

    display:block;

    color:#0E4EA6;

    font-size:13px;

    font-weight:700;

    letter-spacing:1px;

    margin-bottom:8px;

}

.experience-number{

    font-size:54px;

    font-weight:800;

    color:#fff;

    line-height:1;

}

.experience-title{

    font-size:20px;

    font-weight:600;

    color:#fff;

    margin:10px 0 20px;

}

.experience-card hr{

    opacity:.15;

    margin-bottom:20px;

}

.experience-card ul{

    list-style:none;

    padding:0;

    margin:0;

}

.experience-card li{

    display:flex;

    align-items:center;

    margin-bottom:12px;

    font-size:16px;

    font-weight:600;

    color:#fff;

}

.experience-card li i{

    color:#0E4EA6;

    margin-right:10px;

    font-size:18px;

}

/*=========================================================
SERVICES
=========================================================*/

.services{

    padding:120px 0;

    background:#F7F9FC;

    position:relative;

}

.services-grid{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:30px;

    margin-top:70px;

}

/*=========================================================
CARTE
=========================================================*/

.service-card{

    position:relative;

    overflow:hidden;

    border-radius:22px;

    min-height:420px;

    box-shadow:0 15px 45px rgba(0,0,0,.12);

    transition:.45s;

    cursor:pointer;

    background:#fff;

}

.service-card:hover{

    transform:translateY(-12px);

    box-shadow:0 30px 60px rgba(0,0,0,.18);

}

.service-card img{

    width:100%;

    height:420px;

    object-fit:cover;

    transition:1s;

}

.service-card:hover img{

    transform:scale(1.10);

}

/*=========================================================
OVERLAY
=========================================================*/

.service-overlay{

    position:absolute;

    inset:0;

    display:flex;

    flex-direction:column;

    justify-content:flex-end;

    padding:30px;

    background:linear-gradient(
        to top,
        rgba(8,28,75,.95) 0%,
        rgba(8,28,75,.70) 35%,
        rgba(8,28,75,.15) 70%,
        transparent 100%
    );

}

.service-icon{

    width:70px;

    height:70px;

    border-radius:18px;

    background:rgba(255,255,255,.15);

    backdrop-filter:blur(8px);

    display:flex;

    align-items:center;

    justify-content:center;

    margin-bottom:20px;

    transition:.4s;

}

.service-card:hover .service-icon{

    transform:rotate(8deg) scale(1.1);

    background:#1E90FF;

}

.service-icon i{

    color:#fff;

    font-size:30px;

}

/*=========================================================
TEXTES
=========================================================*/

.service-overlay h3{

    color:#fff;

    font-size:28px;

    font-weight:700;

    margin-bottom:12px;

}

.service-overlay p{

    color:rgba(255,255,255,.88);

    font-size:15px;

    line-height:1.7;

    margin-bottom:22px;

}

.service-overlay a{

    color:#fff;

    font-weight:700;

    display:inline-flex;

    align-items:center;

    gap:10px;

    transition:.35s;

}

.service-overlay a i{

    transition:.35s;

}

.service-card:hover a i{

    transform:translateX(8px);

}

.service-overlay a:hover{

    color:#4DB8FF;

}

/*=========================================================
RESPONSIVE
=========================================================*/

@media(max-width:1200px){

.services-grid{

    grid-template-columns:repeat(2,1fr);

}

}

@media(max-width:768px){

.services{

    padding:90px 0;

}

.services-grid{

    grid-template-columns:1fr;

    gap:25px;

}

.service-card{

    min-height:380px;

}

.service-card img{

    height:380px;

}

}

/*=========================================================
NOS REALISATIONS
=========================================================*/

.projects{

    padding:120px 0;

    background:#ffffff;

    position:relative;

}

/*=========================================================
FILTRES
=========================================================*/

.project-filter{

    display:flex;

    justify-content:center;

    flex-wrap:wrap;

    gap:15px;

    margin:50px 0 70px;

}

.project-filter button{

    border:none;

    background:#EDF4FF;

    color:var(--secondary);

    padding:12px 28px;

    border-radius:50px;

    font-weight:600;

    transition:.35s;

    cursor:pointer;

}

.project-filter button:hover{

    background:var(--primary);

    color:#fff;

}

.project-filter button.active{

    background:linear-gradient(135deg,var(--primary),#2D8CFF);

    color:#fff;

    box-shadow:0 10px 30px rgba(14,78,166,.25);

}

/*=========================================================
GRILLE
=========================================================*/

.projects-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:30px;

}

/*=========================================================
CARTE
=========================================================*/

.project-card{

    position:relative;

    overflow:hidden;

    border-radius:22px;

    height:380px;

    cursor:pointer;

    box-shadow:0 20px 45px rgba(0,0,0,.10);

    transition:.45s;

}

.project-card{

    opacity:1;

    transition:

        opacity .35s,

        transform .35s,

        box-shadow .35s;

}

.project-card:hover{

    transform:translateY(-12px);

    box-shadow:0 30px 60px rgba(0,0,0,.18);

}

.project-card img{

    width:100%;

    height:100%;

    object-fit:cover;

    transition:1s;

}

.project-card:hover img{

    transform:scale(1.10);

}

/*=========================================================
OVERLAY
=========================================================*/

.project-overlay{

    position:absolute;

    inset:0;

    display:flex;

    flex-direction:column;

    justify-content:flex-end;

    padding:30px;

    background:linear-gradient(
        to top,
        rgba(7,32,86,.96),
        rgba(7,32,86,.55),
        transparent
    );

}

.project-overlay span{

    display:inline-block;

    width:max-content;

    background:#1E90FF;

    color:#fff;

    padding:8px 18px;

    border-radius:40px;

    font-size:13px;

    font-weight:700;

    margin-bottom:15px;

}

.project-overlay h4{

    color:#fff;

    font-size:28px;

    font-weight:700;

    margin-bottom:8px;

}

.project-overlay p{

    color:rgba(255,255,255,.85);

    margin-bottom:20px;

    font-size:17px;

}

.project-overlay a{

    display:inline-flex;

    align-items:center;

    gap:10px;

    color:#fff;

    font-weight:700;

    transition:.35s;

}

.project-overlay a i{

    transition:.35s;

}

.project-card:hover a i{

    transform:translateX(8px);

}

.project-overlay a:hover{

    color:#4DB8FF;

}

/*=========================================================
RESPONSIVE
=========================================================*/

@media(max-width:992px){

.projects-grid{

    grid-template-columns:repeat(2,1fr);

}

}

@media(max-width:768px){

.projects{

    padding:90px 0;

}

.project-filter{

    gap:10px;

}

.project-filter button{

    padding:10px 18px;

    font-size:14px;

}

.projects-grid{

    grid-template-columns:1fr;

}

.project-card{

    height:340px;

}

}

/*=========================================================
PARTENAIRES
=========================================================*/

.partners{

    padding:120px 0;

    background:#F7F9FC;

}

.logo-slider{

    overflow:hidden;

    position:relative;

    margin-top:60px;

}

.logo-track{

    display:flex;

    align-items:center;

    gap:90px;

    width:max-content;

    animation:scrollLogos 28s linear infinite;

}

.logo-slider:hover .logo-track{

    animation-play-state:paused;

}

.logo-track img{

    height:70px;

    filter:grayscale(100%);

    opacity:.55;

    transition:.4s;

}

.logo-track img:hover{

    filter:none;

    opacity:1;

    transform:scale(1.08);

}

@keyframes scrollLogos{

    from{

        transform:translateX(0);

    }

    to{

        transform:translateX(-50%);

    }

}

/*=========================================================
TEMOIGNAGES
=========================================================*/

.testimonials{

    padding:120px 0;

    background:#fff;

}

.testimonial-slider{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:30px;

}

.testimonial-card{

    background:#fff;

    border-radius:25px;

    padding:35px;

    box-shadow:0 20px 45px rgba(0,0,0,.08);

    transition:.4s;

    border-top:5px solid var(--primary);

}

.testimonial-card:hover{

    transform:translateY(-10px);

    box-shadow:0 30px 60px rgba(0,0,0,.15);

}

.stars{

    color:#FFC107;

    font-size:24px;

    margin-bottom:20px;

}

.testimonial-card p{

    color:#666;

    line-height:1.8;

    margin-bottom:30px;

    font-style:italic;

}

.client{

    display:flex;

    align-items:center;

    gap:15px;

}

.client img{

    width:70px;

    height:70px;

    border-radius:50%;

    object-fit:cover;

}

.client h5{

    margin:0;

    color:var(--secondary);

    font-weight:700;

}

.client span{

    color:#777;

    font-size:14px;

}

@media(max-width:992px){

.testimonial-slider{

    grid-template-columns:1fr;

}

}

/*=========================================================
CTA
=========================================================*/

.cta{

    position:relative;

    padding:140px 0;

    background:url("../images/cta/cta-bg.jpg") center center/cover;

    overflow:hidden;

}

.cta-overlay{

    position:absolute;

    inset:0;

    background:linear-gradient(
        rgba(6,32,82,.88),
        rgba(6,32,82,.82)
    );

}

.cta-content{

    position:relative;

    z-index:2;

    max-width:850px;

    margin:auto;

    text-align:center;

    color:#fff;

}

.cta h2{

    font-size:52px;

    font-weight:800;

    margin:25px 0;

}

.cta p{

    font-size:21px;

    line-height:1.8;

    margin-bottom:40px;

    opacity:.95;

}

.cta-buttons{

    display:flex;

    justify-content:center;

    gap:25px;

    flex-wrap:wrap;

}

.cta-buttons .btn{

    min-width:230px;

}

/*=========================================================
FOOTER
=========================================================*/

.footer{

    background:#071E4A;

    color:#D7E3F7;

    padding:90px 0 30px;

}

.footer-logo{

    height:75px;

    margin-bottom:25px;

}

.footer-text{

    line-height:1.9;

    margin-bottom:30px;

    color:#BFD0EB;

}

.footer h4{

    color:#fff;

    margin-bottom:25px;

    font-size:22px;

}

.footer ul{

    list-style:none;

    padding:0;

    margin:0;

}

.footer ul li{

    margin-bottom:14px;

}

.footer ul li a{

    color:#BFD0EB;

    transition:.3s;

}

.footer ul li a:hover{

    color:#fff;

    padding-left:8px;

}

.footer-contact li{

    display:flex;

    align-items:flex-start;

    gap:12px;

}

.footer-contact i{

    color:#4DB8FF;

    margin-top:3px;

}

.footer-social{

    display:flex;

    gap:15px;

}

.footer-social a{

    width:48px;

    height:48px;

    border-radius:50%;

    display:flex;

    align-items:center;

    justify-content:center;

    background:rgba(255,255,255,.08);

    color:#fff;

    transition:.35s;

}

.footer-social a:hover{

    background:#1E90FF;

    transform:translateY(-5px);

}

.footer hr{

    border-color:rgba(255,255,255,.10);

    margin:50px 0 25px;

}

.footer-bottom{

    display:flex;

    justify-content:space-between;

    align-items:center;

    flex-wrap:wrap;

    gap:15px;

}

.footer-bottom p{

    margin:0;

    color:#BFD0EB;

}

@media(max-width:768px){

.footer{

    text-align:center;

}

.footer-social{

    justify-content:center;

}

.footer-bottom{

    flex-direction:column;

}

}

/*=========================================================
PROGRESS BAR
=========================================================*/

#progress-bar{

    position:fixed;

    top:0;

    left:0;

    width:0;

    height:4px;

    background:linear-gradient(90deg,#0E4EA6,#37A2FF);

    z-index:99999;

    transition:width .15s linear;

}

/*=========================================================
BACK TO TOP
=========================================================*/

#backTop{

    position:fixed;

    right:30px;

    bottom:30px;

    width:55px;

    height:55px;

    border-radius:50%;

    background:linear-gradient(135deg,#0E4EA6,#1E90FF);

    color:#fff;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:22px;

    text-decoration:none;

    box-shadow:0 15px 35px rgba(0,0,0,.25);

    opacity:0;

    visibility:hidden;

    transform:translateY(30px);

    transition:.35s;

    z-index:9999;

}

#backTop.show{

    opacity:1;

    visibility:visible;

    transform:translateY(0);

}

#backTop:hover{

    transform:translateY(-6px);

}

/*=========================================================
PRELOADER
=========================================================*/

#preloader{

    position:fixed;

    inset:0;

    background:#ffffff;

    display:flex;

    align-items:center;

    justify-content:center;

    z-index:999999;

    transition:.8s;

}

.loader-content{

    position:relative;

}

.loader-content img{

    height:95px;

    position:relative;

    z-index:2;

}

.loader-ring{

    position:absolute;

    top:50%;

    left:50%;

    width:140px;

    height:140px;

    margin-left:-70px;

    margin-top:-70px;

    border:4px solid rgba(14,78,166,.15);

    border-top:4px solid #0E4EA6;

    border-radius:50%;

    animation:loaderSpin 1s linear infinite;

}

@keyframes loaderSpin{

    to{

        transform:rotate(360deg);

    }

}

body.loaded #preloader{

    opacity:0;

    visibility:hidden;

}

/*=========================================================
PAGE HERO
=========================================================*/

.page-hero{

    position:relative;

    height:65vh;

    display:flex;

    align-items:center;

    overflow:hidden;

    background-size:cover;

    background-position:center;

}

.about-hero{

    background-image:url("../images/about/about-hero.jpg");

}


.page-hero-content{

    position:relative;

    z-index:5;

    max-width:760px;

    color:#fff;

}

.page-hero h1{

    font-size:60px;

    font-weight:800;

    line-height:1.15;

    margin:25px 0;

    text-transform:uppercase;

}

.page-hero p{

    font-size:21px;

    line-height:1.8;

    opacity:.95;

    margin-bottom:35px;

}

.breadcrumb-custom{

    display:flex;

    align-items:center;

    gap:15px;

    font-weight:600;

}

.breadcrumb-custom a{

    color:#fff;

}

.breadcrumb-custom span{

    color:#5CB8FF;

}

@media(max-width:992px){

.page-hero{

    height:55vh;

}

.page-hero h1{

    font-size:42px;

}

.page-hero p{

    font-size:18px;

}

}

@media(max-width:768px){

.page-hero{

    height:50vh;

}

.page-hero h1{

    font-size:34px;

}

.page-hero p{

    font-size:16px;

}

}

/*==========================================================
    SEME CONGO
    NAVBAR PREMIUM
    Version : 2.0
    Auteur : INTEGRA Tech
==========================================================*/


/*==========================================================
01. NAVBAR PRINCIPALE
==========================================================*/

#mainNavbar {

    position: absolute;

    top: 0;
    left: 0;

    width: 100%;

    min-height: 92px;

    z-index: 1050;

    background: transparent;

    border-bottom: 1px solid rgba(255,255,255,.14);

    transition:
        background .35s ease,
        box-shadow .35s ease,
        min-height .35s ease,
        transform .35s ease;

}


/*==========================================================
02. CONTAINER
==========================================================*/

#mainNavbar > .container-xl {

    min-height: 92px;

    display: flex;

    align-items: center;

}


/*==========================================================
03. LOGO
==========================================================*/

#mainNavbar .navbar-brand {

    display: flex;

    align-items: center;

    flex-shrink: 0;

    padding: 0;

    margin: 0;

    line-height: 1;

}


#mainNavbar .navbar-logo {

    width: auto;

    height: 58px;

    max-width: 190px;

    object-fit: contain;

    transition: opacity .3s ease,
                transform .3s ease;

}


/* Logo blanc sur Hero */

#mainNavbar .logo-blue {

    display: none;

}


/* Logo clair */

#mainNavbar .logo-white {

    display: block;

}


/*==========================================================
04. MENU PRINCIPAL
==========================================================*/

#mainNavbar .navbar-collapse {

    align-items: center;

}


/*
   Le menu occupe naturellement l'espace central.
*/

#mainNavbar .navbar-nav {

    display: flex;

    align-items: center;

    gap: 4px;

    margin-top: 0;

    margin-bottom: 0;

}


#mainNavbar .nav-item {

    position: relative;

}


/*==========================================================
05. LIENS
==========================================================*/

#mainNavbar .nav-link {

    position: relative;

    display: inline-flex;

    align-items: center;

    justify-content: center;

    min-height: 92px;

    padding: 0 15px;

    color: rgba(255,255,255,.92);

    font-family: 'Poppins', sans-serif;

    font-size: 14px;

    font-weight: 500;

    letter-spacing: .01em;

    white-space: nowrap;

    transition:

        color .3s ease,
        transform .3s ease;

}


/* Ligne sous le lien */

#mainNavbar .nav-link::after {

    content: "";

    position: absolute;

    left: 15px;
    right: 15px;

    bottom: 24px;

    height: 2px;

    border-radius: 50px;

    background: #ffffff;

    transform: scaleX(0);

    transform-origin: center;

    transition: transform .3s ease;

}


/* Hover */

#mainNavbar .nav-link:hover {

    color: #ffffff;

}


/* Ligne hover */

#mainNavbar .nav-link:hover::after {

    transform: scaleX(1);

}


/*==========================================================
06. LIEN ACTIF
==========================================================*/

#mainNavbar .nav-link.active {

    color: #ffffff;

    font-weight: 600;

}


#mainNavbar .nav-link.active::after {

    transform: scaleX(1);

}


/*==========================================================
07. BOUTON DEVIS
==========================================================*/

#mainNavbar .navbar-action {

    display: flex;

    align-items: center;

    flex-shrink: 0;

    margin-left: 20px;

}


/* Bouton */

#mainNavbar .btn-devis {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    gap: 12px;

    min-height: 48px;

    padding: 0 22px;

    border: 1px solid rgba(255,255,255,.25);

    border-radius: 50px;

    background: #ffffff;

    color: #0E4EA6;

    font-family: 'Poppins', sans-serif;

    font-size: 13px;

    font-weight: 600;

    white-space: nowrap;

    box-shadow: 0 8px 25px rgba(0,0,0,.12);

    transition:

        background .3s ease,
        color .3s ease,
        transform .3s ease,
        box-shadow .3s ease;

}


#mainNavbar .btn-devis i {

    font-size: 13px;

    transition: transform .3s ease;

}


#mainNavbar .btn-devis:hover {

    background: #0E4EA6;

    color: #ffffff;

    transform: translateY(-2px);

    box-shadow: 0 12px 30px rgba(14,78,166,.30);

}


#mainNavbar .btn-devis:hover i {

    transform: translateX(4px);

}


/*==========================================================
08. NAVBAR APRÈS SCROLL
==========================================================*/

/*
   Lorsque ton JavaScript ajoute la classe .scrolled
   au header/navbar, la navbar devient blanche.
*/

#mainNavbar.scrolled {

    position: fixed;

    min-height: 78px;

    background: rgba(255,255,255,.97);

    border-bottom: 1px solid rgba(14,78,166,.08);

    box-shadow: 0 8px 30px rgba(0,0,0,.07);

    backdrop-filter: blur(12px);

    -webkit-backdrop-filter: blur(12px);

}


#mainNavbar.scrolled > .container-xl {

    min-height: 78px;

}


/* Logo bleu */

#mainNavbar.scrolled .logo-white {

    display: none;

}


#mainNavbar.scrolled .logo-blue {

    display: block;

}


/* Liens après scroll */

#mainNavbar.scrolled .nav-link {

    min-height: 78px;

    color: #172B4D;

}


#mainNavbar.scrolled .nav-link:hover {

    color: #0E4EA6;

}


#mainNavbar.scrolled .nav-link.active {

    color: #0E4EA6;

}


#mainNavbar.scrolled .nav-link::after {

    bottom: 18px;

    background: #0E4EA6;

}


/* Bouton après scroll */

#mainNavbar.scrolled .btn-devis {

    background: #0E4EA6;

    color: #ffffff;

    border-color: #0E4EA6;

}


#mainNavbar.scrolled .btn-devis:hover {

    background: #0A2F6B;

    border-color: #0A2F6B;

}


/*==========================================================
09. BOUTON MOBILE
==========================================================*/

#mainNavbar .navbar-toggler {

    width: 48px;

    height: 48px;

    padding: 0;

    display: none;

    align-items: center;

    justify-content: center;

    border: 1px solid rgba(255,255,255,.35);

    border-radius: 12px;

    background: rgba(255,255,255,.10);

    color: #ffffff;

    box-shadow: none;

    outline: none;

}


#mainNavbar .navbar-toggler:focus {

    box-shadow: none;

}


#mainNavbar .navbar-toggler i {

    font-size: 20px;

}


/*==========================================================
10. MOBILE
==========================================================*/

@media (max-width: 1199px) {

    #mainNavbar .nav-link {

        padding-left: 10px;

        padding-right: 10px;

        font-size: 13px;

    }

    #mainNavbar .navbar-action {

        margin-left: 10px;

    }

    #mainNavbar .btn-devis {

        padding: 0 17px;

        font-size: 12px;

    }

}


/*==========================================================
11. TABLETTE / MOBILE
==========================================================*/

@media (max-width: 991px) {

    #mainNavbar {

        min-height: 78px;

        background: rgba(10,47,107,.92);

        border-bottom: 1px solid rgba(255,255,255,.12);

        backdrop-filter: blur(10px);

        -webkit-backdrop-filter: blur(10px);

    }


    #mainNavbar > .container-xl {

        min-height: 78px;

    }


    #mainNavbar .navbar-logo {

        height: 52px;

        max-width: 175px;

    }


    /* Bouton hamburger */

    #mainNavbar .navbar-toggler {

        display: inline-flex;

        margin-left: auto;

    }


    /* Menu ouvert */

    #mainNavbar .navbar-collapse {

        position: absolute;

        top: 100%;

        left: 12px;

        right: 12px;

        padding: 20px;

        background: rgba(255,255,255,.98);

        border-radius: 18px;

        box-shadow: 0 20px 50px rgba(0,0,0,.15);

        backdrop-filter: blur(12px);

        -webkit-backdrop-filter: blur(12px);

    }


    #mainNavbar .navbar-nav {

        width: 100%;

        display: flex;

        flex-direction: column;

        align-items: stretch;

        gap: 2px;

        margin: 0 !important;

    }


    #mainNavbar .nav-item {

        width: 100%;

    }


    #mainNavbar .nav-link {

        width: 100%;

        min-height: 50px;

        justify-content: flex-start;

        padding: 12px 15px;

        border-radius: 10px;

        color: #172B4D;

        font-size: 14px;

    }


    #mainNavbar .nav-link::after {

        display: none;

    }


    #mainNavbar .nav-link:hover {

        background: rgba(14,78,166,.06);

        color: #0E4EA6;

    }


    #mainNavbar .nav-link.active {

        background: rgba(14,78,166,.08);

        color: #0E4EA6;

    }


    /* Bouton devis */

    #mainNavbar .navbar-action {

        width: 100%;

        margin: 15px 0 0;

        padding-top: 15px;

        border-top: 1px solid #E7ECF2;

    }


    #mainNavbar .btn-devis {

        width: 100%;

        min-height: 50px;

    }


    /* Navbar scrolled */

    #mainNavbar.scrolled {

        min-height: 78px;

        background: rgba(255,255,255,.97);

    }


    #mainNavbar.scrolled .navbar-toggler {

        border-color: rgba(14,78,166,.15);

        background: rgba(14,78,166,.06);

        color: #0E4EA6;

    }

}


/*==========================================================
12. PETITS ÉCRANS
==========================================================*/

@media (max-width: 576px) {

    #mainNavbar > .container-xl {

        padding-left: 18px;

        padding-right: 18px;

    }


    #mainNavbar .navbar-logo {

        height: 48px;

        max-width: 160px;

    }


    #mainNavbar .navbar-collapse {

        left: 10px;

        right: 10px;

        padding: 15px;

        border-radius: 16px;

    }

}


/*==========================================================
13. ACCESSIBILITÉ
==========================================================*/

@media (prefers-reduced-motion: reduce) {

    #mainNavbar,
    #mainNavbar *,
    #mainNavbar *::after {

        transition: none !important;

    }

}

/*==========================================================
  SEME CONGO
  HERO ACCUEIL — CORRECTION STRUCTURE
==========================================================*/


/*==========================================================
01. STRUCTURE DU HERO
==========================================================*/

#hero {
    position: relative;
    width: 100%;
    height: 100vh;
    min-height: 680px;
    overflow: hidden;
    background: #0A2F6B;
}


#hero .heroSwiper,
#hero .swiper-wrapper {
    width: 100%;
    height: 100%;
}


#hero .swiper-slide {
    position: relative;

    width: 100%;
    height: 100%;

    display: flex !important;
    align-items: center !important;

    overflow: hidden;
}


/*==========================================================
02. IMAGES
==========================================================*/

#hero .slide {
    position: relative;

    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}


#hero .slide1 {
    background-image: url("../images/hero/hero-1.jpg");
}


#hero .slide2 {
    background-image: url("../images/hero/hero-2.jpg");
}


#hero .slide3 {
    background-image: url("../images/hero/hero-3.jpg");
}


/*==========================================================
03. ZOOM IMAGE
==========================================================*/

#hero .slide::before {
    content: "";

    position: absolute;
    inset: -3%;

    background: inherit;
    background-position: center;
    background-size: cover;

    z-index: 0;

    transform: scale(1.03);

    transition: transform 8s ease;
}


#hero .swiper-slide-active::before {
    transform: scale(1.08);
}


/*==========================================================
04. OVERLAY
==========================================================*/

#hero .overlay {
    position: absolute;

    inset: 0;

    z-index: 1;

    background:
        linear-gradient(
            90deg,
            rgba(5, 25, 58, .90) 0%,
            rgba(10, 47, 107, .72) 42%,
            rgba(10, 47, 107, .34) 75%,
            rgba(10, 47, 107, .15) 100%
        );
}


#hero .overlay::after {
    content: "";

    position: absolute;

    left: 0;
    right: 0;
    bottom: 0;

    height: 180px;

    background:
        linear-gradient(
            to top,
            rgba(5, 25, 58, .45),
            transparent
        );
}


/*==========================================================
05. CONTAINER
==========================================================*/

#hero .container {
    position: relative;

    z-index: 3;

    width: 100%;
}


/*==========================================================
06. HERO CONTENT
==========================================================*/

/*
   IMPORTANT :
   On force ici une organisation verticale.
   Cela corrige le conflit avec les anciennes règles
   éventuelles de .hero-content.
*/

#hero .hero-content {

    position: relative;

    width: 100%;
    max-width: 820px;

    display: block !important;

    margin: 0;

    padding: 70px 0 50px;

    color: #ffffff;

    text-align: left;
}


/*==========================================================
07. SOUS-TITRE / BADGE
==========================================================*/

#hero .hero-content .subtitle {

    position: static !important;

    display: inline-flex !important;

    width: auto !important;
    max-width: max-content;

    align-items: center;

    gap: 10px;

    margin: 0 0 28px !important;

    padding: 9px 18px;

    border: 1px solid rgba(255,255,255,.28);

    border-radius: 50px;

    background: rgba(255,255,255,.10);

    color: #ffffff;

    font-family: 'Poppins', sans-serif;

    font-size: 13px;

    font-weight: 600;

    line-height: 1.4;

    letter-spacing: .08em;

    text-transform: uppercase;

    backdrop-filter: blur(10px);

    -webkit-backdrop-filter: blur(10px);

    box-shadow: 0 8px 25px rgba(0,0,0,.08);

}


/*
   Petit indicateur du badge
*/

#hero .hero-content .subtitle::before {

    content: "";

    width: 7px;
    height: 7px;

    flex: 0 0 7px;

    border-radius: 50%;

    background: #ffffff;

    box-shadow:
        0 0 0 5px rgba(255,255,255,.10);
}


/*==========================================================
08. TITRE
==========================================================*/

#hero .hero-content h1 {

    position: static !important;

    display: block !important;

    width: 100% !important;

    max-width: 800px !important;

    margin: 0 0 28px !important;

    padding: 0 !important;

    color: #ffffff;

    font-family: 'Poppins', sans-serif;

    font-size: clamp(3rem, 5.2vw, 5.2rem);

    font-weight: 700;

    line-height: 1.04;

    letter-spacing: -.045em;

    text-transform: uppercase;

    text-shadow:
        0 8px 30px rgba(0,0,0,.18);
}


/*==========================================================
09. PARAGRAPHE
==========================================================*/

/*
   IMPORTANT :
   Le paragraphe doit impérativement revenir sous le titre.
*/

#hero .hero-content p {

    position: static !important;

    display: block !important;

    width: 100% !important;

    max-width: 650px !important;

    margin: 0 0 36px !important;

    padding: 0 !important;

    color: rgba(255,255,255,.90);

    font-family: 'Poppins', sans-serif;

    font-size: 18px;

    font-weight: 400;

    line-height: 1.75;

}


/*==========================================================
10. BOUTONS
==========================================================*/

#hero .hero-buttons {

    position: static !important;

    display: flex !important;

    align-items: center;

    justify-content: flex-start;

    gap: 15px;

    width: 100%;

    margin: 0;

    padding: 0;
}


#hero .hero-buttons .btn {

    position: static !important;

    display: inline-flex;

    align-items: center;

    justify-content: center;

    min-width: 175px;

    min-height: 54px;

    padding: 0 27px;

    border-radius: 50px;

    font-family: 'Poppins', sans-serif;

    font-size: 14px;

    font-weight: 600;

    transition:
        transform .3s ease,
        background .3s ease,
        color .3s ease,
        box-shadow .3s ease;
}


/* Bouton principal */

#hero .hero-buttons .btn-primary-custom {

    background: #0E4EA6;

    border: 1px solid #0E4EA6;

    color: #ffffff;

    box-shadow:
        0 12px 30px rgba(14,78,166,.30);
}


#hero .hero-buttons .btn-primary-custom:hover {

    background: #0A2F6B;

    border-color: #0A2F6B;

    color: #ffffff;

    transform: translateY(-3px);
}


/* Bouton secondaire */

#hero .hero-buttons .btn-outline-custom {

    background: rgba(255,255,255,.08);

    border: 1px solid rgba(255,255,255,.55);

    color: #ffffff;

    backdrop-filter: blur(8px);

    -webkit-backdrop-filter: blur(8px);
}


#hero .hero-buttons .btn-outline-custom:hover {

    background: #ffffff;

    border-color: #ffffff;

    color: #0E4EA6;

    transform: translateY(-3px);
}


/*==========================================================
11. PAGINATION
==========================================================*/

#hero .swiper-pagination {

    position: absolute;

    left: auto !important;
    right: 55px !important;

    bottom: 40px !important;

    width: auto !important;

    z-index: 10;

    display: flex;

    align-items: center;

    gap: 8px;
}


#hero .swiper-pagination-bullet {

    width: 28px;
    height: 3px;

    margin: 0 !important;

    border-radius: 50px;

    background: #ffffff;

    opacity: .40;

    transition:
        width .35s ease,
        opacity .35s ease;
}


#hero .swiper-pagination-bullet-active {

    width: 55px;

    opacity: 1;
}


/*==========================================================
12. SCROLL DOWN
==========================================================*/

#hero .scroll-down {

    position: absolute;

    left: 50%;
    bottom: 28px;

    z-index: 10;

    transform: translateX(-50%);
}


#hero .scroll-down a {

    width: 44px;
    height: 44px;

    display: flex;

    align-items: center;
    justify-content: center;

    border: 1px solid rgba(255,255,255,.35);

    border-radius: 50%;

    background: rgba(255,255,255,.10);

    color: #ffffff;

    backdrop-filter: blur(8px);

    -webkit-backdrop-filter: blur(8px);

    animation: heroScrollDown 2s ease-in-out infinite;
}


#hero .scroll-down a:hover {

    background: #ffffff;

    color: #0E4EA6;
}


/*==========================================================
13. ANIMATIONS
==========================================================*/

#hero .swiper-slide-active .subtitle {

    animation:
        heroContentUp .8s ease both;
}


#hero .swiper-slide-active h1 {

    animation:
        heroContentUp .9s .10s ease both;
}


#hero .swiper-slide-active p {

    animation:
        heroContentUp .9s .20s ease both;
}


#hero .swiper-slide-active .hero-buttons {

    animation:
        heroContentUp .9s .30s ease both;
}


@keyframes heroContentUp {

    from {

        opacity: 0;

        transform: translateY(25px);
    }

    to {

        opacity: 1;

        transform: translateY(0);
    }
}


@keyframes heroScrollDown {

    0%,
    100% {

        transform: translateY(0);
    }

    50% {

        transform: translateY(7px);
    }
}


/*==========================================================
14. TABLETTE
==========================================================*/

@media (max-width: 991px) {

    #hero {

        min-height: 650px;
    }


    #hero .hero-content {

        max-width: 720px;

        padding-top: 70px;
    }


    #hero .hero-content h1 {

        max-width: 720px !important;

        font-size: clamp(2.7rem, 7vw, 4.4rem);
    }


    #hero .hero-content p {

        max-width: 600px !important;

        font-size: 17px;
    }


    #hero .swiper-pagination {

        right: 30px !important;
    }
}


/*==========================================================
15. MOBILE
==========================================================*/

@media (max-width: 767px) {

    #hero {

        height: 760px;

        min-height: 760px;
    }


    #hero .slide {

        background-position: 62% center;
    }


    #hero .overlay {

        background:
            linear-gradient(
                90deg,
                rgba(5,25,58,.91) 0%,
                rgba(10,47,107,.70) 65%,
                rgba(10,47,107,.40) 100%
            );
    }


    #hero .hero-content {

        max-width: 100%;

        padding-top: 65px;

        padding-bottom: 40px;
    }


    #hero .hero-content .subtitle {

        margin-bottom: 22px !important;

        padding: 8px 14px;

        font-size: 10px;

        letter-spacing: .06em;
    }


    #hero .hero-content h1 {

        width: 100% !important;

        max-width: 100% !important;

        margin-bottom: 22px !important;

        font-size: clamp(2.3rem, 10vw, 3.5rem);

        line-height: 1.08;
    }


    #hero .hero-content p {

        width: 100% !important;

        max-width: 100% !important;

        margin-bottom: 30px !important;

        font-size: 15px;

        line-height: 1.7;
    }


    #hero .hero-buttons {

        width: 100%;

        flex-direction: column;

        align-items: flex-start;

        gap: 12px;
    }


    #hero .hero-buttons .btn {

        width: 100%;

        max-width: 280px;

        min-height: 52px;
    }


    #hero .swiper-pagination {

        left: 20px !important;

        right: auto !important;

        bottom: 25px !important;
    }


    #hero .swiper-pagination-bullet {

        width: 20px;
    }


    #hero .swiper-pagination-bullet-active {

        width: 42px;
    }


    #hero .scroll-down {

        display: none;
    }
}


/*==========================================================
16. TRÈS PETITS ÉCRANS
==========================================================*/

@media (max-width: 420px) {

    #hero {

        height: 720px;

        min-height: 720px;
    }


    #hero .hero-content {

        padding-top: 50px;
    }


    #hero .hero-content h1 {

        font-size: 2.15rem;
    }


    #hero .hero-content p {

        font-size: 14px;
    }
}


/*==========================================================
17. ACCESSIBILITÉ
==========================================================*/

@media (prefers-reduced-motion: reduce) {

    #hero *,
    #hero *::before,
    #hero *::after {

        animation: none !important;

        transition: none !important;
    }
}

/*==========================================================
  CORRECTIONS HERO — TITRE + SCROLL
==========================================================*/


/*----------------------------------------------------------
  1. TITRE H1 — taille plus équilibrée
----------------------------------------------------------*/

#hero .hero-content h1 {
    font-size: clamp(2.5rem, 4.2vw, 4.4rem) !important;
    line-height: 1.08 !important;
    letter-spacing: -0.035em !important;
}


/* Desktop */
@media (min-width: 1200px) {

    #hero .hero-content h1 {
        max-width: 720px !important;
        font-size: 4.25rem !important;
    }

}


/* Tablette */
@media (max-width: 991px) {

    #hero .hero-content h1 {
        font-size: 3.4rem !important;
    }

}


/* Mobile */
@media (max-width: 767px) {

    #hero .hero-content h1 {
        font-size: 2.5rem !important;
        line-height: 1.1 !important;
    }

}


/*----------------------------------------------------------
  2. BOUTON SCROLL — CENTRAGE PARFAIT DE L'ICÔNE
----------------------------------------------------------*/

#hero .scroll-down a {

    display: flex !important;

    align-items: center !important;
    justify-content: center !important;

    width: 46px !important;
    height: 46px !important;

    padding: 0 !important;

    line-height: 1 !important;

    text-align: center !important;

    box-sizing: border-box;

}


/* Icône Font Awesome */

#hero .scroll-down a i.fa-solid.fa-angles-down {

    display: flex !important;

    align-items: center !important;
    justify-content: center !important;

    width: 100% !important;
    height: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    line-height: 1 !important;

    font-size: 13px;

    transform: translateY(0) !important;

}


/* Correction du centrage visuel Font Awesome */

#hero .scroll-down a i.fa-solid.fa-angles-down::before {

    display: block;

    line-height: 1;

}


/* Hover */

#hero .scroll-down a:hover {

    transform: translateY(-3px) !important;

}


/* Animation */

@keyframes heroScrollDown {

    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(6px);
    }

}

/*==========================================================
  HERO — TAILLE H1 FINALE
==========================================================*/

#hero .hero-content h1 {
    font-size: 52px !important;
    line-height: 1.08 !important;
    letter-spacing: -0.025em !important;
    max-width: 720px !important;
}


/* Tablette */

@media (max-width: 991px) {

    #hero .hero-content h1 {
        font-size: 44px !important;
    }

}


/* Mobile */

@media (max-width: 767px) {

    #hero .hero-content h1 {
        font-size: 36px !important;
        line-height: 1.1 !important;
    }

}


/* Très petits écrans */

@media (max-width: 420px) {

    #hero .hero-content h1 {
        font-size: 32px !important;
    }

}

/*==========================================================
  SEME CONGO
  PAGE HERO — PAGES INTERNES
==========================================================*/


/*==========================================================
01. HERO
==========================================================*/

.page-hero {

    position: relative;

    width: 100%;

    min-height: 430px;

    display: flex;

    align-items: center;

    overflow: hidden;

    background-position: center;

    background-repeat: no-repeat;

    background-size: cover;

}


/*==========================================================
02. OVERLAY
==========================================================*/

.page-hero::before {

    content: "";

    position: absolute;

    inset: 0;

    z-index: 1;

    /*
    ----------------------------------------------------------
    Overlay beaucoup plus léger
    ----------------------------------------------------------
    */

    background:
        linear-gradient(
            90deg,
            rgba(7, 35, 78, 0.68) 0%,
            rgba(10, 47, 107, 0.45) 45%,
            rgba(10, 47, 107, 0.22) 100%
        );

}


/*==========================================================
  IMAGE
==========================================================*/

.page-hero {

    position: relative;

    overflow: hidden;

    background-color: #0A2F6B;

}


.page-hero img {

    width: 100%;

    height: 100%;

    object-fit: cover;

    object-position: center;

    transform: scale(1.01);

}

/*==========================================================
03. CONTENEUR
==========================================================*/

.page-hero .container {

    position: relative;

    z-index: 2;

}


/*==========================================================
04. CONTENU
==========================================================*/

.page-hero-content {

    width: 100%;

    max-width: 850px;

    padding-top: 100px;

    padding-bottom: 55px;

    color: #ffffff;

}


/*==========================================================
05. SURTITRE
==========================================================*/

.page-hero-eyebrow {

    display: inline-flex;

    align-items: center;

    gap: 11px;

    margin-bottom: 20px;

    padding: 8px 16px;

    border: 1px solid rgba(255,255,255,.25);

    border-radius: 50px;

    background: rgba(255,255,255,.09);

    color: #ffffff;

    font-family: 'Poppins', sans-serif;

    font-size: 12px;

    font-weight: 600;

    letter-spacing: .08em;

    text-transform: uppercase;

    backdrop-filter: blur(10px);

    -webkit-backdrop-filter: blur(10px);

}


/* Petit point */

.page-hero-dot {

    width: 7px;

    height: 7px;

    flex: 0 0 7px;

    border-radius: 50%;

    background: #ffffff;

    box-shadow:

        0 0 0 5px rgba(255,255,255,.10);

}


/*==========================================================
06. TITRE
==========================================================*/

.page-hero-content h1 {

    margin: 0 0 18px;

    color: #ffffff;

    font-family: 'Poppins', sans-serif;

    font-size: 52px;

    font-weight: 700;

    line-height: 1.10;

    letter-spacing: -.025em;

}


/*==========================================================
07. DESCRIPTION
==========================================================*/

.page-hero-content > p {

    max-width: 680px;

    margin: 0 0 25px;

    color: rgba(255,255,255,.88);

    font-family: 'Poppins', sans-serif;

    font-size: 16px;

    font-weight: 400;

    line-height: 1.75;

}


/*==========================================================
08. BREADCRUMB
==========================================================*/

.page-hero-breadcrumb {

    display: flex;

    align-items: center;

    flex-wrap: wrap;

    gap: 10px;

    margin-top: 20px;

    font-family: 'Poppins', sans-serif;

    font-size: 13px;

}


.page-hero-breadcrumb a {

    color: rgba(255,255,255,.75);

    text-decoration: none;

    transition: color .3s ease;

}


.page-hero-breadcrumb a:hover {

    color: #ffffff;

}


.page-hero-breadcrumb .breadcrumb-separator {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    color: rgba(255,255,255,.50);

    font-size: 11px;

}


.page-hero-breadcrumb .breadcrumb-current {

    color: #ffffff;

    font-weight: 600;

}


/*==========================================================
09. SCROLL
==========================================================*/

.page-hero-scroll {

    position: absolute;

    left: 50%;

    bottom: 25px;

    z-index: 3;

    width: 40px;

    height: 40px;

    display: flex;

    align-items: center;

    justify-content: center;

    border: 1px solid rgba(255,255,255,.30);

    border-radius: 50%;

    background: rgba(255,255,255,.08);

    color: #ffffff;

    transform: translateX(-50%);

    backdrop-filter: blur(8px);

    -webkit-backdrop-filter: blur(8px);

    animation: pageHeroScroll 2s ease-in-out infinite;

}


.page-hero-scroll i {

    display: flex;

    align-items: center;

    justify-content: center;

    width: 100%;

    height: 100%;

    font-size: 11px;

    line-height: 1;

}


/*==========================================================
10. ANIMATION
==========================================================*/

.page-hero-content {

    animation: pageHeroContent .8s ease both;

}


@keyframes pageHeroContent {

    from {

        opacity: 0;

        transform: translateY(25px);

    }

    to {

        opacity: 1;

        transform: translateY(0);

    }

}


@keyframes pageHeroScroll {

    0%,
    100% {

        transform: translateX(-50%) translateY(0);

    }

    50% {

        transform: translateX(-50%) translateY(6px);

    }

}


/*==========================================================
11. TABLETTE
==========================================================*/

@media (max-width: 991px) {

    .page-hero {

        min-height: 390px;

    }


    .page-hero-content {

        padding-top: 105px;

        padding-bottom: 55px;

    }


    .page-hero-content h1 {

        font-size: 46px;

    }

}


/*==========================================================
12. MOBILE
==========================================================*/

@media (max-width: 767px) {

    .page-hero {

        min-height: 360px;

    }


    .page-hero-content {

        padding-top: 100px;

        padding-bottom: 55px;

    }


    .page-hero-eyebrow {

        font-size: 10px;

        padding: 7px 13px;

    }


    .page-hero-content h1 {

        margin-bottom: 15px;

        font-size: 38px;

        line-height: 1.10;

    }


    .page-hero-content > p {

        font-size: 14px;

        line-height: 1.65;

    }


    .page-hero-breadcrumb {

        font-size: 12px;

    }


    .page-hero-scroll {

        display: none;

    }

}


/*==========================================================
13. PETITS ÉCRANS
==========================================================*/

@media (max-width: 420px) {

    .page-hero {

        min-height: 340px;

    }


    .page-hero-content {

        padding-top: 95px;

    }


    .page-hero-content h1 {

        font-size: 32px;

    }

}