/* System fonts avoid additional font downloads. CJK fallbacks are explicit. */
body {
  --ahr-reading-font: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang TC", "Microsoft JhengHei", "Noto Sans TC", sans-serif;
  font-family: var(--ahr-reading-font) !important;
}
body.ahr-type-zh {
  --ahr-reading-font: "PingFang TC", "Microsoft JhengHei", "Noto Sans TC", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
body :is(h1,h2,h3,h4,h5,h6,p,li,figcaption,.wp-block-post-excerpt,.wp-block-post-author-name,.wp-block-post-date,.wp-block-navigation,.ahr-article-meta,button,input) {
  font-family: var(--ahr-reading-font) !important;
}
body :is(h1,h2,h3,h4,h5,h6) { letter-spacing: normal !important; line-height: 1.35 !important; }
body.ahr-reading-page h1.wp-block-post-title {
  font-size: clamp(30px, 4vw, 46px) !important;
  line-height: 1.25 !important;
  font-weight: 700 !important;
  max-width: 900px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-wrap: balance;
  overflow-wrap: break-word;
}
body.ahr-reading-page .wp-block-post-content {
  --wp--style--global--content-size: 680px;
  font-size: 19px;
  line-height: 1.75;
}
body.ahr-reading-page .wp-block-post-content :is(p,li) {
  font-size: 19px !important;
  line-height: 1.75 !important;
  letter-spacing: normal !important;
}
body.ahr-reading-page.ahr-type-zh .wp-block-post-content :is(p,li) { line-height: 1.85 !important; }
body.ahr-reading-page .wp-block-post-content :is(p,h2,h3,h4,ul,ol,blockquote) {
  max-width: 680px;
  margin-left: auto !important;
  margin-right: auto !important;
}
body.ahr-reading-page .wp-block-post-content p { margin-top: 0; margin-bottom: 1.25em; }
body.ahr-reading-page .wp-block-post-content h2 { font-size: clamp(24px, 2.5vw, 28px) !important; font-weight: 650; margin-top: 1.8em; margin-bottom: .7em; }
body.ahr-reading-page .wp-block-post-content h3 { font-size: 23px !important; }
body.ahr-reading-page .wp-block-post-content :is(figcaption,figcaption p) { font-size: 14px !important; line-height: 1.65 !important; }
body.ahr-reading-page .wp-block-post-content :is(.ahr-article-meta,.ahr-card-meta,.ahr-related-meta) { font-size: 14px !important; line-height: 1.65 !important; }
body.ahr-reading-page .ahr-related-grid :is(p,li) { font-size: 15px !important; line-height: 1.65 !important; }
body.ahr-reading-page .ahr-related-grid h3 { font-size: 19px !important; margin-top: 0; }
body.ahr-reading-page .wp-block-post-content :is(.ahr-type,.ahr-content-kind) { font-size: 13px !important; }
body.ahr-reading-page .wp-block-post-content .ahr-share :is(p,li) { font-size: 14px !important; }
body.ahr-reading-page .wp-block-post-content :is(input,button) { font-size: 16px; }
@media (max-width: 600px) {
  body.ahr-reading-page .wp-block-post-content :is(p,li) { font-size: 18px !important; }
  body.ahr-reading-page h1.wp-block-post-title { font-size: 30px !important; line-height: 1.35 !important; }
  body.ahr-reading-page .wp-block-post-content :is(.ahr-article-meta,.ahr-card-meta,.ahr-related-meta,figcaption,figcaption p) { font-size: 14px !important; }
  body.ahr-reading-page .ahr-related-grid :is(p,li) { font-size: 15px !important; }
  body.ahr-reading-page .wp-block-post-content :is(.ahr-type,.ahr-content-kind) { font-size: 13px !important; }
}
/* Chinese pages use a right-justified template; center the reading column. */
body.ahr-reading-page .wp-block-post-content > .ahr-zh-article {
  margin-left: auto !important;
  margin-right: auto !important;
  width: 100%;
  max-width: 900px !important;
  box-sizing: border-box;
}
/* Grid gap controls card spacing; Gutenberg flow margins must not offset cells. */
.ahr-zh-grid > .ahr-zh-card {
  margin-block-start: 0 !important;
  margin-block-end: 0 !important;
}
.ahr-zh-card > figure:first-child { margin-top: 0 !important; }
/* Explicit block widths prevent linked hero images shrinking in mobile browsers. */
@media (max-width: 781px) {
  .ahr-zh-home .ahr-zh-lead > figure,
  .ahr-zh-home .ahr-zh-lead > figure > a {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box;
  }
  .ahr-zh-home .ahr-zh-lead > figure img {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    aspect-ratio: 16 / 9 !important;
    object-fit: cover;
  }
}
