/* 3-BASE */
body {
  font-family: var(--font-sans);
  font-size: var(--fs-base);
  color: var(--color-text);
  background: var(--color-bg);
}
h1,h2,h3,h4,h5,h6 { line-height: var(--lh-tight); font-weight: var(--fw-bold); }
h1 { font-size: var(--fs-3xl); }
h2 { font-size: var(--fs-2xl); }
h3 { font-size: var(--fs-xl); }
h4 { font-size: var(--fs-lg); }
p { line-height: var(--lh-base); }
a { color: var(--color-brand); transition: color var(--ease-base); }
/* 內文連結 hover 變紅;按鈕類(class 含 btn/cta/button)不套用,以免白字變紅字看不見。
   用 :where() 包排除條件,權重維持與原本 a:hover 相同(0,1,1),不干擾各按鈕自己的 hover。 */
a:where(:not([class*="btn"], [class*="cta"], [class*="button"])):hover { color: var(--color-brand-hover); }
:focus-visible { outline: 2px solid var(--color-brand); outline-offset: 2px; }
