/* Blog-only presentation. No changes to shared navigation or case studies. */
.blog-flex .article-body, .blog-flex .blog-content { min-width: 0; }
.blog-flex .blog-content > .article-block--section { padding-bottom: 80px; margin-bottom: 80px; border-bottom: 1px solid var(--line-dark); }
.blog-flex--no-index .article-layout { display: block; }
.blog-flex--no-index.blog-flex--reading .article-body { max-width: 920px; margin-inline: auto; }
.blog-flex--wide .article-layout { grid-template-columns: 200px minmax(0, 1fr); gap: 48px; }
.blog-flex--no-index.blog-flex--wide .article-body { max-width: 1280px; margin-inline: auto; }
.blog-flex--cover-stacked .article-hero, .blog-flex--cover-none .article-hero { grid-template-columns: 1fr; }
.blog-flex--cover-stacked .article-hero > div:first-child, .blog-flex--cover-none .article-hero > div:first-child { max-width: 1080px; }
.blog-flex--cover-stacked .article-hero .media-frame { min-height: 0; height: clamp(300px, 48vw, 680px); }
.blog-flex .article-callout { grid-template-columns: minmax(0, 1fr); gap: 20px; }
.blog-flex .article-callout h2 { max-width: 900px; font-size: clamp(30px, 3.8vw, 52px); }
.blog-flex .article-callout--image { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); column-gap: 36px; }
.blog-flex .article-callout--image > .article-callout__media { grid-column: 1; grid-row: 1 / span 2; min-height: 320px; }
.blog-flex .article-callout--image > span, .blog-flex .article-callout--image > div:not(.article-callout__media) { grid-column: 2; }
.blog-flex .blog-html-content { contain: layout style; overflow: auto; overflow-wrap: anywhere; margin-bottom: 64px; }
.blog-flex .blog-html-content h2 { scroll-margin-top: 110px; }
.blog-flex .blog-html-content > section:not(.article-block), .blog-flex .blog-html-content > figure:not(.article-block) { margin: 0 0 48px; }
.blog-flex .blog-html-content img, .blog-flex .blog-html-content video { max-width: 100%; }
.blog-flex .blog-html-content > p { max-width: 780px; font-size: 17px; line-height: 1.8; }
.blog-flex .blog-html-content .article-stats strong { color: var(--signal); font-family: var(--font-display); font-size: clamp(36px, 4vw, 58px); line-height: .9; }
.blog-flex .blog-html-content .article-stats div > span { color: rgba(255,255,255,.72); font-family: var(--font-mono); font-size: 10px; line-height: 1.45; text-transform: uppercase; }
.blog-flex .blog-html-content .article-block--section { padding-bottom: 64px; margin-bottom: 64px; border-bottom: 1px solid var(--line-dark); }
.blog-flex .blog-back { display: inline-block; margin-top: 32px; }
.blog-flex .article-callout a:focus-visible, .blog-flex .blog-html-content a:focus-visible { outline: 3px solid #8a7100; outline-offset: 4px; }
@media (max-width: 900px) {
 .blog-flex--wide .article-layout { grid-template-columns: 1fr; gap: 36px; }
 .blog-flex .article-callout--image { grid-template-columns: minmax(0, 1fr); }
 .blog-flex .article-callout--image > .article-callout__media, .blog-flex .article-callout--image > span, .blog-flex .article-callout--image > div:not(.article-callout__media) { grid-column: 1; grid-row: auto; }
 .blog-flex .article-callout--image > .article-callout__media { min-height: 260px; }
}
@media (max-width: 600px) {
 .blog-flex .blog-content > .article-block--section { padding-bottom: 42px; margin-bottom: 56px; }
 .blog-flex .article-hero h1 { overflow-wrap: anywhere; }
}
