.article-container { max-width: 960px; }
.article-hero { padding: clamp(2.5rem, 6vw, 5rem) 0; }
.article-back, .article-meta a { color: rgba(255,255,255,.85); text-underline-offset: .2em; }
.article-back { text-decoration: none; font-weight: 700; }
.article-back:hover, .article-meta a:hover { color: #fff; }
.article-title { font-size: clamp(2.1rem, 4.8vw, 3.8rem); line-height: 1.12; font-weight: 900; letter-spacing: -.035em; overflow-wrap: anywhere; }
.article-meta { color: rgba(255,255,255,.78); font-size: .95rem; }
.article-reading { padding: clamp(1.5rem, 4vw, 3.5rem) 0; }
.article-paper { background: #fff; border: 1px solid rgba(9,43,76,.09); border-radius: 1.25rem; padding: clamp(1.25rem, 4vw, 3.5rem); box-shadow: 0 .65rem 2rem rgba(9,43,76,.07); }
.article-cover { margin: 0 0 2.5rem; text-align: center; }
.article-cover img { display: block; max-width: 100%; max-height: 480px; width: auto; height: auto; margin: auto; border-radius: .8rem; }
.article-content { color: var(--ilfop-ink); font-size: 1.1rem; line-height: 1.85; overflow-wrap: anywhere; display: flow-root; }
.article-content p, .article-content ul, .article-content ol { margin-bottom: 1.4rem; }
.article-content li + li { margin-top: .4rem; }
.article-content h1, .article-content h2, .article-content h3, .article-content h4 { color: var(--ilfop-navy); font-weight: 800; line-height: 1.25; margin: 2rem 0 1rem; }
.article-content a { text-underline-offset: .2em; }
.article-content img, .article-content video { max-width: 100% !important; height: auto !important; }
.article-content iframe { max-width: 100%; }
.article-content blockquote { border-left: 4px solid var(--ilfop-gold); background: var(--ilfop-light-blue); padding: 1.25rem 1.5rem; margin: 1.75rem 0; border-radius: 0 .75rem .75rem 0; }
.article-content blockquote > :last-child { margin-bottom: 0; }
.article-content table { display: block; max-width: 100%; overflow-x: auto; margin-bottom: 1.5rem; }
.article-content td, .article-content th { padding: .65rem; border: 1px solid #dbe3eb; }
.article-content pre { overflow-x: auto; padding: 1rem; background: var(--ilfop-surface); }
.article-content .wrapper { width: 100%; max-width: 760px; margin: 1.5rem auto; }
.article-content .h_iframe { position: relative; padding-top: 56.25%; }
.article-content .h_iframe iframe { position: absolute; inset: 0; width: 100%; height: 100%; }
.article-end { margin-top: 2.5rem; padding-top: 1.5rem; border-top: 1px solid #dbe3eb; }
.print-only { display: none; }
@media (max-width: 575.98px) {
    .article-content { font-size: 1rem; line-height: 1.8; }
    .article-meta { align-items: flex-start !important; flex-direction: column; }

}
@media print {
    body { padding-top: 0; }
    .site-header, .footer-main, .no-print, .article-back { display: none !important; }
    .article-hero, .article-reading, .article-paper { color: #000; background: #fff; padding: 1rem 0; box-shadow: none; border: 0; }
    .article-meta, .article-meta a, .eyebrow { color: #333; }
    .article-title { font-size: 26pt; }
    .article-content { font-size: 12pt; }
    .print-only { display: block; }
}
