/* ============================================================
   TYPOGRAPHY — rhythm: mono eyebrow → Fraunces head → Hanken body
   Values taken from the live rpwachter.com section code.
   ============================================================ */
:root{
/* Weights — Fraunces runs at non-round variable weights on purpose */
--w-regular:400;/* @kind font */--w-display:430;/* @kind font */   /* h1 */
--w-italic:480;/* @kind font */                    /* italic inline link / run-on CTA */
--w-nav:440;/* @kind font */                       /* drawer nav links */
--w-wordmark:520;/* @kind font */
--w-medium:500;/* @kind font */--w-semibold:600;/* @kind font */--w-bold:700;/* @kind font */

/* Display scale (Fraunces, opsz 144) */
--t-display-1:clamp(2rem,3.4vw,3.3rem);/* @kind font */ /* hero h1 — the live value */
--t-display-2:clamp(1.9rem,2.9vw,2.9rem);/* @kind font */
--t-display-3:clamp(1.6rem,2.2vw,2.15rem);/* @kind font */
--t-head:1.5rem;
--t-nav-link:clamp(1.7rem,5vw,2.3rem);/* @kind font */  /* drawer links */

/* Body scale (Hanken Grotesk) */
--t-lead:clamp(1.08rem,1.4vw,1.28rem);/* @kind font */
--t-body:1.0625rem;  /* 17px */
--t-small:0.9375rem; /* 15px */

/* Utility / data (IBM Plex Mono) */
--t-eyebrow:13px;--t-label:11px;--t-micro:10px;

/* Line heights */
--lh-display:1.06;/* @kind other */--lh-tight:1.04;/* @kind other */--lh-snug:1.18;/* @kind other */--lh-lead:1.55;/* @kind other */--lh-body:1.62;/* @kind other */--lh-mono:1.5;/* @kind other */

/* Tracking */
--track-display:-0.02em;/* @kind other */--track-eyebrow:0.22em;/* @kind other */--track-label:0.26em;/* @kind other */--track-body:0;/* @kind other */--track-wordmark:0.004em;/* @kind other */

/* Measures */
--measure-lead:540px;/* @kind spacing */--measure-prose:720px;/* @kind spacing */--measure-display:820px;/* @kind spacing */

/* compat aliases */
--type-display-family:var(--font-display);--type-heading-family:var(--font-display);--type-body-family:var(--font-body);--type-eyebrow-family:var(--font-mono);--type-footnote-family:var(--font-body);--type-button-family:var(--font-body);
--type-body-size:var(--t-body);--type-body-leading:var(--lh-body);/* @kind other */--type-body-weight:var(--w-regular);/* @kind font */--type-lead-size:var(--t-lead);--type-lead-weight:var(--w-regular);/* @kind font */
--type-display-weight:var(--w-display);/* @kind font */--type-heading-weight:var(--w-display);/* @kind font */--type-eyebrow-size:var(--t-eyebrow);--type-eyebrow-weight:var(--w-medium);/* @kind font */--type-button-weight:var(--w-semibold);/* @kind font */--type-button-size:17px;--type-footnote-size:var(--t-small);--type-footnote-leading:1.5;/* @kind other */
--tracking-display:var(--track-display);/* @kind other */--tracking-heading:var(--track-display);/* @kind other */--tracking-eyebrow:var(--track-eyebrow);/* @kind other */--tracking-body:0;/* @kind other */--tracking-button:0.005em;/* @kind other */
--weight-light:300;/* @kind font */--weight-regular:400;/* @kind font */--weight-medium:500;/* @kind font */--weight-semibold:600;/* @kind font */--weight-bold:700;/* @kind font */--weight-black:900;/* @kind font */
--leading-tight:var(--lh-tight);/* @kind other */--leading-display:var(--lh-display);/* @kind other */--leading-snug:var(--lh-snug);/* @kind other */--leading-body:var(--lh-body);/* @kind other */--leading-loose:1.78;/* @kind other */
--display-1:var(--t-display-1);--display-2:var(--t-display-2);--display-3:var(--t-display-3);--display-4:var(--t-head);
--size-2xs:10px;--size-xs:11px;--size-sm:13px;--size-base:15px;--size-md:17px;--size-lg:1.28rem;--size-xl:1.5rem;--size-2xl:1.9rem;--size-3xl:2.4rem;--size-4xl:3rem;--size-5xl:3.3rem;--size-6xl:4.5rem;--size-7xl:6rem
}
/* ---- utility classes (tokens remain the source of truth) ---- */
.t-eyebrow{font-family:var(--font-mono);font-size:var(--t-eyebrow);font-weight:var(--w-medium);letter-spacing:var(--track-eyebrow);text-transform:uppercase;color:var(--text-secondary)}
.t-display{font-family:var(--font-display);font-variation-settings:var(--opsz-display);font-weight:var(--w-display);font-size:var(--t-display-1);line-height:var(--lh-display);letter-spacing:var(--track-display);color:var(--text-display);text-wrap:balance}
.t-display .signal{color:var(--accent);font-variation-settings:var(--opsz-display)}
.t-body{font-family:var(--font-body);font-size:var(--t-body);line-height:var(--lh-body);color:var(--text-default)}
