/* ==========================================================================
   Molades Wiki — Bespoke Typographic System
   Pairing: Instrument Serif + Instrument Sans + IBM Plex Mono
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:ital,wght@0,400;0,500;0,600;1,400&family=Instrument+Sans:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500&family=Instrument+Serif:ital@0;1&family=Newsreader:ital,opsz,wght@0,6..72,400;0,6..72,500;0,6..72,600;1,6..72,400&display=swap');

:root {
  --font-serif: 'Instrument Serif', 'Newsreader', Georgia, serif;
  --font-sans: 'Instrument Sans', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  --font-mono: 'IBM Plex Mono', SFMono-Regular, Menlo, Monaco, Consolas, monospace;

  /* Typographic scale */
  --text-2xs: 0.68rem;
  --text-xs: 0.78rem;
  --text-sm: 0.88rem;
  --text-base: 0.98rem;
  --text-md: 1.1rem;
  --text-lg: 1.25rem;
  --text-xl: 1.55rem;
  --text-2xl: 2rem;
  --text-3xl: clamp(2.4rem, 2rem + 2vw, 3.6rem);
  --text-4xl: clamp(3.2rem, 2.4rem + 4vw, 5.8rem);

  /* Leading */
  --leading-tight: 1.08;
  --leading-snug: 1.22;
  --leading-normal: 1.55;
  --leading-relaxed: 1.7;

  /* Letter spacing */
  --tracking-tighter: -0.035em;
  --tracking-tight: -0.015em;
  --tracking-normal: 0em;
  --tracking-wide: 0.04em;
  --tracking-wider: 0.08em;
  --tracking-widest: 0.14em;
}

body {
  font-family: var(--font-sans);
  font-size: var(--text-base);
  line-height: var(--leading-normal);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Editorial Serif Headings */
h1, .hero-headline, .font-serif {
  font-family: var(--font-serif);
  font-weight: 400;
  letter-spacing: var(--tracking-tight);
}

h2, h3, h4, .font-sans {
  font-family: var(--font-sans);
  letter-spacing: var(--tracking-tight);
}

code, kbd, .font-mono, .badge-mono, .num-badge, .specimen-id, .nav-mono {
  font-family: var(--font-mono);
}
