.blog-width { max-width: 900px; }
.blog-hero h1 { font-size: clamp(2.4rem, 5vw, 4.5rem); line-height: 1.12; overflow-wrap: anywhere; }
.blog-hero { padding: 56px 0 44px; }
.blog-section { padding: 48px 0 80px; }
.blog-author { display: flex; align-items: center; gap: 14px; margin-top: 28px; }
.blog-author img { border-radius: 50%; object-fit: cover; flex-shrink: 0; }
.blog-author p { margin: 0; }
.blog-meta { color: var(--muted); font-size: .88rem; }
.blog-prose { padding: 36px 44px; background: var(--white); border: 1px solid var(--line); border-radius: var(--radius); overflow-wrap: anywhere; }
.blog-prose h2 { font-size: clamp(1.6rem, 3vw, 2.25rem); line-height: 1.2; margin-top: 44px; }
.blog-prose h3 { line-height: 1.3; }
.blog-prose a { color: var(--blue); text-underline-offset: 3px; }
.blog-prose img { display: block; width: auto; max-width: 100%; height: auto; margin: 24px auto; border-radius: 8px; }
.blog-prose figure { margin: 24px 0; }
.blog-prose figcaption { font-size: .9rem; color: var(--muted); margin-top: 10px; }
.blog-prose table { display: block; max-width: 100%; overflow-x: auto; border-collapse: collapse; }
.blog-prose td, .blog-prose th { border: 1px solid var(--line); padding: 12px; text-align: left; }
.blog-related { margin-top: 40px; padding: 28px; border: 1px solid var(--line); border-radius: var(--radius); }
.blog-related h2 { font-size: 1.65rem; line-height: 1.2; }
.blog-related li { margin: 12px 0; }
.blog-card h2 { font-size: 1.55rem; line-height: 1.25; }
.blog-card h2 a { text-decoration: none; }
.blog-card h2 a:hover { text-decoration: underline; }
.blog-card img { width: 100%; height: 210px; object-fit: contain; border-radius: 10px; background: var(--paper); }
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
@media (max-width: 700px) { .blog-prose { padding: 24px 20px; } .blog-hero { padding-top: 36px; } }
