/* Tokens del sistema de diseño (brief, anexo A) */
:root {
  /* Tono: base de negro, grises y blanco roto. Nunca #FFFFFF ni #000000 */
  --tinta: #0A0A0A;     /* Negro */
  --grafito: #2B2B29;
  --piedra: #5F5F5A;
  --cemento: #A3A29B;
  --junta: #CFCEC8;
  --cal: #E6E5DF;
  --blanco: #F2F1EC;    /* Blanco roto: el "blanco" del sistema */

  /* Los dos colores del espacio: las cortinas y las mesas de machihembrado.
     Siempre en bloque plano. Sobre marino, texto blanco roto; sobre madera y pino, texto negro. */
  --marino: #1B2B4B;
  --madera: #C39A68;
  --pino: #E7D6BC;      /* Madera clara, para fondos de sección */

  /* Categorías: tono de tesela y texto encima (el sello va aparte, en SVG) */
  --cat-coworking: var(--marino);        --cat-coworking-texto: var(--blanco);
  --cat-agenda: var(--blanco);           --cat-agenda-texto: var(--tinta);
  --cat-exposiciones: var(--cemento);    --cat-exposiciones-texto: var(--tinta);
  --cat-asociacion: var(--madera);       --cat-asociacion-texto: var(--tinta);

  /* Tipografía (las familias se cargan en fuentes.css) */
  --fuente-voz: 'Space Grotesk', system-ui, sans-serif;
  --fuente-lectura: 'Newsreader', Georgia, serif;
  --fuente-dato: 'Space Mono', ui-monospace, monospace;

  --t-display: clamp(2rem, 3.2vw + 1rem, 3.75rem);
  --t-h1: clamp(1.75rem, 2.2vw + 1rem, 2.75rem);
  --t-h2: clamp(1.375rem, 1.2vw + 1rem, 1.875rem);
  --t-h3: 1.1875rem;
  --t-entradilla: clamp(1.0625rem, 0.5vw + 0.95rem, 1.3125rem);
  --t-cuerpo: 1rem;
  --t-lectura: 1.0625rem;
  --t-dato: 1rem;
  --t-etiqueta: 0.8125rem;
  --t-nota: 0.875rem;

  /* Espacio */
  --e-1: 4px;  --e-2: 8px;  --e-3: 12px; --e-4: 16px; --e-5: 24px;
  --e-6: 32px; --e-7: 48px; --e-8: 64px; --e-9: 96px; --e-10: 128px;
  --margen: clamp(16px, 5vw, 72px);
  --seccion: clamp(48px, 6vw, 88px);
  --ancho-max: 1440px;
  /* Borde lateral común: cabecera, contenido y pie empiezan siempre en la misma vertical,
     también en pantallas más anchas que el ancho máximo. */
  --borde: max(var(--margen), calc((100% - var(--ancho-max)) / 2 + var(--margen)));

  /* Forma */
  --radio: 0;
  --linea: 1px solid var(--tinta);  /* Sin líneas grises: las pocas líneas que quedan son negras y finas */
  --linea-fuerte: 1px solid var(--tinta);
  --filete: 2px solid var(--tinta);

  /* Movimiento */
  --d-rapido: 150ms;
  --d-medio: 250ms;
  --d-lento: 400ms;
  --curva: cubic-bezier(0.2, 0, 0, 1);

  /* Foco */
  --foco-claro: 2px solid var(--tinta);
  --foco-oscuro: 2px solid var(--blanco);
}

/* El mosaico: rejilla de teselas separadas por aire, sin líneas */
.mosaico {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 4px;
}
@media (max-width: 1023px) { .mosaico { grid-template-columns: repeat(6, 1fr); } }
@media (max-width: 767px)  { .mosaico { grid-template-columns: repeat(2, 1fr); } }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
}
