/*
 * Article typography (client guidelines, 2026-09-29).
 *
 * Loaded after every layout stylesheet and meant to win over them, including
 * font sizes and families carried into the article body by pasted text.
 * Scope is limited to the article page (.subpage article), so lists, widgets
 * and the home page are not affected.
 *
 * Element        Size   Weight  Color  Line-height
 * Title (h1)     28px   700     #333   1.25
 * Subtitle (h2)  21px   700     #333   1.3    30px above and below
 * Lead           17px   600     #333   1.55
 * Paragraph      17px   400     inherited
 */

.subpage article header h1 {
    font-family: 'Open Sans', Arial, Helvetica, sans-serif;
    font-size: 28px;
    font-weight: 700;
    line-height: 1.25;
    color: #333;
}

/* Subtitles. Legacy bodies may still contain h1; it is rendered as h2 by the template,
   the h1 selector is only a fallback for cached or externally rendered markup. */
.subpage article .article-body h2,
.subpage article .article-full-body h2,
.subpage article .article-full-body h1 {
    font-family: 'Open Sans', Arial, Helvetica, sans-serif;
    font-size: 21px;
    font-weight: 700;
    line-height: 1.3;
    color: #333;
    margin: 30px 0;
}

.subpage article .article-body .article-short {
    font-family: 'Open Sans', Arial, Helvetica, sans-serif;
    font-size: 17px;
    font-weight: 600;
    line-height: 1.55;
    color: #333;
}

/* Body text: 17px Open Sans regardless of the tag or of inline styles pasted from
   Word/Google Docs. !important is required to beat style="font-size: 12pt" and <font>. */
.subpage article .article-full-body,
.subpage article .article-full-body p,
.subpage article .article-full-body div,
.subpage article .article-full-body span,
.subpage article .article-full-body font,
.subpage article .article-full-body li,
.subpage article .article-full-body td,
.subpage article .article-full-body th,
.subpage article .article-full-body blockquote,
.subpage article .article-full-body a,
.subpage article .article-full-body em,
.subpage article .article-full-body i,
.subpage article .article-full-body u {
    font-family: 'Open Sans', Arial, Helvetica, sans-serif !important;
    font-size: 17px !important;
}

/* Bold pasted as <b>/<strong> or as inline font-weight keeps its emphasis but never
   drifts into other families/sizes. */
.subpage article .article-full-body strong,
.subpage article .article-full-body b {
    font-family: 'Open Sans', Arial, Helvetica, sans-serif !important;
    font-size: 17px !important;
    font-weight: 700;
}

/* Only exception to the 17px rule: superscript/subscript stays proportionally smaller. */
.subpage article .article-full-body sup,
.subpage article .article-full-body sub {
    font-family: 'Open Sans', Arial, Helvetica, sans-serif !important;
    font-size: 75% !important;
}

/* Alignment: justified with hyphenation on desktop, left-aligned on narrow screens.
   No !important here on purpose: an explicit inline text-align (e.g. centred obituaries)
   is an editorial choice and is preserved. */
@media (min-width: 768px) {
    .subpage article .article-body,
    .subpage article .article-body .article-short,
    .subpage article .article-full-body,
    .subpage article .article-full-body p,
    .subpage article .article-full-body div {
        text-align: justify;
        text-align-last: left;
        -webkit-hyphens: auto;
        hyphens: auto;
    }
}

@media (max-width: 767px) {
    .subpage article .article-body,
    .subpage article .article-body .article-short,
    .subpage article .article-full-body,
    .subpage article .article-full-body p,
    .subpage article .article-full-body div {
        text-align: left;
        -webkit-hyphens: manual;
        hyphens: manual;
    }
}
