body.public-article-route { background: #f7fafc; }
body.public-article-route::before, body.public-article-route::after { display: none; }
.public-article-page { max-width: 840px; width: calc(100% - 80px); margin: 0 auto; padding: 44px 0 56px; color: #17283f; }
.public-article-intro { margin-bottom: 28px; }
.public-article-intro:empty { display: none; }
.public-article-eyebrow { margin: 0 0 12px; color: #0869cd; font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: 0; }
.public-article-intro h1, .public-article-content h1 { margin: 0 0 24px; font-size: 40px; line-height: 1.2; letter-spacing: 0; overflow-wrap: anywhere; }
.public-article-content { padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; font-size: 17px; line-height: 1.8; overflow-wrap: anywhere; }
.public-article-content h2 { margin: 36px 0 14px; font-size: 26px; line-height: 1.35; }
.public-article-content h3 { margin: 28px 0 12px; font-size: 21px; line-height: 1.4; }
.public-article-content h4, .public-article-content h5, .public-article-content h6 { margin: 24px 0 10px; font-size: 18px; line-height: 1.5; }
.public-article-content :is(h1,h2,h3,h4,h5,h6) { color: #17283f; letter-spacing: 0; scroll-margin-top: 110px; }
.public-article-content p { margin: 0 0 20px; }
.public-article-content :is(ul,ol) { padding-left: 28px; margin: 0 0 24px; }
.public-article-content li { margin: 8px 0; }
.public-article-content li :is(ul,ol) { margin: 10px 0; }
.public-article-content a, .public-article-support a, .public-article-legal-nav a { color: #075cae; text-decoration: underline; text-underline-offset: 3px; overflow-wrap: anywhere; }
.public-article-content a:hover, .public-article-support a:hover, .public-article-legal-nav a:hover { color: #003f7f; }
.public-article-page a:focus-visible { outline: 3px solid #0869cd; outline-offset: 4px; border-radius: 2px; }
.public-article-content blockquote { margin: 24px 0; padding: 8px 0 8px 20px; border-left: 3px solid #9bc5ed; color: #354b65; }
.public-article-content blockquote p:last-child { margin-bottom: 0; }
.public-article-content hr { margin: 32px 0; border: 0; border-top: 1px solid #d4dfeb; }
.public-article-content img { max-width: 100%; height: auto; }
.public-article-content pre { max-width: 100%; overflow: auto; }
.public-article-content table { width: 100%; table-layout: fixed; border-collapse: collapse; margin: 24px 0; font-size: 16px; }
.public-article-content :is(th,td) { padding: 12px; border: 1px solid #c8d7e7; vertical-align: top; overflow-wrap: anywhere; }
.public-article-content th { background: #eef5fc; text-align: left; font-weight: 700; }
.public-article-content caption { text-align: left; margin-bottom: 10px; font-weight: 700; }
.public-article-support { margin-top: 40px; padding: 24px 0; border-top: 1px solid #d4dfeb; }
.public-article-support h2 { margin: 0 0 10px; font-size: 20px; line-height: 1.4; }
.public-article-support a, .public-article-legal-nav a { display: inline-flex; align-items: center; min-height: 44px; }
.public-article-legal-nav { display: flex; flex-wrap: wrap; gap: 4px 24px; border-top: 1px solid #d4dfeb; padding-top: 14px; font-size: 14px; }
/* Authored Builder sections keep their existing widths, spacing and block styles. */
.public-article-page-builder { width: 100%; max-width: none; padding-top: 0; }
.public-article-page-builder > :is(.public-article-intro,.public-article-support,.public-article-legal-nav) { max-width: 840px; width: calc(100% - 80px); margin-left: auto; margin-right: auto; }
.public-article-page-builder > .public-article-intro { padding-top: 40px; }
@media (max-width: 768px) {
  .public-article-page { width: calc(100% - 40px); padding: 32px 0 40px; }
  .public-article-intro h1, .public-article-content h1 { font-size: 32px; }
  .public-article-content h2 { font-size: 24px; }
  .public-article-content :is(th,td) { padding: 8px; }
  .public-article-page-builder { width: 100%; padding-top: 0; }
  .public-article-page-builder > :is(.public-article-intro,.public-article-support,.public-article-legal-nav) { width: calc(100% - 40px); }
}
