
*{
    margin:0;
    padding:0;
    box-sizing:border-box;
    font-family:'Poppins',sans-serif;
}

html{
    scroll-behavior:smooth;
}

body{
    background:#ffffff;
    color:#1e293b;
}

/* NAVBAR */

.navbar{
    position:sticky;
    top:0;
    z-index:1000;
    background:white;
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:15px 8%;
    box-shadow:0 4px 20px rgba(0,0,0,0.08);
}

.logo-container img{
    height:130px;
    width:auto;
}

nav ul{
    list-style:none;
    display:flex;
    gap:30px;
}

nav ul li a{
    text-decoration:none;
    color:#001B5E;
    font-weight:500;
    transition:0.3s;
}

nav ul li a:hover{
    color:#005DFF;
}

.btn-primary{
    background:linear-gradient(135deg,#001B5E,#005DFF);
    color:white;
    border:none;
    padding:12px 25px;
    border-radius:30px;
    cursor:pointer;
    transition:0.4s;
}

.btn-primary:hover{
    transform:translateY(-3px);
    box-shadow:0 0 25px rgba(0,93,255,0.5);
}

.btn-secondary{
    border:2px solid #005DFF;
    background:white;
    color:#005DFF;
    padding:12px 25px;
    border-radius:30px;
    cursor:pointer;
}

/* HERO */

.hero{
    background:
radial-gradient(
circle at top right,
rgba(34,184,255,0.12),
transparent 35%
);
    min-height:90vh;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:80px 8%;
    overflow:hidden;
}

.hero-content{
    width:50%;
}

.hero-content h1{
    font-size:70px;
    line-height:1.1;
    color:#001B5E;
}

.hero-content p{
    margin-top:25px;
    font-size:18px;
    color:#475569;
    line-height:1.8;
}

.whatsapp-btn {
    background-color: #25D366;
    color: #ffffff;
    padding: 12px 28px;
    border-radius: 50px;
    text-decoration: none;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    transition: all 0.3s ease;
}

.whatsapp-btn:hover {
    background-color: #1ebe5d;
    color: #ffffff;
    transform: translateY(-2px);
}

.hero-image{
    width:45%;
    text-align:center;
}

.hero-image img{
    width:100%;
    max-width:700px;
    animation:float 4s ease-in-out infinite;
}

@keyframes float{
    0%{transform:translateY(0);}
    50%{transform:translateY(-15px);}
    100%{transform:translateY(0);}
}

/* OVERLAY */

#overlay{
    position:fixed;
    top:0;
    left:0;
    width:100%;
    height:100%;
    background:rgba(0,27,94,0.95);
    display:none;
    justify-content:center;
    align-items:center;
    z-index:9999;
}

.overlay-content{
    text-align:center;
    color:white;
}

.pulse{
    width:120px;
    height:120px;
    border-radius:50%;
    background:#22B8FF;
    margin:auto;
    animation:pulse 1.5s infinite;
}

@keyframes pulse{
    0%{
        transform:scale(0.8);
        box-shadow:0 0 0 0 rgba(34,184,255,0.7);
    }
    100%{
        transform:scale(1.3);
        box-shadow:0 0 0 60px rgba(34,184,255,0);
    }
}

/* ABOUT */

.about{
    padding:100px 8%;
    display:flex;
    align-items:center;
    gap:60px;
    position:relative;
}

.about::before{

    content:"";

    position:absolute;

    width:350px;
    height:350px;

    background:
    radial-gradient(
        circle,
        rgba(34,184,255,0.15),
        transparent
    );

    left:-100px;
    top:50%;

    transform:translateY(-50%);

    z-index:-1;
}

/* FEATURE CARDS */

.feature-cards{
    width:50%;
    display:flex;
    flex-direction:column;
    gap:25px;
}

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

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

    padding:25px;

    border-radius:20px;

    box-shadow:
    0 10px 30px rgba(0,0,0,0.08);

    transition:0.4s;
}

.feature-card:hover{

    transform:
    translateY(-8px)
    scale(1.02);

    box-shadow:
    0 15px 40px rgba(0,93,255,0.25);
}

.icon{
    font-size:40px;
    margin-bottom:15px;
}

.feature-card h3{
    color:#001B5E;
    margin-bottom:10px;
}

.feature-card p{
    color:#64748b;
}

.slide-track{
    display:flex;
    width:calc(300px * 6);
    animation:scroll 18s linear infinite;
}

.slide-track img{
    width:300px;
    height:220px;
    margin-right:15px;
    border-radius:20px;
    object-fit:cover;
}

