/* Blog reading layout: bounded media, a clear text column, and mobile-safe wrapping. */
body.single-post .article-hero,
body.blog .blog-hero,
body.page .blog-hero {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  max-width: 1100px !important;
  margin-inline: auto !important;
  padding: 0 !important;
}
body.single-post .article-hero > div,
.blog-hero > div {
  width: 100% !important;
  max-width: 850px !important;
  padding: 40px 24px 28px !important;
  margin-inline: auto !important;
  min-width: 0;
}
body.single-post .article-hero h1 {
  font-size: clamp(2rem, 3.8vw, 3.5rem) !important;
  line-height: 1.14 !important;
  overflow-wrap: break-word;
  margin: 0 0 16px !important;
}
body.single-post .article-hero .hero-deck {
  font-size: clamp(1.1rem, 1.6vw, 1.35rem) !important;
  line-height: 1.55 !important;
  margin-block: 20px !important;
}
body.single-post .article-hero .article-meta { margin-top: 16px !important; }
body.single-post .article-body :is(.alignleft,.alignright) {
  float: none !important;
  display: block;
  max-width: 100%;
  margin: 28px auto;
}
body.single-post .article-body h2 {
  font-size: clamp(1.45rem, 2.5vw, 2.2rem) !important;
  line-height: 1.25 !important;
  overflow-wrap: break-word;
}
body.single-post .article-body h3 {
  font-size: clamp(1.2rem, 1.8vw, 1.6rem) !important;
  line-height: 1.3 !important;
}
.blog-card-media { min-height: 0 !important; aspect-ratio: 16 / 10; }
.blog-card-media img { width: 100%; height: 100% !important; min-height: 0 !important; object-fit: cover; }
body.single-post .article-hero figure,
.blog-hero figure {
  width: calc(100% - 48px) !important;
  max-width: 800px !important;
  margin: 0 auto 32px !important;
  padding: 0 !important;
  min-height: 0 !important;
}
body.single-post .article-hero figure img,
.blog-hero figure img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 16 / 9;
  max-height: 400px !important;
  min-height: 0 !important;
  object-fit: cover !important;
}
body.single-post .article-body,
body.single-post .prose-editorial {
  min-width: 0;
  overflow-wrap: break-word;
}
body.single-post .article-body > figure,
body.single-post .article-body > img,
body.single-post .prose-editorial > figure,
body.single-post .prose-editorial > img {
  float: none !important;
  clear: both;
  max-width: 100%;
  height: auto;
  margin: 28px auto;
}
body.single-post .article-body figure img,
body.single-post .prose-editorial figure img {
  max-width: 100%;
  height: auto;
  max-height: 440px;
  object-fit: contain;
}
body.single-post .article-shell { padding-top: 36px !important; }
body.single-post .article-body h2,
body.single-post .prose-editorial h2 { scroll-margin-top: 110px; }
body.single-post .article-body table,
body.single-post .prose-editorial table { display: block; max-width: 100%; overflow-x: auto; }
body.single-post article.container-editorial > figure {
  max-width: 768px;
  margin: 28px 0 !important;
}
body.single-post article.container-editorial > figure img {
  width: 100%;
  height: auto;
  max-height: 400px;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}
@media (max-width: 640px) {
  body.single-post .article-hero > div,
  .blog-hero > div { padding: 28px 20px 24px !important; }
  body.single-post .article-hero figure,
  .blog-hero figure { width: calc(100% - 40px) !important; }
  body.single-post .article-body { font-size: 1rem; line-height: 1.75; }
  body.single-post .breadcrumbs ol { flex-wrap: wrap; gap: 6px 10px; }
  body.single-post .breadcrumbs li { max-width: 100%; }
}
