/* ==========================
   HEADER
========================== */

header{
    position: fixed;
    top: 0;
    left: 0;

    width: 100%;
    height: 85px;

    background: rgba(255,255,255,.90);

    backdrop-filter: blur(12px);

    border-bottom: 1px solid #E2E8F0;

    z-index: 999;

    transition: .3s;
}

header.scrolled{

    box-shadow:0 8px 30px rgba(15,23,42,.08);

}

.navbar{

    height:85px;

    display:flex;

    justify-content:space-between;

    align-items:center;

}

.logo{

display:flex;

align-items:center;

gap:12px;

text-decoration:none;

transition:.3s;

}

.logo:hover{

opacity:.9;

}

.logo img{

    height:65px;

    width:auto;

    display:block;

}

.logo h2{

    font-family:'Geist',sans-serif;

    font-size:22px;

    color:#2563EB;

    font-weight:700;

}

.menu{

    display:flex;

    gap:40px;

}

.menu a{

    color:#334155;

    font-weight:500;

    transition:.3s;
text-decoration:none;

position:relative;

}

.menu a:hover{

    color:#2563EB;

}

.contact-btn{

    background:#2563EB;

    color:#fff;

    padding:14px 26px;

    border-radius:10px;

    font-weight:600;

    transition:.3s;
display:inline-flex;

align-items:center;

justify-content:center;

text-decoration:none;

}

.contact-btn:hover{

    background:#1D4ED8;

    transform:translateY(-2px);

box-shadow:0 8px 20px rgba(37,99,235,.30);

}



/* ==========================
FOOTER
========================== */

footer {
    background: #0F172A;
    color: #fff;
    padding-top: 80px;
}

.footer-grid{

display:grid;

grid-template-columns:2fr 1fr 1fr 1fr;

gap:50px;

padding-bottom:50px;

}

.footer-about img{

width:60px;

margin-bottom:20px;

}

.footer-about h3{

margin-bottom:20px;

font-size:24px;

}

.footer-about p{

line-height:30px;

opacity:.8;

}

.footer-menu h4,
.footer-service h4,
.footer-contact h4{

margin-bottom:20px;

font-size:20px;

}

.footer-menu ul,
.footer-service ul{

display:flex;

flex-direction:column;

gap:15px;

list-style:none;

padding:0;

margin:0;

}

.footer-menu a{

color:white;

opacity:.8;

transition:.3s;

text-decoration:none;

}

.footer-menu a:hover{

opacity:1;

color:#60A5FA;

}

.footer-service li{

opacity:.8;

line-height:28px;

}

.footer-contact p{

margin-bottom:15px;

opacity:.8;

}

.copyright{

border-top:1px solid rgba(255,255,255,.1);

padding:30px 0;

text-align:center;

opacity:.7;

}

/* ======================
MOBILE NAVBAR
====================== */

.mobile-toggle{

display:none;

background:none;

border:none;

outline:none;

font-size:34px;

cursor:pointer;

color:#0F172A;

transition:.3s;

}

@media(max-width:992px){

.contact-btn{

display:none;

}

.mobile-toggle{

display:block;

}

#nav-menu{

position:fixed;

top:85px;

left:-100%;

width:100%;

background:white;

transition:.35s;

padding:30px;

box-shadow:0 15px 30px rgba(0,0,0,.08);

z-index:998;

overflow-y:auto;

max-height:calc(100vh - 85px);
}



#nav-menu.active{

left:0;

}

.menu{

flex-direction:column;

gap:25px;

}

}

.menu a.active{

color:#2563EB;

font-weight:700;

}

.logo{

text-decoration:none;

}

.menu a::after{

content:"";

position:absolute;

left:0;

bottom:-8px;

width:0;

height:2px;

background:#2563EB;

transition:.3s;

}

.menu a:hover::after,
.menu a.active::after{

width:100%;

}