/* Blog: index, category pages and articles. Builds on site.css (.doc, .toc, .prose, .cards). */
.cat-chips { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: .4rem; }
.cat-chips a { border: 1.5px solid var(--line); background: var(--surface); border-radius: 999px; padding: .45rem .9rem; font-weight: 600; font-size: .9rem; text-decoration: none; color: var(--ink-2); }
.cat-chips a:hover { border-color: var(--ink-3); color: var(--ink); }
.cat-chips a[aria-current="page"] { border-color: var(--ink); color: var(--ink); background: var(--marigold-soft); }

.post-card h3 { font-size: 1.15rem; line-height: 1.3; }
.post-card .post-card-meta { font-size: .82rem; color: var(--ink-3); margin-top: .2rem; }

.post-hero h1 { max-width: 28ch; }
.post-hero .eyebrow { text-decoration: none; }
.post-hero .eyebrow:hover { color: var(--ink); }
.post-meta { color: var(--ink-3); font-size: .92rem; display: flex; flex-wrap: wrap; gap: .35rem; }

.post .prose { font-size: 1.06rem; }
.post .prose p, .post .prose li { line-height: 1.75; }
.post .prose .lede { font-size: 1.15rem; color: var(--ink); margin-bottom: 1rem; }
.post .prose h2 { font-size: 1.5rem; margin-top: 2.2rem; }
.post .prose h3 { font-size: 1.15rem; }
.post .prose a { color: var(--ink); text-decoration-color: var(--marigold); text-decoration-thickness: 2px; text-underline-offset: 3px; }
.post .prose table { width: 100%; border-collapse: collapse; margin: 1rem 0; font-size: .95rem; }
.post .prose th, .post .prose td { border-bottom: 1px solid var(--line); padding: .55rem .6rem; text-align: left; vertical-align: top; }
.post .prose th { font-size: .78rem; text-transform: uppercase; letter-spacing: .06em; color: var(--ink-3); background: #FAFBFC; }
.post .prose .table-scroll { overflow-x: auto; }
.post .prose blockquote { margin: 1.2rem 0; padding: .8rem 1rem; border-left: 4px solid var(--marigold); background: #FFFBEA; border-radius: 0 10px 10px 0; }
.post .prose .checklist { list-style: none; padding-left: 0; }
.post .prose .checklist li { display: grid; grid-template-columns: 1.6rem minmax(0, 1fr); gap: .4rem; }
.post .prose .checklist li::before { content: "✓"; font-weight: 800; color: var(--paid); }
.post .prose .tip { background: var(--paid-soft); border-radius: 10px; padding: .9rem 1rem; margin: 1.2rem 0; }
.post .prose .tip b:first-child { color: var(--paid); }
.post-note { margin-top: 1.6rem; }
.post-cta { margin-top: 2rem; background: var(--ink); color: #fff; border-radius: 16px; padding: 1.4rem 1.5rem; display: grid; gap: .6rem; }
.post-cta h3 { margin: 0; color: #fff; font-size: 1.3rem; }
.post-cta p { color: #C9CCD3; margin: 0; }
.post-cta .btn { border-color: #fff; }
.post-cta .btn-primary { background: var(--marigold); color: var(--ink); border-color: var(--marigold); }
.share { margin-top: 1.2rem; }
.share a { font-weight: 600; }
