/* ============================================================
   GauravGo — Unified Professional Type System (typography-pro.css)
   Loaded once via header.html. Dark futuristic theme preserved.
   Fonts: Orbitron (display) · Inter (body/UI) · Rajdhani (labels)
   Element-level defaults + utilities. Reversible: delete file + <link>.
   ============================================================ */

:root {
  --font-display: 'Orbitron', sans-serif;     /* h1/h2/hero/section titles, logo */
  --font-body:    'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif; /* all text */
  --font-label:   'Rajdhani', sans-serif;     /* uppercase eyebrows, pills, stats */

  /* Type scale */
  --fs-eyebrow: 0.8125rem;  /* 13px label tier */
  --fs-caption: 0.875rem;  /* 14px */
  --fs-body:    1rem;      /* 16px */
  --fs-lead:    1.125rem;  /* 18px */

  /* Line-heights */
  --lh-body:    1.65;
  --lh-tight:   1.2;

  /* Tracking */
  --ls-label:   0.12em;
  --ls-body:    normal;

  --measure:    70ch;      /* readable line length */
}

/* Body / UI default — Inter everywhere text is read.
   Uses :where() so specificity stays 0 and pages can still override intentionally,
   but it still replaces unstyled defaults. */
:where(body) {
  font-family: var(--font-body);
  line-height: var(--lh-body);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

:where(p, li, dd, dt, blockquote, figcaption, label, input, textarea, select, button, td, th, .t-prose) {
  font-family: var(--font-body);
}

/* Headings keep Orbitron (brand display) — display weights only */
:where(h1, h2, .t-display) { font-family: var(--font-display); font-weight: 800; line-height: var(--lh-tight); letter-spacing: 0.01em; }
:where(h3, h4)             { font-family: var(--font-display); font-weight: 700; line-height: var(--lh-tight); letter-spacing: 0.02em; }
:where(h5, h6)             { font-family: var(--font-body);    font-weight: 700; line-height: var(--lh-tight); }

/* Prose readability floor */
:where(p, li) { font-size: var(--fs-body); line-height: var(--lh-body); }

/* ---- Utility classes (opt-in; executor applies where a page needs them) ---- */
.t-prose      { font-family: var(--font-body); font-size: var(--fs-body); line-height: var(--lh-body);
                letter-spacing: normal; text-transform: none; max-width: var(--measure); }
.t-caption    { font-family: var(--font-body); font-size: var(--fs-caption); line-height: 1.55;
                letter-spacing: normal; text-transform: none; }
.t-eyebrow    { font-family: var(--font-label); font-size: var(--fs-eyebrow); font-weight: 600;
                text-transform: uppercase; letter-spacing: var(--ls-label); line-height: 1.2; }
.t-display    { font-family: var(--font-display); }
.t-nav        { font-family: var(--font-body); font-weight: 500; letter-spacing: 0.02em; }
