/*
 * Conduit Typography System
 * Public build inputs only: Poppins + system monospace stack.
 */

@font-face {
  font-family: "Poppins";
  src: url("../assets/fonts/poppins-latin-400.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Poppins";
  src: url("../assets/fonts/poppins-latin-500.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Poppins";
  src: url("../assets/fonts/poppins-latin-600.woff2") format("woff2");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Poppins";
  src: url("../assets/fonts/poppins-latin-700.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

:root {
  /* Font families */
  --font-display: "Poppins", system-ui, sans-serif;
  --font-heading: "Poppins", system-ui, sans-serif;
  --font-body:
    "Poppins", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI",
    sans-serif;
  --font-mono:
    ui-monospace, "SFMono-Regular", Menlo, Monaco, Consolas, "Liberation Mono",
    "Courier New", monospace;

  /* shadcn-friendly aliases */
  --font-sans: var(--font-body);

  /* Font weights */
  --font-normal: 400;
  --font-medium: 500;
  --font-semibold: 600;
  --font-bold: 700;

  /* Line heights */
  --leading-none: 1;
  --leading-tight: 1.15;
  --leading-snug: 1.4;
  --leading-normal: 1.5;
  --leading-relaxed: 1.625;
  --leading-loose: 2;

  /* Letter spacing */
  --tracking-tighter: -0.05em;
  --tracking-tight: -0.025em;
  --tracking-normal: 0;
  --tracking-wide: 0.025em;
  --tracking-wider: 0.05em;
}

/* Typography scale - "voice" classes */
.voice-xs {
  font-family: var(--font-body);
  font-size: 0.75rem;
  line-height: var(--leading-normal);
  font-weight: var(--font-normal);
}

.voice-sm {
  font-family: var(--font-body);
  font-size: 0.875rem;
  line-height: var(--leading-normal);
  font-weight: var(--font-normal);
}

.voice-base {
  font-family: var(--font-body);
  font-size: 1rem;
  line-height: var(--leading-normal);
  font-weight: var(--font-normal);
}

.voice-lg {
  font-family: var(--font-body);
  font-size: 1.125rem;
  line-height: var(--leading-normal);
  font-weight: var(--font-normal);
}

.voice-xl {
  font-family: var(--font-heading);
  font-size: 1.25rem;
  line-height: var(--leading-snug);
  font-weight: var(--font-medium);
}

.voice-2xl {
  font-family: var(--font-heading);
  font-size: 1.5rem;
  line-height: var(--leading-snug);
  font-weight: var(--font-semibold);
}

.voice-3xl {
  font-family: var(--font-heading);
  font-size: 1.875rem;
  line-height: var(--leading-snug);
  font-weight: var(--font-semibold);
}

.voice-4xl {
  font-family: var(--font-heading);
  font-size: 2.25rem;
  line-height: var(--leading-tight);
  font-weight: var(--font-semibold);
}

.voice-5xl {
  font-family: var(--font-display);
  font-size: 3rem;
  line-height: var(--leading-tight);
  font-weight: var(--font-medium);
}

.voice-6xl {
  font-family: var(--font-display);
  font-size: 3.75rem;
  line-height: var(--leading-tight);
  font-weight: var(--font-medium);
}

/* Tagline */
.voice-tagline {
  font-family: var(--font-heading);
  font-size: 1rem;
  line-height: var(--leading-normal);
  font-weight: var(--font-medium);
  letter-spacing: var(--tracking-normal);
}
