.blog-intro-panel {
  max-width:860px;
}

.blog-start-grid {
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(280px,.95fr);
  gap:22px;
  align-items:stretch;
}
.blog-start-copy,
.blog-featured-card,
.blog-list-card {
  background:#fff;
  border:1px solid rgba(26,26,26,.12);
  border-radius:var(--radius);
  box-shadow:0 14px 34px rgba(80,62,0,.12);
  padding:24px;
  min-width:0;
}
.blog-start-copy h2 {
  margin:.35rem 0 .65rem;
  font-size:clamp(1.9rem, 4vw, 3rem);
  line-height:1.08;
}
.blog-start-copy p,
.blog-featured-card p {
  margin:0 0 16px;
  color:var(--muted);
}
.blog-featured-card {
  display:grid;
  align-content:start;
  gap:10px;
}
.blog-featured-card h3 {
  margin:0;
  font-size:1.45rem;
  line-height:1.18;
}
.blog-featured-card a {
  color:var(--text);
  text-decoration:none;
}
.blog-featured-card a:hover { text-decoration:underline; }

.blog-recent {
  background:var(--bg);
}
.blog-recent .pill {
  background:#fff;
  border:1px solid rgba(26,26,26,.1);
}
.blog-section-heading {
  max-width:760px;
  margin-bottom:22px;
}
.blog-section-heading h2 {
  margin:.35rem 0 0;
  font-size:clamp(1.9rem, 4vw, 3rem);
  line-height:1.08;
}
.blog-list-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  align-items:start;
}
.blog-list-card {
  border-color:rgba(26,26,26,.14);
}
.blog-list-card-header {
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
  margin-bottom:10px;
}
.blog-list-card-header h3 {
  margin:0;
  font-size:1.25rem;
  line-height:1.2;
}
.blog-post-list {
  list-style:none;
  margin:0;
  padding:0;
}
.blog-post-list li + li {
  border-top:1px solid rgba(26,26,26,.12);
}
.blog-post-list a {
  display:grid;
  gap:4px;
  padding:14px 0;
  color:var(--text);
  text-decoration:none;
}
.blog-post-list a:hover .blog-item-title { text-decoration:underline; }
.blog-item-title {
  font-weight:780;
  line-height:1.25;
}
.blog-item-meta {
  color:#4c4c4c;
  font-size:.92rem;
  line-height:1.35;
}
.blog-empty {
  color:var(--muted);
  padding:14px 0;
}

@media (max-width: 860px) {
  .blog-start-grid,
  .blog-list-grid { grid-template-columns:1fr; }
}

@media (max-width: 640px) {
  .blog-start-copy,
  .blog-featured-card,
  .blog-list-card { padding:20px; }
  .blog-list-card-header { display:grid; }
}
