.hero-slider{
    position:relative;
}

.hero-slider .carousel-item{
    height:100vh;
    min-height:800px;
    position:relative;
}

.hero-bg{
    position:absolute;
    inset:0;

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

    transform:scale(1.08);

    animation:heroZoom 12s linear infinite;
}

@keyframes heroZoom{

    from{
        transform:scale(1);
    }

    to{
        transform:scale(1.1);
    }

}

.hero-overlay{
    position:absolute;
    inset:0;

    background:
        linear-gradient(
            90deg,
            rgba(7,27,52,.90) 0%,
            rgba(7,27,52,.70) 50%,
            rgba(7,27,52,.55) 100%
        );
}

.hero-content{
    position:relative;
    z-index:10;

    max-width:750px;

    height:100vh;

    display:flex;
    flex-direction:column;
    justify-content:center;
}

.hero-badge{
    display:inline-flex;
    align-items:center;

    width:fit-content;

    padding:12px 22px;

    border-radius:50px;

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

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

    color:#2DC7FF;

    font-weight:600;

    margin-bottom:25px;
}

.hero-content h1{
    color:#fff;

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

    font-weight:800;

    line-height:1.1;

    margin-bottom:25px;
}

.hero-content p{
    color:rgba(255,255,255,.85);

    font-size:20px;

    line-height:1.9;

    max-width:650px;

    margin-bottom:40px;
}

.hero-buttons{
    display:flex;
    gap:20px;
    flex-wrap:wrap;
}

.hero-btn-primary{
    padding:18px 36px;

    border-radius:60px;

    background:linear-gradient(
        135deg,
        #2DC7FF,
        #0095D9
    );

    color:#fff;

    font-weight:700;

    text-decoration:none;

    box-shadow:
        0 15px 35px rgba(45,199,255,.35);
}

.hero-btn-primary:hover{
    color:#fff;
    transform:translateY(-4px);
}

.hero-btn-outline{
    padding:18px 36px;

    border-radius:60px;

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

    color:#fff;

    backdrop-filter:blur(10px);
}

.hero-btn-outline:hover{
    background:#fff;
    color:#071B34;
}

.hero-arrow{
    width:70px;
    height:70px;

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

    border-radius:50%;

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

    backdrop-filter:blur(12px);

    color:#fff;

    font-size:20px;
}

.carousel-control-prev,
.carousel-control-next{
    width:8%;
    opacity:1;
}

.carousel-indicators{
    margin-bottom:40px;
}

.carousel-indicators button{
    width:12px !important;
    height:12px !important;

    border-radius:50%;

    background:#fff !important;
}

.carousel-indicators .active{
    background:#2DC7FF !important;
    transform:scale(1.3);
}

.welcome-section{
    padding:80px 0;
    background:#fff;
}

.welcome-image{
    position:relative;
}

.welcome-image img{
    width:100%;
    border-radius:30px;
    display:block;

    box-shadow:
        0 30px 80px rgba(0,0,0,.08);
}

.experience-card{
    position:absolute;
    right:-20px;
    bottom:40px;

    background:#fff;

    padding:25px 35px;

    border-radius:20px;

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

    text-align:center;
}

.experience-card h3{
    color:#2DC7FF;
    font-size:40px;
    font-weight:800;
    margin:0;
}

.experience-card span{
    color:#64748b;
    font-size:14px;
}

.section-badge{
    display:inline-flex;
    align-items:center;
    gap:10px;

    background:rgba(45,199,255,.1);

    color:#0095D9;

    padding:10px 20px;

    border-radius:50px;

    font-weight:600;

    margin-bottom:25px;
}

.section-title{
    font-size:48px;
    font-weight:800;
    color:#071B34;
    line-height:1.2;
    margin-bottom:25px;
}

.welcome-text{
    color:#64748b;
    line-height:1.9;
    margin-bottom:20px;
    font-size:17px;
}

.welcome-features{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:18px;
    margin:35px 0;
}

.feature-item{
    display:flex;
    align-items:center;
    gap:12px;

    padding:15px 20px;

    border-radius:15px;

    background:#e3e8ed;

    transition:.3s;
}

.feature-item:hover{
    transform:translateY(-5px);
    box-shadow:0 15px 30px rgba(45,199,255,.15);
}

.feature-item i{
    color:#2DC7FF;
    font-size:20px;
}

.feature-item span{
    font-weight:600;
    color:#071B34;
}

@media(max-width:991px){

    .welcome-section{
        padding:80px 0;
    }

    .section-title{
        font-size:36px;
    }

    .experience-card{
        position:relative;
        right:auto;
        bottom:auto;
        margin-top:20px;
    }

    .welcome-features{
        grid-template-columns:1fr;
    }

}
.welcome-image img{
    transition:transform 6s ease;
}

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

