.blog-article {
    width: min(760px, calc(100% - 32px));
    margin: 0 auto;
    padding: 120px 0 72px;
}

.blog-article h1 { margin: 8px 0 12px; font-size: clamp(1.9rem, 4.5vw, 2.8rem); line-height: 1.15; }
.blog-article h2 { margin: 36px 0 12px; font-size: clamp(1.35rem, 3vw, 1.75rem); line-height: 1.25; }
.blog-article p,
.blog-article li { line-height: 1.7; }
.blog-article ul { padding-left: 1.2em; }
.blog-article a { color: var(--teal); }
.blog-meta { opacity: 0.7; font-size: 0.9rem; }

.blog-cta {
    margin-top: 40px;
    padding: 24px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: var(--panel-solid);
}

.blog-cta h2 { margin-top: 0; }
.blog-page .download-card h3 a { color: inherit; text-decoration: none; }

.blog-figure { margin: 0 0 28px; overflow: hidden; border: 1px solid var(--line); border-radius: 8px; }
.blog-figure img { display: block; width: 100%; height: auto; }
.blog-card-img { display: block; margin: -4px 0 14px; overflow: hidden; border-radius: 6px; }
.blog-card-img img { display: block; width: 100%; height: auto; }

.blog-page main > .references-hero,
.blog-page main > .downloads-section {
    width: min(1180px, calc(100% - 40px));
    margin-left: auto;
    margin-right: auto;
}

.blog-page main > .references-hero { padding-top: 120px; }
.blog-page .downloads-grid { grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); }

.blog-table-wrap { overflow-x: auto; margin: 12px 0 8px; border: 1px solid var(--line); border-radius: 8px; }
.blog-table { width: 100%; border-collapse: collapse; font-size: 0.95rem; }
.blog-table th, .blog-table td { padding: 10px 14px; text-align: left; border-bottom: 1px solid var(--line); white-space: nowrap; }
.blog-table th { background: var(--panel-solid); }
.blog-table tr:last-child td { border-bottom: 0; }
.blog-article code { padding: 1px 6px; border-radius: 4px; background: var(--panel-solid); }
.blog-article ol { padding-left: 1.3em; }
.blog-cta .btn { margin: 6px 8px 0 0; }

.blog-figure figcaption { padding: 10px 14px; font-size: 0.88rem; opacity: 0.75; border-top: 1px solid var(--line); }
