.blog-hero { padding-block: 4rem; }
.blog-hero .eyebrow { color: #abc8e0; }
.blog-hero h1 { max-width: 950px; margin-block: 1.25rem 1.5rem; }
.blog-hero .body-copy { color: #dae2ec; }
.blog-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 2rem; }
.blog-card { display: flex; flex-direction: column; align-items: flex-start; padding: 2rem; border: 1px solid var(--color-border); border-top: 3px solid var(--color-lime); border-radius: 6px; background: #fff; }
.blog-date { font-size: var(--text-small); color: var(--color-muted); }
.blog-card h2 { font-size: var(--text-subsection); line-height: 1.25; text-wrap: pretty; margin-block: 1rem; }
.blog-card h2 a { color: var(--color-navy); text-decoration: none; }
.blog-card h2 a:hover { text-decoration: underline; text-underline-offset: .18em; }
.blog-excerpt { color: var(--color-muted); margin-bottom: 1.5rem; }
.blog-read { display: inline-flex; gap: 1rem; align-items: center; margin-top: auto; padding-block: .35rem; font-weight: 700; color: var(--color-navy); text-decoration: none; }
.blog-read span { display: inline-block; transition: transform 220ms ease; }
.blog-read:hover span { transform: translateX(5px); }
.blog-article-hero h1 { max-width: 1100px; font-size: clamp(2rem,4vw,3.6rem); line-height: 1.15; text-wrap: pretty; }
.blog-back { text-decoration: none; }
.blog-back:hover { text-decoration: underline; }
.blog-meta { display: flex; flex-wrap: wrap; gap: .5rem 2rem; font-size: var(--text-small); color: #dae2ec; }
.blog-reading { max-width: 840px; padding-block: 3.5rem; }
.blog-cover { margin: 0 0 2.5rem; }
.blog-cover img { display: block; max-width: 100%; height: auto; margin-inline: auto; border-radius: 6px; }
.blog-prose { line-height: 1.8; overflow-wrap: anywhere; }
.blog-prose p,.blog-prose ul,.blog-prose ol,.blog-prose blockquote,.blog-prose figure { margin: 0 0 1.4rem; }
.blog-prose h2 { font-size: var(--text-subsection); margin: 2.5rem 0 1.1rem; line-height: 1.25; text-wrap: pretty; }
.blog-prose h3 { font-size: var(--text-card); margin: 2rem 0 1rem; text-wrap: pretty; }
.blog-prose h4,.blog-prose h5,.blog-prose h6 { font-size: var(--text-body); margin: 1.5rem 0 .75rem; }
.blog-prose > :first-child { margin-top: 0; }
.blog-prose a { color: #164c82; text-underline-offset: .2em; }
.blog-prose li { margin-block: .5rem; }
.blog-prose img { max-width: 100%; height: auto; }
.blog-prose table { display: block; max-width: 100%; overflow-x: auto; border-collapse: collapse; margin-block: 1.5rem; }
.blog-prose th,.blog-prose td { padding: .75rem; border: 1px solid var(--color-border); }
.blog-prose th,.blog-prose td { min-width: 9rem; overflow-wrap: normal; word-break: normal; }
.blog-prose blockquote { padding: 1rem 1.5rem; border-left: 3px solid var(--color-lime); background: var(--color-surface); }
.blog-end { display: flex; flex-wrap: wrap; gap: 1rem; border-top: 1px solid var(--color-border); margin-top: 3rem; padding-top: 2rem; }
@media(max-width: 47.99rem) { .blog-hero { padding-block: 2.5rem; } .blog-grid { grid-template-columns: 1fr; gap: 1.25rem; } .blog-card { padding: 1.5rem; } .blog-reading { padding-block: 2.5rem; } }
@media(prefers-reduced-motion: reduce) { .blog-read span { transition: none; } .blog-read:hover span { transform: none; } }