@keyframes scroll{
    0%{
        transform:translateX(0);
    }
    100%{
        transform:translateX(-50%);
    }
}

.about-content{
    width:50%;
}

.about-content h2{
    font-size:45px;
    color:#001B5E;
    margin-bottom:20px;
}

.about-content p{
    line-height:1.9;
    color:#475569;
}
.card1{
    animation:float1 5s ease-in-out infinite;
}

.card2{
    animation:float2 6s ease-in-out infinite;
}

.card3{
    animation:float3 7s ease-in-out infinite;
}

@keyframes float1{

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

    50%{
        transform:translateY(-10px);
    }
}

@keyframes float2{

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

    50%{
        transform:translateY(-15px);
    }
}

@keyframes float3{

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

    50%{
        transform:translateY(-12px);
    }
}
/* STATS */

.stats{
    padding:80px 8%;
    display:flex;
    justify-content:center;
    gap:30px;
    flex-wrap:wrap;
}

.stat-card{

    position:relative;

    width:230px;
    height:230px;

    border-radius:50%;

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

    background:rgb(255, 255, 255);

    overflow:hidden;

    transition:0.4s;

    cursor:pointer;
}
.stat-card::before{

    content:"";

    position:absolute;

    inset:0;

    border-radius:50%;

    padding:4px;

    background:
    linear-gradient(
        135deg,
        #001B5E,
        #005DFF,
        #22B8FF
    );

    -webkit-mask:
        linear-gradient(#fff 0 0) content-box,
        linear-gradient(#fff 0 0);

    -webkit-mask-composite:xor;

    mask-composite:exclude;

    animation:spinRing 6s linear infinite;
}
.stat-card::after{

    content:"";

    position:absolute;

    width:100%;
    height:100%;

    border-radius:50%;

    background:
    radial-gradient(
        circle,
        rgba(1, 10, 15, 0),
        transparent
    );

    z-index:-1;
}

.stat-card:hover{

    transform:
    translateY(-10px)
    scale(1.05);

    box-shadow:
    0 0 40px rgba(0,93,255,0.25);
}

.stat-card h2{

    font-size:48px;

    color:#001B5E;

    font-weight:700;
}

.stat-card p{

    color:#64748b;

    margin-top:10px;

    text-align:center;
}
@keyframes spinRing{

    from{
        transform:rotate(0deg);
    }

    to{
        transform:rotate(360deg);
    }
}

/* SERVICES */

.services{
    padding:100px 8%;
    background:#f8fafc;
}

.services h2{
    text-align:center;
    font-size:45px;
    color:#001B5E;
    margin-bottom:50px;
}

.service-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:25px;
}

.service-card{
    background:rgba(255,255,255,0.7);
    backdrop-filter:blur(15px);
    border:1px solid rgba(255,255,255,0.4);
    padding:40px 25px;
    border-radius:20px;
    text-align:center;
    transition:0.4s;
}

.service-card:hover{
    transform:translateY(-10px);
    box-shadow:0 0 30px rgba(0,93,255,0.25);
}

.service-card span{
    font-size:50px;
}

.service-card h3{
    margin:20px 0;
}

/* TEAM */

.team{
    padding:100px 8%;
    text-align:center;
}

.team h2{
    font-size:48px;
    color:#0A2472;
    margin-bottom:60px;
}

.team-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
    gap:30px;
}

.team-card{
    background:#fff;
    border-radius:20px;
    overflow:hidden;
    box-shadow:0 10px 30px rgba(0,0,0,0.08);
    transition:all .4s ease;
}

.team-card:hover{
    transform:translateY(-10px);
    box-shadow:0 20px 40px rgba(0,93,255,0.15);
}

.team-card img{
    width:100%;
    height:320px;
    object-fit:cover;
    display:block;
}

.team-card h3{
    margin-top:20px;
    color:#0A2472;
}

.role{
    color:#005DFF;
    font-weight:600;
    margin:10px 0;
}

.bio{
    color:#666;
    padding:0 25px 25px;
    line-height:1.6;
}

/* CAREERS */

.careers{
    text-align:center;
    padding:100px 8%;
    background:#001B5E;
    color:white;
}

.careers h2{
    margin-bottom:20px;
}

/* CONTACT */

.contact{
    padding:100px 8%;
    display:flex;
    gap:50px;
}

.contact-info,
.contact-form{
    width:50%;
}

.contact-form{
    display:flex;
    flex-direction:column;
    gap:15px;
}

.contact-form input,
.contact-form textarea{
    padding:15px;
    border:1px solid #dbe2ea;
    border-radius:10px;
}