.stats-section{
    padding:120px 0;
    background:
        linear-gradient(
            135deg,
            #071B34,
            #0B2545
        );

    color:#fff;

    position:relative;
    overflow:hidden;
}

/* effet décoratif */
.stats-section::before{
    content:'';
    position:absolute;
    width:500px;
    height:500px;
    background:radial-gradient(rgba(45,199,255,.15), transparent 70%);
    top:-200px;
    right:-200px;
}

.section-header{
    margin-bottom:40px;
}

.stat-card{
    background:rgba(255,255,255,.06);
    backdrop-filter:blur(15px);

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

    border-radius:25px;

    padding:40px 25px;

    text-align:center;

    transition:.4s;

    position:relative;
    overflow:hidden;
}

.stat-card::after{
    content:'';
    position:absolute;
    inset:0;

    background:linear-gradient(
        135deg,
        rgba(45,199,255,.15),
        transparent
    );

    opacity:0;
    transition:.4s;
}

.stat-card:hover::after{
    opacity:1;
}

.stat-card:hover{
    transform:translateY(-10px);
    box-shadow:0 25px 60px rgba(0,0,0,.3);
}

.stat-card i{
    font-size:40px;
    color:#2DC7FF;
    margin-bottom:20px;
}

.counter{
    font-size:48px;
    font-weight:800;
    margin:0;
}

.stat-card p{
    margin-top:10px;
    color:rgba(255,255,255,.75);
    font-size:16px;
}

.news-section{
    padding-top: 80px;
    background:#f8fbff;
}

.news-card{
    background:#fff;

    border-radius:25px;

    overflow:hidden;

    box-shadow:0 15px 40px rgba(0,0,0,.08);

    transition:.4s;

    height:100%;
}

.news-card:hover{
    transform:translateY(-10px);
    box-shadow:0 25px 60px rgba(0,0,0,.12);
}

.news-image{
    position:relative;
    height:240px;
    overflow:hidden;
}

.news-image img{
    width:100%;
    height:100%;
    object-fit:cover;

    transition:transform 1s ease;
}

.news-card:hover .news-image img{
    transform:scale(1.1);
}

