/* Static journal and imported article content */
.blog-card__date { margin-top: 1rem; font-size: var(--text-xs); color: var(--color-text-faint); }
.blog-pagination { display: flex; justify-content: center; flex-wrap: wrap; gap: .75rem; }
.blog-pagination .btn { min-width: 44px; padding: .55rem .9rem; }
.article-page { padding: clamp(5rem, 9vw, 9rem) 0 5rem; }
.article-shell { max-width: 900px; }
.article-breadcrumb { margin-bottom: 1.5rem; color: var(--color-text-muted); font-size: var(--text-sm); }
.article-breadcrumb a { color: var(--color-primary); text-decoration: underline; text-underline-offset: 3px; }
.article-header { margin-bottom: 2.5rem; }
.article-header h1 { font-family: var(--font-display); font-size: clamp(2.4rem, 6vw, 4.8rem); line-height: 1.08; max-width: 18ch; }
.article-header p { margin-top: 1rem; color: var(--color-text-muted); }
.article-cover { display: block; width: 100%; height: auto; max-height: 560px; object-fit: cover; border-radius: var(--radius-lg); margin-bottom: 3rem; }
.article-content { color: var(--color-text); font-size: clamp(1rem, 1.7vw, 1.125rem); line-height: 1.8; overflow-wrap: anywhere; }
.article-content > * { max-width: 100%; }
.article-content p, .article-content ul, .article-content ol, .article-content blockquote, .article-content figure { margin: 0 0 1.5rem; }
.article-content h2, .article-content h3, .article-content h4 { font-family: var(--font-display); line-height: 1.25; margin: 2.75rem 0 1rem; }
.article-content h2 { font-size: clamp(1.7rem, 3.5vw, 2.4rem); }
.article-content h3 { font-size: clamp(1.35rem, 2.8vw, 1.85rem); }
.article-content ul, .article-content ol { padding-left: 1.5rem; }
.article-content a { color: var(--color-primary); text-decoration: underline; text-underline-offset: 3px; }
.article-content img { display: block; max-width: 100%; height: auto; border-radius: .5rem; margin: 1.5rem auto; }
.article-content figure { max-width: 100%; }
.article-content figcaption { font-size: var(--text-sm); color: var(--color-text-muted); text-align: center; }
.article-content .article-photo { display: inline-block; width: calc(50% - 1.25rem); margin: 0 .75rem 1.5rem 0; vertical-align: top; }
.article-content .article-photo img { width: 100%; margin: 0; }
.article-content iframe, .article-content video { max-width: 100%; }
.article-content blockquote { border-left: 3px solid var(--color-primary); padding-left: 1.5rem; color: var(--color-text-muted); }
.article-content .wp-block-gallery, .article-content .blocks-gallery-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr)); gap: 1rem; list-style: none; padding: 0; }
.article-content .wp-block-gallery img, .article-content .blocks-gallery-grid img { margin: 0; width: 100%; }
.article-content table { display: block; max-width: 100%; overflow-x: auto; border-collapse: collapse; }
.article-content td, .article-content th { border: 1px solid var(--color-border); padding: .6rem; }
.article-back { margin-top: 3rem; }
.article-archive { padding-top: clamp(6rem, 10vw, 10rem); }
.archive-grid { margin-top: 2.5rem; }
@media (max-width: 640px) {
  .article-page { padding-top: 6rem; }
  .article-header h1 { max-width: none; }
  .article-content .article-photo { display: block; width: 100%; margin-right: 0; }
}
