.blog-hero{ padding-top:64px; }

.blog-grid{
  margin-top: 18px;
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}
@media (max-width: 980px){
  .blog-grid{ grid-template-columns: 1fr; }
}

.post-card{
  display:flex;
  flex-direction: column;
  border-radius: 22px;
  border: 1px solid rgba(15,23,42,.10);
  background: rgba(255,255,255,.92);
  overflow:hidden;
  box-shadow: 0 18px 55px rgba(2,6,23,.06);
  text-decoration:none;
  color: inherit;
}

.post-thumb{
  width:100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  border-bottom: 1px solid rgba(15,23,42,.08);
}

.post-body{ padding: 14px 14px 16px; }

.post-meta{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  font-size: 12px;
  font-weight: 800;
  opacity: .85;
}

.badge{
  font-size: 12px;
  font-weight: 900;
  padding: 6px 10px;
  border-radius: 999px;
  background: linear-gradient(135deg, rgba(30,78,216,.10), rgba(109,40,217,.10));
  border: 1px solid rgba(109,40,217,.16);
}

.post-title{ margin: 10px 0 6px; font-size: 18px; }
.post-excerpt{ margin: 0; }

.article-wrap{ max-width: 900px; }
.article-hero{
  border-radius: 18px;
  border: 1px solid rgba(15,23,42,.10);
  overflow:hidden;
  margin: 18px 0;
}
.article-hero img{ width:100%; aspect-ratio: 16/9; object-fit: cover; display:block; }

.article-meta{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top: 10px;
  font-size: 13px;
  font-weight: 800;
  opacity:.9;
}

.article-toc{
  border-radius: 18px;
  border: 1px solid rgba(15,23,42,.10);
  background: rgba(255,255,255,.92);
  padding: 14px;
  margin: 16px 0 22px;
}
.article-toc a{ text-decoration:none; }
