.blog-page-main { padding-top: 92px; }
.blog-intro { padding: 120px 0 72px; border-bottom: 1px solid var(--line); }
.blog-intro h1 { max-width: none; margin-bottom: 24px; }
.blog-intro .lead { max-width: 720px; }
.blog-listing { padding: 80px 0 130px; background: var(--surface); }
.blog-listing .blog-grid { grid-template-columns: repeat(auto-fit, minmax(280px, 390px)); }
.blog-listing .post-card { display: flex; }
.post-card-full { display: flex; min-width: 0; flex-direction: column; }
.post-card-full .post-image { aspect-ratio: 4 / 3; height: auto; }
.post-card-full .post-image-galina { object-position: 50% 42%; }
.post-card-full h2 { margin-bottom: 16px; font-size: clamp(1.45rem, 2.2vw, 1.85rem); font-weight: 400; line-height: 1.35; letter-spacing: -.025em; }
.post-card-full > p { color: var(--ink-soft); }
.post-card-footer { margin-top: auto; padding-top: 12px; }
.post-status { display: inline-block; padding: 7px 10px; background: var(--surface-soft); color: var(--sage-dark); font-size: .65rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.disabled-link { border-bottom-color: transparent; color: var(--ink-soft); cursor: default; }
.article-main { padding-top: 92px; }
.article-header { padding: 78px 0 52px; }
.article-shell { width: min(760px, calc(100% - 64px)); margin-inline: auto; }
.article-back { margin-bottom: 62px; }
.article-header h1 { max-width: 18ch; font-size: clamp(2.4rem, 5vw, 4.25rem); }
.article-date { color: var(--ink-soft); font-size: .8rem; }
.article-hero { width: min(680px, calc(100% - 64px)); margin: 0 auto 72px; }
.article-hero img { height: auto; }
.article-photo-credit { margin: 12px 0 0; color: var(--ink-soft); font-size: .72rem; line-height: 1.5; }
.article-photo-credit a { border-bottom: 1px solid var(--line); }
.article-photo-credit a:hover { border-color: currentColor; color: var(--ink); }
.article-content { padding-bottom: 120px; }
.article-content .article-lead { margin-bottom: 48px; color: var(--ink); font-size: 1.16rem; line-height: 1.8; }
.article-content h2 { margin-top: 64px; font-size: clamp(1.85rem, 3vw, 2.6rem); }
.article-content p, .article-content li { color: var(--ink-soft); }
.article-content ul { padding-left: 1.25rem; }
.article-sources { margin-top: 72px; padding-top: 34px; border-top: 1px solid var(--line); }
.article-sources h2 { margin-top: 0; font-size: 1.6rem; }
.article-cta { padding: 72px 0; background: var(--surface-soft); text-align: center; }
.article-cta h2 { margin-bottom: 24px; font-size: clamp(2rem, 4vw, 3.2rem); }
@media (max-width: 620px) {
  .blog-page-main, .article-main { padding-top: 92px; }
  .blog-intro { padding: 76px 0 52px; }
  .blog-listing { padding: 56px 0 82px; }
  .blog-listing .blog-grid { grid-template-columns: minmax(0, 1fr); }
  .post-card-footer { align-items: flex-start; flex-direction: column; }
  .article-shell, .article-hero { width: min(100% - 32px, 760px); }
  .article-header { padding: 48px 0 38px; }
  .article-header h1 { max-width: none; font-size: clamp(2.05rem, 9.2vw, 2.75rem); overflow-wrap: anywhere; }
  .article-back { margin-bottom: 38px; }
  .article-hero { margin-bottom: 48px; }
  .article-content { padding-bottom: 82px; }
  .article-content h2 { margin-top: 48px; }
  .article-cta { padding: 58px 0; }
}
