:root{--font-primary:"Microsoft YaHei","Microsoft YaHei UI","PingFang SC","Noto Sans CJK SC",system-ui,sans-serif}
body,button,input,select,textarea,h1,h2,h3,h4,p,a,li,dt,dd,.number,.counter,.entry-title,.entry-state,.eyebrow{font-family:var(--font-primary)}body{font-size:17px;font-weight:400;line-height:1.7}button,a{font-weight:500}h2{font-weight:600}h3,.scene h3,.case-copy h3,.product h3,.entry-title{font-size:24px;font-weight:600;line-height:1.45}h4{font-size:17px;font-weight:600}.hero-copy .lead{font-weight:400}.hero-copy strong{font-weight:700}.hero-description{font-size:17px;font-weight:400}.hero-ctas a,.text-link{font-weight:600}.scene p,.case-copy p,.product p{font-size:17px;font-weight:400}.scene dl,.number,.counter,.entry-state{font-size:14px;font-weight:400}.number,.counter{font-variant-numeric:tabular-nums}.eyebrow{font-size:13px;font-weight:500}.brand{font-weight:600}nav a{font-size:14px;font-weight:500}
svg text{font-family:var(--font-primary)!important;font-weight:500;letter-spacing:0;fill:#294760}.semantic-scene .diagram-small{font-size:18px}.semantic-scene .diagram-label{font-size:20px}.semantic-scene .diagram-title{font-size:22px;font-weight:600}.scene-intermediate{transform-box:fill-box;transform-origin:center}.h5-proj__svg text{font-size:9.5px;font-weight:500}.layer-art>.diagram-small{font-size:17px}.application-poster .cover-title{font-size:20px!important;font-weight:700;fill:#fff}.application-poster .cover-caption{font-size:11px!important;font-weight:500;fill:#f3e2cf}.application-poster{overflow:hidden}.semantic-scene .lab-replay{font-family:var(--font-primary);font-size:13px;font-weight:500}
@media(max-width:900px){h2,.section-head h2{font-size:36px}.layer-art>.diagram-small{font-size:21px}}
@media(max-width:719px){body,.hero-description,.scene p,.case-copy p,.product p{font-size:16px}h2,.section-head h2{font-size:30px}h3,.scene h3,.case-copy h3,.product h3,.entry-title{font-size:22px}.eyebrow{font-size:13px}.hero-copy strong{font-size:35px}.layer-art>.diagram-small{font-size:28px}}

/* r9: balance only the two mobile section titles; preserve wording and type scale. */
@media(max-width:719px){#abj-about h2,#abj-contact h2{text-wrap:balance}#abj-contact h2 .title-phrase{white-space:nowrap}}
