        :root{
            --primary:#2DC7FF;
            --primary-dark:#0095D9;
            --secondary:#071B34;
            --accent:#00E5A8;
            --text:#5B6472;
            --light:#F8FBFF;
            --white:#FFFFFF;
        }

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

        html{
            scroll-behavior:smooth;
        }

        a{
            text-decoration:none;
            transition:.3s;
        }

        .section-padding{
            padding:120px 0;
        }

        .section-badge{
            display:inline-flex;
            align-items:center;
            gap:10px;
            padding:8px 18px;
            border-radius:50px;
            background:rgba(45,199,255,.1);
            color:var(--primary-dark);
            font-weight:600;
            margin-bottom:20px;
        }

        .section-title{
            font-size:clamp(2rem,4vw,4rem);
            font-weight:800;
            line-height:1.1;
            color:var(--secondary);
            margin-bottom:20px;
        }

        .section-text{
            font-size:18px;
            line-height:1.9;
            color:var(--text);
        }

        .btn-primary-premium{
            display:inline-flex;
            align-items:center;
            gap:12px;
            padding:18px 34px;
            border-radius:60px;
            background:linear-gradient(
                135deg,
                var(--primary),
                var(--primary-dark)
            );
            color:#fff;
            font-weight:600;
            box-shadow:
                0 20px 40px rgba(45,199,255,.25);
        }

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

        .glass-card{
            background:rgba(255,255,255,.9);
            backdrop-filter:blur(15px);
            border:1px solid rgba(255,255,255,.5);
            border-radius:30px;
            box-shadow:
                0 20px 60px rgba(15,23,42,.08);
        }
/* ==========================
   TOP BAR
========================== */

.top-bar{
    background:#071B34;
    color:#fff;
    font-size:14px;
    padding:12px 0;
}

.top-bar-content{
    display:flex;
    justify-content:space-between;
    align-items:center;
}

.top-bar a,
.top-bar span{
    color:#fff;
    text-decoration:none;
}

.top-bar i{
    color:#2DC7FF;
    margin-right:8px;
}

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

.main-header{
    position:sticky;
    top:0;
    z-index:9999;
}

.shw-navbar{
    background:rgba(255,255,255,0.92);
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);

    border-bottom:1px solid rgba(0,0,0,.05);

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

    padding:18px 0;
}

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

.navbar-brand:hover img{
    transform:scale(1.05);
}

.navbar-nav{
    gap:10px;
}

.nav-link{
    position:relative;
    color:#071B34 !important;
    font-weight:800;
    font-size:17px;
    padding:12px 18px !important;
    transition:.3s;
}

.nav-link:hover{
    color:#2DC7FF !important;
}

.nav-link::after{
    content:'';
    position:absolute;
    left:50%;
    bottom:0;
    width:0;
    height:3px;
    background:#2DC7FF;
    border-radius:50px;
    transform:translateX(-50%);
    transition:.35s;
}

.nav-link:hover::after,
.nav-link.active::after{
    width:28px;
}

.nav-link.active{
    color:#2DC7FF !important;
}

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

.btn-devis{
    display:flex;
    align-items:center;
    gap:14px;

    padding:8px 8px 8px 26px;

    border-radius:60px;

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

    color:#fff;
    text-decoration:none;

    font-weight:800;

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

    transition:.4s;
}

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

.btn-icon{
    width:42px;
    height:42px;

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

    background:#fff;
    color:#0095D9;

    border-radius:50%;
}

.btn-icon i{
    transition:.3s;
}

.btn-devis:hover .btn-icon i{
    transform:translateX(3px);
}

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

.navbar-toggler{
    border:none;
    box-shadow:none !important;
    font-size:24px;
    color:#071B34;
}

@media(max-width:991px){

    .top-bar{
        display:none;
    }

    .navbar-collapse{
        margin-top:20px;
        padding-top:20px;
        border-top:1px solid #eee;
    }

    .navbar-nav{
        gap:0;
    }

    .nav-link{
        padding:14px 0 !important;
    }

    .header-actions{
        margin-top:20px;
    }

    .btn-devis{
        justify-content:center;
    }

}

/* ==================================
   FOOTER PREMIUM SHW
================================== */

.footer{
    position:relative;
    overflow:hidden;

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

    color:#fff;

    padding:100px 0 0;
}

.footer-shape{
    position:absolute;
    top:-150px;
    right:-150px;

    width:400px;
    height:400px;

    border-radius:50%;

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

    pointer-events:none;
}

/* LOGO */

