/* ==========================================================================
   WINTEAM — TYPOGRAPHY

   Two families, strictly divided:

     Instrument Serif  →  display only. Headlines, numerals, pull quotes.
                          Set large, tight, and with real optical tracking.
     Inter             →  everything else. Interface, body, labels, data.
   ========================================================================== */

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: 400;
  font-size: inherit;
  text-wrap: balance;
}

p {
  text-wrap: pretty;
}

/* Instrument Serif has a single weight — never synthesise a bolder one. */
[class*="type-display"],
[class*="type-title"] {
  font-synthesis: none;
}

strong,
b {
  font-weight: 600;
}

small {
  font-size: var(--text-caption);
}

code,
kbd,
samp {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 0.9em;
}

/* ---------------------------------------------------------- Display set */

.type-display-1,
.type-display-2,
.type-display-3 {
  font-family: var(--font-display), "Instrument Serif Fallback";
  font-weight: 400;
  text-wrap: balance;
  /* Serif display reads better without the sans-tuned optical smoothing. */
  -webkit-font-smoothing: antialiased;
}

.type-display-1 {
  font-size: var(--text-display-1);
  line-height: 0.88;
  letter-spacing: -0.035em;
}

.type-display-2 {
  font-size: var(--text-display-2);
  line-height: 0.92;
  letter-spacing: -0.03em;
}

.type-display-3 {
  font-size: var(--text-display-3);
  line-height: 0.98;
  letter-spacing: -0.025em;
}

/* ------------------------------------------------------------ Title set */

.type-title-1,
.type-title-2,
.type-title-3 {
  font-family: var(--font-display), "Instrument Serif Fallback";
  font-weight: 400;
  text-wrap: balance;
}

.type-title-1 {
  font-size: var(--text-title-1);
  line-height: 1.06;
  letter-spacing: -0.02em;
}

.type-title-2 {
  font-size: var(--text-title-2);
  line-height: 1.14;
  letter-spacing: -0.015em;
}

.type-title-3 {
  font-size: var(--text-title-3);
  line-height: 1.28;
  letter-spacing: -0.01em;
}

/* -------------------------------------------------------- Interface set */

.type-lead {
  font-family: var(--font-sans), "Inter Fallback";
  font-size: var(--text-lead);
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: -0.011em;
  color: var(--content-muted);
  text-wrap: pretty;
}

.type-body {
  font-family: var(--font-sans), "Inter Fallback";
  font-size: var(--text-body);
  font-weight: 400;
  line-height: 1.65;
  letter-spacing: -0.006em;
}

.type-body-sm {
  font-family: var(--font-sans), "Inter Fallback";
  font-size: var(--text-body-sm);
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: -0.004em;
}

.type-caption {
  font-family: var(--font-sans), "Inter Fallback";
  font-size: var(--text-caption);
  font-weight: 400;
  line-height: 1.45;
  color: var(--content-muted);
}

/* The eyebrow is the brand's only uppercase register. Use it for section
   indices, categories and metadata — never for sentences.                */
.type-eyebrow {
  font-family: var(--font-sans), "Inter Fallback";
  font-size: var(--text-eyebrow);
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: var(--tracking-eyebrow);
  text-transform: uppercase;
  color: var(--content-subtle);
  font-feature-settings: "tnum" 1;
}

/* The wordmark. Locked settings — do not restyle per placement. */
.type-wordmark {
  font-family: var(--font-sans), "Inter Fallback";
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  line-height: 1;
}

/* Instrument Serif italic — reserved for emphasis inside display lines. */
.font-display-italic {
  font-family: var(--font-display), "Instrument Serif Fallback";
  font-style: italic;
  font-weight: 400;
}

/* Lining, tabular figures for dimensions, codes and specification tables. */
.numeric {
  font-variant-numeric: tabular-nums lining-nums;
  font-feature-settings: "tnum" 1, "lnum" 1, "ss01" 1;
}

/* Optical alignment for large serif set flush to a container edge. */
.optical-left {
  margin-inline-start: -0.05em;
}
