/* Type scale, weights, tracking. Sizes are absolute px — the brand reads as
   engineered, so the scale is a fixed set of steps, not a ratio applied loosely. */
:root{
  /* Sizes */
  --text-2xs:11px; --text-xs:12px;  --text-sm:13px;  --text-base:15px;
  --text-md:17px;  --text-lg:20px;  --text-xl:24px;  --text-2xl:30px;
  --text-3xl:38px; --text-4xl:48px; --text-5xl:62px; --text-6xl:80px;

  /* Line heights (unitless) */
  --leading-flush:1.0; --leading-tight:1.08; --leading-snug:1.22;
  --leading-normal:1.45; --leading-relaxed:1.6; --leading-loose:1.75;

  /* Weights */
  --weight-regular:400; --weight-medium:500; --weight-semibold:600; --weight-bold:700;

  /* Tracking */
  --tracking-tighter:-0.028em; --tracking-tight:-0.018em; --tracking-snug:-0.008em;
  --tracking-normal:0em; --tracking-wide:0.04em; --tracking-label:0.10em; --tracking-caps:0.14em;

  /* ---- Semantic roles ---- */
  --type-display-font:var(--font-display);
  --type-display-size:var(--text-5xl);
  --type-display-leading:var(--leading-tight);
  --type-display-tracking:var(--tracking-tighter);
  --type-display-weight:var(--weight-semibold);

  --type-h1-size:var(--text-4xl); --type-h1-leading:var(--leading-tight);  --type-h1-tracking:var(--tracking-tighter);
  --type-h2-size:var(--text-3xl); --type-h2-leading:var(--leading-snug);   --type-h2-tracking:var(--tracking-tight);
  --type-h3-size:var(--text-2xl); --type-h3-leading:var(--leading-snug);   --type-h3-tracking:var(--tracking-tight);
  --type-h4-size:var(--text-xl);  --type-h4-leading:var(--leading-snug);   --type-h4-tracking:var(--tracking-snug);
  --type-h5-size:var(--text-md);  --type-h5-leading:var(--leading-normal); --type-h5-tracking:var(--tracking-snug);

  --type-lead-size:var(--text-lg);   --type-lead-leading:var(--leading-relaxed);
  --type-body-size:var(--text-base); --type-body-leading:var(--leading-relaxed);
  --type-small-size:var(--text-sm);  --type-small-leading:var(--leading-normal);
  --type-caption-size:var(--text-xs);--type-caption-leading:var(--leading-normal);

  /* Eyebrow / label — mono, uppercase, wide. The brand's signature small type. */
  --type-eyebrow-font:var(--font-mono);
  --type-eyebrow-size:var(--text-2xs);
  --type-eyebrow-weight:var(--weight-medium);
  --type-eyebrow-tracking:var(--tracking-label);
  --type-eyebrow-transform:uppercase;

  /* Control type — buttons, inputs, tabs, menu items */
  --type-control-sm:13px; --type-control-md:14px; --type-control-lg:15px;
  --type-control-weight:var(--weight-medium);
  --type-control-tracking:var(--tracking-snug);

  /* Editorial serif — pull quotes, single-sentence statements */
  --type-quote-font:var(--font-serif);
  --type-quote-size:var(--text-2xl);
  --type-quote-leading:var(--leading-snug);
  --type-quote-weight:var(--weight-regular);
}
