@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800&display=swap');

:root{
--primary:#C41E3E;
--primary-dark:#9f1732;
--secondary:#1E3A5F;
--light:#F5F7FA;
--dark:#1b1b1b;
--gray:#6b7280;
--shadow:0 10px 25px rgba(0,0,0,.08);
--radius:16px;
}

*{
margin:0;
padding:0;
box-sizing:border-box;
}

body{
font-family:'Poppins',sans-serif;
background:var(--light);
color:var(--dark);
}

/* ================= NAVBAR ================= */
.navbar{
position:fixed;
top:0;
width:100%;
background:#fff;
box-shadow:0 3px 15px rgba(0,0,0,.05);
z-index:1000;
}

.nav-container{
height:75px;
display:flex;
justify-content:space-between;
align-items:center;
width:90%;
max-width:1200px;
margin:auto;
}

/* LOGO */
.logo{
display:flex;
align-items:center;
gap:10px;
font-weight:700;
color:var(--primary);
font-size:20px;
}

.logo img{
height:42px;
width:auto;
}

/* NAV LINKS */
.nav-links{
display:flex;
gap:25px;
list-style:none;
}

.nav-links a{
text-decoration:none;
color:var(--dark);
font-weight:500;
transition:.2s;
}

.nav-links a:hover{
color:var(--primary);
}

.mobile-btn{
display:none;
font-size:26px;
cursor:pointer;
}

/* ================= HERO ================= */
.hero{
min-height:92vh;
display:flex;
align-items:center;
text-align:center;
color:#fff;
background:
linear-gradient(rgba(196,30,62,.88),rgba(30,58,95,.88)),
url('../images/biti.png');
background-size:cover;
background-position:center;
padding-top:80px;
}

.hero-page {
min-height: 45vh;
}

.hero h1{
font-size:3.2rem;
margin-bottom:15px;
}

.hero p{
max-width:750px;
margin:auto;
font-size:1.1rem;
margin-bottom:25px;
}

.hero-buttons{
display:flex;
justify-content:center;
gap:15px;
flex-wrap:wrap;
}

/* BUTTONS */
.btn{
padding:12px 25px;
border-radius:10px;
font-weight:600;
text-decoration:none;
display:inline-block;
}

.btn-primary{
background:var(--primary);
color:#fff;
}

.btn-primary:hover{
background:var(--primary-dark);
}

.btn-outline{
border:2px solid #fff;
color:#fff;
}

.btn-outline:hover{
background:#fff;
color:var(--primary);
}

/* ================= FORMS ================= */
.form-group {
margin-bottom: 20px;
text-align: left;
}

.form-group label {
display: block;
margin-bottom: 8px;
font-weight: 600;
color: var(--secondary);
}

.form-control {
width: 100%;
padding: 12px 15px;
border: 1px solid #ddd;
border-radius: 10px;
font-family: inherit;
font-size: 14px;
transition: .3s;
}

.form-control:focus {
outline: none;
border-color: var(--primary);
box-shadow: 0 0 0 3px rgba(196, 30, 62, 0.1);
}


/* ================= SECTION ================= */
section{
padding:70px 0;
}

.container{
width:90%;
max-width:1200px;
margin:auto;
}

/* ================= TITLE ================= */
.section-title{
text-align:center;
margin-bottom:40px;
}

.section-title h2{
font-size:2rem;
color:var(--secondary);
}

.section-title p{
color:var(--gray);
}

/* ================= CARDS ================= */
.grid{
display:grid;
gap:20px;
}

.grid-3{
grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
}

.grid-2 {
grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
}

.card{
background:#fff;
padding:25px;
border-radius:var(--radius);
box-shadow:var(--shadow);
text-align:center;
transition:.3s;
}

.card:hover{
transform:translateY(-6px);
}

.department-icon{
font-size:40px;
color:var(--primary);
margin-bottom:15px;
}

.card h3{
color:var(--secondary);
margin-bottom:10px;
}

.card p{
color:var(--gray);
font-size:.95rem;
}

/* ================= MAINTENANCE ================= */
.maintenance-card{
background:#fff;
padding:35px;
border-radius:var(--radius);
box-shadow:var(--shadow);
text-align:center;
border-top:5px solid var(--primary);
}

/* ================= FOOTER ================= */
footer{
background:#0f172a;
color:#fff;
padding:50px 0 20px;
}

.footer-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
gap:25px;
}

.footer-grid a{
color:#ccc;
text-decoration:none;
display:block;
margin-bottom:8px;
}

.footer-bottom{
text-align:center;
margin-top:25px;
padding-top:15px;
border-top:1px solid rgba(255,255,255,.1);
}

/* ================= RESPONSIVE ================= */
@media(max-width:900px){

.hero h1{
font-size:2.2rem;
}

.nav-links{
position:absolute;
top:75px;
left:-100%;
width:100%;
background:#fff;
flex-direction:column;
padding:20px;
transition:.3s;
}

.nav-links.active{
left:0;
}

.mobile-btn{
display:block;
}
}