/* =========================================================================
 * vm-theme — TOKENS
 * Única fuente de verdad del sistema de diseño. Normaliza la deriva que
 * traían los 11 mockups (ver notas por bloque).
 * ========================================================================= */

:root {
	/* ---- Paleta (idéntica en los 11 mockups, se toma tal cual) ---- */
	--black: #0A0908;
	--carbon: #16120E;
	--carbon-2: #1F1813;
	--ivory: #E7DAC9;
	--ivory-dim: #9A8F82;
	--ivory-faint: #675D54;
	--oxblood: #6E1014;
	--oxblood-br: #8E1A1F;
	--visor: #92A07C;

	/* Líneas: derivadas de la tinta, no colores nuevos. (Valores de los mockups.) */
	--line: rgba(231, 218, 201, .12);
	--line-2: rgba(231, 218, 201, .24);

	/* ---- Ancho de contenido ----
	 * Los mockups traían CUATRO valores (1200/1240/1280/1320). Se normaliza a
	 * una escala de DOS. El reparto por página está en README-vm-theme.md. */
	--maxw-wide: 1320px;  /* homes, landings, galerías */
	--maxw-blog: 1240px;  /* índice y categoría del blog (mockups blog-index/categoria) */
	--maxw-read: 1200px;  /* artículo, legal, texto largo */
	--maxw: var(--maxw-wide); /* default; las plantillas de lectura lo re-declaran */

	/* ---- Ritmo ---- */
	--px: clamp(1.1rem, 4vw, 3rem);      /* padding horizontal unificado */
	--py: clamp(3.4rem, 6vw, 5.5rem);    /* padding vertical de sección */

	/* ---- Tipografía ---- */
	--font-sans: 'Montserrat', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
	--font-mono: 'IBM Plex Mono', ui-monospace, SFMono-Regular, Menlo, monospace;

	--fw-light: 300;
	--fw-regular: 400;
	--fw-medium: 500;
	--fw-semibold: 600;

	/* ---- Nav (deriva unificada; ver nota) ----
	 * Los mockups discrepaban: gap 2.1rem vs 1.6rem, tamaño .68rem vs .66rem,
	 * menú móvil 1.85rem vs 1.5rem. Se unifican aquí en UNA versión para que
	 * ajustarlos sea de una línea, no una cacería por los archivos. */
	--nav-gap: 2.1rem;
	--nav-size: .68rem;
	--nav-mobile-size: 1.85rem;

	/* ---- Otros ---- */
	--radius: 0;
	--corner: 10px;                       /* tamaño del motivo de esquinas */
	--ease: cubic-bezier(.22, .61, .36, 1);
	--t-fast: .18s;
	--t-med: .32s;
	--header-h: 76px;
	--z-header: 100;
	--z-agegate: 9000;
}

/* Escala tipográfica */
:root {
	--fs-hero: clamp(2.6rem, 7vw, 5.2rem);
	--fs-h1: clamp(2.1rem, 5vw, 3.4rem);
	--fs-h2: clamp(1.6rem, 3.4vw, 2.35rem);
	--fs-h3: clamp(1.22rem, 2.2vw, 1.5rem);
	--fs-body: clamp(.98rem, 1.15vw, 1.06rem);
	--fs-small: .82rem;
	--fs-micro: .68rem;
	--lh-tight: 1.1;
	--lh-body: 1.72;
}

@media (prefers-reduced-motion: reduce) {
	:root { --t-fast: 0s; --t-med: 0s; }
}
