/* ============================================================
   TYPOGRAPHY: lighter weights to match the thin-stroke 泰山AI logo.
   Loaded last on every page so it wins over main/home/page sheets.
   Display text -> 500, large numbers -> 400, headings of cards/lists -> 500, inline emphasis -> 600.
   Latin: General Sans (self-hosted, see fonts.css). Chinese: PingFang SC / Microsoft YaHei.
   ============================================================ */

/* Display: page and section titles, product names */
h1,h2,
.hero h1,.prod-hero h1,.sec-title,.careers h2,.contact-title,
.dive-brand,.prod-found-name,.article-body h2{font-weight:500;}

.hero h1{letter-spacing:-.6px;}
.sec-title{letter-spacing:-.4px;}
.careers h2,.contact-title{letter-spacing:-.3px;}
.prod-hero h1,.dive-brand{letter-spacing:-.8px;}
.article-body h2{letter-spacing:0;}
.hero h1 b,.sec-title b,.hero h1 strong,.sec-title strong{font-weight:600;}

/* Numbers set large */
.flow-idx,.article-stats .num,.stat-num,
.impact-stat b,.careers-stat b,.case-hero-stat b{font-weight:400;}

/* Card, list and step headings */
h3,h4,
.evo-name,.plat-en,.impact-h,.fw-step h4,.flow-step h4,.stack-mini-name,
.cap-card h3,.team-name,.split-panel h3,.mini-case h4,.nr-row h3,
.prod-app-card h3,.case-nav-title,.dive-feat b,.dive-feat-icon span,
.mega-found a span,.footer-brand,.brand,.level-lv,.case-row .case-title{font-weight:500;}

/* Inline emphasis inside body copy */
.dive-def b,.article-body ul li b,.article-body p b,.mega a.current small{font-weight:600;}

/* Line breaking: balance titles and centered subtitles so no line is left
   with a lone word; keep paragraphs from ending on a one-word line. */
h1,h2,h3,.sec-title,.contact-title{text-wrap:balance;}
p,.sec-sub,li{text-wrap:pretty;}
.sec-head[style*="text-align:center"] .sec-sub,[style*="text-align:center"]>.sec-sub{text-wrap:balance;}
section[style*="text-align:center"] p,.why-us-close{text-wrap:balance;}
/* Keep a Chinese phrase on one line; wrap only between phrases. */
.phr{display:inline-block;}

/* All titles and product names use the same sans as body text; mono is kept
   only for small labels, dates and data figures. */
.prod-hero h1,.dive-brand,.prod-found-name,.mega-found a span,.plat-en,.brand,.footer-brand{font-family:var(--font-sans);}
