/* Warm-paper overrides for the content pages (FERPA, Security, legacy blog HTML). Loaded after each page's own <style>. */
body { background: var(--color-bg); color: var(--color-text); font-family: var(--font-body); font-size: 15px; line-height: 1.55; }
h1, h2, h3, h4 { font-family: var(--font-heading); font-weight: 400 !important; line-height: 1.12; letter-spacing: 0 !important; }

/* hero */
.hero { max-width: 860px; margin: 0 auto; padding: 56px 40px 0; text-align: center; }
.hero-badge, .eyebrow { display: inline-flex !important; align-items: center; gap: 6px; background: var(--color-accent-2-100) !important; color: var(--color-accent-2-800) !important; border: 0 !important; font-family: var(--font-body) !important; font-size: 12px !important; font-weight: 600 !important; letter-spacing: 0 !important; text-transform: none !important; padding: 4px 12px !important; border-radius: 999px !important; margin-bottom: 16px !important; }
.hero h1, .blog-hero h1, .article-header h1 { font-size: 46px !important; margin: 0 0 14px; }
.hero h1 em, .blog-hero h1 em { font-style: normal; color: var(--color-accent); }
.hero p, .blog-hero p { font-size: 17px !important; color: var(--color-neutral-800) !important; }

/* trust badges */
.trust-badge { background: var(--color-surface) !important; border: 0 !important; border-radius: 999px !important; font-family: var(--font-body) !important; font-size: 13px !important; font-weight: 600 !important; color: var(--color-neutral-800) !important; }

/* sections */
.section { background: var(--color-surface) !important; border: 0 !important; border-radius: var(--radius-xl) !important; }
.section h2 { font-size: 24px !important; }
.section p, .bullet-list li { color: var(--color-neutral-900) !important; font-size: 15px !important; }
.section-sub { color: var(--color-neutral-700) !important; }
.section-icon { border-radius: 50% !important; background: var(--color-bg) !important; }
.bullet-list li::before { background: var(--color-accent) !important; }
.bullet-list.purple li::before { background: var(--color-accent-2) !important; }
.highlight-box { background: var(--color-accent-2-100) !important; border: 0 !important; border-radius: var(--radius-md) !important; }
.highlight-box p { color: var(--color-accent-2-900) !important; }

/* tables */
.data-table th, .article-body th { background: transparent !important; color: var(--color-neutral-700) !important; font-family: var(--font-body) !important; font-size: 11px !important; letter-spacing: .08em !important; border-bottom: 1px solid var(--color-text) !important; }
.data-table td, .article-body td { color: var(--color-neutral-900) !important; border-bottom: 1px solid var(--color-divider) !important; }
.data-table .label-col { font-family: var(--font-body) !important; font-weight: 600 !important; color: var(--color-text) !important; }
.pill, .status, .tag-pill { font-family: var(--font-body) !important; font-weight: 600 !important; font-size: 12px !important; border: 0 !important; border-radius: 999px !important; padding: 3px 10px !important; }
.pill-no, .status-live { background: var(--color-accent-2-100) !important; color: var(--color-accent-2-800) !important; }
.pill-yes { background: var(--color-accent-100) !important; color: var(--color-accent-800) !important; }
.pill-session, .status-planned { background: var(--color-neutral-100) !important; color: var(--color-neutral-800) !important; }
.roadmap-item { background: var(--color-bg) !important; border: 0 !important; border-radius: var(--radius-md) !important; }
.roadmap-item span.label { color: var(--color-text) !important; }

/* CTA band */
.cta-band { background: var(--color-accent-2-200) !important; border: 0 !important; border-radius: var(--radius-xl); max-width: var(--page-width); margin: 20px auto 40px; padding: 48px 40px !important; }
.cta-band h2 { font-size: 32px !important; }
.cta-band p, .cta-note { color: var(--color-accent-2-900) !important; }
.cta-btn, .cta-box a, .article-cta a.btn, .capture-btn { display: inline-block; font-family: var(--font-heading) !important; font-weight: 400 !important; font-size: 15px !important; padding: 13px 28px !important; border-radius: 999px !important; background: var(--color-accent) !important; color: var(--color-bg) !important; border: 0 !important; text-decoration: none; }
.cta-btn:hover, .cta-box a:hover, .capture-btn:hover { background: var(--color-accent-600) !important; opacity: 1 !important; transform: none !important; }
.cta-note a { color: var(--color-accent-800) !important; }

/* blog */
.blog-hero { padding-top: 56px; }
.article-card, .cta-box, .email-capture { background: var(--color-surface) !important; border: 0 !important; border-radius: var(--radius-xl) !important; }
.article-card:hover { transform: none !important; box-shadow: var(--shadow-md); }
.article-card h2 { font-size: 24px !important; color: var(--color-text) !important; }
.article-card p, .article-body p, .article-body li, .cta-box p { color: var(--color-neutral-900) !important; }
.article-card-meta .date, .article-meta { color: var(--color-neutral-700) !important; }
.tag-pill, .article-meta .tag-pill { background: var(--color-accent-100) !important; color: var(--color-accent-800) !important; }
.tag-pill.tag-red { background: var(--color-accent-200) !important; color: var(--color-accent-900) !important; }
.tag-pill.tag-purple { background: var(--color-accent-2-100) !important; color: var(--color-accent-2-800) !important; }
.tag-pill.tag-teal { background: var(--color-neutral-100) !important; color: var(--color-neutral-800) !important; }
.read-more { font-family: var(--font-heading) !important; font-weight: 400 !important; color: var(--color-accent) !important; }
.breadcrumb { color: var(--color-neutral-700) !important; }
.breadcrumb a { color: var(--color-accent) !important; }
.article-body h2 { font-size: 28px !important; }
.article-body h3 { font-size: 20px !important; }
.article-body strong { color: var(--color-text) !important; font-weight: 600 !important; }
.article-body a { color: var(--color-accent-800) !important; }
.article-body blockquote { background: var(--color-surface) !important; border-left: 3px solid var(--color-accent) !important; color: var(--color-neutral-800) !important; }
.stat-highlight { background: var(--color-accent-2-100) !important; border: 0 !important; border-radius: var(--radius-md) !important; }
.stat-highlight .num { font-family: var(--font-heading) !important; color: var(--color-accent-2-800) !important; }
.stat-highlight .label { color: var(--color-accent-2-900) !important; }
.cta-box h3 { font-size: 26px !important; }

@media (max-width: 768px) {
  .hero h1, .blog-hero h1, .article-header h1 { font-size: 32px !important; }
  .cta-band { margin: 20px 20px 32px; padding: 32px 20px !important; }
}
