/* EalingPulse article typography v1.0.0
   Compact editorial reading layout inspired by traditional news portals.
   Scoped to the opened article only; portal navigation/cards stay unchanged. */

.epn-article {
  --epn-reading-width: 72ch;
  font-family: "Roboto", Arial, Helvetica, sans-serif;
}

/* Keep the article itself comfortably wide, but stop the copy stretching
   across the whole card on desktop. */
.epn-article-body > .epn-badges,
.epn-article-body > h1,
.epn-article-body > .epn-deck,
.epn-article-body > .epn-meta,
.epn-article-body > .epn-resident-note,
.epn-article-body > .epn-share-row,
.epn-article-body > .epn-content,
.epn-article-body > .epn-copyright-note,
.epn-article-body > .epn-copyright-mobile,
.epn-article-body > .epn-source,
.epn-article-body > .epn-contributor-card,
.epn-article-body > .epn-rating {
  width: min(100%, var(--epn-reading-width));
  margin-left: auto;
  margin-right: auto;
}

.epn-article h1 {
  font-family: "Roboto Condensed", "Arial Narrow", Arial, sans-serif;
  font-size: clamp(2rem, 4.3vw, 2.78rem) !important;
  line-height: 1.075 !important;
  letter-spacing: -.022em !important;
  font-weight: 700;
  color: #111820;
  text-wrap: balance;
}

.epn-article .epn-deck {
  margin-top: 16px;
  color: #202a31;
  font-family: "Roboto", Arial, Helvetica, sans-serif;
  font-size: 20px !important;
  line-height: 1.43 !important;
  font-weight: 600;
  letter-spacing: -.006em;
  text-wrap: pretty;
}

.epn-article .epn-meta {
  margin-top: 18px;
  padding-top: 15px;
  font-family: "Roboto", Arial, Helvetica, sans-serif;
  font-size: 13px !important;
  line-height: 1.35 !important;
}

.epn-article .epn-content {
  margin-top: 28px;
  color: #171b1f;
  font-family: "Roboto", Arial, Helvetica, sans-serif;
  font-size: 18px !important;
  line-height: 1.56 !important;
  font-weight: 400;
  letter-spacing: -.004em;
}

.epn-article .epn-content p,
.epn-article .epn-content li {
  color: #171b1f;
  font-family: inherit;
  font-size: inherit !important;
  line-height: inherit !important;
  font-weight: 400;
  text-wrap: pretty;
}

.epn-article .epn-content p {
  margin: 0 0 1.14em;
}

.epn-article .epn-content-heading {
  margin: 1.48em 0 .58em;
  color: #111820;
  font-family: "Roboto Condensed", "Arial Narrow", Arial, sans-serif;
  font-size: clamp(1.35rem, 2.7vw, 1.6rem) !important;
  line-height: 1.16 !important;
  font-weight: 700;
  letter-spacing: -.014em;
  text-wrap: balance;
}

/* Preserve the small editorial kicker used as the first generated heading. */
.epn-article .epn-content-heading:first-child {
  font-family: "Roboto", Arial, Helvetica, sans-serif;
  font-size: 12px !important;
  line-height: 1 !important;
  letter-spacing: .025em;
}

.epn-article .epn-content-heading:first-child + p {
  color: #171b1f;
  font-size: 19px !important;
  line-height: 1.5 !important;
  font-weight: 500;
}

.epn-article .epn-source,
.epn-article .epn-resident-note,
.epn-article .epn-contributor-card,
.epn-article .epn-rating {
  font-family: "Roboto", Arial, Helvetica, sans-serif;
}

@media (min-width: 760px) {
  .epn-article-body {
    padding-top: 42px;
    padding-bottom: 46px;
  }
}

@media (max-width: 759px) {
  .epn-article {
    --epn-reading-width: 100%;
  }

  .epn-article h1 {
    font-size: clamp(1.9rem, 8.5vw, 2.25rem) !important;
    line-height: 1.08 !important;
  }

  .epn-article .epn-deck {
    font-size: 18px !important;
    line-height: 1.45 !important;
  }

  .epn-article .epn-content {
    margin-top: 24px;
    font-size: 16.5px !important;
    line-height: 1.58 !important;
    letter-spacing: 0;
  }

  .epn-article .epn-content-heading:first-child + p {
    font-size: 17.5px !important;
    line-height: 1.52 !important;
  }
}
