/* Blog article styles shared by long-form reports. */
.blog-post { max-width: 980px; margin: 0 auto; padding: 2rem; color: var(--c-text, #e4e4e7); }
.blog-post article { background: rgba(24,24,27,.72); border: 1px solid var(--c-border, #27272a); border-radius: 16px; padding: clamp(1.25rem, 3vw, 2.5rem); }
.post-header { margin-bottom: 2rem; border-bottom: 1px solid var(--c-border, #27272a); padding-bottom: 1rem; }
.post-header h1 { font-size: clamp(2rem, 5vw, 3rem); line-height: 1.1; margin-bottom: .75rem; }
.post-meta { display: flex; flex-wrap: wrap; gap: .75rem; color: var(--c-text-muted, #a1a1aa); font-size: .95rem; }
.post-content section { margin: 2rem 0; }
.post-content h2 { margin: 1.75rem 0 .75rem; font-size: 1.6rem; }
.post-content h3 { margin: 1.25rem 0 .5rem; font-size: 1.2rem; }
.post-content p, .post-content li { line-height: 1.7; color: var(--c-text-secondary, #d4d4d8); }
.post-content ul, .post-content ol { margin-left: 1.25rem; }
.key-headlines, .executive-summary, .release-badge, .note { background: rgba(118,185,0,.08); border: 1px solid rgba(118,185,0,.25); border-radius: 12px; padding: 1rem; }
.metrics-table { width: 100%; border-collapse: collapse; margin: 1rem 0; overflow: hidden; border-radius: 10px; }
.metrics-table th, .metrics-table td { border: 1px solid var(--c-border, #27272a); padding: .75rem; text-align: left; }
.metrics-table th { background: rgba(118,185,0,.12); color: var(--c-text, #e4e4e7); }
@media (max-width: 720px) { .blog-post { padding: 1rem; } .metrics-table { display: block; overflow-x: auto; } }
