/* Portal reading hierarchy; the Portfolio wordmark, marquee and large
   figures retain their original expressive scale. */
body {
  --portal-reading-font: "PingFang SC", -apple-system, BlinkMacSystemFont, "Microsoft YaHei", sans-serif;
  --portal-heading-size: clamp(40px, 3.5vw, 56px);
  font-family: var(--portal-reading-font);
}
body .profile-copy h2,
body .experience-heading h2,
body .intro-directions .directions-header h2,
body .gallery-heading h2,
body .contact-footer h2 { font-size:var(--portal-heading-size); font-weight:500; line-height:1.25; }
body .direction-name { font-size:22px; font-weight:500; line-height:1.4; }
body .case-title-row h3,
body .gallery-pair .case-title-row h3 { font-size:28px; font-weight:500; line-height:1.4; }
body .experience-section .history-project h3 { font-size:20px; line-height:1.5; font-weight:500; }
body .profile-intro,
body .experience-section .history-project>p,
body .direction-description,
body .case-summary,
body .gallery-pair .case-summary,
body .contact-intro>p { font-size:16px; font-weight:400; line-height:1.8; }
body .experience-section .profile-history .history-role,
body .profile-facts span,
body .gallery-heading>p>span,
body .quant-cover-copy>p { font-size:14px; line-height:1.7; }
body .profile-facts div { flex-wrap:wrap; row-gap:4px; }
body .profile-eyebrow,
body .experience-heading p,
body .directions-header>p,
body .story-kicker,
body .cover-fact>span,
body .scroll-cue,
body .profile-next,
body .next-cue,
body .direction-card-meta,
body .direction-tags>span,
body .case-tags>span,
body .by-wecom>span,
body .by-mini>span,
body .composition-label,
body .quant-cover-top,
body .quant-cover-note,
body .contact-kicker,
body .contact-label,
body .contact-copy,
body .contact-copy-status,
body .contact-wechat figcaption,
body .contact-footer .footer-bottom,
body .contact-footer .footer-nav { font-size:12px; line-height:1.5; }
body .experience-section .profile-history time { font-size:14px; line-height:20px; }
body .quant-cover-cta { font-size:14px; line-height:1.5; }
/* Retain the compact-height portrait composition with readable body copy. */
@media(max-height:800px) and (min-width:1000px) {
  body .profile-copy h2 { font-size:40px; }
  body .profile-intro { font-size:16px; line-height:1.7; }
}
