.blog-heading { padding-block: var(--s7) var(--s5); }
.blog-heading h1, .blog-article h1 { max-width: 20ch; font-size: clamp(2.4rem, 5.8vw, 5.5rem); line-height: 1.08; letter-spacing: -.045em; overflow-wrap: anywhere; }
.blog-lead { max-width: 65ch; margin-block: var(--s3); font-size: clamp(1.1rem, 1.8vw, 1.4rem); }
.blog-heading a, .blog-article-heading > a, .blog-body a, .blog-policy a, .blog-related a { color: var(--blue-text); text-decoration: underline; text-underline-offset: .2em; }
.blog-list { padding-bottom: var(--s6); }
.blog-row { display: grid; grid-template-columns: minmax(9rem, 1fr) minmax(0, 3fr); gap: var(--s4); border-top: 1px solid var(--line); padding-block: var(--s4); }
.blog-row h2 { font-size: clamp(1.5rem, 2.8vw, 2.5rem); line-height: 1.2; margin-bottom: var(--s2); }
.blog-row h2 a:hover { color: var(--blue-text); }
.blog-row p { max-width: 65ch; }
.blog-meta { display: flex; flex-wrap: wrap; gap: var(--s1) var(--s2); color: var(--muted); font-size: .9rem; }
.blog-row .blog-meta { flex-direction: column; }
.blog-empty { padding-block: var(--s4); border-top: 1px solid var(--line); }
.blog-empty h2 { font-size: var(--h3); margin-bottom: var(--s2); }
.blog-policy { border-top: 1px solid var(--line); padding-block: var(--s5) var(--s7); }
.blog-policy h2 { font-size: var(--h3); margin-bottom: var(--s3); }
.blog-policy p { max-width: 80ch; margin-bottom: var(--s3); }
.blog-article { padding-block: var(--s6); }
.blog-article-heading > a { display: inline-flex; align-items: center; min-height: 44px; margin-bottom: var(--s3); }
.blog-article-heading .eyebrow { margin-block: var(--s3); }
.blog-article-heading { padding-bottom: var(--s5); border-bottom: 1px solid var(--line); }
.blog-body { max-width: 75ch; margin: var(--s5) auto 0; }
.blog-body p, .blog-body ul, .blog-body ol, .blog-body figure, .blog-body pre { margin-block: var(--s3); }
.blog-body h2 { margin-top: var(--s5); font-size: clamp(1.65rem, 3vw, 2.5rem); }
.blog-body h3 { margin-top: var(--s4); font-size: clamp(1.3rem, 2vw, 1.7rem); }
.blog-body ul, .blog-body ol, .blog-related ul { padding-left: var(--s3); }
.blog-body li { margin-block: var(--s1); }
.blog-body img { max-width: 100%; height: auto; }
.blog-body figcaption { font-size: .9rem; color: var(--muted); }
.blog-citations { font-size: .92em; }
.blog-body pre { background: var(--soft); padding: var(--s3); overflow-x: auto; border: 1px solid var(--line); }
.blog-table { max-width: 100%; overflow-x: auto; margin-block: var(--s3); }
.blog-table table { width: 100%; border-collapse: collapse; }
.blog-table th, .blog-table td { border-bottom: 1px solid var(--line); padding: var(--s2); text-align: left; vertical-align: top; }
.blog-table caption { text-align: left; margin-bottom: var(--s2); }
.blog-bibliography, .blog-related { border-top: 1px solid var(--line); margin-block: var(--s5); padding-top: var(--s3); }
.blog-bibliography a { overflow-wrap: anywhere; }
@media (max-width: 650px) { .blog-row { grid-template-columns: 1fr; gap: var(--s2); } .blog-row .blog-meta { flex-direction: row; } .blog-heading { padding-top: var(--s5); } }
