/* ================= BLOG HERO ================= */
.blog-hero{
  position:relative;
  background:
    radial-gradient(900px 320px at 50% -120px, rgba(255,255,255,.18), transparent),
    linear-gradient(135deg,#1e4c86,#2f62ad);
  color:#fff;
  text-align:center;
  padding:110px 0 95px;
  overflow:hidden;
}

/* soft bottom fade */
.blog-hero::after{
  content:"";
  position:absolute;
  bottom:-1px;
  left:0;
  width:100%;
  height:80px;
  background:linear-gradient(transparent,#f4f6f9);
}

.blog-hero h1{
  font-family:'Montserrat',sans-serif;
  font-size:48px;
  font-weight:800;
  margin-bottom:12px;
  letter-spacing:.3px;
}

.blog-hero p{
  font-size:18px;
  opacity:.95;
  max-width:640px;
  margin:auto;
  line-height:1.6;
}

/* ================= BLOG SECTION ================= */
.blog-section{
  background:linear-gradient(#f4f6f9,#eef2f6);
  padding:90px 0 100px;
}

/* GRID */
.blog-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:36px;
}

/* CARD */
.blog-card{
  position:relative;
  background:#fff;
  border-radius:18px;
  overflow:hidden;
  border:1px solid #e6edf6;
  box-shadow:0 14px 32px rgba(30,76,134,.08);
  transition:.35s ease;
  display:flex;
  flex-direction:column;
}

/* top accent line */
.blog-card::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:4px;
  background:linear-gradient(90deg,#2f62ad,#5b8de0);
  transform:scaleX(0);
  transform-origin:left;
  transition:.35s;
}

.blog-card:hover{
  transform:translateY(-12px);
  border-color:#2f62ad;
  box-shadow:
    0 30px 65px rgba(30,76,134,.18),
    0 12px 28px rgba(0,0,0,.06);
}

.blog-card:hover::before{
  transform:scaleX(1);
}

/* IMAGE */
.blog-img{
  height:220px;
  overflow:hidden;
  position:relative;
}

.blog-img img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:.45s;
}

/* image overlay */
.blog-img::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(transparent,rgba(0,0,0,.35));
  opacity:.6;
  transition:.35s;
}

.blog-card:hover .blog-img img{
  transform:scale(1.08);
}

.blog-card:hover .blog-img::after{
  opacity:.85;
}

/* CONTENT */
.blog-content{
  padding:24px 24px 28px;
  display:flex;
  flex-direction:column;
  flex:1;
}

/* META BADGE */
.blog-meta{
  display:inline-block;
  font-size:12px;
  color:#2f62ad;
  background:#eef3fb;
  padding:4px 10px;
  border-radius:20px;
  margin-bottom:10px;
  font-weight:600;
  width:fit-content;
}

.blog-content h3{
  font-size:20px;
  font-weight:700;
  color:#0f3d6b;
  margin-bottom:10px;
  line-height:1.35;
  transition:.25s;
}

.blog-card:hover h3{
  color:#2f62ad;
}

.blog-content p{
  font-size:14.8px;
  color:#6b7280;
  line-height:1.7;
  margin-bottom:20px;
}

/* BUTTON */
.blog-btn{
  align-self:flex-start;
  background:linear-gradient(135deg,#1e4c86,#2f62ad);
  color:#fff;
  padding:9px 20px;
  border-radius:8px;
  font-size:13px;
  font-weight:600;
  text-decoration:none;
  letter-spacing:.2px;
  transition:.28s;
}

.blog-btn:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 24px rgba(30,76,134,.28);
}

/* ================= RESPONSIVE ================= */
@media (max-width:1100px){
  .blog-grid{
    grid-template-columns:repeat(2,1fr);
  }
}

@media (max-width:768px){
  .blog-hero{
    padding:85px 0 75px;
  }

  .blog-hero h1{
    font-size:36px;
  }

  .blog-hero p{
    font-size:16px;
  }

  .blog-section{
    padding:70px 0 80px;
  }
}

@media (max-width:600px){
  .blog-grid{
    grid-template-columns:1fr;
  }

  .blog-img{
    height:200px;
  }
}