*{
margin:0;
padding:0;
box-sizing:border-box;
font-family:'Poppins',sans-serif;
}

html{
scroll-behavior:smooth;
}

body{
background:#f5f8ff;
color:#333;
line-height:1.7;
overflow-x:hidden;
}

/* HERO */

.hero{
background:linear-gradient(135deg,#003DA6,#00C9A7);
color:#fff;
text-align:center;
padding:45px 20px;
}

.hero h1{
font-size:clamp(28px,5vw,55px);
margin-bottom:12px;
line-height:1.2;
font-weight:700;
}

.hero p{
max-width:700px;
margin:auto;
opacity:.95;
font-size:16px;
}

/* CONTAINER */

.container{
max-width:1200px;
margin:40px auto;
padding:0 20px;
}

/* BLOG GRID */

.blog-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
gap:25px;
}

.blog-card{
background:#fff;
border-radius:18px;
overflow:hidden;
box-shadow:0 10px 30px rgba(0,0,0,.08);
transition:.3s ease;
}

.blog-card:hover{
transform:translateY(-5px);
box-shadow:0 18px 40px rgba(0,0,0,.12);
}

.blog-image{
height:220px;
background:#e8eefc;
display:flex;
align-items:center;
justify-content:center;
font-size:18px;
font-weight:600;
color:#003DA6;
padding:20px;
text-align:center;
}

.blog-content{
padding:25px;
}

.blog-content h2{
font-size:22px;
color:#003DA6;
margin-bottom:12px;
line-height:1.4;
}

.blog-content p{
color:#666;
margin-bottom:18px;
font-size:15px;
}

.blog-btn{
display:inline-flex;
align-items:center;
justify-content:center;
padding:12px 20px;
background:#003DA6;
color:#fff;
text-decoration:none;
border-radius:10px;
font-size:14px;
font-weight:600;
transition:.3s;
min-height:46px;
}

.blog-btn:hover{
background:#002a75;
}

/* FOOTER */

.footer{
background:#0c1527;
color:#fff;
text-align:center;
padding:35px 20px;
margin-top:60px;
}

/* =========================
TABLET
========================= */

@media (max-width:992px){

.blog-grid{
grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
gap:20px;
}

.blog-image{
height:200px;
}

}

/* =========================
MOBILE
========================= */

@media (max-width:768px){

.hero{
padding:40px 16px;
}

.hero h1{
font-size:30px;
}

.hero p{
font-size:15px;
}

.container{
padding:0 15px;
margin:30px auto;
}

.blog-grid{
grid-template-columns:1fr;
gap:18px;
}

.blog-card{
border-radius:16px;
}

.blog-image{
height:180px;
font-size:16px;
padding:15px;
}

.blog-content{
padding:20px;
}

.blog-content h2{
font-size:20px;
}

.blog-content p{
font-size:14px;
}

.blog-btn{
width:100%;
padding:13px;
font-size:15px;
}

.footer{
padding:30px 15px;
margin-top:40px;
}

}

/* =========================
SMALL MOBILE
========================= */

@media (max-width:480px){

.hero{
padding:35px 15px;
}

.hero h1{
font-size:24px;
}

.hero p{
font-size:14px;
}

.container{
padding:0 12px;
}

.blog-image{
height:160px;
font-size:15px;
}

.blog-content{
padding:18px;
}

.blog-content h2{
font-size:18px;
line-height:1.4;
}

.blog-content p{
font-size:13px;
}

.blog-btn{
width:100%;
font-size:14px;
padding:12px;
}

}

/* TOUCH DEVICES */

@media (hover:none){

.blog-card:hover{
transform:none;
}

.blog-btn:hover{
background:#003DA6;
}

}