/* Public-site typography rhythm — loaded after page bundles so every public
   surface shares the same readable hierarchy. Editor-authored overrides are
   intentionally loaded after this file and remain authoritative. */

body { font-size: var(--fs-body); line-height: 1.7; }
html[lang="ar"] body { line-height: 1.85; }

.hero-text h1 {
  font-size: var(--fs-display);
  line-height: 1.22;
  letter-spacing: -0.025em;
}
.hero-text p {
  max-width: 620px;
  font-size: var(--fs-lead);
  line-height: 1.85;
}

.page-title h1 { font-size: var(--fs-h1); line-height: 1.25; }
.page-title p { font-size: var(--fs-body); line-height: 1.8; }

.section-head h2,
.section-title__title,
.about-text h2,
.home-feature-heading h2,
.home-custom-section-copy h2,
.feed-section-h2 {
  font-size: var(--fs-h2);
  line-height: 1.35;
}

.section-head p,
.section-title__subtitle,
.about-text p,
.home-feature-heading p,
.home-custom-section-copy p {
  font-size: var(--fs-body);
  line-height: 1.8;
}

.feed-post-title { font-size: var(--fs-card-title); line-height: 1.45; }
.feed-post-body,
.body-text { font-size: var(--fs-body); line-height: 1.8; }
.feed-post-author,
.feed-post-time,
.feed-post-tag,
.eyebrow,
.section-label { font-size: var(--fs-small); }

.hero-stats strong { font-size: var(--fs-h3); }
.hero-stats span { font-size: var(--fs-small); }
.mission-block p { font-size: var(--fs-card-title); line-height: 1.75; }

@media (max-width: 640px) {
  .hero-text h1 { font-size: 36px; line-height: 1.3; }
  .hero-text p { font-size: 18px; line-height: 1.8; }
  .feed-post-title { font-size: 20px; }
}
