body { font-family: 'Inter', sans-serif; color: #1a2332; }
h1, h2, h3, h4, h5, h6 { font-family: 'DM Sans', 'Inter', sans-serif; letter-spacing: -0.02em; }
.material-symbols-outlined {
  font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
}
.text-balance { text-wrap: balance; }

/* ============================================================
   Article prose styling
   ============================================================ */
.prose h2, article .prose h2 { font-family: 'DM Sans', sans-serif; font-size: 1.75rem; font-weight: 700; color: #1a2332; margin-top: 3rem; margin-bottom: 1rem; padding-top: 2rem; border-top: 1px solid #e5e7eb; letter-spacing: -0.02em; }
.prose h3, article .prose h3 { font-family: 'DM Sans', sans-serif; font-size: 1.25rem; font-weight: 700; color: #1a2332; margin-top: 1.75rem; margin-bottom: 0.75rem; letter-spacing: -0.01em; }
.prose h4, article .prose h4 { font-family: 'DM Sans', sans-serif; font-size: 1.05rem; font-weight: 700; color: #1a2332; margin-top: 1.25rem; margin-bottom: 0.5rem; }
.prose p, article .prose p { margin-bottom: 1.25rem; line-height: 1.75; color: #4a5568; }

.prose ul, article .prose ul {
  list-style-type: disc !important;
  list-style-position: outside !important;
  margin: 0 0 1.25rem 0 !important;
  padding-left: 1.75rem !important;
  color: #4a5568;
}
.prose ol, article .prose ol {
  list-style-type: decimal !important;
  list-style-position: outside !important;
  margin: 0 0 1.25rem 0 !important;
  padding-left: 1.75rem !important;
  color: #4a5568;
}
.prose ul ul, article .prose ul ul,
.prose ol ul, article .prose ol ul {
  list-style-type: circle !important;
  margin: 0.4rem 0 0.25rem 0 !important;
}
.prose ul ul ul, article .prose ul ul ul,
.prose ol ol ol, article .prose ol ol ol {
  list-style-type: square !important;
}
.prose ol ol, article .prose ol ol {
  list-style-type: lower-alpha !important;
  margin: 0.4rem 0 0.25rem 0 !important;
}
.prose ol ol ol, article .prose ol ol ol {
  list-style-type: lower-roman !important;
}
.prose li, article .prose li {
  display: list-item !important;
  margin-bottom: 0.4rem;
  line-height: 1.7;
  padding-left: 0.25rem;
}
.prose li::marker, article .prose li::marker { color: #005444; }
.prose li > p, article .prose li > p { margin-bottom: 0.4rem; }
.prose li > ul, .prose li > ol, article .prose li > ul, article .prose li > ol { margin-bottom: 0.5rem !important; }

.prose strong, article .prose strong { color: #1a2332; font-weight: 600; }
.prose a, article .prose a { color: #005444; text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.prose a:hover, article .prose a:hover { color: #003d32; }
.prose blockquote, article .prose blockquote { border-left: 3px solid #005444; padding: 0.85rem 1.5rem; margin: 1.5rem 0; background: #fafafa; color: #4a5568; font-style: normal; border-radius: 0; }

.prose table, article .prose table {
  width: 100% !important;
  border-collapse: collapse !important;
  margin: 1.75rem 0 !important;
  font-size: 0.9rem;
  display: table !important;
  overflow-x: auto;
}
.prose thead, article .prose thead { display: table-header-group !important; }
.prose tbody, article .prose tbody { display: table-row-group !important; }
.prose tr, article .prose tr { display: table-row !important; }
.prose th, article .prose th {
  display: table-cell !important;
  background: #f5f5f5 !important;
  color: #1a2332 !important;
  padding: 0.85rem 1rem !important;
  text-align: left !important;
  font-family: 'DM Sans', sans-serif;
  font-weight: 700;
  font-size: 0.78rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  border-bottom: 1px solid #e5e7eb;
  vertical-align: top;
}
.prose td, article .prose td {
  display: table-cell !important;
  padding: 0.85rem 1rem !important;
  border-bottom: 1px solid #e5e7eb !important;
  color: #4a5568;
  vertical-align: top;
}
.prose tbody tr:hover td, article .prose tbody tr:hover td { background: #fafafa; }
.prose table strong, article .prose table strong { color: #1a2332; }

@media (max-width: 640px) {
  .prose table, article .prose table { display: block !important; overflow-x: auto; -webkit-overflow-scrolling: touch; }
}

.prose hr, article .prose hr { border: none; border-top: 1px solid #e5e7eb; margin: 2.5rem 0; }

.pagination { list-style: none !important; padding: 0 !important; margin: 2rem 0; display: flex; gap: 0.5rem; justify-content: center; }
.page-item { display: inline-block; }
.page-link { display: inline-block; padding: 0.55rem 1rem; font-family: 'DM Sans', sans-serif; font-weight: 600; font-size: 0.85rem; color: #1a2332; border: 1px solid #e5e7eb; border-radius: 0.375rem; text-decoration: none; transition: all 0.15s; }
.page-link:hover { background: #005444; color: white; border-color: #005444; }
.page-item.active .page-link { background: #005444; color: white; border-color: #005444; }
.page-item.disabled .page-link { opacity: 0.4; pointer-events: none; }

.not-prose h3 { all: unset; display: block; }
.not-prose p { all: unset; display: block; margin-bottom: 0; }
.not-prose a { all: unset; cursor: pointer; }
