/* Typography v1.0 — shared front-end tokens. */
html { font-size: 100%; }
:root {
  --type-family: Inter, "Noto Sans TC", system-ui, sans-serif;
  --type-h1: 2rem; --type-h2: 1.75rem; --type-h3: 1.5rem;
  --type-h4: 1.25rem; --type-h5: 1.125rem; --type-h6: 1rem;
  --type-body: 1rem; --type-secondary: .9375rem; --type-control: 1rem;
  --type-note: .875rem; --type-micro: .75rem;
}
@media (min-width: 768px) {
  :root {
    --type-h1: 2.5rem; --type-h2: 2rem; --type-h3: 1.75rem;
    --type-h4: 1.375rem; --type-h5: 1.25rem; --type-h6: 1.125rem;
    --type-body: 1.0625rem; --type-secondary: 1rem;
  }
}
@media (min-width: 1024px) {
  :root {
    --type-h1: 3rem; --type-h2: 2.5rem; --type-h3: 2rem;
    --type-h4: 1.5rem; --type-body: 1.125rem;
  }
}
body {
  --body-font: var(--type-family); --ui-font: var(--type-family);
  --text-font: var(--type-family); --h-font: var(--type-family);
  --title-font: var(--type-family); --post-content-size: var(--type-body);
  --single-content-size: var(--type-body); --post-content-lh: 1.7;
  font: 400 var(--type-body)/1.7 var(--type-family);
}
body :is(h1,h2,h3,h4,h5,h6,.elementor-heading-title,.type-h1,.type-h2,.type-h3,.type-h4,.type-h5,.type-h6) {
  font-family: var(--type-family) !important;
  overflow-wrap: anywhere;
}
body :is(h1,.type-h1) { font-size: var(--type-h1) !important; font-weight: 700 !important; line-height: 1.2 !important; }
body :is(h2,.type-h2) { font-size: var(--type-h2) !important; font-weight: 700 !important; line-height: 1.3 !important; }
body :is(h3,.type-h3) { font-size: var(--type-h3) !important; font-weight: 600 !important; line-height: 1.3 !important; }
body :is(h4,.type-h4) { font-size: var(--type-h4) !important; font-weight: 600 !important; line-height: 1.4 !important; }
body :is(h5,.type-h5) { font-size: var(--type-h5) !important; font-weight: 600 !important; line-height: 1.4 !important; }
body :is(h6,.type-h6) { font-size: var(--type-h6) !important; font-weight: 600 !important; line-height: 1.4 !important; }
body :is(.post-content,.elementor-widget-text-editor,.type-body) { font: 400 var(--type-body)/1.7 var(--type-family) !important; overflow-wrap: anywhere; }
body :is(.post-excerpt,.archive-description,.type-secondary) { font: 400 var(--type-secondary)/1.7 var(--type-family) !important; }
body :is(.navigation .menu a,.navigation-scroll .menu a,.mobile-menu a,.type-nav) { font: 500 var(--type-control)/1.4 var(--type-family) !important; }
body :is(button:not([class*="icon"]),.elementor-button,.load-button,.type-button,input[type="submit"]) { font: 600 var(--type-control)/1.4 var(--type-family) !important; white-space: normal; height: auto; }
body :is(input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),select,textarea,.type-form) { font: 400 var(--type-control)/1.7 var(--type-family) !important; max-width: 100%; }
body :is(.post-meta,.post-meta a,.cat-label,.cat-labels a,figcaption,.type-note) { font: 400 var(--type-note)/1.5 var(--type-family) !important; }
body .type-micro { font: 400 var(--type-micro)/1.5 var(--type-family) !important; }
