/* ==========================================================================
   NUISIBLE 360 — Typography
   Inter exclusivement. Titres extra-bold/black, tracking serré, capitales
   sur les CTAs. Écho à la typo géométrique bold du logo.
   ========================================================================== */

:root {
  --font-sans: 'Inter Variable', 'Inter', ui-sans-serif, system-ui, -apple-system, sans-serif;

  /* Weights */
  --weight-regular: 400;
  --weight-medium: 500;
  --weight-semibold: 600;
  --weight-bold: 700;
  --weight-extrabold: 800;
  --weight-black: 900;

  /* Fluid scale (mobile -> desktop), clamp-based */
  --text-h1: clamp(2rem, 4vw, 3.5rem);       /* 32px -> 56px */
  --text-h2: clamp(1.5rem, 2.6vw, 2.5rem);    /* 24px -> 40px */
  --text-h3: clamp(1.25rem, 1.4vw, 1.75rem); /* 20px -> 28px */
  --text-body-lg: clamp(1rem, 1.1vw, 1.125rem); /* 16px -> 18px */
  --text-body: 1rem;      /* 16px */
  --text-small: 0.875rem; /* 14px */
  --text-micro: 0.75rem;  /* 12px */

  --tracking-tight: -0.02em;
  --tracking-normal: 0;
  --tracking-wide: 0.05em;

  --leading-tight: 1.1;
  --leading-snug: 1.3;
  --leading-body: 1.6;
}

.type-h1 {
  font-family: var(--font-sans);
  font-weight: var(--weight-black);
  font-size: var(--text-h1);
  letter-spacing: var(--tracking-tight);
  line-height: var(--leading-tight);
  font-style: italic;
}

.type-h2 {
  font-family: var(--font-sans);
  font-weight: var(--weight-extrabold);
  font-size: var(--text-h2);
  letter-spacing: var(--tracking-tight);
  line-height: var(--leading-tight);
}

.type-h3 {
  font-family: var(--font-sans);
  font-weight: var(--weight-extrabold);
  font-size: var(--text-h3);
  letter-spacing: var(--tracking-tight);
  line-height: var(--leading-snug);
}

.type-subtitle {
  font-family: var(--font-sans);
  font-weight: var(--weight-semibold);
  line-height: var(--leading-snug);
}

.type-body {
  font-family: var(--font-sans);
  font-weight: var(--weight-regular);
  font-size: var(--text-body-lg);
  line-height: var(--leading-body);
}

.type-small {
  font-family: var(--font-sans);
  font-weight: var(--weight-regular);
  font-size: var(--text-small);
  line-height: var(--leading-body);
}

.type-cta {
  font-family: var(--font-sans);
  font-weight: var(--weight-extrabold);
  font-size: var(--text-small);
  letter-spacing: var(--tracking-wide);
  text-transform: uppercase;
}
