/* Blog post — guided editorial styles (option 1b) */

.bp-title {
    text-wrap: pretty;
}

/* Executive Summary briefing card gradient */
.bp-brief {
    background: linear-gradient(180deg, #f0fdf4, #fff 70%);
}

.dark .bp-brief {
    background: linear-gradient(180deg, rgba(20, 83, 45, 0.25), transparent 70%);
}

/* ── Numbered section headings (CSS counters) ───────────────────────────────── */

article .prose {
    counter-reset: bp-section;
}

.prose h2 {
    counter-increment: bp-section;
    display: flex;
    align-items: baseline;
    gap: 16px;
    margin: 52px 0 18px;
    border-top: 1px solid #e5e7eb;
    padding-top: 28px;
    scroll-margin-top: 96px;
}

.prose h2::before {
    content: counter(bp-section, decimal-leading-zero);
    font-family: 'JetBrains Mono', ui-monospace, monospace;
    font-size: 14px;
    font-weight: 400;
    color: #16a34a;
    flex-shrink: 0;
}

.dark .prose h2 {
    border-top-color: #374151;
}

.dark .prose h2::before {
    color: #60a5fa;
}

/* ── Tables ──────────────────────────────────────────────────────────────────── */

.prose table {
    width: 100%;
    font-size: 15px;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    border-collapse: separate;
    border-spacing: 0;
    overflow: hidden;
}

.dark .prose table {
    border-color: #374151;
}

.prose thead tr {
    background: #f9fafb;
}

.dark .prose thead tr {
    background: #1f2937;
}

.prose th {
    text-align: left;
    padding: 12px 16px;
    font-family: 'JetBrains Mono', ui-monospace, monospace;
    font-size: 12px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #6b7280;
    font-weight: 500;
}

.prose td {
    padding: 12px 16px;
    border-top: 1px solid #f3f4f6;
}

.dark .prose td {
    border-top-color: #374151;
}

.prose td:first-child,
.prose th:first-child {
    font-weight: 500;
    color: #111827;
}

.dark .prose td:first-child,
.dark .prose th:first-child {
    color: #f9fafb;
}
