/* ===========================================================================
   TYPOGRAPHY — Adriano Barboza
   Primary: Space Grotesk. Titles & subtitles ALWAYS UPPERCASE.
   Body & long-form text ALWAYS lowercase / sentence case (set lowercase).
   Support: Goudy StM, used in ITALIC and sparingly — quotes, thoughts,
   footnotes, small emphasis.
   Scale from the brand book (px @ design size): Display 100 / Título01 64 /
   Subtítulo01 42 / Título02 32 / Subtítulo02 24 / Corpo 16 / Citação 12 /
   Legenda 10. Body line-height 1.4, letter-spacing 0.
   =========================================================================== */

:root {
  /* ---- Families ---- */
  --font-sans: "Space Grotesk", "Helvetica Neue", Arial, sans-serif;
  --font-serif: "Goudy StM", "Sorts Mill Goudy", Georgia, serif;

  /* ---- Weights (Space Grotesk variable) ---- */
  --fw-light: 300;    /* @kind font */
  --fw-regular: 400;  /* @kind font */
  --fw-medium: 500;   /* @kind font */
  --fw-semibold: 600; /* @kind font */
  --fw-bold: 700;     /* @kind font */

  /* ---- Type scale (rem, 1rem = 16px) ---- */
  --fs-display: 6.25rem;   /* 100 */
  --fs-title-1: 4rem;      /* 64  */
  --fs-subtitle-1: 2.625rem;/* 42 */
  --fs-title-2: 2rem;      /* 32  */
  --fs-subtitle-2: 1.5rem; /* 24  */
  --fs-body: 1rem;         /* 16  */
  --fs-quote: 0.75rem;     /* 12  */
  --fs-caption: 0.625rem;  /* 10  */

  /* ---- Line heights ---- */
  --lh-tight: 1.02;        /* @kind font */ /* display / large titles */
  --lh-snug: 1.15;         /* @kind font */
  --lh-body: 1.4;          /* @kind font */ /* brand default for running text */

  /* ---- Letter spacing ---- */
  --ls-display: -0.02em;   /* large grotesque tightens slightly  @kind font */
  --ls-title: -0.01em;     /* @kind font */
  --ls-eyebrow: 0.14em;    /* uppercase labels open up  @kind font */
  --ls-body: 0;            /* @kind font */ /* brand spec: 0 */
}

/* ---- Optional utility classes (consumers may use directly) ---- */
.t-display {
  font-family: var(--font-sans);
  font-weight: var(--fw-medium);
  font-size: var(--fs-display);
  line-height: var(--lh-tight);
  letter-spacing: var(--ls-display);
  text-transform: uppercase;
}
.t-title-1 {
  font-family: var(--font-sans);
  font-weight: var(--fw-semibold);
  font-size: var(--fs-title-1);
  line-height: var(--lh-snug);
  letter-spacing: var(--ls-title);
  text-transform: uppercase;
}
.t-subtitle-1 {
  font-family: var(--font-sans);
  font-weight: var(--fw-regular);
  font-size: var(--fs-subtitle-1);
  line-height: var(--lh-snug);
  text-transform: uppercase;
}
.t-title-2 {
  font-family: var(--font-sans);
  font-weight: var(--fw-semibold);
  font-size: var(--fs-title-2);
  line-height: var(--lh-snug);
  letter-spacing: var(--ls-title);
  text-transform: uppercase;
}
.t-subtitle-2 {
  font-family: var(--font-sans);
  font-weight: var(--fw-regular);
  font-size: var(--fs-subtitle-2);
  line-height: var(--lh-snug);
  text-transform: uppercase;
}
.t-eyebrow {
  font-family: var(--font-sans);
  font-weight: var(--fw-medium);
  font-size: var(--fs-quote);
  line-height: 1.2;
  letter-spacing: var(--ls-eyebrow);
  text-transform: uppercase;
}
.t-body {
  font-family: var(--font-sans);
  font-weight: var(--fw-regular);
  font-size: var(--fs-body);
  line-height: var(--lh-body);
  letter-spacing: var(--ls-body);
}
.t-quote {
  font-family: var(--font-serif);
  font-style: italic;
  font-weight: var(--fw-regular);
  font-size: var(--fs-subtitle-2);
  line-height: 1.35;
}
.t-caption {
  font-family: var(--font-sans);
  font-weight: var(--fw-regular);
  font-size: var(--fs-caption);
  line-height: 1.3;
  letter-spacing: 0.02em;
}
