/* One identity for preserved pages, reports, and prebuilt guides. */
:root {
  --brand-ink: #17233b;
  --brand-primary: #173d91;
  --brand-accent: #2864ec;
  --brand-muted: #53627b;
  --brand-surface: #f6f8fc;
  --brand-paper: #fff;
  --brand-line: #dce4f2;
  --brand-footer: #101c35;
  --brand-on-primary: #fff;
  --brand-soft-blue: #e9f1ff;
  --brand-success: #0d6b25;
  --brand-warning: #f47b20;
  --brand-warning-surface: #fffaf0;
  --brand-warning-ink: #78350f;
  --brand-body-font: Figtree, ui-sans-serif, system-ui, -apple-system, 'Segoe UI', sans-serif;
  --brand-heading-font: Outfit, Figtree, ui-sans-serif, system-ui, sans-serif;
}
:root, body, body[data-page-kind] {
  --ink: var(--brand-ink);
  --foreground: var(--brand-ink);
  --blue: var(--brand-primary);
  --electric: var(--brand-accent);
  --navy: var(--brand-primary);
  --blue-dark: var(--brand-primary);
  --ring: var(--brand-accent);
  --slate: var(--brand-muted);
  --pale: var(--brand-surface);
  --mist: var(--brand-surface);
  --paper: var(--brand-paper);
  --line: var(--brand-line);
  --sans: var(--brand-body-font);
  --serif: var(--brand-heading-font);
  --font-sans: var(--brand-body-font);
  --font-serif: var(--brand-heading-font);
  --default-font-family: var(--brand-body-font);
  --h-ink: var(--brand-ink);
  --h-teal: var(--brand-accent);
  --h-teal-dark: var(--brand-primary);
  --h-mint: var(--brand-soft-blue);
  --h-bg: var(--brand-surface);
  --debt-ink: var(--brand-ink);
  --debt-accent: var(--brand-primary);
  --debt-highlight: var(--brand-accent);
  --debt-surface: var(--brand-surface);
  --debt-muted: var(--brand-muted);
  --debt-line: var(--brand-line);
}
html, body, body[data-page-kind], .article-copy, input, select, textarea, button,
.sidebar-email input, .sidebar-email button, .calculator-inputs input {
  font-family: var(--brand-body-font) !important;
}
h1, h2, h3, h4, h5, h6, .brand, .brand strong, .brand span,
body[data-page-kind] h1, body[data-page-kind] h2, body[data-page-kind] h3,
.article-hero h1, .article-body article > section > h2, .calculator-title h2,
.article-next h3, .article-aside-card h3, .article-end h2, .debt-page h1, .debt-page h2 {
  font-family: var(--brand-heading-font) !important;
  font-weight: 700;
  letter-spacing: 0 !important;
}
body { background: var(--brand-surface); color: var(--brand-ink); }
a, button, label { letter-spacing: 0 !important; }
.site-header, body[data-page-kind="home"] .site-header {
  background: var(--brand-paper); border-top: 6px solid var(--brand-primary);
  border-bottom-color: var(--brand-line);
}
.site-header .brand, body[data-page-kind="home"] .brand { color: var(--brand-primary); }
.site-header .brand span, body[data-page-kind="home"] .brand span { color: var(--brand-accent); }
.brand strong { color: inherit; }
.site-header .brand:has(strong) span { color: inherit; }
.site-nav a, body[data-page-kind="home"] .site-nav a { color: var(--brand-muted); }
.site-nav a:hover, body[data-page-kind="home"] .site-nav a:hover { color: var(--brand-primary); background: var(--brand-soft-blue); }
.menu-button, body[data-page-kind="home"] .menu-button { color: var(--brand-primary); background: var(--brand-paper); border-color: var(--brand-line); }
.hero-panel, .page-hero, .article-hero, .regional,
body[data-page-kind="home"] .hero-layout {
  background: var(--brand-primary); color: var(--brand-on-primary);
}
body[data-page-kind="home"] .hero-layout::before,
body[data-page-kind="home"] .hero-layout::after { display: none; }
body[data-page-kind="home"] .deck { color: var(--brand-soft-blue); }
body[data-page-kind="home"] .home-hero .eyebrow { color: var(--brand-soft-blue); }
body[data-page-kind="home"] .hero-note .eyebrow { color: var(--brand-warning-ink); }
.article-back { display: flex; width: fit-content; }
.article-field-note, .hero-field-note, .article-hero::after { display: none; }
body[data-page-kind="home"] .button.primary { background: var(--brand-paper); color: var(--brand-primary); }
body[data-page-kind="home"] .button.primary:hover { background: var(--brand-soft-blue); }
body[data-page-kind="home"] .feature-row a,
body[data-page-kind="home"] .guide-card { border-color: var(--brand-line); }
body[data-page-kind="home"] .guide-card { border-top-color: var(--brand-accent); }
body[data-page-kind="home"] .feature-row span { background: var(--brand-soft-blue); color: var(--brand-primary); }
body[data-page-kind="home"] .feature-row small,
body[data-page-kind="home"] .guide-card small,
body[data-page-kind="home"] .section-heading p:last-child { color: var(--brand-muted); }
body[data-page-kind="home"] .section-block.muted { border-color: var(--brand-line); }
.site-footer, body[data-page-kind="home"] .site-footer { background: var(--brand-footer); color: var(--brand-soft-blue); }
.site-footer a, body[data-page-kind="home"] .site-footer a,
.site-footer .brand, .site-footer .brand span { color: var(--brand-on-primary); }
.site-footer .footer-title, body[data-page-kind="home"] .footer-title { color: var(--brand-soft-blue); }
.footer-bottom, body[data-page-kind="home"] .footer-bottom { border-top-color: var(--brand-muted); }
.newsletter, .sidebar-email { border-top-color: var(--brand-accent); background: var(--brand-paper); }
.button.primary, .calculate, .header-cta, .button-blue, .article-end .button,
header nav a.debt-app-menu, body[data-page-kind="home"] .site-nav a.debt-app-menu {
  background: var(--brand-primary); color: var(--brand-on-primary); border-color: var(--brand-primary);
}
.button.primary:hover, .calculate:hover, header nav a.debt-app-menu:hover,
body[data-page-kind="home"] .site-nav a.debt-app-menu:hover { background: var(--brand-accent); color: var(--brand-on-primary); }
.next-step, .article-next { background: var(--brand-soft-blue); color: var(--brand-ink); border-left-color: var(--brand-accent); }
.article-next .section-label { color: var(--brand-primary); }
.bt-sum { background: var(--brand-primary) !important; }
.bt-bar span { background: var(--brand-soft-blue) !important; }
.cut-rows { border-color: var(--brand-soft-blue) !important; }
.cut-row strong { color: var(--brand-soft-blue) !important; }
.newsletter-form { display: grid; gap: 12px; }
.newsletter-form label { color: var(--brand-ink); font-size: 1rem; font-weight: 600; }
.newsletter-form input[type="email"] {
  display: block; width: 100%; min-width: 0; margin-top: 6px;
  padding: 12px; border: 1px solid var(--brand-line); border-radius: 8px;
  background: var(--brand-paper); color: var(--brand-ink); font-size: 1rem;
}
.newsletter-form button {
  cursor: pointer; padding: 12px 16px; border: 0; border-radius: 8px;
  background: var(--brand-primary); color: var(--brand-on-primary);
  font-size: 1rem; font-weight: 700; text-transform: none;
}
.newsletter-form button:hover { background: var(--brand-accent); }
.newsletter-form input:focus-visible, .newsletter-form button:focus-visible {
  outline: 3px solid var(--brand-accent); outline-offset: 3px;
}
.newsletter-form .newsletter-consent {
  margin: 0; color: var(--brand-muted); font-size: .9rem; line-height: 1.5;
}
.newsletter-consent a { color: var(--brand-primary); text-decoration: underline; }
/* Keep the prebuilt header usable with the shared purchase destination. */
.header-inner { flex-wrap: wrap; }
.main-nav { flex-wrap: wrap; gap: 16px; }
@media (max-width: 800px) {
  .header-inner { padding: 14px 0; }
  .main-nav { display: flex; width: 100%; margin-left: 0; font-size: .9rem; }
  .main-nav .debt-app-menu { flex-basis: 100%; }
}
/* Glossary term lists */
.gl-intro{font-family:var(--brand-body-font);color:var(--brand-muted);font-size:.95rem}
.gl-list{margin:0;padding:0;display:grid;gap:0}
.gl-item{padding:12px 0;border-bottom:1px solid var(--brand-line);font-family:var(--brand-body-font)}
.gl-item:last-child{border-bottom:0}
.gl-item dt{font-weight:800;color:var(--brand-primary);font-size:1rem;margin:0 0 2px}
.gl-item dd{margin:0;color:var(--brand-ink);font-size:.97rem;line-height:1.5}

.term-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:18px 0 8px}
.term-card{display:flex;flex-direction:column;gap:8px;padding:18px;border:1px solid var(--brand-line);border-radius:14px;background:#fff;text-decoration:none;color:var(--brand-ink);font-family:var(--brand-body-font);transition:border-color .15s,box-shadow .15s,transform .15s}
.term-card:hover,.term-card:focus-visible{border-color:var(--brand-primary);box-shadow:0 6px 18px rgba(20,40,80,.12);transform:translateY(-2px)}
.term-card .term-name{font-family:var(--brand-heading-font);font-weight:800;font-size:1.1rem;color:var(--brand-primary)}
.term-card .term-blurb{font-size:.95rem;line-height:1.45;color:var(--brand-ink)}
.term-card .term-more{margin-top:auto;padding-top:6px;font-size:.88rem;font-weight:700;color:var(--brand-primary)}
.back-link{margin:0 0 6px;font-size:.92rem}
@media (max-width:900px){.term-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.term-grid{grid-template-columns:1fr}}
