/* Editorial pages use the existing IAM reading typography and site shell. */
.blog-page .blog-main { padding-top: 64px !important; padding-bottom: 80px; }
.blog-page main.blog-main > section.blog-articles,
.blog-page .blog-prose section { padding: 0 !important; }
.blog-page .blog-skip-link { position: fixed; top: 12px; left: 20px; z-index: 10000; padding: 12px 20px; background: #fff; color: #172348; transform: translateY(-160%); }
.blog-page .blog-skip-link:focus { transform: none; }
.blog-page .blog-intro { max-width: 840px; margin-bottom: 56px; }
.blog-page .blog-intro h1 { margin: 20px 0 24px; }
.blog-page .blog-intro > p, .blog-page .blog-lead { max-width: 65ch; color: #526176; }
.blog-page .blog-row { display: grid; grid-template-columns: 88px minmax(0, 1fr); gap: 32px; padding-block: 40px; border-top: 1px solid #dce3eb; }
.blog-page .blog-row-number { color: #c6cfdf; font-size: 40px; line-height: 1.2; font-weight: 700; }
.blog-page .blog-category { color: #17645f; font-size: 14px; font-weight: 700; letter-spacing: .05em; margin: 0 0 14px; }
.blog-page .blog-row h2 { font-size: 30px; max-width: 34ch; margin: 0 0 16px; }
.blog-page .blog-row h2 a { display: block; color: #172348; text-decoration: none; }
.blog-page .blog-row h2 a:hover { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 5px; }
.blog-page .blog-row p { max-width: 65ch; }
.blog-page .blog-read-link { display: inline-flex; align-items: center; gap: 12px; min-height: 44px; color: #17645f; font-size: 16px; font-weight: 700; text-underline-offset: 4px; }
.blog-page .blog-breadcrumb { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-bottom: 36px; color: #526176; font-size: 14px; }
.blog-page .blog-breadcrumb a { color: #17645f; min-height: 44px; display: inline-flex; align-items: center; }
.blog-page .blog-post { max-width: 780px; margin-inline: auto; }
.blog-page .blog-post-header h1 { margin: 16px 0 20px; }
.blog-page .blog-byline { color: #526176; font-size: 14px; margin-bottom: 28px; }
.blog-page .blog-contents { background: #f5f7fa; border-left: 3px solid #17645f; padding: 24px 28px; margin-block: 36px 48px; border-radius: 0 12px 12px 0; }
.blog-page .blog-contents strong { color: #172348; }
.blog-page .blog-contents ol { padding-left: 22px; margin: 12px 0 0; }
.blog-page .blog-contents a { display: inline-flex; align-items: center; min-height: 44px; color: #17645f; font-size: 16px; text-underline-offset: 4px; }
.blog-page .blog-prose section { margin-bottom: 40px; }
.blog-page .blog-prose h2 { font-size: 28px; line-height: 1.3; margin: 0 0 20px; scroll-margin-top: 150px; }
.blog-page .blog-prose p, .blog-page .blog-prose li { max-width: 70ch; color: #526176; line-height: 1.7; }
.blog-page .blog-prose p { margin: 0 0 20px; }
.blog-page .blog-prose ul { list-style: disc; padding-left: 24px; margin-block: 20px; }
.blog-page .blog-prose li { margin-bottom: 10px; }
.blog-page .blog-next { border-block: 1px solid #dce3eb; padding-block: 28px; margin-top: 48px; }
.blog-page .blog-next a { color: #172348; display: inline-flex; align-items: center; min-height: 44px; font-size: 22px; font-weight: 700; text-underline-offset: 5px; }
.blog-page .blog-contact { margin-top: 48px; }
.blog-page .blog-contact h2 { font-size: 28px; }
.blog-page .blog-contact p { margin-block: 16px 24px; }
.blog-page [aria-current="location"] { text-decoration: underline; text-underline-offset: 6px; }
@media (max-width: 760px) {
  .blog-page .blog-main { padding-top: 36px !important; padding-bottom: 48px; }
  .blog-page .blog-intro { margin-bottom: 32px; }
  .blog-page .blog-row { grid-template-columns: 1fr; gap: 16px; padding-block: 28px; }
  .blog-page .blog-row-number { font-size: 24px; }
  .blog-page .blog-row h2, .blog-page .blog-prose h2, .blog-page .blog-contact h2 { font-size: 24px; }
  .blog-page .blog-contents { padding: 20px; margin-block: 28px 36px; }
  .blog-page .blog-breadcrumb { margin-bottom: 24px; }
  .blog-page .blog-post-header h1 { font-size: 36px; }
  .blog-page .blog-prose section { margin-bottom: 32px; }
}
