.article-byline { margin-top: 1.2rem; font-size: .9rem; color: #606775; }
.single-post-content { overflow-wrap: break-word; }
.single-post-content figure { margin: 2rem 0; }
.single-post-content figure img { display: block; margin: auto; }
.single-post-content figcaption { margin-top: .6rem; font-size: .85rem; color: #606775; text-align: center; }
.single-post-content .image-right { float: right; width: 42%; margin: .5rem 0 1.5rem 2rem; }
.single-post-content .image-centre { clear: both; }
.single-post-content h2, .single-post-content .blog-infographic, .single-post-content .article-video, .single-post-content .article-cta { clear: both; }
.single-post-content .blog-infographic { max-width: 940px; margin: 2rem auto; }
.single-post-content .infographic-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: 1rem; }
.single-post-content .article-video { margin: 2rem 0; aspect-ratio: 16/9; }
.single-post-content .article-video iframe { width: 100%; height: 100%; border: 0; }
.single-post-content .article-cta { margin: 2rem 0; }
.single-post-content .article-cta a { display: inline-block; padding: .85rem 1.4rem; background: #1e2380; color: #fff; text-decoration: none; border-radius: 5px; font-weight: 700; }
.single-post-content .article-contents { padding: 1.2rem 1.5rem; margin: 2rem 0; background: #f4f1fa; }
.single-post-content .article-contents ol { margin: 0; }
.single-post-content [id] { scroll-margin-top: 100px; }
.single-post-content table { display: block; overflow-x: auto; }
.related-posts { max-width: 1100px; margin: 1rem auto 3rem; padding: 2.5rem 24px; border-top: 1px solid #dedbe8; }
.related-heading { display: flex; justify-content: space-between; align-items: end; gap: 1rem; margin-bottom: 1.5rem; }
.related-heading h2 { font-family: Georgia, 'Times New Roman', serif; font-weight: 400; font-size: clamp(1.8rem, 3vw, 2.4rem); }
.related-controls { display: flex; gap: .6rem; }
.related-controls[hidden] { display: none; }
.related-controls button { width: 44px; height: 44px; background: #fff; border: 1px solid #a09bb8; color: #1e2380; font-size: 1.3rem; cursor: pointer; }
.related-controls button:disabled { opacity: .35; cursor: default; }
.related-controls button:focus-visible, .related-card:focus-visible { outline: 3px solid #1e2380; outline-offset: 4px; }
.related-track { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 40px)/3); gap: 20px; overflow-x: auto; scroll-snap-type: x mandatory; list-style: none; padding: 4px 4px 18px; margin: 0; }
.related-track li { scroll-snap-align: start; min-width: 0; }
.related-card { display: block; height: 100%; color: #1d3557; background: #f7f5fb; text-decoration: none; }
.related-card img, .related-card-art { display: block; width: 100%; aspect-ratio: 16/9; object-fit: cover; }
.related-card-art { display: flex; align-items: center; padding: 24px; background: #dddcef; font: 1.65rem Georgia, serif; }
.related-card-copy { padding: 22px; }
.related-card-copy h3 { font-family: Georgia, 'Times New Roman', serif; font-size: 1.3rem; font-weight: 400; line-height: 1.3; margin: 0 0 .8rem; }
.related-card-copy p { font-size: .9rem; line-height: 1.6; margin-bottom: 1rem; }
.related-card-copy > span { font-size: .85rem; font-weight: 700; color: #1e2380; }
@media (max-width: 850px) { .related-track { grid-auto-columns: calc((100% - 20px)/2); } }
@media (max-width: 560px) {
    .related-posts { padding: 2rem 20px; }
    .related-track { grid-auto-columns: 88%; }
    .related-card-copy { padding: 18px; }
    .single-post-content .image-right { float: none; width: 100%; margin: 2rem 0; }
    .single-post-content .blog-infographic { width: 100% !important; }
}
@media (prefers-reduced-motion: no-preference) { html { scroll-behavior: smooth; } }
