:root{

    --primary:#2563EB;
    --secondary:#10B981;
    --dark:#1E293B;
    --light:#F8FAFC;
    --border:#E2E8F0;

}

*{

margin:0;
padding:0;
box-sizing:border-box;
font-family:'Poppins',sans-serif;

}

body{

background:var(--light);
color:var(--dark);

}

.navbar{

background:#fff;
box-shadow:0 8px 30px rgba(0,0,0,.05);
transition:0.3s;

}

.navbar-brand{

font-size:28px;
font-weight:700;
color:var(--primary)!important;

}

.nav-link{

font-weight:500;
margin-left:15px;

}

.nav-link.active{
    color:#2563EB !important;
    font-weight:600;
}

.reveal{
    opacity:0;
    transform:translateY(40px);
    transition:0.8s;
}

.reveal.active{
    opacity:1;
    transform:translateY(0);
}

#topBtn{
    position:fixed;
    right:20px;
    bottom:20px;
    width:50px;
    height:50px;
    border:none;
    border-radius:50%;
    background:#2563EB;
    color:#fff;
    display:none;
    cursor:pointer;
    z-index:999;
    box-shadow:0 10px 25px rgba(0,0,0,.2);
}

.hero{

min-height:90vh;
display:flex;
align-items:center;
background:linear-gradient(135deg,#eff6ff,#ffffff);

}

.hero h1{

font-size:60px;
font-weight:700;
line-height:75px;

}

.hero p{

font-size:20px;
margin-top:20px;
color:#64748B;

}

.hero-img img{

width:100%;
animation:float 4s ease infinite;

}

@keyframes float{

0%{transform:translateY(0);}
50%{transform:translateY(-12px);}
100%{transform:translateY(0);}

}

.btn-main{

background:var(--primary);
padding:15px 35px;
border-radius:50px;
color:white;
text-decoration:none;
font-size:18px;
transition:.3s;

}

.btn-main:hover{

background:#1d4ed8;
color:white;

}

.section{

padding:90px 0;

}

.card-box{

background:white;
border-radius:20px;
padding:35px;
text-align:center;
box-shadow:0 10px 35px rgba(0,0,0,.06);
transition:.3s;

}

.card-box:hover{

transform:translateY(-10px);

}

.icon-circle{

width:80px;
height:80px;
border-radius:50%;
background:#DBEAFE;
display:flex;
align-items:center;
justify-content:center;
font-size:35px;
margin:auto;
margin-bottom:20px;
color:#2563EB;

}

.footer{

background:#0F172A;
color:white;
padding:50px;

}

@media(max-width:991px){

.hero{

text-align:center;
padding:80px 0;

}

.hero h1{

font-size:40px;
line-height:55px;

}

.hero-img{

margin-top:40px;

}

}

@media(max-width:576px){

.hero h1{

font-size:30px;
line-height:42px;

}

.hero p{

font-size:16px;

}

.btn-main{

width:100%;
display:block;

}

.navbar-brand{

font-size:22px;

}

}