/* Keep CMS prose readable as editors add or replace text. Short UI labels stay aligned by their components. */
body.university-interior main :is(
    .uni-page-body,
    .uni-programme-card,
    .programme-content-section,
    .programme-info-panel,
    .apply-guide-instructions,
    .apply-guide-extra,
    .staff-profile-copy,
    .story-archive-card
) p,
body.university-interior main .programme-section-list li,
body.university-interior main .vc-profile-prose,
body.home-page main :is(.home-section-description, .leadership-excerpt, .intro-copy, .story-copy) p {
    text-align: justify;
    text-justify: inter-word;
}

/* These CMS fields contain prose directly rather than nested paragraphs. */
body.university-interior main .vc-profile-prose,
body.home-page main :is(.leadership-excerpt, .intro-copy) {
    text-align: justify;
    text-justify: inter-word;
}
body.university-interior main .vc-profile-prose { white-space: normal; }
body.university-interior main .vc-profile-prose p { margin: 0; }
body.university-interior main .vc-profile-prose p + p { margin-top: 1em; }
body.home-page main :is(.home-vc-quote, .home-column-card-copy p) { white-space: pre-line; }

/* Programme names are equal-width, centered items regardless of line wrapping. */
body.home-page .sms-home .hero-programmes > .sms-shell > strong {
    text-align: center;
}
body.home-page .sms-home .hero-programme-list {
    align-items: stretch;
}
body.home-page .sms-home .hero-programme-list > a {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    text-wrap: balance;
}
