 *{
        margin:0;
        padding:0;
        box-sizing:border-box;
      }

      body{
        font-family:Poppins,sans-serif;
        background:#f5f8ff;
        color:#222;
        overflow-x:hidden;
      }

      .container{
        width:90%;
        max-width:1280px;
        margin:auto;
      }

      /*================ NAVBAR ================*/

      header{
        position:fixed;
        top:0;
        left:0;
        width:100%;
        background:#fff;
        box-shadow:0 5px 20px rgba(0,0,0,.08);
        z-index:999;
      }

      nav{
        display:flex;
        justify-content:space-between;
        align-items:center;
        height:80px;
      }

      .logo{
        font-size:34px;
        font-weight:800;
        color:#1c54ff;
      }

      .logo span{
        color:#111;
      }

      nav ul{
        display:flex;
        list-style:none;
        gap:35px;
      }

      nav ul a{
        text-decoration:none;
        font-weight:600;
        color:#444;
      }

      .btn{
        padding:14px 34px;
        background:#1d6dff;
        color:#fff;
        text-decoration:none;
        border-radius:40px;
        font-weight:600;
        transition:.3s;
        display:inline-block;
      }

      .btn:hover{
        transform:translateY(-3px);
        box-shadow:0 15px 25px rgba(0,90,255,.25);
      }

      /*================ HERO ================*/

      .hero{

        padding-top:150px;
        padding-bottom:140px;

        background:
          linear-gradient(130deg,#062a8b 0%,#1569ff 45%,#44c6ff 100%);

        position:relative;
        overflow:hidden;

      }

      .hero::before{

        content:'';
        position:absolute;
        width:700px;
        height:700px;
        background:rgba(255,255,255,.08);
        border-radius:50%;
        top:-250px;
        right:-150px;

      }

      .hero::after{

        content:'';
        position:absolute;
        width:500px;
        height:500px;
        background:rgba(255,255,255,.06);
        border-radius:50%;
        left:-200px;
        bottom:-250px;

      }

      .hero-grid{

        display:grid;
        grid-template-columns:1fr 1fr;
        align-items:center;
        gap:60px;
        position:relative;
        z-index:5;

      }

      .hero h1{

        font-size:65px;
        line-height:1.1;
        color:#fff;
        margin-bottom:25px;

      }

      .hero h1 span{

        color:#9be8ff;

      }

      .hero p{

        font-size:20px;
        line-height:1.8;
        color:#eef4ff;
        margin-bottom:35px;

      }

      .buttons{

        display:flex;
        gap:20px;
        margin-bottom:45px;

      }

      .btn-outline{

        padding:14px 34px;
        border:2px solid #fff;
        border-radius:40px;
        color:#fff;
        text-decoration:none;

      }

      .hero-img{

        text-align:center;

      }

      .hero-img img{

        width:100%;
        max-width:650px;
        filter:drop-shadow(0 40px 70px rgba(0,0,0,.35));

      }

      .features{

        display:flex;
        gap:35px;
        margin-top:20px;
        flex-wrap:wrap;

      }

      .feature{

        display:flex;
        align-items:center;
        color:#fff;
        gap:15px;

      }

      .icon{

        width:55px;
        height:55px;
        background:rgba(255,255,255,.18);
        display:flex;
        justify-content:center;
        align-items:center;
        border-radius:15px;
        font-size:24px;

      }

      /*========== WAVE ==========*/

      .wave{

        position:absolute;
        bottom:-1px;
        left:0;
        width:100%;

      }

      .wave svg{

        display:block;

      }

      /*========== ABOUT ==========*/

      .about{

        padding:90px 0;

      }

      .title{

        text-align:center;
        margin-bottom:20px;

      }

      .title h2{

        font-size:48px;
        color:#1236b7;

      }

      .subtitle{

        text-align:center;
        color:#666;
        margin-bottom:60px;

      }

      .about p{

        max-width:900px;
        margin:auto;
        text-align:center;
        line-height:2;
        font-size:18px;
        color:#555;

      }

      .stats{

        display:grid;
        grid-template-columns:repeat(4,1fr);
        gap:25px;
        margin-top:70px;

      }

      .stat{

        background:#fff;
        padding:35px;
        border-radius:20px;
        text-align:center;
        box-shadow:0 20px 40px rgba(0,0,0,.07);

      }

      .stat h3{

        font-size:42px;
        color:#1569ff;

      }

      .stat p{

        margin-top:8px;
        font-size:16px;

      }

      footer{

        background:#062a8b;
        color:#fff;
        padding:25px;
        text-align:center;

      }

      @media(max-width:900px){

        .hero-grid{

          grid-template-columns:1fr;
          text-align:center;

        }

        .hero h1{

          font-size:48px;

        }

        .buttons{

          justify-content:center;

        }

        .stats{

          grid-template-columns:1fr 1fr;

        }

        nav ul{

          display:none;

        }

      }

      @media(max-width:600px){

        .stats{

          grid-template-columns:1fr;

        }

        .hero{

          padding-top:120px;

        }

        .hero h1{

          font-size:40px;

        }

      }
/* ==========================
   COMMON
========================== */

section{
    padding:80px 0;
}

.section-title{
    text-align:center;
    font-size:42px;
    font-weight:700;
    color:#0b3d91;
    margin-bottom:15px;
}

.section-subtitle{
    text-align:center;
    color:#666;
    margin-bottom:60px;
    font-size:18px;
}

.container{
    width:90%;
    max-width:1200px;
    margin:auto;
}

/* ==========================
   SERVICES
========================== */

.services{
    background:#f7f9ff;
}

.service-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
    gap:30px;
}

