/* Design tokens — 「過度影像視覺識別 ver2023」: black #000000 / light grey #EFEFEF,
   Helvetica Neue UltraLight (Latin), Source Han Sans Light (Chinese, loaded as Noto Sans TC).
   One size per text role; each breakpoint redefines the roles, never individual components. */
:root{
  --paper:#efefef;--paper-2:#e4e4e4;--paper-3:#d6d6d6;
  --ink:#000;--ink-2:#262626;--muted:#5f5f5f;--line:#d0d0d0;
  --dark:#000;--dark-2:#111;--dark-line:rgb(255 255 255 / 16%);
  --on-dark:#efefef;--on-dark-muted:#a3a3a3;
  --gutter:clamp(20px,4.4vw,64px);--max:1440px;--bar:60px;--header:84px;
  --radius:14px;--radius-s:10px;--ease:cubic-bezier(.22,1,.36,1);

  --fs-hero:clamp(96px,11vw,176px);
  --fs-display:clamp(64px,8vw,128px);
  --fs-statement:clamp(40px,5vw,76px);
  --fs-h2:clamp(32px,3.4vw,52px);
  --fs-h3:22px;
  --fs-lead:clamp(19px,1.6vw,24px);
  --fs-body:17px;
  --fs-small:13px;

  --font:"Helvetica Neue","Noto Sans TC","Source Han Sans TC","PingFang TC","Microsoft JhengHei",sans-serif;
  --font-latin:"Helvetica Neue","Inter Tight",Helvetica,Arial,sans-serif;
  --font-mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace;
  --grain:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .6 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
}
/* Tablet */
@media(max-width:1024px){:root{--fs-hero:clamp(96px,14vw,140px);--fs-display:clamp(64px,10vw,104px)}}
/* Phone: a poster-scale hero, comfortable reading sizes, nothing below 13px. */
@media(max-width:700px){:root{--fs-hero:clamp(88px,26vw,132px);--fs-display:clamp(52px,15vw,72px);--fs-statement:clamp(36px,10.5vw,48px);--fs-h2:clamp(30px,8.4vw,36px);--fs-h3:20px;--fs-lead:19px;--fs-body:16px;--bar:56px;--header:76px}}

body{font:300 var(--fs-body)/1.8 var(--font);letter-spacing:.01em;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-kerning:normal}
h1,h2,h3,p,ul,ol,dl,dd,figure{margin:0}
h1{font-size:var(--fs-display);font-weight:200;line-height:1.08;letter-spacing:-.02em}
h2{font-size:var(--fs-h2);font-weight:300;line-height:1.3;letter-spacing:-.005em}
h3{font-size:var(--fs-h3);font-weight:400;line-height:1.5}
h1,h2,h3,p{text-wrap:pretty}
.eyebrow,.section-sub,.work-meta,.tab-label,.case-meta dt,.step-num,.service-index,.row-num,.footer-meta,.brief-privacy,.copy-status,label{font-size:var(--fs-small);line-height:1.6;letter-spacing:.04em}
.eyebrow{color:var(--muted)}
.step-num,.service-index,.row-num{font-family:var(--font-mono);letter-spacing:.02em}
