/* Article body typography — exports, deploys, and admin preview */
@import url("https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;1,9..40,400&family=Source+Serif+4:ital,opsz,wght@0,8..60,400;0,8..60,600;0,8..60,700;1,8..60,400&display=swap");

:root {
  --font-article-body: "Source Serif 4", Georgia, "Times New Roman", serif;
  --font-article-display: "DM Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}

.article-body,
body.article-body-page {
  font-family: var(--font-article-body);
  font-size: clamp(1rem, 0.95rem + 0.2vw, 1.125rem);
  line-height: 1.7;
  color: #0f172a;
  max-width: 72ch;
  margin: 0 auto;
  padding: 24px 20px 48px;
  -webkit-font-smoothing: antialiased;
  font-feature-settings: "kern" 1, "liga" 1;
  text-rendering: optimizeLegibility;
}

.article-body h1,
.article-body h2,
.article-body h3 {
  font-family: var(--font-article-display);
  letter-spacing: -0.02em;
}

.article-body h1 {
  font-size: clamp(1.75rem, 2.5vw, 2.25rem);
  font-weight: 700;
  line-height: 1.25;
  margin: 0 0 1.25rem;
}

.article-body h2 {
  font-size: 1.35rem;
  font-weight: 700;
  margin: 2rem 0 0.75rem;
  line-height: 1.35;
  color: #1e293b;
}

.article-body h3 {
  font-size: 1.1rem;
  font-weight: 700;
  margin: 1.5rem 0 0.5rem;
}

.article-body p {
  margin: 0 0 1.1rem;
}

.article-body ul,
.article-body ol {
  margin: 0 0 1.25rem 1.4rem;
}

.article-body li {
  margin-bottom: 0.45rem;
}

.article-body a {
  color: #2271b1;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.article-body a:hover {
  color: #135e96;
}

.article-body figure,
.article-body .article-image {
  margin: 1.5rem 0;
}

.article-body img {
  max-width: 100%;
  height: auto;
  border-radius: 8px;
}

.article-body table {
  width: 100%;
  border-collapse: collapse;
  margin: 1.25rem 0;
  font-size: 0.95rem;
}

.article-body th,
.article-body td {
  border: 1px solid #e2e8f0;
  padding: 0.6rem 0.75rem;
  text-align: left;
}

.article-body .article-meta,
.article-body .article-toc {
  font-size: 0.92rem;
  color: #64748b;
}

.article-body .pbn-cta,
.article-body .internal-link,
.article-body .authority-link {
  font-size: 1rem;
}

/* Locale stacks */
.article-body--ar {
  --font-article-body: "Noto Naskh Arabic", "Source Serif 4", Georgia, serif;
  --font-article-display: "Noto Sans Arabic", "DM Sans", system-ui, sans-serif;
  direction: rtl;
}

.article-body--he {
  --font-article-body: "Noto Sans Hebrew", "Source Serif 4", Georgia, serif;
  --font-article-display: "Noto Sans Hebrew", "DM Sans", system-ui, sans-serif;
  direction: rtl;
}

.article-body--ru,
.article-body--uk,
.article-body--bg {
  --font-article-body: "Noto Serif", "Source Serif 4", Georgia, serif;
}

.article-body--ja {
  --font-article-body: "Noto Serif JP", "Source Serif 4", Georgia, serif;
  --font-article-display: "Noto Sans JP", "DM Sans", system-ui, sans-serif;
}

.article-body--ko {
  --font-article-body: "Noto Serif KR", "Source Serif 4", Georgia, serif;
  --font-article-display: "Noto Sans KR", "DM Sans", system-ui, sans-serif;
}

.article-body--zh,
.article-body--zh-cn,
.article-body--zh-tw {
  --font-article-body: "Noto Serif SC", "Source Serif 4", Georgia, serif;
  --font-article-display: "Noto Sans SC", "DM Sans", system-ui, sans-serif;
}

.article-body--th {
  --font-article-body: "Noto Serif Thai", "Source Serif 4", Georgia, serif;
}
