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

.hero{

    padding:0;

}

.hero .carousel-item{

    height:100vh;

    min-height:750px;

    position:relative;

}

.hero img{

    width:100%;

    height:100%;

    object-fit:cover;

}

.hero .overlay{

    position:absolute;

    inset:0;

    background:linear-gradient(
        90deg,
        rgba(20,35,82,.90) 15%,
        rgba(20,35,82,.75) 45%,
        rgba(20,35,82,.45) 70%,
        rgba(20,35,82,.15) 100%
    );

}

.hero .container{

    position:absolute;

    inset:0;

    display:flex;

    align-items:center;

    z-index:2;

}

.hero-content{

    max-width:700px;

    color:#fff;

}

.hero-badge{

    display:inline-flex;

    align-items:center;

    gap:10px;

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

    backdrop-filter:blur(12px);

    color:#fff;

    padding:10px 22px;

    border-radius:40px;

    margin-bottom:30px;

    font-weight:600;

}

.hero h1{

    color:#fff;

    font-size:64px;

    font-weight:800;

    margin-bottom:25px;

}

.hero h1 span{

    color:var(--secondary);

}

.hero p{

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

    font-size:20px;

    margin-bottom:40px;

    max-width:620px;

}

.hero-buttons{

    display:flex;

    gap:20px;

    flex-wrap:wrap;

}

.hero .btn-outline-theme{

    border:2px solid #fff;

    color:#fff;

}

.hero .btn-outline-theme:hover{

    background:#fff;

    color:var(--primary);

}

.carousel-control-next,

.carousel-control-prev{

    width:6%;

}

.carousel-control-next-icon,

.carousel-control-prev-icon{

    background-size:55%;

    width:60px;

    height:60px;

    border-radius:50%;

    background-color:rgba(255,255,255,.20);

    backdrop-filter:blur(8px);

}

@media(max-width:991px){

    .hero .carousel-item{

        min-height:700px;

    }

    .hero h1{

        font-size:46px;

    }

}

@media(max-width:768px){

    .hero .carousel-item{

        min-height:650px;

    }

    .hero h1{

        font-size:34px;

    }

    .hero p{

        font-size:17px;

    }

}

/*=========================================
            WELCOME SECTION
=========================================*/

.welcome-section{

    background:#e9eaeb;

}

.section-badge{

    display:inline-block;

    background:rgba(243,154,31,.12);

    color:var(--secondary);

    padding:10px 22px;

    border-radius:40px;

    font-weight:700;

    margin-bottom:20px;

}

.welcome-section h2{

    font-size:44px;

    line-height:1.25;

    margin-bottom:25px;

}

.welcome-section p{

    margin-bottom:20px;

    font-size:17px;

}

.welcome-list{

    margin-top:35px;

}

.welcome-list div{

    display:flex;

    align-items:center;

    gap:15px;

    margin-bottom:18px;

    font-size:17px;

    font-weight:600;

}

.welcome-list i{

    width:36px;

    height:36px;

    border-radius:50%;

    background:var(--secondary);

    color:#fff;

    display:flex;

    justify-content:center;

    align-items:center;

    flex-shrink:0;

}

.welcome-image{

    position:relative;

    padding-left:40px;

}

.welcome-image img{

    width:100%;

    border-radius:25px;

    box-shadow:var(--shadow-lg);

}

.welcome-image::before{

    content:"";

    position:absolute;

    width:220px;

    height:220px;

    background:var(--secondary);

    opacity:.15;

    border-radius:25px;

    bottom:-25px;

    left:0;

    z-index:0;

}

.welcome-image img{

    position:relative;

    z-index:2;

}

.experience-card{

    position:absolute;

    top:-50px;

    left:0;

    background:#fff;

    padding:25px;

    border-radius:20px;

    box-shadow:var(--shadow);

    text-align:center;

    min-width:180px;

    z-index:3;

}

.experience-card h3{

    font-size:52px;

    color:var(--secondary);

    margin-bottom:5px;

}

.experience-card span{

    color:var(--text);

    font-weight:700;

}

@media(max-width:991px){

    .welcome-image{

        padding-left:0;

        margin-top:40px;

    }

    .experience-card{

        left:20px;

    }

}

@media(max-width:768px){

    .welcome-section h2{

        font-size:32px;

    }

}

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

.services-section{

    background:#fff;

}

.services-section .section-title{

    max-width:750px;

    margin:auto;
    margin-bottom:70px;

}

.services-section .section-title p{

    margin-top:20px;

}

.service-card{

    background:#fff;

    border-radius:20px;

    overflow:hidden;

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

    transition:.4s;

    height:100%;

}

.service-card:hover{

    transform:translateY(-12px);

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

}

.service-image{

    position:relative;

    overflow:hidden;

    height:260px;

}

.service-image img{

    width:100%;

    height:100%;

    object-fit:cover;

    transition:.6s;

}

.service-card:hover img{

    transform:scale(1.1);

}

.service-overlay{

    position:absolute;

    inset:0;

    background:rgba(36,54,122,.75);

    display:flex;

    justify-content:center;

    align-items:center;

    opacity:0;

    transition:.4s;

}

.service-card:hover .service-overlay{

    opacity:1;

}

.service-overlay a{

    width:100px;

    height:65px;

    border-radius:20px;

    background:var(--secondary);

    color:#fff;

    display:flex;

    justify-content:center;

    align-items:center;

    font-size:22px;

    transition:.4s;

}

.service-overlay a:hover{

    transform:rotate(45deg);

}

.service-content{

    padding:30px;

}

.service-content h4{

    margin-bottom:15px;

    color:var(--primary);

    transition:.3s;

}

