/* Styles loaded exclusively by the new blog pages. */
.blog-page .blog-main { padding: 48px 0 72px; }
.blog-page .blog-main :is(h1, h2, h3, h4, h5, h6) { text-transform: none; }
.blog-page .blog-main h1 { font-size: 38px; line-height: 1.25; margin-bottom: 32px; }
.blog-page .blog-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px; }
.blog-page .blog-card { min-width: 0; }
.blog-page .blog-card__image { display: block; overflow: hidden; border-radius: 12px; }
.blog-page .blog-card img { display: block; width: 100%; height: auto; }
.blog-page .blog-card h2 { font-size: 23px; line-height: 1.4; margin: 22px 0 0; }
.blog-page .blog-card h2 a { color: #213360; }
.blog-page .blog-card h2 a:hover { color: #21cdc0; }
.blog-page .blog-breadcrumbs { margin-bottom: 32px; }
.blog-page .blog-breadcrumbs ol { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; padding: 0; margin: 0; color: #213360; }
.blog-page .blog-breadcrumbs li + li::before { content: "\2192"; margin-right: 8px; color: #848e9f; }
.blog-page .blog-breadcrumbs a { color: #2e7abb; }
.blog-page .blog-article { max-width: 900px; margin: 0 auto; font-size: 17px; line-height: 1.8; color: #48536b; overflow-wrap: anywhere; }
.blog-page .blog-article h1 { text-align: left; }
.blog-page .blog-featured-image { display: block; width: 100%; max-width: 640px; height: auto; margin: 0 auto 40px; border-radius: 12px; }
.blog-page .blog-article h2 { font-size: 29px; line-height: 1.35; margin: 40px 0 18px; }
.blog-page .blog-article h3 { font-size: 23px; line-height: 1.4; margin: 30px 0 14px; }
.blog-page .blog-article h4 { font-size: 21px; line-height: 1.4; margin: 28px 0 14px; }
.blog-page .blog-article h5 { font-size: 19px; line-height: 1.4; margin: 28px 0 14px; }
.blog-page .blog-article p { font-size: inherit; line-height: inherit; margin-bottom: 20px; }
.blog-page .blog-article ul { padding-left: 24px; margin-bottom: 24px; }
.blog-page .blog-article li { margin-bottom: 6px; }
.blog-page .blog-article a { color: #2e7abb; text-decoration: underline; }
.blog-page .blog-main a:focus-visible { outline: 2px solid #2e7abb; outline-offset: 4px; }
@media (max-width: 991px) {
  .blog-page .blog-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 575px) {
  .blog-page .blog-main { padding: 30px 0 48px; }
  .blog-page .blog-list { grid-template-columns: 1fr; }
  .blog-page .blog-main h1 { font-size: 28px; margin-bottom: 24px; }
  .blog-page .blog-article { font-size: 16px; }
  .blog-page .blog-article h2 { font-size: 24px; }
  .blog-page .blog-article h3 { font-size: 21px; }
  .blog-page .blog-featured-image { margin-bottom: 28px; }
}
