/* Blog article extras — layered on blog-verification.css (.ahero/.abody).
   Styles the Markdown-rendered elements not covered by the original article. */
.abody img { max-width: 100%; height: auto; border-radius: 16px; margin: 30px auto; display: block; }
.abody figure { margin: 30px 0; }
.abody figcaption { font-size: 14px; color: var(--fg-on-paper-soft); margin-top: 8px; text-align: center; }
.abody h1 { font-size: 44px; font-weight: 700; letter-spacing: -0.025em; line-height: 1.06; color: var(--ink); margin: 56px 0 24px; }
.abody h1 em, .abody h2 em, .abody h3 em { font-style: italic; font-family: var(--font-display); font-weight: 400; color: var(--green); }
.abody blockquote { margin: 36px 0; padding: 8px 26px; border-left: 3px solid var(--leaf); }
.abody blockquote p { font-size: 21px; font-style: italic; color: var(--ink); }
.abody table { width: 100%; border-collapse: collapse; margin: 28px 0; font-size: 16px; }
.abody th, .abody td { text-align: left; padding: 10px 12px; border-bottom: 1px solid var(--rule-on-paper); vertical-align: top; }
.abody th { color: var(--ink); font-weight: 700; }
.abody hr { border: 0; border-top: 1px solid var(--rule-on-paper); margin: 44px 0; }
.abody h4 { font-size: 19px; font-weight: 700; color: var(--ink); margin: 28px 0 10px; }
.post-cta { margin-top: 48px; padding-top: 28px; border-top: 1px solid var(--rule-on-paper); }
.post-cta a { font-weight: 700; color: var(--green); border-bottom: 1px solid var(--green); }
.post-cta a:hover { color: var(--ink); border-bottom-color: var(--ink); }

/* Related-reading widgets at the foot of every article (the "Recent posts" +
   "Popular posts" link sets mirrored from the live blog). Card chrome — .arel and
   .bart, including the 3-up grid and its <=900px single-column collapse — comes
   from blog-verification.css, which post.njk also loads; here we only space the
   stacked second widget below the first. */
.arel__head--stacked { margin-top: 64px; }
