/* Blog index + article pages — design kit tokens only */
.blog-wrap { max-width: 960px; margin: 0 auto; padding: clamp(64px, 10vw, 96px) clamp(20px, 4vw, 32px) 80px; }
.blog-wrap--article { max-width: 720px; }
.blog-head { margin-bottom: 32px; }
.blog-grid { display: grid; grid-template-columns: 1fr; gap: 20px; }
@media (min-width: 720px) { .blog-grid { grid-template-columns: repeat(2, 1fr); } }
.blog-card { display: flex; flex-direction: column; gap: 12px; height: 100%; }
.blog-card .blog-excerpt { flex: 1; line-height: 1.6; }
.blog-date { align-self: flex-start; }
.blog-article-meta { margin-bottom: 24px; }
.blog-article-badges { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-bottom: 12px; }
.blog-reading-time { font-size: 14px; }
.blog-category { background: var(--card-2); color: var(--muted); border: 1px solid var(--border); }
.blog-hero { margin: 20px 0 0; border-radius: var(--radius); overflow: hidden; border: 1px solid var(--border); }
.blog-hero img { display: block; width: 100%; height: auto; }
.blog-card-cover { width: 100%; height: auto; aspect-ratio: 16/9; object-fit: cover; border-radius: var(--radius-sm); margin-bottom: 12px; }
.blog-card-meta { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-bottom: 8px; }
.blog-article-body p { margin: 0 0 16px; line-height: 1.7; color: var(--text); }
.blog-article-body h2 { margin: 32px 0 12px; font-size: 1.35rem; }
.blog-article-body h3 { margin: 24px 0 10px; font-size: 1.1rem; color: var(--text-strong); }
.blog-article-body ul, .blog-article-body ol { margin: 0 0 20px; padding-left: 1.4em; line-height: 1.7; color: var(--text); }
.blog-article-body li { margin-bottom: 8px; }
.blog-visual { margin: 24px 0; padding: 20px; text-align: center; border: 1px dashed var(--border); background: var(--card-2); }
.blog-visual img { display: block; max-width: 100%; height: auto; margin: 0 auto; border-radius: var(--radius-sm); border: 1px solid var(--border); }
.blog-visual figcaption { margin-top: 10px; font-size: 14px; color: var(--muted); text-align: left; }
.blog-takeaways { margin: 24px 0; padding: 20px; border: 1px solid var(--primary-border); background: var(--primary-fill); border-radius: var(--radius); }
.blog-takeaways h3 { margin-top: 0; }
.blog-compliance { margin: 24px 0; padding: 20px; border: 1px solid var(--warning); background: var(--card); border-radius: var(--radius); }
.blog-checklist { margin: 24px 0; padding: 20px; border: 1px solid var(--border); background: var(--card); border-radius: var(--radius); }
.blog-checklist h3 { margin-top: 0; }
.blog-attribution { margin-top: 24px; font-size: 0.9rem; }
.blog-card--featured { border-color: var(--primary-border); }
.blog-attribution { margin-top: 32px; padding-top: 16px; border-top: 1px solid var(--border); font-size: 14px; color: var(--muted); }
.blog-cta { margin-top: 40px; padding: 24px; border-top: 1px solid var(--border); }
.blog-breadcrumb { font-size: 14px; color: var(--muted); margin-bottom: 16px; }
.blog-breadcrumb a { color: var(--primary); text-decoration: none; }
.blog-breadcrumb a:hover { text-decoration: underline; }