.footer-brand img{
    height:80px;
    margin-bottom:25px;
}

.footer-brand p{
    color:rgba(255,255,255,.75);
    line-height:1.9;
    margin-bottom:30px;
}

/* TITRES */

.footer-title{
    color:#fff;
    font-size:20px;
    font-weight:700;
    margin-bottom:25px;
    position:relative;
}

.footer-title::after{
    content:'';

    position:absolute;
    left:0;
    bottom:-10px;

    width:40px;
    height:3px;

    border-radius:50px;

    background:#2DC7FF;
}

/* LIENS */

.footer-links{
    list-style:none;
    padding:0;
    margin:0;
}

.footer-links li{
    margin-bottom:14px;
}

.footer-links a{
    color:rgba(255,255,255,.75);
    text-decoration:none;
    transition:.3s;
}

.footer-links a:hover{
    color:#2DC7FF;
    padding-left:8px;
}

/* CONTACT */

.footer-contact{
    list-style:none;
    padding:0;
    margin:0;
}

.footer-contact li{
    display:flex;
    gap:12px;
    align-items:flex-start;

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

    margin-bottom:18px;
}

.footer-contact i{
    color:#2DC7FF;
    margin-top:4px;
}

/* SOCIAL */

.footer-social{
    display:flex;
    gap:12px;
}

.footer-social a{
    width:45px;
    height:45px;

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

    border-radius:50%;

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

    color:#fff;

    transition:.3s;
}

.footer-social a:hover{
    background:#2DC7FF;
    transform:translateY(-5px);
}

/* BOTTOM */

.footer-bottom{
    margin-top:70px;

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

    padding:25px 0;
}

.footer-bottom-content{
    display:flex;
    justify-content:space-between;
    align-items:center;
    flex-wrap:wrap;
    gap:15px;
}

.footer-bottom p{
    margin:0;
    color:rgba(255,255,255,.65);
}

.vcam-link{
    color:#2DC7FF;
    text-decoration:none;
    font-weight:700;
    transition:.3s;
}

.vcam-link:hover{
    color:#fff;
}

/* RESPONSIVE */

@media(max-width:991px){

    .footer{
        text-align:center;
    }

    .footer-title::after{
        left:50%;
        transform:translateX(-50%);
    }

    .footer-social{
        justify-content:center;
    }

    .footer-contact li{
        justify-content:center;
    }

    .footer-bottom-content{
        flex-direction:column;
        text-align:center;
    }

}
.footer-wave{
    line-height:0;
}

.footer-wave svg{
    display:block;
    width:100%;
    height:100px;
}

.top-bar{
    background:linear-gradient(
        90deg,
        #071B34,
        #0B2545
    );
    padding:12px 0;
    position:relative;
    z-index:1000;
}

.top-bar-content{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px;
}

.top-info{
    display:flex;
    align-items:center;
    gap:30px;
    flex-wrap:wrap;
}

.top-info a{
    color:rgba(255,255,255,.85);
    font-size:14px;
    text-decoration:none;
    transition:.3s;
}

.top-info a:hover{
    color:#2DC7FF;
}

.top-info i{
    color:#2DC7FF;
    margin-right:8px;
}

.top-social{
    display:flex;
    align-items:center;
    gap:12px;
}

.follow-text{
    color:rgba(255,255,255,.7);
    font-size:14px;
    margin-right:5px;
}

.top-social a{
    width:34px;
    height:34px;

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

    border-radius:50%;

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

    color:#fff;

    transition:.3s;
}

.top-social a:hover{
    background:#2DC7FF;
    transform:translateY(-3px);
}

@media(max-width:991px){

    .top-bar{
        display:none;
    }

}
.top-bar::before{
    content:'';

    position:absolute;
    top:0;
    left:0;

    width:100%;
    height:2px;

    background:linear-gradient(
        90deg,
        #2DC7FF,
        #00E5A8,
        #2DC7FF
    );
}

.main-header{
    position:fixed;
    top:0;
    left:0;
    width:100%;
    z-index:9999;
}

.top-bar{
    height:50px;
    transition:
        transform .45s ease,
        opacity .45s ease,
        height .45s ease;
    overflow:hidden;
}

.shw-navbar{
    transition:all .4s ease;
}

.main-header.scrolled .top-bar{
   transform:translateY(-100%);
    opacity:0;
    height:0;
}

.main-header.scrolled .shw-navbar{
    padding:10px 0;
    box-shadow:0 10px 35px rgba(0,0,0,.08);
}

body{
    padding-top:130px;
}