/* Dwinari type scale. Plus Jakarta Sans only (400, 600, 800); sizes in rem from a 16 px root.
   Fluid sizes run from a 360 px phone to a 1280 px desktop. See docs/brand/guidelines.md. */
:root {
  --font-sans: "Plus Jakarta Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  --text-display: clamp(2.25rem, 1.67rem + 2.6vw, 3.5rem);   /* 36 → 56 px */
  --text-h1: clamp(1.875rem, 1.53rem + 1.56vw, 2.5rem);       /* 30 → 40 px */
  --text-h2: clamp(1.5rem, 1.33rem + 0.78vw, 1.875rem);       /* 24 → 30 px */
  --text-h3: 1.25rem;                                          /* 20 px */
  --text-lead: clamp(1.0625rem, 1.01rem + 0.22vw, 1.1875rem); /* 17 → 19 px */
  --text-body: clamp(1rem, 0.97rem + 0.11vw, 1.0625rem);      /* 16 → 17 px */
  --text-small: 0.875rem;                                      /* 14 px */
  --text-label: 0.8125rem;                                     /* 13 px */
}
.t-display { font: 800 var(--text-display)/1.08 var(--font-sans); letter-spacing: -0.02em; }
.t-h1 { font: 800 var(--text-h1)/1.15 var(--font-sans); letter-spacing: -0.015em; }
.t-h2 { font: 800 var(--text-h2)/1.2 var(--font-sans); letter-spacing: -0.01em; }
.t-h3 { font: 600 var(--text-h3)/1.3 var(--font-sans); }
.t-lead { font: 400 var(--text-lead)/1.55 var(--font-sans); }
.t-body { font: 400 var(--text-body)/1.6 var(--font-sans); }
.t-small { font: 400 var(--text-small)/1.5 var(--font-sans); }
.t-label { font: 600 var(--text-label)/1.4 var(--font-sans); }
.t-button { font: 600 1rem/1.25 var(--font-sans); }
.t-num { font-variant-numeric: tabular-nums; }
