/* WJAZ V66 — balanced headings and disciplined long-form line endings. */

/* Full-width page introductions have enough room to use a centered composition. */
.page-hero > .container {
  text-align: center;
}

.page-hero h1 {
  margin-inline: auto !important;
  text-align: center !important;
  text-wrap: balance;
}

.page-hero .lead {
  margin-inline: auto !important;
  text-align: center !important;
  text-align-last: center !important;
  text-wrap: balance;
}

.about-page .page-hero .about-intro h1,
.about-page .page-hero .about-intro .lead {
  margin-inline: auto !important;
  text-align: center !important;
}

/* Keep multi-line headings visually even without forcing awkward manual breaks. */
.section-head h2,
.split-copy h2,
.case-copy h2,
.story-copy h2,
.models-intro-card h2,
.models-note-card h2,
.knowledge-card h2,
.cta h2 {
  text-wrap: balance;
}

.section-head p,
.about-values-head p {
  text-wrap: balance;
}

/* Justify only real prose areas; compact cards and interface labels stay natural. */
.hero-copy .lead,
.split-copy > p,
.case-copy > p,
.story-copy > p,
.models-intro-card > p,
.models-note-card > p,
.models-note > p,
.policy.narrow p,
.knowledge-card > p,
.service-integrity-note p {
  text-align: justify;
  text-align-last: start;
  text-justify: inter-word;
  text-wrap: pretty;
}

html[dir="rtl"] .hero-copy .lead,
html[dir="rtl"] .split-copy > p,
html[dir="rtl"] .case-copy > p,
html[dir="rtl"] .story-copy > p,
html[dir="rtl"] .models-intro-card > p,
html[dir="rtl"] .models-note-card > p,
html[dir="rtl"] .models-note > p,
html[dir="rtl"] .policy.narrow p,
html[dir="rtl"] .knowledge-card > p,
html[dir="rtl"] .service-integrity-note p {
  line-height: 1.95;
}

html[lang="en"] .hero-copy .lead,
html[lang="en"] .split-copy > p,
html[lang="en"] .case-copy > p,
html[lang="en"] .story-copy > p,
html[lang="en"] .models-intro-card > p,
html[lang="en"] .models-note-card > p,
html[lang="en"] .models-note > p,
html[lang="en"] .policy.narrow p,
html[lang="en"] .knowledge-card > p,
html[lang="en"] .service-integrity-note p {
  line-height: 1.78;
  hyphens: auto;
}

/* The name story is a presentation block: center its heading and the final prose line. */
.about-page .story-copy {
  text-align: center;
}

.about-page .story-copy h2,
.models-note-card-wide h2 {
  margin-inline: auto;
  text-align: center;
}

.about-page .story-copy > p,
.models-note-card-wide > p {
  text-align-last: center;
}

/* Full justification becomes harsh in narrow phone columns; use tidy natural wrapping there. */
@media (max-width: 620px) {
  .hero-copy .lead,
  .split-copy > p,
  .case-copy > p,
  .story-copy > p,
  .models-intro-card > p,
  .models-note-card > p,
  .models-note > p,
  .policy.narrow p,
  .knowledge-card > p,
  .service-integrity-note p {
    text-align: start;
    text-align-last: auto;
    text-wrap: pretty;
    hyphens: none;
  }

  .about-page .story-copy > p,
  .models-note-card-wide > p {
    text-align: start;
    text-align-last: auto;
  }
}
