/* Blog card grid */
.blog-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; margin-top: 40px; }
@media (max-width: 900px) { .blog-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 580px) { .blog-grid { grid-template-columns: 1fr; } }

.blog-card {
  background: var(--surface);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: var(--r-lg);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: border-color .18s, box-shadow .18s;
}
.blog-card:hover { border-color: var(--green); box-shadow: 0 8px 32px rgba(132,195,66,.18); }
.blog-card-img { display: block; width: 100%; height: 180px; object-fit: cover; }
.blog-card-body { padding: 22px 22px 24px; flex: 1; display: flex; flex-direction: column; }
.blog-pill {
  display: inline-block; font-family: var(--mono); font-size: .67rem;
  letter-spacing: .1em; text-transform: uppercase;
  padding: 4px 10px; border-radius: 100px; margin-bottom: 14px;
  background: rgba(132,195,66,.12); color: var(--green);
}
.blog-card h3 { font-size: 1.05rem; margin: 0 0 10px; color: var(--text); line-height: 1.4; }
.blog-card p  { font-size: .88rem; color: var(--muted); line-height: 1.65; flex: 1; margin: 0 0 18px; }
.blog-read-link {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: .85rem; font-weight: 600; color: var(--green);
  font-family: var(--sans); text-decoration: none;
}
.blog-read-link::after { content: "→"; transition: transform .15s; }
.blog-read-link:hover::after { transform: translateX(4px); }

/* Full-article section */
.blog-article { max-width: 760px; margin: 0 auto; }
.blog-article h2 { font-size: 1.9rem; margin-bottom: 10px; }
.blog-article .blog-meta { font-family: var(--mono); font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; color: var(--dim); margin-bottom: 32px; }
.blog-article p { font-size: .95rem; line-height: 1.8; color: var(--muted); margin-bottom: 18px; }
.blog-article h3 { font-size: 1.2rem; margin: 32px 0 12px; color: var(--text); }
.blog-article h4 { font-size: 1rem; margin: 24px 0 8px; color: var(--text); }
.blog-article h5 { font-size: .9rem; font-family: var(--mono); letter-spacing: .06em; text-transform: uppercase; color: var(--green); margin: 24px 0 8px; }
.blog-article ul { padding-left: 20px; margin-bottom: 18px; }
.blog-article ul li { font-size: .93rem; color: var(--muted); line-height: 1.7; margin-bottom: 6px; }
.blog-back { display: inline-flex; align-items: center; gap: 6px; font-size: .85rem; color: var(--muted); margin-bottom: 36px; text-decoration: none; }
.blog-back:hover { color: var(--text); }
.blog-back::before { content: "←"; }
