:root{
--font-display:"Archivo","Helvetica Neue",Arial,sans-serif;
--font-sans:"Figtree","Helvetica Neue",Arial,sans-serif;
--font-mono:"JetBrains Mono",ui-monospace,SFMono-Regular,monospace;
/* CJK stack — Traditional Chinese first, then SC / JP / KR, falling back to the Latin sans */
--font-cjk:"Figtree","Noto Sans TC","PingFang TC","Microsoft JhengHei","Noto Sans SC","PingFang SC","Hiragino Sans","Noto Sans JP","Noto Sans KR","Helvetica Neue",Arial,sans-serif;
/* Scale — one scale for both breakpoints; 16px body matches Pinterest, Dribbble,
   Airbnb, Figma, and the 14–16px floor Chinese-language sites require. */
--fs-display-xl:76px;--fs-display-l:44px;--fs-display-m:32px;--fs-display-s:24px;
--fs-title:22px;--fs-body-l:18px;--fs-body:16px;--fs-body-s:14px;--fs-caption:13px;--fs-micro:12px;
/* Line heights */
--lh-tight:1.02;/* @kind other */--lh-display:1.12;/* @kind other */--lh-snug:1.3;/* @kind other */--lh-body:1.6;/* @kind other */
/* Weights */
--fw-regular:400;/* @kind other */--fw-medium:500;/* @kind other */--fw-semibold:600;/* @kind other */--fw-bold:700;/* @kind other */--fw-black:800;/* @kind other */
/* Tracking */
--track-display:-.02em;/* @kind other */--track-tight:-.01em;/* @kind other */--track-normal:0;/* @kind other */--track-label:.02em;/* @kind other */--track-micro:.08em;/* @kind other */--track-label-sm:.06em;/* @kind other */--track-badge:.04em;/* @kind other */
/* Semantic roles */
--type-hero:var(--fw-black) var(--fs-display-l)/var(--lh-display) var(--font-display);/* @kind font */
--type-section:var(--fw-bold) var(--fs-display-m)/var(--lh-display) var(--font-display);/* @kind font */
--type-title:var(--fw-semibold) var(--fs-title)/var(--lh-snug) var(--font-sans);/* @kind font */
--type-body:var(--fw-regular) var(--fs-body)/var(--lh-body) var(--font-sans);/* @kind font */
--type-label:var(--fw-medium) var(--fs-body-s)/1.2 var(--font-sans);/* @kind font */
--type-caption:var(--fw-regular) var(--fs-caption)/1.4 var(--font-sans);/* @kind font */
}

/* Mobile — display sizes step down; the body scale is already at the Apple HIG
   (17px body / 11px floor) and Material 3 (16px body / 12px label) minimums. */
@media (max-width:600px){
  :root{
    --fs-display-xl:44px;--fs-display-l:30px;--fs-display-m:26px;--fs-display-s:21px;
    --fs-title:19px;
  }
}

/* Traditional Chinese and other CJK: strokes sit inside a fixed square, so glyphs
   need more leading, must never be letterspaced, and never rely on a Latin-only face. */
:lang(zh),:lang(ja),:lang(ko){
  --font-sans:var(--font-cjk);
  --font-display:var(--font-cjk);
  --lh-body:1.85;
  --track-display:0;
  --track-tight:0;
  --track-label:0;
  --track-micro:0;
  --track-label-sm:0;
  --track-badge:0;
  line-height:1.85;
}
:lang(zh) p,:lang(ja) p,:lang(ko) p,
:lang(zh) span,:lang(ja) span,:lang(ko) span,
:lang(zh) div,:lang(ja) div,:lang(ko) div,
:lang(zh) a,:lang(ja) a,:lang(ko) a,
:lang(zh) li,:lang(ja) li,:lang(ko) li,
:lang(zh) h1,:lang(zh) h2,:lang(zh) h3,
:lang(ja) h1,:lang(ja) h2,:lang(ja) h3,
:lang(ko) h1,:lang(ko) h2,:lang(ko) h3{line-height:1.85!important;letter-spacing:0!important}