.service-card:hover h4{

    color:var(--secondary);

}

.service-content p{

    margin:0;

    line-height:1.8;

}

/*====================================
            WHY US
=====================================*/

.why-us{

    position:relative;

    padding:120px 0;

    background:url('https://images.unsplash.com/photo-1520607162513-77705c0f0d4a?auto=format&fit=crop&w=1920&q=80') center center/cover no-repeat;

    overflow:hidden;

}

.why-us .overlay{

    position:absolute;

    inset:0;

    background:linear-gradient(
        rgba(36,54,122,.92),
        rgba(17,34,71,.90)
    );

}

.why-us .container{

    position:relative;

    z-index:2;

}

.why-us h2{

    color:#fff;

    font-size:48px;

    margin-bottom:25px;

}

.why-us p{

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

    font-size:18px;

    max-width:850px;

    margin:auto;

}

.why-box{

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

    backdrop-filter:blur(10px);

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

    border-radius:18px;

    padding:35px 25px;

    text-align:center;

    transition:.4s;

    height:100%;

}

.why-box:hover{

    background:var(--secondary);

    transform:translateY(-10px);

}

.why-box i{

    width:75px;

    height:75px;

    border-radius:50%;

    background:#fff;

    color:var(--primary);

    display:flex;

    justify-content:center;

    align-items:center;

    font-size:30px;

    margin:auto;

    margin-bottom:20px;

}

.why-box h5{

    color:#fff;

    margin-bottom:15px;

}

.why-box span{

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

    line-height:1.8;

}

.btn-outline-light-custom{

    display:inline-block;

    padding:15px 35px;

    border:2px solid #fff;

    color:#fff;

    border-radius:50px;

    font-weight:700;

    transition:.4s;

}

.btn-outline-light-custom:hover{

    background:#fff;

    color:var(--primary);

}

@media(max-width:768px){

    .why-us{

        padding:90px 0;

    }

    .why-us h2{

        font-size:34px;

    }

}
/*==================================
            BLOG
===================================*/

.blog-section{

    background:#f8fafc;

}

.blog-card{

    background:#fff;

    border-radius:20px;

    overflow:hidden;

    box-shadow:var(--shadow-sm);

    transition:.4s;

    height:100%;

}

.blog-card:hover{

    transform:translateY(-12px);

    box-shadow:var(--shadow-lg);

}

.blog-image{

    position:relative;

    overflow:hidden;

    height:260px;

}

.blog-image img{

    width:100%;

    height:100%;

    object-fit:cover;

    transition:.6s;

}

.blog-card:hover img{

    transform:scale(1.08);

}

.blog-category{

    position:absolute;

    left:20px;

    top:20px;

    background:var(--secondary);

    color:#fff;

    padding:8px 18px;

    border-radius:40px;

    font-size:13px;

    font-weight:700;

}

.blog-content{

    padding:30px;

}

.blog-meta{

    display:flex;

    justify-content:space-between;

    flex-wrap:wrap;

    margin-bottom:18px;

    color:#777;

    font-size:14px;

}

.blog-meta span{

    display:flex;

    align-items:center;

    gap:8px;

}

.blog-meta i{

    color:var(--secondary);

}

.blog-content h4{

    font-size:24px;

    line-height:1.4;

    margin-bottom:15px;

    transition:.3s;

}

.blog-card:hover h4{

    color:var(--primary);

}

.blog-content p{

    margin-bottom:25px;

}

.blog-btn{

    color:var(--primary);

    font-weight:700;

    display:inline-flex;

    align-items:center;

    gap:10px;

    transition:.3s;

}

.blog-btn:hover{

    color:var(--secondary);

    gap:16px;

}

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

.testimonial-section{

    background:#8fc1f34a;

}

.testimonial-card{

    background:#fff;

    border-radius:20px;

    padding:40px;

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

    position:relative;

    overflow:hidden;

    height:100%;

}

.quote-icon{

    position:absolute;

    top:20px;

    right:25px;

    font-size:70px;

    color:rgba(243,154,31,.12);

}

.testimonial-header{

    display:flex;

    align-items:center;

    gap:20px;

    margin-bottom:25px;

}

.testimonial-header img{

    width:80px;

    height:80px;

    border-radius:50%;

    object-fit:cover;

    border:4px solid rgba(243,154,31,.15);

}

.testimonial-header h5{

    margin-bottom:5px;

    color:var(--primary);

}

.testimonial-header span{

    color:#777;

}

.stars{

    margin-bottom:20px;

}

.stars i{

    color:#FDBA12;

    margin-right:3px;

}

.testimonial-card p{

    line-height:1.9;

    margin:0;

    color:#555;

    font-style:italic;

}

.testimonial-slider{

    padding-bottom:60px;

}

.swiper-pagination-bullet{

    width:12px;

    height:12px;

    background:#d6d6d6;

    opacity:1;

}

.swiper-pagination-bullet-active{

    background:var(--secondary);

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

.partners-section{

    background:#f8fafc;

    padding:100px 0;

}

.partners-slider{

    margin-top:60px;

    padding-bottom:20px;

}

.partner-card{

    height:150px;

    background:#fff;

    border-radius:20px;

    display:flex;

    justify-content:center;

    align-items:center;

    border:1px solid #edf2f7;

    transition:.35s;

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

}

.partner-card:hover{

    transform:translateY(-10px);

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

}

.partner-card img{

    width:110px;

    height:70px;

    object-fit:contain;

    filter:grayscale(100%);

    opacity:.65;

    transition:.4s;

}

.partner-card:hover img{

    filter:none;

    opacity:1;

    transform:scale(1.08);

}