.service-card{

    background:#fff;
    padding:35px;
    border-radius:18px;
    box-shadow:0 10px 30px rgba(0,0,0,.08);
    transition:.35s;

}

.service-card:hover{

    transform:translateY(-10px);
    box-shadow:0 20px 40px rgba(0,0,0,.12);

}

.service-card h3{

    color:#1565ff;
    margin-bottom:18px;
    font-size:24px;

}

.service-card p{

    line-height:1.8;
    color:#666;

}

/* ==========================
   WHY US
========================== */

.why{

    background:#ffffff;

}

.why-grid{

    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
    gap:25px;

}

.why-grid div{

    background:#fff;
    padding:30px;
    border-radius:18px;
    text-align:center;
    border:1px solid #eee;
    transition:.3s;

}

.why-grid div:hover{

    background:#1565ff;
    color:#fff;
    transform:translateY(-8px);

}

.why-grid h3{

    margin-bottom:15px;

}

.why-grid p{

    line-height:1.7;

}

/* ==========================
   TECHNOLOGY
========================== */

.technology{

    background:#eef5ff;

}

.tech-list{

    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:18px;

}

.tech-list span{

    background:#1565ff;
    color:#fff;
    padding:14px 28px;
    border-radius:50px;
    font-weight:600;
    transition:.3s;

}

.tech-list span:hover{

    background:#0b3d91;

}

/* ==========================
   PROCESS
========================== */

.process{

    background:#fff;

}

.process-grid{

    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
    gap:25px;

}

.process-grid div{

    text-align:center;
    padding:35px;
    background:#f8faff;
    border-radius:20px;

}

.process-grid h1{

    font-size:60px;
    color:#1565ff;
    margin-bottom:20px;

}

.process-grid h3{

    font-size:22px;

}

/* ==========================
   COUNTER
========================== */

