/* Editorial illustrations shared by homepage cards, blog listing and articles. */
.blog-card-image { display: block; width: 100%; height: auto; aspect-ratio: 1200/630; object-fit: cover; border-radius: 18px; margin-bottom: 22px; }
.blog-feature .blog-card-image { position: relative; z-index: 1; margin: 0 0 22px; border-radius: 20px; }
.blog-card h2 { font: 700 21px/1.25 'Sora',sans-serif; letter-spacing: -.03em; }
.blog-card-link { color: #aa391c; }
#blog .thumb { position: relative; overflow: hidden; padding: 0; aspect-ratio: 1200/630; height: auto; }
#blog .thumb img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .25s ease; }
#blog .post:hover .thumb img { transform: scale(1.035); }
#blog .thumb .pcat { position: absolute; bottom: 14px; left: 14px; background: #fffaf2; color: #252321; padding: 7px 12px; border-radius: 999px; font-size: 11px; }
#blog .blog-grid:has(.post:nth-child(4)) { grid-template-columns: repeat(2,minmax(0,1fr)); }
.article-cover { max-width: 1080px; padding: 0 24px; margin: 0 auto 48px; }
.article-cover img { display: block; width: 100%; height: auto; border-radius: 28px; }
.article-languages { display: flex; gap: 8px; flex-wrap: wrap; }
.article-languages a { color: #45413c; padding: 8px; font-size: 13px; text-underline-offset: 4px; }
.article-languages a[aria-current] { color: #151515; font-weight: 700; }
.article-header .logo img { filter: brightness(.05); }
.article-hero h1 { overflow-wrap: anywhere; hyphens: auto; }
.article-tag, .article-body a, .article-contact, .article-footer a { color: #a73818; }
.article-body a, .article-contact { text-decoration: underline; text-underline-offset: 3px; }
.article-body .article-note p:last-child { margin-bottom: 0; }
.article-note-status { background: #ece8ff; border-color: #c4bbf3; }
.article-sources { margin-top: 40px; border-top: 1px solid var(--line); }
.article-sources li { font-size: 14px; }
.article-cta-links { display: flex; flex-wrap: wrap; gap: 22px; justify-content: center; align-items: center; }
.article-cta .btn { color: #151515; }
.article-related { max-width: 1080px; margin: 0 auto 70px; padding: 0 24px; }
.article-related h2 { font: 700 24px/1.3 'Sora',sans-serif; margin-bottom: 24px; }
.article-related > div { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.article-related a { display: flex; flex-direction: column; overflow: hidden; border: 1px solid var(--line); border-radius: 22px; background: #fffaf2; color: #151515; text-decoration: none; }
.article-related img { width: 100%; height: auto; }
.article-related span { padding: 20px; font: 600 16px/1.5 'IBM Plex Sans',sans-serif; }
@media(max-width: 700px) {
 #blog .blog-grid:has(.post:nth-child(4)), .article-related > div { grid-template-columns: 1fr; }
 .article-header-actions { flex-wrap: wrap; gap: 4px; }
 .article-header .back { padding-left: 0; }
 .article-cover { margin-bottom: 24px; }
 .article-cover img { border-radius: 18px; }
}

#blog .post-body .pcat { display: inline-block; margin-bottom: 12px; background: #f3ede4; color: #45413c; }