.news-category{
    position:absolute;
    top:15px;
    left:15px;

    background:linear-gradient(135deg,#2DC7FF,#0095D9);

    color:#fff;

    padding:6px 14px;

    border-radius:50px;

    font-size:12px;

    font-weight:600;
}

.news-content{
    padding:25px;
}

.news-meta{
    display:flex;
    justify-content:space-between;

    font-size:13px;

    color:#64748b;

    margin-bottom:15px;
}

.news-meta i{
    color:#2DC7FF;
    margin-right:6px;
}

.news-content h3{
    font-size:20px;
    font-weight:700;

    color:#071B34;

    margin-bottom:12px;

    line-height:1.4;
}

.news-content p{
    color:#64748b;
    font-size:15px;
    line-height:1.7;

    margin-bottom:20px;
}

.news-btn{
    display:inline-flex;
    align-items:center;
    gap:10px;

    color:#2DC7FF;

    font-weight:600;

    text-decoration:none;

    transition:.3s;
}

.news-btn:hover{
    gap:15px;
    color:#0095D9;
}

.services-section{
    padding:120px 0;
    background:#f8fbff;
}

.service-card{
    background:#fff;

    border-radius:25px;

    overflow:hidden;

    box-shadow:0 15px 40px rgba(0,0,0,.08);

    transition:.4s;

    height:100%;
}

.service-card:hover{
    transform:translateY(-10px);
    box-shadow:0 25px 60px rgba(0,0,0,.12);
}

.service-image{
    position:relative;
    height:220px;
    overflow:hidden;
}

.service-image img{
    width:100%;
    height:100%;
    object-fit:cover;

    transition:transform 1s ease;
}

.service-card:hover .service-image img{
    transform:scale(1.1);
}

.service-icon{
    position:absolute;
    bottom:-25px;
    right:20px;

    width:60px;
    height:60px;

    background:linear-gradient(135deg,#2DC7FF,#0095D9);

    border-radius:50%;

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

    color:#fff;

    font-size:22px;

    box-shadow:0 15px 30px rgba(45,199,255,.35);
}

.service-content{
    padding:30px 25px;
}

.service-content h3{
    font-size:22px;
    font-weight:700;

    color:#071B34;

    margin-bottom:15px;
}

.service-content p{
    color:#64748b;

    font-size:15px;
    line-height:1.8;

    margin-bottom:20px;
}

.service-link{
    display:inline-flex;
    align-items:center;
    gap:10px;

    color:#2DC7FF;

    font-weight:600;

    text-decoration:none;

    transition:.3s;
}

.service-link:hover{
    gap:15px;
    color:#0095D9;
}

.testimonial-section{
    padding:120px 0;

    background:
        linear-gradient(135deg,#071B34,#0B2545);

    color:#fff;

    position:relative;
    overflow:hidden;
}

/* effet décoratif */
.testimonial-section::before{
    content:'';
    position:absolute;

    width:500px;
    height:500px;

    background:radial-gradient(rgba(45,199,255,.2), transparent 70%);

    top:-200px;
    left:-200px;
}

.testimonial-card{
    background:rgba(255,255,255,.06);

    backdrop-filter:blur(15px);

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

    border-radius:25px;

    padding:40px;

    height:100%;

    transition:.4s;
}

.testimonial-card:hover{
    transform:translateY(-10px);
    background:rgba(255,255,255,.08);
}

.quote-icon{
    font-size:40px;
    color:#2DC7FF;
    margin-bottom:20px;
}

.testimonial-text{
    font-size:16px;
    line-height:1.9;

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

    margin-bottom:30px;
}

.testimonial-user{
    display:flex;
    align-items:center;
    gap:15px;
}

.testimonial-user img{
    width:55px;
    height:55px;

    border-radius:50%;

    object-fit:cover;

    border:2px solid #2DC7FF;
}

.testimonial-user h4{
    margin:0;
    font-size:16px;
    font-weight:700;
}

.testimonial-user span{
    font-size:13px;
    color:rgba(255,255,255,.6);
}

/* Swiper customization */
.swiper-button-next,
.swiper-button-prev{
    color:#2DC7FF;
}

.swiper-pagination-bullet{
    background:#fff;
    opacity:.5;
}

.swiper-pagination-bullet-active{
    background:#2DC7FF;
    opacity:1;
}

.cta-section{
    padding:120px 0;
    background:#fff;
}

/* BOX PRINCIPALE */
.cta-box{
    position:relative;

    padding:70px 60px;

    border-radius:30px;

    background:linear-gradient(
        135deg,
        #2DC7FF,
        #0095D9
    );

    color:#fff;

    overflow:hidden;

    box-shadow:0 30px 80px rgba(45,199,255,.35);
}

/* effet lumière */
.cta-box::before{
    content:'';
    position:absolute;

    width:400px;
    height:400px;

    background:radial-gradient(rgba(255,255,255,.25), transparent 70%);

    top:-150px;
    right:-150px;
}

/* BADGE */
.cta-badge{
    display:inline-block;

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

    padding:8px 18px;

    border-radius:50px;

    font-weight:600;

    margin-bottom:15px;
}

/* TITRE */
.cta-box h2{
    font-size:36px;
    font-weight:800;

    line-height:1.3;

    margin-bottom:15px;
}

/* TEXTE */
.cta-box p{
    font-size:16px;
    line-height:1.8;

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

    max-width:600px;
}

/* BOUTON */
.cta-btn{
    display:inline-flex;
    align-items:center;
    gap:12px;

    padding:18px 30px;

    border-radius:60px;

    background:#fff;

    color:#0095D9;

    font-weight:700;

    text-decoration:none;

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

    transition:.3s;
}

.cta-btn:hover{
    transform:translateY(-5px);
    color:#0095D9;
}

/* RESPONSIVE */
@media(max-width:768px){

    .cta-box{
        padding:40px 25px;
        text-align:center;
    }

    .cta-box h2{
        font-size:26px;
    }

}

.partners-section{
    background:#f8fbff;
}

/* SLIDER WRAPPER */
.partners-slider{
    overflow:hidden;
    position:relative;
    margin-top:50px;
}

/* TRACK ANIMÉ */
.partners-track{
    display:flex;
    align-items:center;
    gap:80px;

    width:max-content;

    animation:scrollPartners 25s linear infinite;
}

/* ITEM */
.partner-item{
    flex:0 0 auto;
}

.partner-item img{
    height:50px;

    filter:grayscale(100%);
    opacity:.6;

    transition:.3s;
}

.partner-item img:hover{
    filter:grayscale(0%);
    opacity:1;
    transform:scale(1.1);
}

/* ANIMATION BOUCLE */
@keyframes scrollPartners{

    0%{
        transform:translateX(0);
    }

    100%{
        transform:translateX(-50%);
    }

}
.partners-slider:hover .partners-track{
    animation-play-state:paused;
}
.partners-slider::before,
.partners-slider::after{
    content:'';
    position:absolute;
    top:0;
    width:120px;
    height:100%;
    z-index:2;
}

.partners-slider::before{
    left:0;
    background:linear-gradient(to right,#f8fbff,transparent);
}

.partners-slider::after{
    right:0;
    background:linear-gradient(to left,#f8fbff,transparent);
}