/* KAVITOR — base (capa 3/6): fuentes self-hosted + elementos sin clase. */
@layer base {
  /* @font-face → kavitor.fonts.css (compartidas con el head legacy) */

  html { scroll-behavior: smooth; }
  body {
    font-family: var(--font-ui);
    font-size: var(--fs-base);
    line-height: 1.5;
    color: var(--text-primary);
    background: var(--bg-base);
    -webkit-font-smoothing: antialiased;
  }

  h1, h2, h3, h4 { font-weight: var(--fw-medium); line-height: 1.15; text-wrap: balance; }
  h1 { font-size: clamp(2.25rem, 4.5vw, 4rem); letter-spacing: -0.02em; } /* display: tracking NEGATIVO (§5, Linear medido) */
  h2 { font-size: clamp(1.5rem, 2.6vw, 2rem); letter-spacing: -0.01em; }
  h3 { font-size: var(--fs-lg); }
  p  { max-width: 65ch; }
  small { font-size: var(--fs-xs); }

  a { color: var(--link); text-decoration: underline; text-underline-offset: 2px; }
  a:hover { color: var(--text-primary); }

  ::selection { background: var(--selection-wash); }
  :focus-visible { outline: var(--bw-2) solid var(--focus-ring); outline-offset: 2px; } /* SIEMPRE visible, SIEMPRE gana (§7) */

  /* Numérico técnico: el VALOR en mono tabular (§5) */
  .num { font-family: var(--font-mono); font-variant-numeric: tabular-nums; }

  .container { max-width: 1200px; margin-inline: auto; padding-inline: var(--sp-7); }
}
