*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}


html{
    scroll-behavior:smooth;
}


body{

    font-family:'Noto Sans Bengali',sans-serif;
    color:#222;
    background:#fff;
    line-height:1.7;

}



.container{

    width:90%;
    max-width:1200px;
    margin:auto;

}





/* Header */

header{

    background:#071A38;
    position:sticky;
    top:0;
    z-index:999;

}



.nav{

    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:15px 0;

}



.logo{

    display:flex;
    align-items:center;
    gap:12px;

}



.logo img{

    width:55px;
    height:55px;
    object-fit:contain;

}



.logo span{

    color:#fff;
    font-size:24px;
    font-weight:700;

}



.logo b{

    color:#F5B942;

}



nav{

    display:flex;
    gap:25px;

}



nav a{

    text-decoration:none;
    color:white;
    font-size:15px;

}



nav a:hover{

    color:#F5B942;

}





.nav-btn,
.primary-btn{

    background:#F5B942;
    color:#071A38;
    padding:12px 28px;
    border-radius:30px;
    text-decoration:none;
    font-weight:700;

}







/* Hero */

.hero{

    background:
    linear-gradient(120deg,#071A38,#164B8A);

    color:white;
    padding:90px 0;

}



.hero-content{

    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:50px;

}



.hero-text{

    width:55%;

}



.badge{

    display:inline-block;
    background:rgba(245,185,66,.15);
    color:#F5B942;
    padding:8px 18px;
    border-radius:30px;
    margin-bottom:20px;

}



.hero h1{

    font-size:52px;
    line-height:1.3;
    margin-bottom:20px;

}



.hero h1 span{

    color:#F5B942;

}



.hero p{

    font-size:18px;
    color:#eee;
    margin-bottom:30px;

}



.hero-buttons{

    display:flex;
    gap:20px;
    margin-bottom:35px;

}



.secondary-btn{

    color:white;
    border:1px solid white;
    padding:12px 28px;
    border-radius:30px;
    text-decoration:none;

}



.stats{

    display:flex;
    gap:20px;

}



.stat-box{

    background:rgba(255,255,255,.1);
    padding:15px 25px;
    border-radius:15px;

}



.stat-box h3{

    color:#F5B942;
    font-size:30px;

}



.stat-box p{

    font-size:14px;

}



.hero-image{

    width:40%;
    text-align:center;

}



.image-card{

    position:relative;

}



.hero-image img{

    width:100%;
    max-width:430px;
    border-radius:25px;
    box-shadow:0 20px 50px rgba(0,0,0,.3);

}



.floating-card{

    position:absolute;
    bottom:30px;
    left:-40px;

    background:#fff;
    color:#071A38;

    padding:15px 25px;
    border-radius:15px;

    font-weight:700;

}



.floating-card span{

    color:#F5B942;

}






/* Section */


section{

    padding:80px 0;

}



.section-title{

    text-align:center;
    margin-bottom:45px;

}



.section-title span{

    color:#F5B942;
    font-weight:700;

}



.section-title h2{

    font-size:38px;
    color:#071A38;

}





/* About */


.about-content{

    max-width:900px;
    margin:auto;
    text-align:center;
    font-size:18px;

}








/* Services */


.service-grid{

    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:25px;

}



.service-card{

    padding:30px;
    background:white;
    border-radius:18px;

    box-shadow:0 10px 35px rgba(0,0,0,.08);

    transition:.3s;

}



.service-card:hover{

    transform:translateY(-8px);

}



.icon{

    font-size:35px;
    margin-bottom:15px;

}



.service-card h3{

    color:#071A38;
    margin-bottom:10px;

}







/* Why Choose */


.why-grid{

    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:25px;

}



.why-card{

    padding:30px;
    background:#f5f7fb;
    border-radius:18px;

}



.why-card h3{

    color:#071A38;
    margin-bottom:10px;

}







/* Portfolio */


.portfolio-grid{

    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:25px;

}



.portfolio-box{

    min-height:220px;
    background:#f5f7fb;

    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;

    text-align:center;

    border-radius:20px;

}




/* Contact */


#contact{

    background:#071A38;
    color:white;
    text-align:center;

}



#contact .section-title h2{

    color:white;

}



.contact-buttons{

    margin:30px 0;
    display:flex;
    justify-content:center;
    gap:20px;

}



.contact-info{

    margin-top:20px;

}






/* Footer */


footer{

    background:#041024;
    color:white;
    padding:20px;
    text-align:center;

}






/* Responsive */


@media(max-width:900px){


nav{

    display:none;

}



.hero-content{

    flex-direction:column-reverse;

}



.hero-text,
.hero-image{

    width:100%;

}



.hero h1{

    font-size:38px;

}



.stats{

    flex-direction:column;

}



.service-grid{

    grid-template-columns:repeat(2,1fr);

}



.why-grid{

    grid-template-columns:repeat(2,1fr);

}



.portfolio-grid{

    grid-template-columns:1fr;

}



}



@media(max-width:600px){


.service-grid,
.why-grid{

    grid-template-columns:1fr;

}


.floating-card{

    left:0;

}

}.hidden{

    opacity:0;
    transform:translateY(40px);
    transition:.8s ease;

}



.show{

    opacity:1;
    transform:translateY(0);

}