/* Facedoor — Typography
   One family, used with rigour. Inter for text, Inter Tight for large titles.
   Weights: 400 regular, 500 medium; 600 only on large titles. Nothing else.
   Numbers are first-class: display + stat text always uses tabular-nums. */
:root{
  --font-sans:'Inter','Inter Tight',system-ui,-apple-system,Segoe UI,sans-serif;
  --font-display:'Inter Tight','Inter',system-ui,-apple-system,sans-serif;

  --fw-regular:400;   /* @kind font */
  --fw-medium:500;    /* @kind font */
  --fw-semibold:600;  /* @kind font */

  /* Type scale (role -> size). Fluid where the role scales with viewport. */
  --fs-display:clamp(64px,7.5vw,96px); /* @kind font */
  --fs-h1:clamp(40px,4.6vw,56px); /* @kind font */
  --fs-h2:clamp(28px,3.2vw,36px); /* @kind font */
  --fs-h3:23px; /* @kind font */
  --fs-body-lg:20px; /* @kind font */
  --fs-body:17px; /* @kind font */
  --fs-caption:14px; /* @kind font */
  --fs-label:12px; /* @kind font */

  --lh-display:1.0;    /* @kind font */
  --lh-h1:1.1;         /* @kind font */
  --lh-h2:1.2;         /* @kind font */
  --lh-h3:1.3;         /* @kind font */
  --lh-body-lg:1.6;    /* @kind font */
  --lh-body:1.65;      /* @kind font */
  --lh-caption:1.5;    /* @kind font */
  --lh-label:1.4;      /* @kind font */

  --tracking-display:-0.03em;  /* @kind font */
  --tracking-h1:-0.02em;       /* @kind font */
  --tracking-h2:-0.02em;       /* @kind font */
  --tracking-h3:-0.01em;       /* @kind font */
  --tracking-body:0;           /* @kind font */
  --tracking-caption:0.01em;   /* @kind font */
  --tracking-label:0.10em;     /* @kind font */

  --measure:72ch; /* @kind other */
}

/* Composite role classes — convenience for cards, kits, prose. */
.t-display{font-family:var(--font-display);font-size:var(--fs-display);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-display);line-height:var(--lh-display);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1,"cv05" 1}
.t-h1{font-family:var(--font-display);font-size:var(--fs-h1);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-h1);line-height:var(--lh-h1)}
.t-h2{font-family:var(--font-sans);font-size:var(--fs-h2);font-weight:var(--fw-medium);letter-spacing:var(--tracking-h2);line-height:var(--lh-h2)}
.t-h3{font-family:var(--font-sans);font-size:var(--fs-h3);font-weight:var(--fw-medium);letter-spacing:var(--tracking-h3);line-height:var(--lh-h3)}
.t-body-lg{font-family:var(--font-sans);font-size:var(--fs-body-lg);font-weight:var(--fw-regular);line-height:var(--lh-body-lg)}
.t-body{font-family:var(--font-sans);font-size:var(--fs-body);font-weight:var(--fw-regular);line-height:var(--lh-body)}
.t-caption{font-family:var(--font-sans);font-size:var(--fs-caption);font-weight:var(--fw-regular);letter-spacing:var(--tracking-caption);line-height:var(--lh-caption);color:var(--text-tertiary)}
/* The ONLY use of uppercase in the system: section + category labels. Never on a title. */
.t-label{font-family:var(--font-sans);font-size:var(--fs-label);font-weight:var(--fw-medium);letter-spacing:var(--tracking-label);line-height:var(--lh-label);text-transform:uppercase}
.tnum{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}
