/* RC262.1: clean system typography, with Chinese fallbacks and no external font requests. */
:root{
  --font-sans:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Helvetica Neue","PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans CJK SC",Arial,sans-serif;
  --heading-font:var(--font-sans);
  --body-size:16px;
}
body{font-family:var(--font-sans);font-weight:400;text-rendering:optimizeLegibility}
:root.large-text{--body-size:18px}
.site-header .brand .brand-mark{width:48px;height:48px;object-fit:contain}
.site-footer .brand .brand-mark{width:48px;height:48px;object-fit:contain}
.about-mark .brand-mark{width:82px;height:82px;object-fit:contain}
.dialog-head .brand-mark{width:38px;height:38px;object-fit:contain}
.mini-search-card .brand-mark{width:50px;height:50px;object-fit:contain;flex-shrink:0}
h1,h2,h3,h4{font-family:var(--font-sans)}
.hero h1{font-size:clamp(42px,4.4vw,64px);font-weight:600;line-height:1.24;letter-spacing:-1.6px}
.hero h1 em::after{display:none}
.hero-description{font-size:16px;font-weight:400;line-height:1.9;letter-spacing:0;margin-top:27px}
h2{font-size:34px;font-weight:600;line-height:1.4;letter-spacing:-.85px}
.mini-copy h2{font-size:35px;font-weight:600;line-height:1.35;letter-spacing:-.85px}
.journey-heading h2,.faq-layout h2,.about-copy h2{font-size:32px;font-weight:600;line-height:1.4;letter-spacing:-.7px}
.brand strong{font-weight:650;letter-spacing:.2px}
.eyebrow{letter-spacing:.05em;font-weight:500}
.button,.card-link,.text-link{font-weight:500;letter-spacing:0}
.service-card h3,.partner-list h3,.stage-copy h3{font-weight:600;letter-spacing:-.35px}
.health-copy h3{font-weight:600;letter-spacing:-.6px}
.card-number,.journey-tabs button,.journey-tabs button span,.partner-list article>span,.about-contact>a,.dialog-steps li>span,.type-toggle>span:first-child{font-family:var(--font-sans);font-variant-numeric:tabular-nums}
.dialog-body h2{font-size:27px;line-height:1.4;font-weight:600;letter-spacing:-.5px}
.large-text .hero h1{font-size:clamp(46px,4.4vw,66px);line-height:1.3;letter-spacing:-1.1px}
@media(max-width:1000px){
  .hero h1{font-size:clamp(32px,4.4vw,44px);letter-spacing:-.9px;line-height:1.32}
  h2,.journey-heading h2,.faq-layout h2,.about-copy h2{font-size:30px;letter-spacing:-.5px}
  .mini-copy h2{font-size:31px}
  .large-text .hero h1{font-size:clamp(35px,4.6vw,46px)}
}
@media(max-width:700px){
  .site-header .brand .brand-mark{width:42px;height:42px}
  .hero h1{font-size:clamp(30px,7.7vw,42px);letter-spacing:-.65px;line-height:1.36}
  .hero-description{font-size:15px;line-height:1.9}
  h2,.journey-heading h2,.faq-layout h2,.about-copy h2,.mini-copy h2{font-size:28px;line-height:1.45;letter-spacing:-.4px}
  .large-text .hero h1{font-size:clamp(32px,8vw,45px);letter-spacing:-.5px}
  .large-text .hero-description{font-size:18px}
}

/* RC262.5: strengthen reading text while leaving every heading rule unchanged. */
:root{--font-reading:"PingFang SC","Microsoft YaHei UI","Microsoft YaHei","Noto Sans CJK SC",-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}
body{font-family:var(--font-reading);font-weight:500}
.brand strong{font-family:var(--font-sans)}
.hero-description,.section-intro,.service-card>p,.service-footnote,
.stage-copy>p,.stage-copy li,.journey-heading>p:not(.eyebrow),
.health-copy p,.health-copy small,.mini-copy>p:not(.eyebrow),.mini-note,
.partner-list p,.faq-list details p,.about-copy>p:not(.eyebrow),.about-contact>p,
.hero-location,.trust-strip small,.service-details,.footer-bottom,
.dialog-description,.dialog-steps p,.dialog-legal p,.dialog-tip{
  font-family:var(--font-reading);
  font-weight:500;
  -webkit-text-stroke:.12px currentColor;
}
.hero-description{color:#4e5d54}
.section-intro,.service-card>p,.service-footnote,.stage-copy>p,.stage-copy li,
.journey-heading>p:not(.eyebrow),.health-copy p,.health-copy small,
.partner-list p,.faq-list details p,.about-copy>p:not(.eyebrow),.about-contact>p,
.hero-location,.trust-strip small,.service-details,.footer-bottom,
.dialog-description,.dialog-steps p,.dialog-legal p{color:#536153}
.desktop-nav a,.mobile-nav,.order-link,.type-toggle,.button,.card-link,.text-link,
.copy-button,.footer-nav,.footer-nav button,.footer-top-link,.footer-bottom button,
.journey-tabs button span{
  font-family:var(--font-reading);
  font-weight:600;
}
.eyebrow,.small-tag,.trust-strip strong,.contact-list span{font-family:var(--font-reading);font-weight:600}
.brand small,.art-note,.art-caption,.mini-search-card small{font-weight:500}
