.blog-heading { max-width: 760px; }
.blog-posts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
[data-blog="latest"] .blog-posts { grid-template-columns: 1fr; max-width: 860px; }
.blog-card {
  display: flex; flex-direction: column; padding: 28px;
  border: 1px solid var(--line); border-top: 3px solid var(--crimson);
  border-radius: var(--radius); background: var(--card); box-shadow: var(--shadow);
  overflow-wrap: anywhere;
}
.blog-meta { margin: 0 0 12px; color: var(--muted); font-size: .85rem; }
.blog-card h3 { margin: 0 0 12px; font-size: 1.45rem; line-height: 1.35; }
.blog-card h3 a { color: var(--ink); text-decoration: none; }
.blog-card h3 a:hover { color: var(--crimson); text-decoration: underline; }
.blog-excerpt { color: var(--charcoal); margin: 0 0 20px; }
.blog-read { margin-top: auto; font-weight: 600; align-self: flex-start; }
.blog-share {
  display: flex; flex-wrap: wrap; align-items: center; gap: 8px 18px;
  margin-top: 20px; padding-top: 14px; border-top: 1px solid var(--line); font-size: .85rem;
}
.blog-share a { padding: 4px 0; }
.blog-status { max-width: 760px; color: var(--muted); }
.blog-status:empty { display: none; }
[data-blog-state="error"] .blog-status,
[data-blog-state="stale"] .blog-status { padding: 12px 16px; border-left: 3px solid var(--slate); background: var(--silver); }
.blog-actions { margin-top: 28px; }
@media (max-width: 700px) {
  .blog-posts { grid-template-columns: 1fr; }
  .blog-card { padding: 22px; }
}

.kicker a { color: inherit; text-decoration: none; }
.kicker a:hover, .kicker a:focus-visible { text-decoration: underline; text-underline-offset: 3px; }