.counter{

    background:linear-gradient(135deg,#0d47a1,#2196f3);
    color:#fff;

}

.counter-grid{

    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
    gap:25px;

}

.counter-grid div{

    text-align:center;
    padding:35px;

}

.counter-grid h2{

    font-size:48px;
    margin-bottom:10px;

}

.counter-grid p{

    font-size:18px;

}

/* ==========================
   TESTIMONIAL
========================== */

.testimonial{

    background:#f8fbff;

}

.testimonial-grid{

    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
    gap:25px;

}

.testimonial-card{

    background:#fff;
    padding:35px;
    border-radius:20px;
    box-shadow:0 15px 35px rgba(0,0,0,.08);

}

.testimonial-card p{

    line-height:1.8;
    color:#555;
    margin-bottom:20px;
    font-style:italic;

}

.testimonial-card h4{

    color:#1565ff;

}

/* ==========================
   CONTACT
========================== */

.contact{

    background:#fff;

}

.contact form{

    max-width:700px;
    margin:auto;

}

.contact input,
.contact textarea{

    width:100%;
    padding:16px;
    margin-bottom:20px;
    border-radius:10px;
    border:1px solid #ddd;
    font-size:16px;
    font-family:Poppins,sans-serif;

}

.contact textarea{

    height:180px;
    resize:none;

}

.contact button{

    background:#1565ff;
    color:#fff;
    border:none;
    padding:16px 40px;
    border-radius:50px;
    font-size:17px;
    cursor:pointer;
    transition:.3s;

}

.contact button:hover{

    background:#0b3d91;

}
/*new contact*/
.contact{
    background:#f8fbff;
    padding:100px 0;
}

.section-header{
    text-align:center;
    margin-bottom:60px;
}

.section-header span{
    color:#1565ff;
    font-weight:600;
    letter-spacing:2px;
}

.section-header h2{
    font-size:42px;
    margin:15px 0;
}

.section-header p{
    color:#666;
}

.contact-wrapper{
    display:grid;
    grid-template-columns:380px 1fr;
    gap:40px;
}

.contact-info{
    background:linear-gradient(135deg,#1565ff,#0b3d91);
    color:#fff;
    padding:40px;
    border-radius:20px;
}

.contact-info h3{
    margin-bottom:30px;
}

.info-box{
    display:flex;
    gap:20px;
    margin-bottom:30px;
}

.info-box i{
    font-size:24px;
    width:55px;
    height:55px;
    border-radius:50%;
    background:rgba(255,255,255,.15);
    display:flex;
    align-items:center;
    justify-content:center;
}

.contact-form{
    background:#fff;
    padding:40px;
    border-radius:20px;
    box-shadow:0 10px 30px rgba(0,0,0,.08);
}

.row{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:20px;
}

.form-group{
    margin-bottom:20px;
}

.form-group label{
    display:block;
    margin-bottom:8px;
    font-weight:600;
}

.form-group input,
.form-group textarea{
    width:100%;
    padding:15px;
    border:1px solid #ddd;
    border-radius:10px;
    font-size:15px;
    transition:.3s;
}

.form-group input:focus,
.form-group textarea:focus{
    border-color:#1565ff;
    outline:none;
    box-shadow:0 0 12px rgba(21,101,255,.15);
}

.contact-form button{
    width:100%;
    padding:16px;
    border:none;
    border-radius:10px;
    background:#1565ff;
    color:#fff;
    font-size:16px;
    font-weight:600;
    cursor:pointer;
}

.contact-form button:hover{
    background:#0b3d91;
}

@media(max-width:768px){

.contact-wrapper{
    grid-template-columns:1fr;
}

.row{
    grid-template-columns:1fr;
}

}
/* ==========================
   FOOTER
========================== */

footer{

    background:#071b4b;
    color:#fff;
    padding:60px 0 25px;
    text-align:center;

}

footer h2{

    font-size:36px;
    margin-bottom:20px;

}

footer p{

    line-height:2;
    color:#ddd;

}

/* ==========================
   RESPONSIVE
========================== */

@media(max-width:991px){

.hero-grid{

    grid-template-columns:1fr;

}

.stats,
.counter-grid,
.process-grid,
.service-grid,
.why-grid,
.testimonial-grid{

    grid-template-columns:1fr 1fr;

}

}

@media(max-width:768px){

nav ul{

    display:none;

}

.hero h1{

    font-size:42px;

}

.section-title{

    font-size:34px;

}

}

@media(max-width:576px){

.stats,
.counter-grid,
.process-grid,
.service-grid,
.why-grid,
.testimonial-grid{

    grid-template-columns:1fr;

}

.hero h1{

    font-size:34px;

}

.hero p{

    font-size:16px;

}

.buttons{

    flex-direction:column;

}

.tech-list{

    justify-content:flex-start;

}
/* Sticky Navbar */
header.sticky{
    background:#fff;
    box-shadow:0 8px 30px rgba(0,0,0,.1);
}

/* Mobile Menu */
nav ul.show{
    display:flex;
    flex-direction:column;
}

/* Active Menu */
nav ul li a.active{
    color:#1565ff;
    font-weight:700;
}

/* Reveal Animation */
.reveal{
    opacity:0;
    transform:translateY(60px);
    transition:all .8s ease;
}

.reveal.active{
    opacity:1;
    transform:translateY(0);
}

/* Back To Top */
.top-btn{
    position:fixed;
    bottom:30px;
    right:30px;
    width:55px;
    height:55px;
    border:none;
    border-radius:50%;
    background:#1565ff;
    color:#fff;
    font-size:22px;
    cursor:pointer;
    display:none;
    box-shadow:0 10px 25px rgba(0,0,0,.2);
    z-index:9999;
}

.top-btn.show{
    display:block;
}

.top-btn:hover{
    background:#0b3d91;
}
}


/*==================================================
    ANIMATIONS
==================================================*/

/* Smooth Scroll */
html{
    scroll-behavior:smooth;
}

/* Transition */
*{
    transition:all .35s ease;
}

/*=========================================
    Hero Background Animation
=========================================*/

.hero{
    background:linear-gradient(-45deg,#0a2f80,#1565ff,#00b7ff,#3b82f6);
    background-size:400% 400%;
    animation:gradientMove 15s ease infinite;
}

@keyframes gradientMove{

0%{
background-position:0% 50%;
}

50%{
background-position:100% 50%;
}

100%{
background-position:0% 50%;
}

}

/*=========================================
    Floating Shapes
=========================================*/

.hero::before{

content:'';

position:absolute;

width:280px;
height:280px;

background:rgba(255,255,255,.08);

border-radius:50%;

top:-80px;
right:-60px;

animation:float1 8s infinite ease-in-out;

}

.hero::after{

content:'';

position:absolute;

width:180px;
height:180px;

background:rgba(255,255,255,.05);

border-radius:50%;

left:-50px;
bottom:20px;

animation:float2 10s infinite ease-in-out;

}

@keyframes float1{

0%,100%{

transform:translateY(0px);

}

50%{

transform:translateY(35px);

}

}

@keyframes float2{

0%,100%{

transform:translateY(0px);

}

50%{

transform:translateY(-35px);

}

}

/*=========================================
    Hero Image Float
=========================================*/

.hero-img img{

animation:heroFloat 5s ease-in-out infinite;

}

@keyframes heroFloat{

0%{

transform:translateY(0px);

}

50%{

transform:translateY(-18px);

}

100%{

transform:translateY(0px);

}

}

/*=========================================
    Button Glow
=========================================*/

.btn{

position:relative;
overflow:hidden;

}

.btn::before{

content:"";

position:absolute;

width:100%;
height:100%;

top:0;
left:-100%;

background:linear-gradient(
90deg,
transparent,
rgba(255,255,255,.5),
transparent);

transition:.6s;

}

.btn:hover::before{

left:100%;

}

.btn:hover{

transform:translateY(-4px);

box-shadow:0 20px 40px rgba(0,120,255,.35);

}

/*=========================================
    Cards
=========================================*/

.service-card,
.stat,
.testimonial-card,
.process-grid div,
.why-grid div{

transition:.4s;

}

.service-card:hover,
.stat:hover,
.testimonial-card:hover,
.process-grid div:hover,
.why-grid div:hover{

transform:translateY(-12px);

box-shadow:0 25px 50px rgba(0,0,0,.15);

}

/*=========================================
    Icon Rotate
=========================================*/

.icon{

transition:.4s;

}

.feature:hover .icon{

transform:rotate(15deg) scale(1.15);

}

/*=========================================
    Technology Badges
=========================================*/

.tech-list span:hover{

transform:translateY(-8px);

}

/*=========================================
    Fade Up
=========================================*/

.reveal{

opacity:0;

transform:translateY(60px);

transition:all .8s ease;

}

.reveal.active{

opacity:1;

transform:translateY(0);

}

/*=========================================
    Zoom
=========================================*/

.zoom{

opacity:0;

transform:scale(.8);

transition:.8s;

}

.zoom.active{

opacity:1;

transform:scale(1);

}

/*=========================================
    Slide Left
=========================================*/

.left{

opacity:0;

transform:translateX(-80px);

transition:.8s;

}

.left.active{

opacity:1;

transform:translateX(0);

}

/*=========================================
    Slide Right
=========================================*/

.right{

opacity:0;

transform:translateX(80px);

transition:.8s;

}

.right.active{

opacity:1;

transform:translateX(0);

}

/*=========================================
    Rotate
=========================================*/

.rotate{

animation:rotateIcon 15s linear infinite;

}

@keyframes rotateIcon{

from{

transform:rotate(0);

}

to{

transform:rotate(360deg);

}

}

/*=========================================
    Pulse
=========================================*/

.pulse{

animation:pulse 2s infinite;

}

@keyframes pulse{

0%{

transform:scale(1);

}

50%{

transform:scale(1.05);

}

100%{

transform:scale(1);

}

}

/*=========================================
    Navbar Hover
=========================================*/

nav ul li a{

position:relative;

}

nav ul li a::after{

content:"";

position:absolute;

left:0;
bottom:-8px;

width:0;

height:3px;

background:#1565ff;

transition:.3s;

}

nav ul li a:hover::after{

width:100%;

}

/*=========================================
    Back To Top
=========================================*/

.back-top{

position:fixed;

right:30px;
bottom:30px;

width:55px;
height:55px;

border-radius:50%;

background:#1565ff;

color:#fff;

display:flex;

justify-content:center;

align-items:center;

cursor:pointer;

opacity:0;

visibility:hidden;

transition:.3s;

box-shadow:0 10px 30px rgba(0,0,0,.25);

}

.back-top.show{

opacity:1;

visibility:visible;

}

.back-top:hover{

transform:translateY(-6px);

}

/*=========================================
    Counter Hover
=========================================*/

.counter-grid div:hover{

transform:translateY(-10px);

}

/*=========================================
    Input Animation
=========================================*/

input,
textarea{

transition:.3s;

}

input:focus,
textarea:focus{

border-color:#1565ff;

box-shadow:0 0 15px rgba(0,120,255,.2);

outline:none;

}

/*=========================================
    Loading Animation
=========================================*/

.fade-in{

animation:fadeIn .8s ease;

}

@keyframes fadeIn{

from{

opacity:0;

}

to{

opacity:1;

}

}

/*=========================================
    Hero Text
=========================================*/

.hero h1{

animation:slideDown .8s ease;

}

.hero p{

animation:fadeIn 1.2s ease;

}

@keyframes slideDown{

from{

opacity:0;

transform:translateY(-40px);

}

to{

opacity:1;

transform:translateY(0);

}

}