/* Blog index presentation, independent of generated cards and post templates. */
a:focus-visible { outline: 2px solid var(--green); outline-offset: 4px; }
.blog-hero { padding-top: 64px; padding-bottom: 56px; }
.blog-hero h1 { letter-spacing: .035em; line-height: 1.15; }
.blog-hero p, .blog-card-excerpt, .blog-card-date, .ch-footer-bar, .ch-footer-bar a { color: var(--text); }
.blog-grid { gap: 28px; padding-top: 48px; padding-bottom: 64px; }
.blog-card { border-radius: 0; display: flex; flex-direction: column; transition: border-color .2s, box-shadow .2s; }
.blog-card:hover, .blog-card:focus-within { border-color: var(--green); box-shadow: 0 8px 24px rgba(0,0,0,.06); }
.blog-card-body { padding: 28px; display: flex; flex-direction: column; flex: 1; }
.blog-card-title { font-size: 26px; line-height: 1.2; }
.blog-card-excerpt { font-size: 15px; line-height: 1.8; }
.blog-card-read { margin-top: auto; padding-top: 18px; min-height: 44px; color: var(--green-dark); }
.ch-footer-links a, .ch-footer-bar a { display: inline-flex; align-items: center; min-height: 44px; }
.ch-footer-links a { color: var(--green-dark); }
@media (max-width: 768px) {
  .ch-nav-right { min-width: 0; flex-shrink: 1; }
  .ch-nav-right .ch-btn { white-space: normal; font-size: 10px; letter-spacing: .04em; line-height: 1.4; text-align: center; padding: 8px; min-height: 44px; }
  .blog-hero { padding: 40px 20px; }
  .blog-hero h1 { font-size: 34px; }
  .blog-grid { padding: 32px 20px 48px; gap: 24px; }
  .blog-card-body { padding: 24px; }
  .ch-footer-links { gap: 0 20px !important; }
}
@media (prefers-reduced-motion: reduce) { .blog-card { transition: none; } }
