/* The blog extends the site's existing editorial typography and palette. */
.post-main { max-width: 1120px; padding-block: clamp(40px, 6vw, 80px) 80px; }
.post-heading { max-width: 950px; margin-inline: auto; }
.post-back { text-decoration: none; }
.post-back:hover { text-decoration: underline; }
.post-heading h1 { margin-top: 26px; font-size: clamp(2.25rem, 4.8vw, 4.5rem); line-height: 1.09; letter-spacing: -.045em; overflow-wrap: break-word; }
.post-meta { color: var(--muted); font-size: .875rem; line-height: 1.7; }
.post-heading .post-meta { margin-top: 24px; }
.post-meta span { margin-inline: 6px; }
.post-hero { margin-block: 40px 48px; }
.post-hero img { width: 100%; height: auto; border-radius: 10px; }
.post-hero figcaption { margin-top: 12px; color: var(--muted); font-size: .875rem; }
.post-copy { max-width: 700px; margin-inline: auto; font-size: 1.125rem; line-height: 1.8; overflow-wrap: break-word; }
.post-copy p + p { margin-top: 22px; }
.post-copy h2 { margin-block: 48px 22px; font-size: clamp(1.65rem, 3vw, 2.25rem); line-height: 1.2; letter-spacing: -.03em; }
.post-copy ul, .post-copy ol { margin-block: 22px; padding-left: 1.5em; }
.post-copy li + li { margin-top: 12px; }
.post-copy strong { font-weight: 600; }
.post-inline-art { margin: 44px auto; max-width: 390px; }
.post-inline-art img { width: 100%; height: auto; border-radius: 8px; }
.post-end { margin-top: 48px; padding-top: 28px; border-top: 1px solid var(--line); }
.blog-posts { margin-top: 56px; }
.blog-card { display: grid; grid-template-columns: 1.05fr 1fr; gap: clamp(28px, 5vw, 64px); align-items: center; padding-top: 36px; border-top: 1px solid var(--line); }
.blog-card-art { display: block; }
.blog-card-art img { width: 100%; height: auto; border-radius: 10px; }
.blog-card h2 { margin-top: 18px; font-size: clamp(1.8rem, 3vw, 3rem); line-height: 1.15; letter-spacing: -.035em; }
.blog-card h2 a { text-decoration: none; }
.blog-card h2 a:hover { text-decoration: underline; }
.blog-card-copy > p:not(.post-meta) { margin-top: 22px; color: var(--muted); font-size: 1.0625rem; }
.blog-card .text-link { margin-top: 24px; }
@media (max-width: 700px) {
  .post-main { padding-bottom: 48px; }
  .post-hero { margin-block: 30px 34px; }
  .post-copy { font-size: 1.0625rem; line-height: 1.8; }
  .post-copy h2 { margin-top: 36px; }
  .blog-posts { margin-top: 36px; }
  .blog-card { grid-template-columns: minmax(0, 1fr); gap: 26px; padding-top: 26px; }
}

/* Returning-to-routine article and multiple-post listing. */
.blog-card + .blog-card { margin-top: 48px; }
.post-inline-art--landscape { max-width: 100%; }
.post-inline-art figcaption { margin-top: 12px; color: var(--muted); font-size: .875rem; line-height: 1.6; }
.post-return-note { margin: 26px 0; padding: 20px 24px; border-left: 3px solid var(--green); background: #eceee7; }
.post-return-note p { margin: 0; }
.post-end { display: flex; flex-wrap: wrap; gap: 18px 32px; }
.post-end .text-link { max-width: 100%; }
