/* ===== 全頁字體系統（10-31，fable 第二版第 2 步）=====
   原本 20 種字級（56／49／48／42／40／36／34／28／26／24／22／21／18／17／16／15／14／13／12／9）
   收成五階，每階只有一種用法：
     巨型   「聖芯」字標           Noto Serif TC 500，hero2.css 管
     標題   區塊標題、影片字幕、大數字  Noto Serif TC 700  clamp(30px, 3.2vw, 48px)
     小標題 卡片標題、H1            Noto Serif TC 700  24px（手機 21px）
     內文   段落、清單、按鈕、卡片說明  Noto Sans TC 400／500  16px
     標籤   分類、步驟、日期、編號      IBM Plex Mono 500  12px，字距 .08em
   導覽列、公告列、表單屬於介面零件，不在這套裡（維持原樣）。
   中文標題不加字距（明體加字距會散）。 */
:root{
  --t-title:clamp(30px,3.2vw,48px);
  --t-sub:24px;
  --t-body:16px;
  --t-label:12px;
  --f-serif:'Noto Serif TC',serif;
  --f-sans:'Noto Sans TC',sans-serif;
  --f-mono:'IBM Plex Mono',ui-monospace,'SFMono-Regular',Menlo,'Noto Sans TC',monospace;
}
@media (max-width:768px){ :root{--t-sub:21px} }

/* 標題階 */
:is(#service,#why-us,#cases,#testimonials,#news,#newsGrid,#quick-repair,#facts,#showcase,body) .sec-cn,html body .sv-h,html body .svc-t,html body .hw-cap-t,html body .fx-manifesto,html body .cta-text,html body .wf-title{   /* :is(#id…) 拿到 id 級權重，壓過 slim.css 的 #cases .sec-cn（光 html body 不夠）*/
  font-family:var(--f-serif)!important;font-weight:700!important;font-size:var(--t-title)!important;line-height:1.35!important;letter-spacing:0!important;text-wrap:balance}
.fx-manifesto{line-height:1.6!important}
/* 大數字：同標題尺寸，改等寬（工程感，數字對齊） */
#why-us .slim-stats li b,.testi-summary-score,.why-num{
  font-family:var(--f-mono)!important;font-weight:400!important;font-size:var(--t-title)!important;line-height:1!important;letter-spacing:-.02em!important;font-variant-numeric:tabular-nums}
#why-us .slim-stats li b small{font-family:var(--f-sans)!important;font-size:var(--t-body)!important;font-weight:500!important;letter-spacing:0!important;margin-left:4px}

/* 小標題階 */
.hw-h1,.rt-ctitle,.rt-ctitle2,.slim-h3,#facts dt{
  font-family:var(--f-serif)!important;font-weight:700!important;font-size:var(--t-sub)!important;line-height:1.45!important;letter-spacing:0!important}
.hw-h1 small{font-family:var(--f-sans)!important;font-weight:400!important;font-size:var(--t-body)!important}

/* 內文階 */
.about-body,.about-body p,.svc-ld,.sv-lead,.hw-cap-f,.rt-cdesc,.rt-sd,.svc-it li,.news-card-title,.wf-who,.wf-body p,
.testi-text,.slim-as-list li span,.slim-as-list li b,.slim-note,.slim-b2b,#facts dd,
.hw-line,.sv-link,.svc-btn,.rt-rbmore,.testi-summary-cta,.rt-st,.rt-rbname,#service b{
  font-size:var(--t-body)!important;letter-spacing:0!important}
.about-body,.svc-ld,.sv-lead,.rt-cdesc,.rt-sd,.svc-it li,.wf-body p,.testi-text,#facts dd{line-height:1.8!important}
.news-card-title{font-weight:500!important;line-height:1.6!important}

/* 標籤階：等寬、小、字距開 */
.t-label,.hw-row,.svc-eb,.svc-st,.rt-kicker,.news-card-tag,.news-card-date,.trust-chip,.wf-who-label,.step-num{
  font-family:var(--f-mono)!important;font-weight:500!important;font-size:var(--t-label)!important;letter-spacing:.08em!important;text-transform:uppercase;font-variant-numeric:tabular-nums}
.news-card-tag{background:none!important;padding:0!important;color:var(--sky)!important}
.rt-kicker{color:var(--sky)!important}
.svc-eb,.svc-st{opacity:.85}
.hw-tel{font-family:var(--f-mono)!important;font-size:var(--t-body)!important}

/* 收尾：其餘 13～14px 併階 */
html body .rp-note,html body .testi-quote,html body #why-us .slim-stats li span,html body .rp-btn,html body .rp-lk,html body .testi-name,html body .btn-line,html body .slf-submit{font-size:var(--t-body)!important;letter-spacing:0!important}
html body #why-us .slim-stats li span{color:var(--ink-2)}
html body .case-title{font-family:var(--f-mono)!important;font-weight:500!important;font-size:var(--t-label)!important;letter-spacing:.08em!important}
/* 手機另外有一批 15／13px（slim.css 手機段）：內容類併階，頁尾連結與底部按鈕列屬介面零件不動 */
html body .rp-note,html body .all-btn,html body #why-us a{font-size:var(--t-body)!important}
html body .case-loc,html body .case-tag,html body #cases .c,html body #quick-repair figcaption,html body .testi-meta,html body .testi-sum-label,html body .svc-nt{
  font-family:var(--f-mono)!important;font-weight:500!important;font-size:var(--t-label)!important;letter-spacing:.08em!important;font-variant-numeric:tabular-nums}
html body :is(#service,#quick-repair,#why-us,body) .rp-note{font-size:var(--t-body)!important}
