body {
	background: var(--color-blanco);
	color: var(--color-texto);
	font-family: var(--fuente-texto);
	font-size: clamp(16px, 0.95vw + 12px, 18px);
	line-height: 1.7;
	-webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4 {
	font-family: var(--fuente-titulo);
	font-weight: 500;
	line-height: 1.12;
	letter-spacing: -0.01em;
	color: var(--t-titulo, var(--color-navy));
	text-wrap: balance;
}

p + p { margin-top: 1em; }

.titulo-seccion { font-size: clamp(30px, 3.5vw, 60px); }
.titulo-elemento { font-size: clamp(20px, 1.5vw, 26px); font-weight: 600; line-height: 1.25; }

.destacado { color: var(--t-acento, var(--color-acento)); font-weight: 700; }

.antetitulo {
	display: block;
	margin-bottom: 16px;
	font-family: var(--fuente-titulo);
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0.1em;
	line-height: 1.4;
	text-transform: uppercase;
	color: var(--t-ante, var(--color-acento));
}

.texto-intro { margin-top: 24px; max-width: var(--ancho-texto); color: var(--t-texto, var(--color-texto)); }
.es-centrado .texto-intro { margin-inline: auto; }

/* Contenido libre con bloques core: páginas legales */
.entry-content > :is(p, h2, h3, h4, ul, ol, figure) {
	width: min(var(--ancho-texto), 100% - 2 * var(--margen));
	margin-inline: auto;
}
.entry-content > :is(h2, h3, h4) { margin-block: 1.6em 0.6em; }
.entry-content > :is(p, ul, ol) { margin-block-end: 1em; }
.entry-content > .seccion + :not(.seccion) { margin-block-start: var(--espacio); }
.entry-content > :last-child:not(.seccion) { margin-block-end: calc(var(--espacio) + var(--radio)); }

/* Páginas sin bloques: 404 y similares */
.error404 .content, .search .content {
	width: min(var(--ancho-texto), 100% - 2 * var(--margen));
	margin-inline: auto;
	padding-block: 170px calc(var(--espacio) + var(--radio));
}
