/* Reading prose only; existing lang attributes select the hyphenation language.
   Headings, controls, addresses, compact summaries and lists retain their layout. */
#main-content :is(.smpc-section__body, .smpc-post__body, .smpc-researcher-card__body),
#main-content :is(.smpc-section__body, .smpc-post__body, .smpc-researcher-card__body) p,
#main-content.pvp .pvp-details__body p,
#main-content.pvp .pvp-card__lead {
  text-align: justify !important;
  text-align-last: start;
  text-justify: inter-word;
  -webkit-hyphens: auto;
  hyphens: auto;
  hyphenate-limit-chars: 6 3 3;
  word-break: normal;
  overflow-wrap: break-word;
}
#main-content :is(.smpc-section__body, .smpc-post__body, .smpc-researcher-card__body) :is(h1,h2,h3,h4,h5,h6,ul,ol,li,dt,dd,address,button),
#main-content .smpc-post__body .smpc-archive-label {
  text-align: start !important;
  -webkit-hyphens: manual;
  hyphens: manual;
}
/* Narrow screens: avoid stretched word spacing when hyphenation dictionaries
   are unavailable. This is a deliberate readability exception to justification. */
@media (max-width: 600px) {
  #main-content :is(.smpc-section__body, .smpc-post__body, .smpc-researcher-card__body),
  #main-content :is(.smpc-section__body, .smpc-post__body, .smpc-researcher-card__body) p,
  #main-content.pvp .pvp-details__body p,
  #main-content.pvp .pvp-card__lead {
    text-align: start !important;
    -webkit-hyphens: manual;
    hyphens: manual;
  }
}
