/* Elementos sueltos: tipografía, enlaces, foco y utilidades. Móvil primero. */
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; font: 400 15px/1.55 var(--texto); background: var(--fondo); color: var(--obsidiana); }
/* DM Sans llega hasta 500: más peso sería negrita sintética. */
strong, b, th { font-weight: 500; }
a { color: var(--jade); text-underline-offset: 3px; }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible, summary:focus-visible {
  outline: 3px solid var(--jade); outline-offset: 2px;
}
h1 { margin: 0; font: 400 32px/1.1 var(--titulos); letter-spacing: -.01em; }
h2 { margin: 0 0 4px; font: 500 18px/1.3 var(--texto); }
h3 { margin: 0 0 8px; font: 500 15px/1.3 var(--texto); }
.gris { color: var(--texto-2); font-size: 13px; }
.oculto { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.vacio { padding: 32px 20px; text-align: center; color: var(--texto-2); }
/* Lo que escribe un cliente puede ser una URL larga sin espacios: que parta en vez de ensanchar la página. */
td { overflow-wrap: anywhere; }

@media (min-width: 950px) {
  h1 { font-size: 40px; }
}
