/* Arabic needs natural joining and more vertical space than Latin display type. */
body.rtl {
  line-height: 1.85;
  word-spacing: .04em;
}

body.rtl :is([data-copy], .nav a, .category-bar a, .news-ar, .news-ar *, .story-ar, .story-ar *) {
  letter-spacing: normal;
}

/* Display text stays right aligned; justification belongs to reading text. */
body.rtl :is(
  .tagline, .choice h2, .page-title, .lead-story h1, .latest h2,
  .news-section h2, .story h3, .major h3, .opinion h3, .update h3,
  .article-head h1, .reading-copy h2, .sources h2, .timeline h2,
  .related h2, .related-grid h3, .corrections h2, .check h2,
  .manifesto-hero h1, .section-body h2, .manifesto-final h2,
  .pop-check-claim, .question-stack div, .final-copy p, .final-tag
) {
  letter-spacing: normal;
  line-height: 1.45;
  word-spacing: .04em;
  text-align: start;
}

body.rtl :is(
  .description, .choice p, .page-copy, .pulse-copy p, .story p,
  .newsletter p, .reading-copy p, .timeline-grid p, .corrections p,
  .manifesto-hero .lead, .section-body p, .manifesto-final .lead,
  .framework-row span
) {
  letter-spacing: normal;
  line-height: 1.95;
  word-spacing: .05em;
  text-align: justify;
  text-align-last: right;
  text-justify: inter-word;
  word-break: normal;
  overflow-wrap: break-word;
  hyphens: none;
}

body.rtl :is(.reading-copy p, .section-body p) {
  margin-block-end: 1.35em;
}

body.rtl :is(.reading-copy p, .section-body p):last-child {
  margin-block-end: 0;
}

body.rtl .tagline {
  font-size: clamp(30px, 3.2vw, 50px);
  margin-block-end: 28px;
}

body.rtl .choice h2 {
  font-size: clamp(42px, 5vw, 78px);
  margin-block: 20px;
}

body.rtl .lead-story h1 {
  font-size: clamp(42px, 6vw, 88px);
  margin-block: 24px 36px;
}

body.rtl .article-head h1 {
  font-size: clamp(42px, 7vw, 104px);
}

body.rtl :is(.pulse p, .check blockquote) {
  letter-spacing: normal;
  line-height: 1.65;
  word-spacing: .05em;
  text-align: start;
}

body.rtl .pulse p {
  text-align: justify;
  text-align-last: right;
  text-justify: inter-word;
}

body.rtl :is(
  .nav a, .category-bar a, .eyebrow, .expansion, .byline,
  .section-kicker, .story-category, .meta, .check, .section-label,
  .metadata, .section-index, .manifesto-kicker, .framework-row strong,
  .labels span, .check-grid div, .action, .story-actions a, .view-all,
  .footer-copyline, .footer-links a, .breaking-label, .breaking-head
) {
  line-height: 1.7;
}

body.rtl :is(.hero, .news-grid, .pulse-copy, .reading-grid, .manifesto-hero, .framework-row) > * {
  min-width: 0;
}

body.rtl .pulse-copy {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px clamp(32px, 4vw, 64px);
  padding-block-start: 28px;
}

body.rtl .pulse-copy strong {
  margin-block-end: 16px;
}

body.rtl .update h3 {
  margin-block: 14px;
}

body.rtl .story-meta {
  gap: 16px 24px;
}

body.rtl .breaking-item {
  flex: 0 0 100%;
  min-width: 0;
  grid-template-columns: auto minmax(0, 1fr) auto auto auto;
  gap: 20px;
}

@media (max-width: 800px) {
  body.rtl .tagline {
    font-size: clamp(30px, 8vw, 38px);
    max-width: 100%;
  }

  body.rtl .choice h2 {
    font-size: clamp(38px, 11vw, 52px);
  }

  body.rtl :is(.lead-story h1, .article-head h1) {
    font-size: clamp(34px, 9vw, 52px);
    line-height: 1.5;
  }

  body.rtl .pulse-copy {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 30px;
  }

  body.rtl .breaking-item {
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 16px;
  }

  body.rtl :is(.reading-copy p, .section-body p, .pulse-copy p, .story p) {
    line-height: 2;
  }
}
