/* Page: Blog
   =============================== */

* { box-sizing: border-box; }
html, body { background:#ffffff; color:#111; }

/* HERO */
.blog-hero{
  background:#0b0b0b;
  color:#fff;
  padding: 80px 0 88px;
}
.feature-pill{
  display:inline-block;
  background:#868686;
  color:#fff;
  opacity:.5;
  border-radius:999px;
  padding:.5rem 1.2rem;
  font-weight:600;
  font-size:.95rem;
  margin-bottom:16px;
}
.blog-title{
  font-size: clamp(1.8rem, 2.2vw + 1rem, 2.25rem);
  font-weight: 700;
  margin: 0 0 .35rem;
}
.blog-sub{
  color:#9a9a9a;
  font-size: clamp(1rem, .7vw + .85rem, 1.125rem);
  margin:0;
}

/* POSTS GRID */
.posts-section{
  background:#fff;
  padding: 48px 0 64px;
}

.post-card{
  background:#fff;
  border-radius:16px;
  box-shadow: 0 6px 18px rgba(0,0,0,.08);
  overflow:hidden;
  height:100%;
  transition: transform .25s ease, box-shadow .25s ease;
  border: 1px solid #eee;
}
.post-card:hover{
  transform: translateY(-6px);
  box-shadow: 0 14px 28px rgba(0,0,0,.12);
}

.post-thumb{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.post-body{
  padding: 18px 20px 22px;
}

.post-kicker{
  color:#9a9a9a;
  font-size:.95rem;
  display:block;
  margin-bottom: 8px;
}

.post-title{
  font-size: 1.3rem;
  font-weight: 800;
  color:#2b2b2b;
  margin: 0 0 10px;
}

.post-divider{
  height:2px;
  background: linear-gradient(to right, rgba(0,0,0,0), #ddd, rgba(0,0,0,0));
  margin: 12px 0 14px;
}

.post-excerpt{
  font-size: 1rem;
  line-height: 1.6;
  color:#666;
  margin:0;
}

/* Stay Connected tweaks that match your global look */
.stay-connected .email-heading{
  font-size: clamp(1.6rem, 2.5vw + 1rem, 2.75rem);
}

.nav-link-list li{
  transition: background .25s ease;
}
.nav-link-list li:hover{
  background:#f8f9fa;
}

/* Responsive spacing */
@media (max-width: 992px){
  .blog-hero{ padding: 72px 0 76px; }
}
@media (max-width: 576px){
  .post-title{ font-size: 1.2rem; }
  .post-excerpt{ font-size: .98rem; }
}
