/* ==========================================================================
   (De)Scaling Madrid — Typography tokens
   Display: Archivo / Archivo Expanded (poster headlines, UI)
   Accent : Instrument Serif (editorial italic — "sobremesa", quotes)
   ========================================================================== */

:root {
  /* Families */
  --font-display:  'Chulapa', 'Archivo', system-ui, sans-serif;
  --font-sans:     'Archivo', system-ui, -apple-system, sans-serif;
  --font-serif:    'Instrument Serif', Georgia, 'Times New Roman', serif;

  /* Weights */
  --fw-regular:  400; /* @kind font */
  --fw-medium:   500; /* @kind font */
  --fw-semibold: 600; /* @kind font */
  --fw-bold:     700; /* @kind font */
  --fw-extra:    800; /* @kind font */
  --fw-black:    900; /* @kind font */

  /* Fluid type scale (poster-grade headlines down to fine print) */
  --fs-mega:   clamp(3.5rem, 11vw, 9rem); /* @kind font */
  --fs-xxl:    clamp(2.75rem, 7vw, 5.25rem); /* @kind font */
  --fs-xl:     clamp(2.1rem, 4.4vw, 3.5rem); /* @kind font */
  --fs-lg:     clamp(1.6rem, 4vw, 2.4rem); /* @kind font */
  --fs-h:      1.5rem; /* @kind font */
  --fs-title:  1.25rem; /* @kind font */
  --fs-body:   1.0625rem; /* @kind font */
  --fs-sm:     0.9375rem; /* @kind font */
  --fs-xs:     0.8125rem; /* @kind font */
  --fs-micro:  0.6875rem; /* @kind font */

  /* Line heights */
  --lh-tight:   0.95; /* @kind font */
  --lh-snug:    1.08; /* @kind font */
  --lh-heading: 1.15; /* @kind font */
  --lh-body:    1.55; /* @kind font */
  --lh-relaxed: 1.7; /* @kind font */

  /* Letter spacing */
  --ls-mega:    -0.02em; /* @kind font */
  --ls-head:    -0.01em; /* @kind font */
  --ls-flat:     0em; /* @kind font */
  --ls-eyebrow:  0.18em; /* @kind font */
  --ls-label:    0.06em; /* @kind font */
}

/* ---- Reusable type roles ---- */
.t-eyebrow {
  font-family: var(--font-sans);
  font-weight: var(--fw-bold);
  font-size: var(--fs-micro);
  letter-spacing: var(--ls-eyebrow);
  text-transform: uppercase;
  line-height: 1;
}
.t-display {
  font-family: var(--font-display);
  font-weight: var(--fw-black);
  line-height: var(--lh-tight);
  letter-spacing: var(--ls-mega);
  text-transform: uppercase;
}
.t-serif {
  font-family: var(--font-serif);
  font-weight: var(--fw-regular);
  line-height: var(--lh-snug);
  letter-spacing: var(--ls-head);
}
.t-serif-italic { font-family: var(--font-serif); font-style: italic; }