.contact-form textarea{
    height:150px;
}

/* FOOTER */

footer{
    background:#001B5E;
    color:white;
    display:grid;
    grid-template-columns:2fr 1fr 1fr 1fr;
    gap:30px;
    padding:60px 8%;
}

footer img{
    width:180px;
    margin-bottom:15px;
}

.footer-col h3{
    margin-bottom:15px;
}

.footer-col p{
    margin:8px 0;
}

/* RESPONSIVE */

@media(max-width:992px){

.hero,
.about,
.contact{
    flex-direction:column;
}

.hero-content,
.hero-image,
.about-content,
.feature-card,
.contact-info,
.contact-form{
    width:100%;
}

.service-grid,
.team-grid{
    grid-template-columns:repeat(2,1fr);
}

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

@media(max-width:768px){

nav{
    display:none;
}

.service-grid,
.team-grid{
    grid-template-columns:1fr;
}

footer{
    grid-template-columns:1fr;
}
}
.service-card,
.team-card,
.contact,
.careers{
    opacity:0;
    transform:translateY(50px);
    transition:all 0.8s ease;
}

.active{
    opacity:1;
    transform:translateY(0);
}
/* HERO TEXT REVEAL */

.hero-title{
    display:flex;
    flex-direction:column;
}

.hero-title span{
    opacity:0;
    transform:translateY(60px);
    animation:heroReveal 0.8s forwards;
}

.hero-title span:nth-child(1){
    animation-delay:0.2s;
}

.hero-title span:nth-child(2){
    animation-delay:0.6s;
}

.hero-title span:nth-child(3){
    animation-delay:1s;
}

@keyframes heroReveal{

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

    to{
        opacity:1;
        transform:translateY(0);
    }
}
/* RIPPLE EFFECT */

.btn-wrapper{
    position:relative;
    display:inline-block;
}

.ripple-circle{
    position:absolute;
    top:50%;
    left:50%;
    width:20px;
    height:20px;
    background:rgba(34,184,255,0.4);
    border-radius:50%;
    transform:translate(-50%,-50%) scale(0);
    pointer-events:none;
    opacity:0;
}

.ripple-active{
    animation:rippleExpand 1.4s ease-out forwards;
}

@keyframes rippleExpand{

    0%{
        transform:translate(-50%,-50%) scale(0);
        opacity:1;
    }

    70%{
        opacity:0.8;
    }

    100%{
        transform:translate(-50%,-50%) scale(40);
        opacity:0;
    }
}
/* FLOATING PARTICLES */

.hero{
    position:relative;
}

.particles{
    position:absolute;
    width:100%;
    height:100%;
    top:0;
    left:0;
    overflow:hidden;
    pointer-events:none;
}

.particles span{

    position:absolute;

    width:12px;
    height:12px;

    background:#22B8FF;

    box-shadow:0 0 10px rgba(34,184,255,0.4);

    opacity:0.25;

    animation:floatParticle 12s linear infinite;
}

.particles span:nth-child(1){
    left:10%;
    animation-delay:0s;
}

.particles span:nth-child(2){
    left:20%;
    animation-delay:2s;
}

.particles span:nth-child(3){
    left:35%;
    animation-delay:4s;
}

.particles span:nth-child(4){
    left:50%;
    animation-delay:1s;
}

.particles span:nth-child(5){
    left:65%;
    animation-delay:5s;
}

.particles span:nth-child(6){
    left:75%;
    animation-delay:3s;
}

.particles span:nth-child(7){
    left:85%;
    animation-delay:6s;
}

.particles span:nth-child(8){
    left:95%;
    animation-delay:7s;
}

@keyframes floatParticle{

    0%{
        transform:translateY(100vh) rotate(0deg);
        opacity:0;
    }

    20%{
        opacity:0.3;
    }

    80%{
        opacity:0.3;
    }

    100%{
        transform:translateY(-100px) rotate(360deg);
        opacity:0;
    }
}
.icon{
    width:70px;
    height:70px;

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

    background:linear-gradient(
        135deg,
        #001B5E,
        #005DFF
    );

    color:white;
    border-radius:50%;

    font-size:30px;

    margin-bottom:20px;
}
.card1{
    animation-delay:0.1s;
}

.card2{
    animation-delay:0.3s;
}

.card3{
    animation-delay:0.5s;
}
html{
    scroll-behavior:smooth;
}
.reveal{
    opacity:0;
    transform:translateY(60px);
    transition:all 0.8s ease;
}

.reveal.active{
    opacity:1;
    transform:translateY(0);
}