/* ==========================================================================
   Laguntzen 2026 — hoja principal
   Capas: reset, variables, base, layout, componentes, utilidades, contraste
   ========================================================================== */
@layer reset, variables, base, layout, componentes, utilidades, contraste;

/* --------------------------------------------------------------------------
   RESET
   -------------------------------------------------------------------------- */
@layer reset {
	*, *::before, *::after { box-sizing: border-box; }
	* { margin: 0; padding: 0; }
	html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
	img, svg, video { display: block; max-width: 100%; height: auto; }
	input, button, textarea, select { font: inherit; color: inherit; }
	ul[class], ol[class], nav ul, .pie-sitio ul { list-style: none; }
	button { cursor: pointer; background: none; border: 0; }
	address { font-style: normal; }
	dialog { border: 0; max-width: none; max-height: none; color: inherit; }
}

/* --------------------------------------------------------------------------
   VARIABLES
   -------------------------------------------------------------------------- */
@layer variables {
	:root {
		color-scheme: light;

		/* Marca */
		--c-morado: #586586;
		--c-morado-oscuro: #4c5461;
		--c-verde: #83bdba;
		--c-verde-hover: #74b3b0;
		--c-rosa: #ff7b9c;
		--c-rosa-hover: #ff6a8f;
		--c-amarillo: #ffc759;
		--c-amarillo-hover: #ffbe3f;
		--c-tinta: #2b2f3a;          /* texto sobre colores de marca */
		--c-sobre-morado: #fff;

		/* Interfaz (tema) */
		--theme-page: #fff;
		--theme-surface: #fff;
		--theme-suave: #f4f6f9;
		--theme-text: #333;
		--theme-titulo: #3f4863;
		--theme-muted: #4c5461;
		--theme-tenue: #6b7385;
		--theme-line: #e3e7ee;
		--theme-campo: #cfd5df;
		--acento: #586586;
		--acento-hover: #4c5461;
		--acento-suave: #e8eaf1;
		--theme-cabecera: rgb(255 255 255 / .94);

		/* Fondos pastel */
		--c-verde-suave: #e6f2f1;
		--c-verde-fondo: #eaf4f3;
		--c-amarillo-suave: #fff4dc;
		--c-amarillo-fondo: #fff7e6;
		--c-rosa-suave: #ffe8ee;
		--c-rosa-fondo: #fff0f3;
		--c-morado-suave: #e8eaf1;
		--c-morado-fondo: #eef0f5;
		--c-chip: #eef0f5;

		/* Pie */
		--c-pie: #586586;
		--c-pie-texto: #fff;
		--c-pie-suave: #eef0f5;
		--c-pie-etiqueta: #cfe6e4;
		--c-pie-legal: #333;

		/* Opacidades decorativas */
		--op-mapa: .75;
		--op-perfil: .22;

		/* Tipografía */
		--tipografia-base: din-2014, Barlow, Arial, sans-serif;
		--fs-pequeno: .9375rem;   /* 15px: mínimo para texto pequeño */
		--fs-base: 1.0625rem;     /* 17px */
		--fs-intro: 1.125rem;     /* 18px */
		--fs-entradilla: clamp(1.125rem, 1rem + .5vw, 1.3125rem);
		--fs-h1: clamp(2.375rem, 1.6rem + 3vw, 4.375rem);
		--fs-h1-interior: clamp(2.375rem, 1.6rem + 3vw, 4.25rem);
		--fs-h2: clamp(2.125rem, 1.6rem + 2vw, 3.25rem);
		--fs-h2-sub: clamp(1.625rem, 1.3rem + 1.2vw, 2.25rem);

		/* Espaciado */
		--ancho-max: 77.5rem;      /* 1240px */
		--margen-lateral: clamp(1rem, 3vw, 2rem);
		--seccion: clamp(3.5rem, 2rem + 5vw, 6.5rem);
		--seccion-media: clamp(2.5rem, 1.5rem + 4vw, 4.5rem);
		--hueco: 1.25rem;

		/* Bordes y radios */
		--radio-xl: 28px;
		--radio-l: 24px;
		--radio-m: 18px;
		--radio-s: 14px;
		--radio-xs: 12px;
		--sombra-tarjeta: 0 1px 2px rgb(63 72 99 / .06), 0 8px 24px rgb(63 72 99 / .06);

		--transicion: .18s ease;
		--foco: 3px solid currentColor;
	}

	/* Oscuro elegido explícitamente */
	:root[data-theme="dark"] {
		color-scheme: dark;
		--theme-page: #14171e;
		--theme-surface: #1a1e27;
		--theme-suave: #1e232d;
		--theme-text: #e2e5eb;
		--theme-titulo: #f1f3f8;
		--theme-muted: #c3c8d3;
		--theme-tenue: #9aa2b3;
		--theme-line: #303746;
		--theme-campo: #4a5368;
		--acento: #b7c0e3;
		--acento-hover: #d6dcf2;
		--acento-suave: #2a3042;
		--theme-cabecera: rgb(20 23 30 / .94);
		--c-verde-suave: #1c2d2c;
		--c-verde-fondo: #1a2928;
		--c-amarillo-suave: #2f2817;
		--c-amarillo-fondo: #2a2416;
		--c-rosa-suave: #33202a;
		--c-rosa-fondo: #2d1d25;
		--c-morado-suave: #252b3c;
		--c-morado-fondo: #212636;
		--c-chip: #262c3a;
		--c-pie: #2a3045;
		--c-pie-legal: #0d0f14;
		--op-mapa: .12;
		--op-perfil: .12;
		--sombra-tarjeta: 0 0 0 1px var(--theme-line);
	}

	/* Oscuro automático (preferencia del sistema) */
	@media (prefers-color-scheme: dark) {
		:root:not([data-theme="light"]) {
			color-scheme: dark;
			--theme-page: #14171e;
			--theme-surface: #1a1e27;
			--theme-suave: #1e232d;
			--theme-text: #e2e5eb;
			--theme-titulo: #f1f3f8;
			--theme-muted: #c3c8d3;
			--theme-tenue: #9aa2b3;
			--theme-line: #303746;
			--theme-campo: #4a5368;
			--acento: #b7c0e3;
			--acento-hover: #d6dcf2;
			--acento-suave: #2a3042;
			--theme-cabecera: rgb(20 23 30 / .94);
			--c-verde-suave: #1c2d2c;
			--c-verde-fondo: #1a2928;
			--c-amarillo-suave: #2f2817;
			--c-amarillo-fondo: #2a2416;
			--c-rosa-suave: #33202a;
			--c-rosa-fondo: #2d1d25;
			--c-morado-suave: #252b3c;
			--c-morado-fondo: #212636;
			--c-chip: #262c3a;
			--c-pie: #2a3045;
			--c-pie-legal: #0d0f14;
			--op-mapa: .12;
			--op-perfil: .12;
			--sombra-tarjeta: 0 0 0 1px var(--theme-line);
		}
	}
}

/* --------------------------------------------------------------------------
   BASE
   -------------------------------------------------------------------------- */
@layer base {
	html { scroll-behavior: smooth; scroll-padding-top: 6rem; }
	body {
		background: var(--theme-page);
		color: var(--theme-text);
		font-family: var(--tipografia-base);
		font-size: var(--fs-base);
		line-height: 1.55;
		-webkit-font-smoothing: antialiased;
		overflow-x: clip;
	}
	body.sin-scroll { overflow: hidden; }
	h1, h2, h3, h4 { color: var(--theme-titulo); font-weight: 800; line-height: 1.1; text-wrap: balance; }
	p { text-wrap: pretty; }
	a { color: var(--acento); text-underline-offset: .18em; }
	a:hover { color: var(--acento-hover); }
	:focus-visible { outline: var(--foco); outline-offset: 3px; border-radius: 4px; }
	main:focus, [tabindex="-1"]:focus { outline: none; }
	strong, b { font-weight: 700; }
	::selection { background: var(--c-verde); color: var(--c-tinta); }

	input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]), textarea, select {
		width: 100%;
		font-size: var(--fs-base);
		font-weight: 400;
		padding: .875rem 1rem;
		border: 1px solid var(--theme-campo);
		border-radius: var(--radio-xs);
		background: var(--theme-surface);
		color: var(--theme-text);
	}
	textarea { resize: vertical; min-height: 8rem; }
	input:focus-visible, textarea:focus-visible, select:focus-visible {
		outline: 3px solid var(--c-verde);
		outline-offset: 1px;
		border-color: var(--acento);
	}
	input[type="checkbox"], input[type="radio"] { width: 1.25rem; height: 1.25rem; accent-color: var(--c-morado); flex-shrink: 0; }

	table { border-collapse: collapse; width: 100%; }
	th, td { text-align: left; padding: .75rem; border-bottom: 1px solid var(--theme-line); vertical-align: top; }
	th { color: var(--theme-titulo); }
	kbd { font-family: inherit; font-weight: 700; background: var(--c-chip); border: 1px solid var(--theme-line); border-radius: 6px; padding: .1em .45em; white-space: nowrap; }
}

/* --------------------------------------------------------------------------
   LAYOUT
   -------------------------------------------------------------------------- */
@layer layout {
	.contenedor { width: 100%; max-width: var(--ancho-max); margin-inline: auto; padding-inline: var(--margen-lateral); }
	.contenedor-ancho { width: 100%; max-width: 68.75rem; margin-inline: auto; padding-inline: var(--margen-lateral); }
	.contenedor-medio { width: 100%; max-width: 55rem; margin-inline: auto; padding-inline: var(--margen-lateral); }
	.contenedor-lectura { width: 100%; max-width: 45rem; margin-inline: auto; padding-inline: var(--margen-lateral); }

	.seccion { padding-block: var(--seccion); }
	.seccion--primera { padding-top: var(--seccion-media); padding-bottom: 0; }
	.seccion--primera + .seccion, .seccion--primera ~ .seccion { padding-top: var(--seccion-media); padding-bottom: 0; }
	.seccion--ultima, .seccion--primera.seccion--ultima { padding-bottom: var(--seccion); }
	.seccion--pagina { padding-block: var(--seccion-media) var(--seccion); }
	.seccion--sin-margen { padding-inline: var(--margen-lateral); }

	.seccion__intro {
		display: grid;
		grid-template-columns: repeat(auto-fit, minmax(min(100%, 22.5rem), 1fr));
		gap: 1.5rem 3.5rem;
		align-items: end;
		padding-bottom: 2.5rem;
	}
	.seccion__intro--compacta { gap: .75rem 3.5rem; padding-bottom: 1.5rem; }

	.dos-columnas {
		display: grid;
		grid-template-columns: repeat(auto-fit, minmax(min(100%, 22.5rem), 1fr));
		gap: 2.5rem;
		align-items: start;
	}
	.dos-columnas--contacto { gap: 2rem; }
	.pila { display: flex; flex-direction: column; gap: 1.125rem; align-items: flex-start; }
	.pila--estrecha { gap: .75rem; align-items: stretch; }
	.pila--corta { gap: .375rem; max-width: 40rem; }

	/* ---------- Cabecera ---------- */
	.cabecera-sitio {
		position: sticky;
		top: 0;
		z-index: 30;
		background: var(--theme-cabecera);
		backdrop-filter: blur(10px);
		border-bottom: 3px solid var(--c-verde);
	}
	.cabecera-sitio__fila { display: flex; align-items: center; gap: 1.25rem; padding-block: .75rem; flex-wrap: wrap; }
	.cabecera-sitio__logo { display: flex; flex-shrink: 0; margin-right: auto; border-radius: 6px; }
	.cabecera-sitio__logo img { height: 54px; width: auto; }
	.navegacion__lista { display: flex; flex-wrap: wrap; gap: 2px; align-items: center; }
	.navegacion__enlace {
		display: block;
		color: var(--acento);
		font-weight: 800;
		font-size: var(--fs-pequeno);
		text-transform: uppercase;
		letter-spacing: .04em;
		text-decoration: none;
		padding: .625rem .5rem;
		border-bottom: 3px solid transparent;
		white-space: nowrap;
	}
	.navegacion__enlace:hover { color: var(--theme-titulo); border-bottom-color: var(--theme-line); }
	.navegacion__enlace[aria-current] { border-bottom-color: var(--c-verde); color: var(--theme-titulo); }
	.cabecera-sitio__cta { white-space: nowrap; text-transform: uppercase; letter-spacing: .04em; font-size: var(--fs-pequeno); }
	.cabecera-sitio__abrir {
		display: none;
		width: 48px; height: 48px;
		border: 1px solid var(--theme-campo);
		border-radius: var(--radio-xs);
		background: var(--theme-surface);
		align-items: center; justify-content: center;
	}
	.cabecera-sitio__abrir svg { width: 20px; height: 20px; fill: var(--acento); }

	.logo--oscuro { display: none; }
	:root[data-theme="dark"] .logo--claro { display: none; }
	:root[data-theme="dark"] .logo--oscuro { display: block; }
	@media (prefers-color-scheme: dark) {
		:root:not([data-theme="light"]) .logo--claro { display: none; }
		:root:not([data-theme="light"]) .logo--oscuro { display: block; }
	}

	/* Con JS y pantalla estrecha: menú en diálogo */
	@media (max-width: 81.24em) {
		.js .navegacion, .js .cabecera-sitio__cta { display: none; }
		.js .cabecera-sitio__abrir { display: flex; }
		.js .cabecera-sitio__logo { margin-right: auto; }
	}
	@media (min-width: 81.25em) {
		.cabecera-sitio__fila { flex-wrap: nowrap; gap: 1rem; }
		.navegacion { margin-left: auto; }
		.navegacion__lista { flex-wrap: nowrap; }
		.cabecera-sitio__logo { margin-right: 0; }
	}

	/* ---------- Menú móvil ---------- */
	.menu-movil {
		inset: 0;
		width: 100%;
		height: 100%;
		padding: 0;
		background: var(--theme-page);
		overflow-y: auto;
	}
	.menu-movil[open] { display: flex; flex-direction: column; }
	.menu-movil::backdrop { background: rgb(20 23 30 / .4); }
	.menu-movil__cabecera {
		display: flex; align-items: center; gap: 1rem;
		padding: .75rem var(--margen-lateral);
		border-bottom: 3px solid var(--c-verde);
		flex-shrink: 0;
	}
	.menu-movil__cerrar {
		width: 48px; height: 48px;
		border-radius: var(--radio-xs);
		background: var(--c-morado);
		display: flex; align-items: center; justify-content: center;
	}
	.menu-movil__cerrar svg { width: 20px; height: 20px; stroke: #fff; stroke-width: 2.6; stroke-linecap: round; fill: none; }
	.menu-movil__navegacion { padding: .75rem var(--margen-lateral) 0; }
	.menu-movil__navegacion a {
		min-height: 60px;
		display: flex; align-items: center; justify-content: space-between; gap: .625rem;
		padding: 0 .25rem 0 .875rem;
		border-bottom: 1px solid var(--c-chip);
		border-left: 4px solid transparent;
		font-size: 1.375rem; font-weight: 800;
		color: var(--acento);
		text-decoration: none;
	}
	.menu-movil__navegacion a[aria-current] { color: var(--theme-titulo); border-left-color: var(--c-verde); }
	.menu-movil__navegacion .flecha { color: var(--c-verde); font-size: 1.375rem; }
	.menu-movil__pie {
		margin-top: auto;
		padding: 1.75rem var(--margen-lateral) 1.5rem;
		display: flex; flex-direction: column; gap: .75rem;
		background: var(--theme-suave);
	}
	.menu-movil__preferencias { display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; padding-top: .5rem; }

	/* ---------- Pie ---------- */
	.pie-sitio { background: var(--c-pie); color: var(--c-pie-texto); }
	.pie-sitio a, .pie-sitio .boton-texto { color: var(--c-pie-texto); }
	.pie-sitio a:hover { color: var(--c-pie-etiqueta); }
	.pie-sitio__rejilla {
		display: grid;
		grid-template-columns: repeat(auto-fit, minmax(min(100%, 13rem), 1fr));
		gap: 2rem;
		padding-block: clamp(2.5rem, 2rem + 2vw, 4rem);
	}
	.pie-sitio__marca { display: flex; flex-direction: column; gap: .875rem; }
	.pie-sitio__marca img { width: 190px; }
	.pie-sitio__marca p { font-size: var(--fs-pequeno); color: var(--c-pie-suave); }
	.pie-sitio__columna { font-size: 1rem; line-height: 1.5; }
	.pie-sitio__columna ul { list-style: none; display: flex; flex-direction: column; gap: .5rem; }
	.pie-sitio__columna a { text-decoration: none; }
	.pie-sitio__columna a:hover, .pie-sitio__columna a.subrayado { text-decoration: underline; }
	.pie-sitio__titulo {
		font-size: .8125rem; font-weight: 700; text-transform: uppercase; letter-spacing: .1em;
		color: var(--c-pie-etiqueta); padding-bottom: .75rem;
	}
	.pie-sitio__legal { background: var(--c-pie-legal); border-top: 1px solid rgb(255 255 255 / .2); }
	.pie-sitio__legal-fila {
		display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: .75rem 1.5rem;
		padding-block: 1rem; font-size: var(--fs-pequeno);
	}
	.pie-sitio__enlaces-legales { display: flex; flex-wrap: wrap; gap: .5rem 1rem; align-items: center; }
	.pie-sitio__contraste { display: none; }
	.contraste-activo .pie-sitio__tema [data-tema-alternar] { display: none; }
	.contraste-activo .pie-sitio__contraste { display: inline; }

	/* ---------- Barra móvil ---------- */
	.barra-movil { display: none; }
	@media (max-width: 47.99em) {
		.barra-movil {
			position: sticky; bottom: 0; z-index: 25;
			display: grid; grid-template-columns: 1fr 1.4fr; gap: .5rem;
			padding: .625rem .75rem;
			background: var(--theme-cabecera);
			backdrop-filter: blur(10px);
			border-top: 1px solid var(--theme-line);
		}
		.barra-movil .boton { justify-content: center; min-height: 52px; padding-inline: .75rem; }
	}
}

/* --------------------------------------------------------------------------
   COMPONENTES
   -------------------------------------------------------------------------- */
@layer componentes {
	/* ---------- Enlaces de salto ---------- */
	.saltos a {
		position: absolute; left: 1rem; top: -100px; z-index: 100;
		background: var(--c-morado); color: #fff; font-weight: 800;
		padding: .75rem 1.25rem; border-radius: var(--radio-xs);
	}
	.saltos a:focus { top: 1rem; color: #fff; }

	/* ---------- Tipografía de bloques ---------- */
	.antetitulo {
		display: flex; gap: .625rem; align-items: center;
		font-size: .875rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
		color: var(--acento);
	}
	.antetitulo--simple { padding-bottom: .75rem; }
	.antetitulo--claro { color: var(--c-pie-etiqueta); }
	.titulo-portada { font-size: var(--fs-h1); line-height: 1.02; letter-spacing: -.015em; }
	.titulo-pagina { font-size: var(--fs-h1-interior); line-height: 1.02; letter-spacing: -.015em; max-width: 48.75rem; }
	.titulo-seccion { font-size: var(--fs-h2); line-height: 1.05; letter-spacing: -.01em; }
	.subtitulo-seccion { font-size: var(--fs-h2-sub); padding-bottom: 1.25rem; }
	.titulo-caja { font-size: 1.375rem; }
	.entradilla { font-size: var(--fs-entradilla); line-height: 1.6; color: var(--theme-muted); max-width: 40rem; }
	.texto-intro { font-size: var(--fs-intro); line-height: 1.6; color: var(--theme-muted); }

	.punto { display: inline-block; flex-shrink: 0; width: 10px; height: 10px; border-radius: 50%; background: var(--c-verde); }
	.punto--mediano { width: 14px; height: 14px; }
	.punto--grande { width: 16px; height: 16px; }
	.punto--morado { background: var(--c-morado); }
	.punto--verde { background: var(--c-verde); }
	.punto--rosa { background: var(--c-rosa); }
	.punto--amarillo { background: var(--c-amarillo); }

	/* ---------- Botones y enlaces ---------- */
	.boton {
		display: inline-flex; align-items: center; justify-content: center; gap: .625rem;
		min-height: 48px;
		padding: .8125rem 1.25rem;
		border-radius: var(--radio-xs);
		border: 1px solid transparent;
		font-weight: 800; font-size: 1rem; line-height: 1.2;
		text-decoration: none;
		transition: background-color var(--transicion), color var(--transicion), border-color var(--transicion);
	}
	.boton--grande { min-height: 56px; padding: 1rem 1.625rem; font-size: var(--fs-base); border-radius: var(--radio-s); }
	.boton--ancho { width: 100%; }
	.boton--morado { background: var(--c-morado); color: #fff; }
	.boton--morado:hover { background: var(--c-morado-oscuro); color: #fff; }
	.boton--rosa { background: var(--c-rosa); color: var(--c-tinta); }
	.boton--rosa:hover { background: var(--c-rosa-hover); color: var(--c-tinta); }
	.boton--verde { background: var(--c-verde); color: var(--c-tinta); }
	.boton--verde:hover { background: #9bcbc8; color: var(--c-tinta); }
	.boton--borde { background: var(--theme-surface); color: var(--acento); border-color: var(--acento); }
	.boton--borde:hover { background: var(--acento-suave); color: var(--acento); }
	.boton .icono { width: 20px; height: 20px; stroke: currentColor; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; fill: none; }
	.grupo-botones { display: flex; flex-wrap: wrap; gap: .75rem; }

	.boton-texto { font-weight: 700; text-decoration: underline; text-underline-offset: .18em; padding: .25rem 0; color: var(--acento); }
	.boton-subrayado {
		align-self: flex-start;
		border-bottom: 2px solid var(--c-verde);
		padding: 0 0 3px;
		font-weight: 800; font-size: 1rem; color: var(--acento);
	}
	.enlace-flecha {
		display: inline-flex; gap: .5rem; width: fit-content;
		margin-top: 1.75rem;
		font-weight: 800; font-size: var(--fs-base);
		color: var(--acento); text-decoration: none;
		border-bottom: 2px solid var(--c-verde); padding-bottom: 4px;
	}
	.enlace-flecha:hover { border-bottom-color: var(--acento); }
	.enlace-fuerte { font-weight: 800; font-size: 1rem; width: fit-content; }

	/* ---------- Selector de idioma ---------- */
	.idiomas { display: flex; border: 1px solid var(--theme-campo); border-radius: 999px; padding: 3px; gap: 2px; }
	.idiomas__enlace {
		display: flex; align-items: center; justify-content: center;
		min-width: 40px; min-height: 34px; padding: 0 .6875rem;
		border-radius: 999px;
		font-size: .875rem; font-weight: 800; text-decoration: none;
		color: var(--acento);
	}
	.idiomas__enlace:hover { background: var(--acento-suave); }
	.idiomas__enlace[aria-current] { background: var(--c-morado); color: #fff; }

	/* ---------- Tarjetas de teléfono ---------- */
	.tarjeta-tel {
		flex: 1; min-width: min(100%, 13.75rem);
		display: flex; flex-direction: column; gap: 2px;
		text-decoration: none;
		background: var(--theme-surface);
		border: 1px solid var(--theme-line);
		border-radius: var(--radio-s);
		padding: .75rem 1.125rem;
	}
	.tarjeta-tel:hover { border-color: var(--c-verde); }
	.tarjeta-tel__etiqueta, .tel-fila span:first-child, .fila-contacto__etiqueta, .hospital__telefono-etiqueta, .etiqueta-seccion {
		font-size: .8125rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--theme-muted);
	}
	.tarjeta-tel__numero { font-size: 1.5rem; font-weight: 800; color: var(--theme-titulo); }

	.tel-fila {
		display: flex; justify-content: space-between; align-items: center; gap: .75rem;
		min-height: 56px; padding: 0 1.125rem;
		background: var(--theme-surface); border: 1px solid var(--theme-line); border-radius: var(--radio-s);
		text-decoration: none;
	}
	.tel-fila span:first-child { text-transform: none; letter-spacing: 0; font-size: var(--fs-pequeno); }
	.tel-fila span:last-child { font-size: 1.25rem; font-weight: 800; color: var(--acento); }

	/* ---------- Portada: hero ---------- */
	.portada-hero { position: relative; overflow: hidden; background: var(--theme-suave); }
	.portada-hero__rejilla {
		display: grid;
		grid-template-columns: repeat(auto-fit, minmax(min(100%, 27.5rem), 1fr));
		gap: clamp(1.5rem, 4vw, 3.5rem);
		align-items: center;
		padding-block: clamp(2.5rem, 1.5rem + 4vw, 5.5rem);
	}
	.portada-hero__texto { display: flex; flex-direction: column; gap: 1.5rem; position: relative; z-index: 2; }
	.portada-hero__texto .entradilla { max-width: 35rem; }
	.portada-hero__telefonos { display: flex; flex-wrap: wrap; gap: .75rem; padding-top: .5rem; }
	.portada-hero__imagen { display: flex; justify-content: flex-end; }
	.portada-hero__imagen img { width: 100%; max-width: 600px; margin-right: -4%; }

	/* ---------- Cifras ---------- */
	.cifras { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 17.5rem), 1fr)); gap: 1.25rem; }
	.cifra {
		position: relative; overflow: hidden;
		min-height: 320px; padding: 2rem;
		border-radius: var(--radio-xl);
		display: flex; flex-direction: column;
		color: var(--c-tinta);
	}
	.cifra > span { position: relative; }
	.cifra--amarillo { background: var(--c-amarillo); }
	.cifra--rosa { background: var(--c-rosa); }
	.cifra--morado { background: var(--c-morado); color: #fff; }
	.cifra__intro { font-size: var(--fs-pequeno); font-weight: 700; text-transform: uppercase; letter-spacing: .08em; padding-bottom: .375rem; }
	.cifra__numero { font-size: clamp(4rem, 3rem + 3vw, 5.75rem); line-height: .9; font-weight: 800; letter-spacing: -.02em; }
	.cifra__texto { font-size: 1.375rem; font-weight: 700; padding-top: .5rem; max-width: 50%; }
	.cifra--rosa .cifra__texto { max-width: none; }
	.cifra__silueta { position: absolute; object-fit: contain; pointer-events: none; }
	.cifra__silueta--lado { right: -6px; bottom: 0; width: 58%; height: 88%; object-position: right bottom; opacity: .6; }
	.cifra__silueta--abajo { left: 0; bottom: 0; width: 100%; height: 52%; object-position: center bottom; opacity: .55; }
	.cifra--morado .cifra__silueta { opacity: .28; }

	/* ---------- Qué hacemos (portada) ---------- */
	.seccion-que { position: relative; overflow: hidden; border-top: 1px solid var(--theme-line); }
	.seccion-que__fondo {
		position: absolute; top: 24px; left: 50%;
		width: 1800px; max-width: none; transform: translateX(-50%);
		opacity: var(--op-perfil); pointer-events: none;
	}
	.seccion-que__contenido { position: relative; padding-top: clamp(7.5rem, 5rem + 8vw, 12.5rem); padding-bottom: var(--seccion); }
	.puntos { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 15.625rem), 1fr)); gap: 1rem; }
	.punto-tarjeta {
		background: var(--theme-surface); border: 1px solid var(--theme-line); border-radius: var(--radio-l);
		padding: 1.75rem; display: flex; flex-direction: column; gap: .875rem;
	}
	.punto-tarjeta__cabecera { display: flex; align-items: center; justify-content: space-between; }
	.punto-tarjeta__numero { font-size: .875rem; font-weight: 700; color: var(--theme-tenue); }
	.punto-tarjeta__titulo { font-size: 1.5rem; }
	.punto-tarjeta p { color: var(--theme-muted); }

	/* ---------- Hospitales ---------- */
	.seccion-hospitales { position: relative; overflow: hidden; background: var(--theme-suave); padding-block: var(--seccion); }
	.seccion-hospitales__mapa {
		position: absolute; inset: 0; width: 100%; height: 100%;
		object-fit: cover; opacity: var(--op-mapa); pointer-events: none;
	}
	.seccion-hospitales .seccion { position: relative; padding-block: 0; }
	.hospitales { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 31.25rem), 1fr)); gap: 1.25rem; }
	.hospital {
		background: var(--theme-surface); border-radius: var(--radio-l); overflow: hidden;
		display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 13.75rem), 1fr));
		box-shadow: var(--sombra-tarjeta);
	}
	.hospital__imagen { position: relative; min-height: 220px; overflow: hidden; }
	.hospital__imagen--morado { background: var(--c-morado); }
	.hospital__imagen--verde { background: var(--c-verde); }
	.hospital__imagen--rosa { background: var(--c-rosa); }
	.hospital__imagen--amarillo { background: var(--c-amarillo); }
	/* Tratamiento gráfico del diseño: foto aérea en gris fundida con el color del hospital. */
	.hospital__imagen img, .portada--aerea img {
		position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover;
		filter: grayscale(1) contrast(1.15) brightness(1.08); mix-blend-mode: multiply;
	}
	.hospital__datos { padding: 1.5rem 1.625rem; display: flex; flex-direction: column; gap: .875rem; }
	.hospital__nombre { display: flex; align-items: center; gap: .625rem; font-size: 1.75rem; }
	.hospital__direccion { font-size: 1rem; line-height: 1.5; color: var(--theme-muted); }
	.hospital__telefono { display: flex; flex-direction: column; gap: 2px; text-decoration: none; width: fit-content; }
	.hospital__telefono-numero { font-size: 1.5rem; font-weight: 800; color: var(--acento); }
	.hospital__transporte { display: flex; flex-wrap: wrap; gap: .375rem; }
	.chip-dato { font-size: .875rem; font-weight: 700; color: var(--theme-titulo); background: var(--c-chip); border-radius: 8px; padding: .3125rem .5625rem; }
	.chip-dato--normal { font-weight: 500; }

	/* ---------- Testimonio en portada ---------- */
	.testimonio-portada { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 26.25rem), 1fr)); gap: 2.5rem; align-items: center; }
	.testimonio-portada__cita { display: flex; flex-direction: column; gap: 1.5rem; }
	.testimonio-portada__comillas { font-size: 6rem; line-height: .6; height: 40px; font-weight: 800; color: var(--c-verde); }
	.testimonio-portada blockquote p { font-size: clamp(1.625rem, 1.2rem + 1.5vw, 2.375rem); line-height: 1.25; font-weight: 700; color: var(--theme-titulo); text-wrap: balance; }
	.testimonio-portada figcaption { font-size: var(--fs-base); color: var(--theme-muted); }
	.testimonio-portada figcaption strong { color: var(--theme-titulo); }
	.testimonio-portada .enlace-flecha { margin-top: 0; }
	.testimonio-portada__circulo {
		position: relative; aspect-ratio: 1; max-width: 440px; width: 100%; justify-self: center;
		border-radius: 50%; background: var(--c-verde-suave); overflow: hidden;
	}
	.testimonio-portada__circulo img { position: absolute; left: 10%; bottom: 0; width: 80%; height: 84%; object-fit: contain; object-position: center bottom; }

	/* ---------- Banda "Hazte voluntario" ---------- */
	.banda-voluntario { position: relative; overflow: hidden; background: var(--c-morado); color: #fff; }
	.banda-voluntario__silueta {
		position: absolute; right: -40px; bottom: 0;
		width: min(38%, 420px); height: 90%;
		object-fit: contain; object-position: right bottom; opacity: .1; pointer-events: none;
	}
	.banda-voluntario__rejilla {
		position: relative;
		display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 25rem), 1fr)); gap: 3rem;
		padding-block: var(--seccion);
	}
	.banda-voluntario__texto { display: flex; flex-direction: column; gap: 1.25rem; align-items: flex-start; }
	.banda-voluntario__texto .titulo-seccion { color: #fff; }
	.banda-voluntario__texto p:not(.antetitulo) { font-size: var(--fs-intro); line-height: 1.6; color: #eef0f5; max-width: 30rem; }
	.banda-voluntario__texto .boton { margin-top: .5rem; }
	.pasos-cortos { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 14.375rem), 1fr)); gap: .75rem; align-content: center; }
	.pasos-cortos li {
		display: flex; gap: .875rem; align-items: center;
		background: rgb(255 255 255 / .08); border: 1px solid rgb(255 255 255 / .16); border-radius: 16px;
		padding: .875rem 1rem; font-size: var(--fs-base); font-weight: 700; line-height: 1.3;
	}
	.pasos-cortos__numero {
		width: 34px; height: 34px; flex-shrink: 0; border-radius: 50%;
		background: #fff; color: #586586; font-weight: 800; font-size: 1rem;
		display: flex; align-items: center; justify-content: center;
	}

	/* ---------- Colabora ---------- */
	.colabora { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 26.25rem), 1fr)); gap: 1.25rem; padding-top: clamp(3rem, 2rem + 3vw, 5rem); }
	.caja-borde { border: 1px solid var(--theme-line); border-radius: var(--radio-l); padding: 1.75rem; display: flex; flex-direction: column; gap: .625rem; }
	.caja-borde h3 { font-size: 1.375rem; }
	.caja-borde p { color: var(--theme-muted); }
	.caja-borde--fila { flex-direction: row; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 1rem 2rem; }

	/* ---------- Contacto en portada ---------- */
	.contacto-portada { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 23.75rem), 1fr)); gap: 2.5rem; align-items: start; }
	.contacto-portada__texto { display: flex; flex-direction: column; gap: 1rem; }
	.enlace-email { font-size: 1.25rem; font-weight: 800; }
	.enlace-tel { color: var(--theme-muted); text-decoration: none; }
	.enlace-tel strong { color: var(--theme-titulo); }

	/* ---------- Accesos "Quiero…" ---------- */
	.quiero { border-top: 1px solid var(--theme-line); background: var(--theme-suave); }
	.quiero__rejilla {
		display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 16.25rem), 1fr)); gap: .75rem;
		padding-block: clamp(2rem, 1.5rem + 2vw, 3rem);
	}
	.quiero__enlace { display: flex; flex-direction: column; gap: 2px; text-decoration: none; color: var(--c-tinta); border-radius: var(--radio-m); padding: 1.25rem 1.5rem; }
	.quiero__enlace:hover { color: var(--c-tinta); }
	.quiero__enlace--rosa { background: var(--c-rosa); }
	.quiero__enlace--rosa:hover { background: var(--c-rosa-hover); }
	.quiero__enlace--amarillo { background: var(--c-amarillo); }
	.quiero__enlace--amarillo:hover { background: var(--c-amarillo-hover); }
	.quiero__enlace--verde { background: var(--c-verde); }
	.quiero__enlace--verde:hover { background: var(--c-verde-hover); }
	.quiero__antetitulo { font-size: .875rem; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; }
	.quiero__texto { font-size: 1.375rem; font-weight: 800; }

	/* ---------- Cabecera de páginas interiores ---------- */
	.cabecera-pagina { position: relative; overflow: hidden; }
	.cabecera-pagina--rosa { background: var(--c-rosa-fondo); }
	.cabecera-pagina--amarillo { background: var(--c-amarillo-fondo); }
	.cabecera-pagina--verde { background: var(--c-verde-fondo); }
	.cabecera-pagina--morado { background: var(--c-morado-fondo); }
	.cabecera-pagina__figura { position: absolute; object-fit: contain; object-position: right bottom; opacity: .75; pointer-events: none; }
	.cabecera-pagina__figura--pedir { right: -2%; bottom: 0; width: 46%; height: 70%; }
	.cabecera-pagina__figura--vol, .cabecera-pagina__figura--silueta2 { right: 2%; bottom: 0; width: 34%; height: 92%; }
	.cabecera-pagina__figura--perfiles { right: -4%; bottom: -12%; width: 42%; height: 124%; }
	.cabecera-pagina__figura--continuo { right: 0; bottom: 0; width: 60%; height: 60%; }
	.cabecera-pagina__texto {
		position: relative;
		display: flex; flex-direction: column; gap: 1.125rem;
		padding-block: clamp(2.5rem, 1.5rem + 4vw, 5.5rem);
	}
	.cabecera-pagina__texto .entradilla { max-width: 40rem; }
	@media (max-width: 47.99em) {
		.cabecera-pagina__figura { opacity: .3; }
	}

	/* ---------- Pedir ---------- */
	.llamar { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 13.125rem), 1fr)); gap: 1rem; }
	.llamar__tarjeta {
		display: flex; flex-direction: column; gap: .875rem; height: 100%;
		text-decoration: none; border: 1px solid var(--theme-line); border-radius: var(--radio-l);
		padding: 1.5rem; background: var(--theme-surface);
	}
	.llamar__tarjeta:hover { border-color: var(--acento); }
	.llamar__hospital { display: flex; align-items: center; gap: .625rem; font-size: 1.375rem; font-weight: 800; color: var(--theme-titulo); }
	.llamar__numero { font-size: 1.875rem; font-weight: 800; color: var(--acento); letter-spacing: .01em; }
	.llamar__boton { display: flex; align-items: center; justify-content: center; margin-top: auto; background: var(--c-morado); color: #fff; font-weight: 800; border-radius: var(--radio-xs); padding: .8125rem; }
	.llamar__tarjeta:hover .llamar__boton { background: var(--c-morado-oscuro); }

	.lista-check { display: flex; flex-direction: column; gap: .75rem; padding-top: .5rem; }
	.lista-check li { display: flex; gap: .75rem; align-items: flex-start; font-size: var(--fs-base); line-height: 1.5; color: var(--theme-titulo); }
	.lista-check li::before {
		content: "✓"; width: 22px; height: 22px; flex-shrink: 0; margin-top: 1px;
		border-radius: 50%; background: var(--c-verde-suave); color: var(--theme-titulo);
		font-size: .8125rem; font-weight: 800; display: flex; align-items: center; justify-content: center;
	}
	.lista-check--tarjetas { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 21.25rem), 1fr)); gap: .75rem; padding-top: 0; }
	.lista-check--tarjetas li { border: 1px solid var(--theme-line); border-radius: var(--radio-m); padding: 1.125rem 1.25rem; }
	.lista-check--tarjetas li::before { width: 24px; height: 24px; }

	/* ---------- Formularios (Contact Form 7) ---------- */
	.caja-formulario { background: var(--theme-suave); border-radius: var(--radio-l); padding: clamp(1.25rem, 3vw, 2rem); }
	.caja-formulario--grande { border-radius: var(--radio-xl); padding: clamp(1.25rem, 4vw, 3rem); }
	.caja-formulario__titulo { font-size: clamp(1.5rem, 1.2rem + 1vw, 2rem); padding-bottom: 1.125rem; }
	.caja-formulario__intro { font-size: var(--fs-base); color: var(--theme-muted); padding: 0 0 1.75rem; max-width: 40rem; }
	.caja-formulario--grande .subtitulo-seccion { padding-bottom: .5rem; }

	.wpcf7-form { display: flex; flex-direction: column; gap: 1rem; }
	.wpcf7 .hidden-fields-container { display: none; }
	.wpcf7-form > div:not(.wpcf7-response-output):not(.screen-reader-response) { display: flex; flex-direction: column; gap: 1rem; }
	.wpcf7-form > p, .wpcf7-form > div > p {
		display: grid;
		grid-template-columns: repeat(auto-fit, minmax(min(100%, 13.75rem), 1fr));
		gap: 1rem;
		align-items: start;
	}
	.wpcf7-form br { display: none; }
	.wpcf7-form label {
		display: flex; flex-direction: column; gap: .375rem;
		font-size: .9375rem; font-weight: 700; color: var(--theme-muted);
	}
	.wpcf7-form label > span:first-child::first-letter { text-transform: uppercase; }
	.wpcf7-form label:has(textarea), .wpcf7-form .wpcf7-acceptance, .wpcf7-form label.final,
	.wpcf7-form > div > .wpcf7-form-control-wrap, .wpcf7-form p:has(.wpcf7-submit), .wpcf7-form .wpcf7-submit { grid-column: 1 / -1; }
	.wpcf7-form .wpcf7-form-control-wrap { display: block; }
	.wpcf7-form ::placeholder { color: var(--theme-tenue); opacity: 1; }
	.wpcf7-acceptance .wpcf7-list-item { margin: 0; display: block; }
	.wpcf7-acceptance label { flex-direction: row; gap: .625rem; align-items: flex-start; font-weight: 400; font-size: var(--fs-pequeno); line-height: 1.45; color: var(--theme-muted); }
	.wpcf7-acceptance input { margin-top: 2px; }
	.wpcf7-form label.final { display: block; font-weight: 400; font-size: var(--fs-pequeno); line-height: 1.45; }
	.wpcf7-form .wpcf7-submit {
		justify-self: start; width: auto;
		background: var(--c-morado); color: #fff; font-weight: 800; font-size: var(--fs-base);
		border: 0; min-height: 56px; padding: 1rem 1.75rem; border-radius: var(--radio-s); cursor: pointer;
		text-transform: capitalize;
	}
	.wpcf7-form .wpcf7-submit:hover { background: var(--c-morado-oscuro); }
	.wpcf7-form .wpcf7-submit:disabled { opacity: .55; cursor: not-allowed; }
	.wpcf7-spinner { margin: 0 0 0 .75rem; }
	.wpcf7-not-valid { border-color: #b3261e !important; }
	.wpcf7-not-valid-tip { display: block; color: #b3261e; font-size: var(--fs-pequeno); font-weight: 700; padding-top: .25rem; }
	.wpcf7 form.init .wpcf7-response-output, .wpcf7 form.resetting .wpcf7-response-output, .wpcf7 form.submitting .wpcf7-response-output { display: none; }
	.wpcf7-form textarea { height: 9rem; }
	.wpcf7 form .wpcf7-response-output {
		margin: 0; padding: 1rem 1.25rem; border-radius: var(--radio-xs);
		border: 2px solid var(--acento); background: var(--theme-surface); color: var(--theme-titulo); font-weight: 700;
	}
	.wpcf7 form.sent .wpcf7-response-output { border-color: var(--c-verde); }
	.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.failed .wpcf7-response-output { border-color: #b3261e; }
	.wpcf7 .screen-reader-response { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
	.grecaptcha-badge { visibility: hidden; }

	/* ---------- Voluntariado ---------- */
	.pasos { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 20rem), 1fr)); gap: 1rem; }
	.paso { border: 1px solid var(--theme-line); border-radius: var(--radio-l); padding: 1.625rem; display: flex; flex-direction: column; gap: .75rem; background: var(--theme-surface); }
	.paso__numero { width: 44px; height: 44px; border-radius: 50%; font-weight: 800; font-size: 1.125rem; display: flex; align-items: center; justify-content: center; color: var(--c-tinta); }
	.paso__numero--amarillo { background: var(--c-amarillo); }
	.paso__numero--rosa { background: var(--c-rosa); }
	.paso__numero--verde { background: var(--c-verde); }
	.paso__numero--morado { background: var(--c-morado); color: #fff; }
	.paso__titulo { font-size: 1.3125rem; line-height: 1.25; }
	.paso p { font-size: 1rem; color: var(--theme-muted); }

	.dos-cajas { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 26.25rem), 1fr)); gap: 1rem; }
	.caja-color { border-radius: var(--radio-l); padding: clamp(1.5rem, 3vw, 2.25rem); display: flex; flex-direction: column; gap: .75rem; color: var(--theme-titulo); }
	.caja-color h3 { font-size: 1.625rem; }
	.caja-color p { line-height: 1.6; }
	.caja-color--verde { background: var(--c-verde-suave); }
	.caja-color--amarillo { background: var(--c-amarillo-suave); }
	.caja-color--rosa { background: var(--c-rosa-suave); }
	.caja-color--morado { background: var(--c-morado-suave); }

	/* ---------- Qué hacemos ---------- */
	.valores { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 15.625rem), 1fr)); gap: 1rem; }
	.valores .caja-color { padding: 1.75rem; gap: .625rem; }
	.valores h3 { font-size: 1.375rem; }
	.valores p { font-size: 1rem; }
	.banda-junta {
		position: relative; overflow: hidden;
		background: var(--c-morado); color: #fff; border-radius: var(--radio-xl);
		padding: clamp(1.5rem, 4vw, 3rem);
		display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 18.75rem), 1fr)); gap: 2rem;
	}
	.banda-junta > * { position: relative; }
	.banda-junta .banda-junta__silueta { position: absolute; right: -20px; bottom: 0; width: 40%; height: 90%; object-fit: contain; object-position: right bottom; opacity: .1; pointer-events: none; }
	.banda-junta__cifra { display: flex; flex-direction: column; gap: .5rem; }
	.banda-junta__numero { font-size: clamp(4rem, 3rem + 3vw, 5.75rem); line-height: .9; font-weight: 800; }
	.banda-junta__texto { font-size: 1.375rem; font-weight: 700; }
	.banda-junta__cifra p { color: #eef0f5; padding-top: .5rem; max-width: 23.75rem; }
	.banda-junta__titulo { color: #fff; font-size: 1.5rem; padding-bottom: 1rem; }
	.junta { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 12.5rem), 1fr)); gap: .875rem 1.5rem; }
	.junta > div { display: flex; flex-direction: column; gap: 2px; border-top: 1px solid rgb(255 255 255 / .22); padding-top: .625rem; }
	.junta dt { font-size: .8125rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: #cfe6e4; }
	.junta dd { font-size: var(--fs-base); line-height: 1.4; }
	.enlaces-caja { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 16.25rem), 1fr)); gap: 1rem; }
	.enlaces-caja a {
		display: flex; justify-content: space-between; align-items: center;
		border: 1px solid var(--theme-line); border-radius: var(--radio-m); padding: 1.375rem 1.5rem;
		text-decoration: none; font-size: 1.1875rem; font-weight: 800; color: var(--theme-titulo);
	}
	.enlaces-caja a:hover { border-color: var(--acento); }

	/* ---------- Testimonios ---------- */
	.testimonios { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 21.25rem), 1fr)); gap: 1.25rem; align-items: start; }
	.testimonio { border: 1px solid var(--theme-line); border-radius: var(--radio-l); padding: clamp(1.375rem, 3vw, 2rem); display: flex; flex-direction: column; gap: 1rem; background: var(--theme-surface); }
	.testimonio__titulo { font-size: 1.375rem; line-height: 1.3; }
	.testimonio__texto { font-size: var(--fs-base); line-height: 1.65; color: var(--theme-muted); display: flex; flex-direction: column; gap: .75rem; }
	.testimonio__texto.recortado {
		max-height: 11.5em; overflow: hidden;
		-webkit-mask-image: linear-gradient(#000 60%, transparent);
		mask-image: linear-gradient(#000 60%, transparent);
	}
	.testimonio__autor { display: flex; align-items: center; gap: .75rem; border-top: 1px solid var(--theme-line); padding-top: 1rem; margin-top: .25rem; }
	.testimonio__firma { display: flex; flex-direction: column; }
	.testimonio__firma strong { color: var(--theme-titulo); }
	.testimonio__firma span { font-size: var(--fs-pequeno); color: var(--theme-muted); }

	.etiqueta {
		align-self: flex-start; display: inline-block;
		font-size: .8125rem; font-weight: 800; text-transform: uppercase; letter-spacing: .08em;
		color: var(--c-tinta); background: var(--c-verde); border-radius: 999px; padding: .375rem .75rem; line-height: 1.2;
	}
	.etiqueta--amarillo { background: var(--c-amarillo); }
	.etiqueta--rosa { background: var(--c-rosa); }
	.etiqueta--verde { background: var(--c-verde); }
	.etiqueta--morado { background: var(--c-morado); color: #fff; }
	.avatar {
		width: 44px; height: 44px; flex-shrink: 0; border-radius: 50%;
		display: flex; align-items: center; justify-content: center;
		font-weight: 800; font-size: var(--fs-pequeno); color: var(--c-tinta); background: var(--c-verde);
	}
	.avatar--amarillo { background: var(--c-amarillo); }
	.avatar--rosa { background: var(--c-rosa); }
	.avatar--morado { background: var(--c-morado); color: #fff; }

	/* ---------- Contacto ---------- */
	.fila-contacto {
		display: flex; justify-content: space-between; align-items: center; gap: .75rem; flex-wrap: wrap;
		border: 1px solid var(--theme-line); border-radius: var(--radio-m); padding: 1.125rem 1.375rem;
		text-decoration: none;
	}
	a.fila-contacto:hover { border-color: var(--acento); }
	.fila-contacto__etiqueta { font-size: var(--fs-pequeno); }
	.fila-contacto__numero { font-size: 1.5rem; font-weight: 800; color: var(--acento); }
	.fila-contacto__numero--email { font-size: 1.25rem; overflow-wrap: anywhere; }
	.fila-contacto--suave { background: var(--theme-suave); border-color: transparent; flex-direction: column; align-items: flex-start; gap: .25rem; color: var(--theme-titulo); }

	/* ---------- Memorias ---------- */
	.memoria-destacada {
		display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 25rem), 1fr));
		gap: clamp(1.75rem, 5vw, 4rem); align-items: center;
		background: var(--theme-suave); border-radius: var(--radio-xl); padding: clamp(1.5rem, 5vw, 4rem);
	}
	.memoria-destacada__portada { justify-self: center; display: block; width: min(100%, 340px); transition: transform var(--transicion); border-radius: 6px; }
	.memoria-destacada__portada:hover { transform: translateY(-4px); }
	.memoria-destacada__portada img {
		width: 100%; aspect-ratio: 700 / 989; object-fit: cover; border-radius: 6px; background: #fff;
		box-shadow: 0 24px 48px -20px rgb(63 72 99 / .5), 0 0 0 1px rgb(63 72 99 / .08);
	}
	.titulo-memoria { font-size: clamp(2.25rem, 1.6rem + 2.5vw, 3.75rem); line-height: 1; letter-spacing: -.015em; }
	.memoria-destacada__formato { font-size: 1rem; font-weight: 700; color: var(--theme-muted); }
	.cabecera-listado { display: flex; justify-content: space-between; align-items: baseline; gap: .75rem 2rem; flex-wrap: wrap; padding-bottom: 1.75rem; }
	.cabecera-listado .subtitulo-seccion { padding-bottom: 0; }
	.cabecera-listado p { color: var(--theme-muted); }
	.cabecera-listado .enlace-flecha { margin-top: 0; }
	.memorias { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 10.625rem), 1fr)); gap: clamp(1.25rem, 3vw, 2rem) clamp(1rem, 2.4vw, 1.75rem); }
	.memoria { display: flex; flex-direction: column; gap: .75rem; text-decoration: none; height: 100%; }
	.memoria:hover { opacity: .85; }
	.memoria__portada {
		width: 100%; aspect-ratio: 250 / 354; object-fit: cover; border-radius: 6px; background: var(--theme-suave);
		box-shadow: 0 14px 28px -16px rgb(63 72 99 / .45), 0 0 0 1px rgb(63 72 99 / .1);
	}
	.memoria-sin-portada { display: flex; align-items: center; justify-content: center; aspect-ratio: 250 / 354; font-size: 2rem; font-weight: 800; color: var(--theme-titulo); background: var(--theme-suave); border-radius: 6px; }
	.memoria__pie { display: flex; justify-content: space-between; align-items: baseline; gap: .5rem; flex-wrap: wrap; }
	.memoria__anio { font-size: 1.125rem; font-weight: 800; color: var(--theme-titulo); }
	.memoria__formato { display: flex; align-items: center; gap: .375rem; font-size: .875rem; font-weight: 700; color: var(--acento); }
	.memoria__formato .icono { width: 16px; height: 16px; stroke: currentColor; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; fill: none; }
	.memoria__nota { font-size: .875rem; line-height: 1.4; color: var(--theme-muted); margin-top: -.375rem; }

	/* ---------- Actualidad ---------- */
	.listado { display: flex; flex-direction: column; gap: clamp(1.75rem, 4vw, 2.75rem); }
	.filtros ul, .compartir ul { list-style: none; }
	.filtros ul { display: flex; flex-wrap: wrap; gap: .5rem; }
	.chip {
		display: inline-flex; align-items: center; gap: .5rem;
		min-height: 44px; padding: 0 1rem; border-radius: 999px;
		font-size: 1rem; font-weight: 700; text-decoration: none;
		border: 1px solid var(--theme-campo); background: var(--theme-surface); color: var(--theme-titulo);
	}
	.chip:hover { border-color: var(--acento); color: var(--theme-titulo); }
	.chip[aria-current] { border: 2px solid var(--c-morado); background: var(--acento-suave); }

	.portada { position: relative; overflow: hidden; aspect-ratio: 16 / 10; background: var(--theme-suave); }
	.portada img { width: 100%; height: 100%; object-fit: cover; }
	.portada--silueta img { position: absolute; right: 6%; bottom: 0; height: 90%; width: auto; max-width: 70%; object-fit: contain; object-position: right bottom; }
	.portada--amarillo { background: var(--c-amarillo-fondo); }
	.portada--rosa { background: var(--c-rosa-fondo); }
	.portada--morado { background: var(--c-morado-fondo); }
	.portada--verde { background: var(--c-verde-fondo); }

	.destacado {
		position: relative;
		display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 27.5rem), 1fr));
		border: 1px solid var(--theme-line); border-radius: var(--radio-xl); overflow: hidden; background: var(--theme-surface);
	}
	.destacado:hover, .tarjeta-post:hover { border-color: var(--acento); }
	.destacado .portada { aspect-ratio: auto; min-height: clamp(15rem, 25vw, 23.75rem); }
	.destacado__cuerpo { padding: clamp(1.5rem, 4vw, 3rem); display: flex; flex-direction: column; gap: 1rem; justify-content: center; }
	.destacado__titulo { font-size: clamp(1.75rem, 1.3rem + 1.6vw, 2.625rem); line-height: 1.08; letter-spacing: -.01em; }
	.destacado .enlace-flecha { margin-top: 0; }

	.rejilla-posts { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 20rem), 1fr)); gap: 1.25rem; }
	.tarjeta-post { position: relative; display: flex; flex-direction: column; border: 1px solid var(--theme-line); border-radius: var(--radio-l); overflow: hidden; background: var(--theme-surface); }
	.tarjeta-post__cuerpo { padding: 1.375rem 1.5rem 1.625rem; display: flex; flex-direction: column; gap: .75rem; }
	.tarjeta-post__meta { display: flex; gap: .625rem; align-items: center; flex-wrap: wrap; font-size: var(--fs-pequeno); color: var(--theme-muted); }
	.tarjeta-post__titulo { font-size: 1.375rem; line-height: 1.25; }
	.tarjeta-post__extracto { font-size: 1rem; line-height: 1.6; color: var(--theme-muted); }
	.enlace-tarjeta { color: inherit; text-decoration: none; }
	.enlace-tarjeta::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
	.enlace-tarjeta:focus-visible { outline: none; }
	.enlace-tarjeta:focus-visible::after { outline: 3px solid var(--acento); outline-offset: -3px; }
	.tarjeta-post:has(.enlace-tarjeta:hover) .tarjeta-post__titulo, .destacado:has(.enlace-tarjeta:hover) .destacado__titulo { text-decoration: underline; text-decoration-thickness: 2px; }

	.paginacion__enlaces { display: flex; gap: .5rem; align-items: center; justify-content: center; flex-wrap: wrap; padding-top: .5rem; }
	.paginacion .page-numbers {
		min-width: 48px; height: 48px; padding: 0 1rem;
		display: flex; align-items: center; justify-content: center;
		border-radius: var(--radio-xs); border: 1px solid var(--theme-campo);
		color: var(--acento); font-weight: 800; text-decoration: none;
	}
	.paginacion a.page-numbers:hover { border-color: var(--acento); }
	.paginacion .page-numbers.current { background: var(--c-morado); border-color: var(--c-morado); color: #fff; }
	.paginacion .page-numbers.dots { border: 0; }

	/* ---------- Artículo ---------- */
	.articulo__cabecera { background: var(--theme-suave); }
	.articulo__cabecera .pila { padding-block: clamp(1.75rem, 4vw, 3.5rem) clamp(1.75rem, 4vw, 3rem); }
	.volver { display: inline-flex; align-items: center; gap: .5rem; min-height: 44px; font-weight: 800; text-decoration: none; }
	.titulo-articulo { font-size: clamp(2.125rem, 1.5rem + 2.6vw, 3.625rem); line-height: 1.05; letter-spacing: -.015em; }
	.articulo__meta { display: flex; align-items: center; gap: .75rem; padding-top: .375rem; }
	.articulo__firma { display: flex; flex-direction: column; }
	.articulo__firma strong { color: var(--theme-titulo); }
	.articulo__firma span { font-size: var(--fs-pequeno); color: var(--theme-muted); }
	.articulo__portada { padding-top: clamp(1.5rem, 3vw, 2.5rem); }
	.articulo__portada img { width: 100%; border-radius: var(--radio-xl); aspect-ratio: 21 / 9; object-fit: cover; }
	.articulo__portada figcaption { font-size: var(--fs-pequeno); color: var(--theme-muted); padding-top: .5rem; }
	.articulo__cuerpo { padding-top: clamp(2rem, 5vw, 3.5rem); }

	.compartir { display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; border-top: 1px solid var(--theme-line); padding-top: 1.5rem; margin-top: 2.5rem; }
	.compartir__titulo { font-size: .875rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: var(--theme-muted); margin-right: .375rem; }
	.compartir ul { display: flex; flex-wrap: wrap; gap: .5rem; }

	/* ---------- Prosa (contenido del editor) ---------- */
	.prosa { display: flex; flex-direction: column; gap: 1.25rem; font-size: var(--fs-base); line-height: 1.7; }
	.prosa--articulo { font-size: 1.1875rem; line-height: 1.75; }
	.prosa > * { max-width: 100%; }
	.prosa h2 { font-size: clamp(1.5rem, 1.2rem + 1vw, 1.875rem); line-height: 1.2; padding-top: .875rem; }
	.prosa h3 { font-size: 1.375rem; padding-top: .5rem; }
	.prosa ul, .prosa ol { padding-left: 1.5rem; display: flex; flex-direction: column; gap: .5rem; }
	.prosa ul ul, .prosa ol ul { padding-top: .5rem; }
	.prosa li::marker { color: var(--c-verde); font-weight: 800; }
	.prosa blockquote { background: var(--c-amarillo-suave); border-radius: var(--radio-l); padding: clamp(1.5rem, 3vw, 2.25rem); font-size: clamp(1.375rem, 1.1rem + 1vw, 1.75rem); line-height: 1.35; font-weight: 800; color: var(--theme-titulo); }
	.prosa blockquote cite { display: block; font-size: 1rem; font-weight: 700; font-style: normal; color: var(--theme-muted); padding-top: .75rem; }
	.prosa img { border-radius: var(--radio-m); height: auto; }
	.prosa figure { display: flex; flex-direction: column; gap: .5rem; }
	.prosa figcaption, .prosa .wp-caption-text { font-size: var(--fs-pequeno); color: var(--theme-muted); }
	.prosa iframe { width: 100%; aspect-ratio: 16 / 9; height: auto; border: 0; border-radius: var(--radio-m); }
	.prosa .wp-caption { max-width: 100%; }
	.prosa .alignleft { float: left; margin: .25rem 1.5rem 1rem 0; }
	.prosa .alignright { float: right; margin: .25rem 0 1rem 1.5rem; }
	.prosa .aligncenter { margin-inline: auto; }
	.prosa .tabla-responsive { overflow-x: auto; }
	.prosa caption { text-align: left; font-weight: 800; color: var(--theme-titulo); padding-bottom: .5rem; }
	@media (max-width: 47.99em) {
		.prosa .alignleft, .prosa .alignright { float: none; margin: 0; }
		.prosa table.atajos-teclado thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
		.prosa table.atajos-teclado tr { display: block; border-bottom: 1px solid var(--theme-line); padding-block: .5rem; }
		.prosa table.atajos-teclado td { display: flex; justify-content: space-between; gap: 1rem; border: 0; padding: .25rem 0; }
		.prosa table.atajos-teclado td::before { content: attr(data-label); font-weight: 700; color: var(--theme-titulo); }
	}

	/* ---------- Preferencias (accesibilidad) ---------- */
	.preferencias { background: var(--theme-suave); border-radius: var(--radio-l); padding: clamp(1.25rem, 3vw, 2rem); display: flex; flex-direction: column; gap: 1rem; margin-bottom: 2.5rem; }
	.preferencias h2 { font-size: 1.5rem; }
	.preferencias__fila { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem 1.5rem; }
	.preferencias__contraste { display: none; flex-direction: column; gap: .5rem; }
	.contraste-activo .preferencias__contraste { display: flex; }
	.preferencias__contraste label { font-weight: 700; color: var(--theme-titulo); }
	.preferencias__ayuda { font-size: var(--fs-pequeno); color: var(--theme-muted); }

	/* ---------- Diálogo de cookies ---------- */
	.dialogo-cookies {
		margin: auto; max-height: calc(100dvh - 2rem); overflow-y: auto; width: min(100% - 2rem, 40rem);
		background: var(--theme-surface); color: var(--theme-text);
		border-radius: var(--radio-l); padding: clamp(1.5rem, 4vw, 2.25rem);
		box-shadow: 0 24px 64px rgb(20 23 30 / .3);
	}
	.dialogo-cookies[open] { display: flex; flex-direction: column; gap: 1rem; }
	.dialogo-cookies::backdrop { background: rgb(20 23 30 / .55); }
	.dialogo-cookies__etiqueta { font-size: .875rem; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; color: var(--acento); }
	.dialogo-cookies__titulo { font-size: clamp(1.625rem, 1.3rem + 1vw, 2rem); }
	.dialogo-cookies__tipos { display: flex; flex-direction: column; gap: .75rem; }
	.dialogo-cookies__tipos li { border: 1px solid var(--theme-line); border-radius: var(--radio-s); padding: 1rem 1.125rem; font-size: var(--fs-pequeno); color: var(--theme-muted); display: flex; flex-direction: column; gap: .25rem; }
	.dialogo-cookies__tipo { display: flex; justify-content: space-between; gap: 1rem; flex-wrap: wrap; font-size: 1rem; color: var(--theme-titulo); }
	.dialogo-cookies__estado { font-size: .875rem; font-weight: 700; color: var(--acento); }
	.dialogo-cookies__botones { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 12rem), 1fr)); gap: .75rem; padding-top: .25rem; }
}

/* --------------------------------------------------------------------------
   UTILIDADES
   -------------------------------------------------------------------------- */
@layer utilidades {
	/* Cabecera estrecha (en esta capa para prevalecer sobre .boton) */
	@media (max-width: 81.24em) {
		.js .navegacion, .js .cabecera-sitio__cta { display: none; }
	}
	.screen-reader-text {
		position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
		overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
	}
	@media (prefers-reduced-motion: reduce) {
		html { scroll-behavior: auto; }
		*, *::before, *::after { animation: none !important; transition: none !important; }
		.memoria-destacada__portada:hover { transform: none; }
	}
}

/* --------------------------------------------------------------------------
   ALTO CONTRASTE (solo lo activa el sistema; solo en pantalla)
   -------------------------------------------------------------------------- */
@layer contraste {
	@media screen and (prefers-contrast: more) {
		:root { --cc: #ffff00; --theme-page:#000;--theme-surface:#000;--theme-suave:#000;--theme-text:var(--cc);--theme-titulo:var(--cc);--theme-muted:var(--cc);--theme-tenue:var(--cc); --theme-line:var(--cc);--theme-campo:var(--cc);--acento:var(--cc);--acento-hover:var(--cc);--acento-suave:#000;--theme-cabecera:#000; --c-morado:#000;--c-morado-oscuro:#000;--c-verde:var(--cc);--c-verde-hover:#000;--c-rosa:#000;--c-rosa-hover:#000;--c-amarillo:#000;--c-amarillo-hover:#000; --c-tinta:var(--cc);--c-sobre-morado:var(--cc); --c-verde-suave:#000;--c-verde-fondo:#000;--c-amarillo-suave:#000;--c-amarillo-fondo:#000;--c-rosa-suave:#000;--c-rosa-fondo:#000;--c-morado-suave:#000;--c-morado-fondo:#000;--c-chip:#000; --c-pie:#000;--c-pie-texto:var(--cc);--c-pie-suave:var(--cc);--c-pie-etiqueta:var(--cc);--c-pie-legal:#000; --sombra-tarjeta:none;color-scheme:dark; }
		:root[data-contrast="white"]{--cc:#ffffff;}
		:root[data-contrast="cyan"]{--cc:#00ffff;}
		:root[data-contrast="lime"]{--cc:#a6ff00;}
		:root[data-contrast="yellow"]{--cc:#ffff00;}
		:root body * { box-shadow: none !important; text-shadow: none !important; }
		:root body { background:#000; color: var(--cc); }
		:root :is(.cifra, .caja-color, .banda-voluntario, .banda-junta, .quiero__enlace, .boton, .etiqueta, .avatar, .paso__numero, .llamar__boton, .pasos-cortos__numero, .pasos-cortos li, .chip, .punto-tarjeta, .hospital, .paso, .testimonio, .tarjeta-post, .destacado, .caja-formulario, .caja-borde, .fila-contacto, .memoria-destacada, .preferencias, .dialogo-cookies, .menu-movil__cerrar, .cabecera-sitio__abrir, .tarjeta-tel, .tel-fila, .llamar__tarjeta, .enlaces-caja a, .lista-check--tarjetas li, .wpcf7-submit, .idiomas, .chip-dato, .page-numbers, .saltos a) { background: #000 !important; color: var(--cc) !important; border: 2px solid var(--cc) !important; }
		:root :is(.cifra, .banda-voluntario, .banda-junta, .quiero__enlace, .pie-sitio, .caja-color, .boton, .etiqueta) * { color: var(--cc) !important; }
		:root :is(.cifra__silueta, .seccion-que__fondo, .seccion-hospitales__mapa, .cabecera-pagina__figura, .banda-voluntario__silueta, .banda-junta__silueta, .testimonio-portada__circulo, .portada-hero__imagen, .portada--silueta img, .hospital__imagen, .logo--claro) { display: none !important; }
		:root .logo--oscuro { display: block !important; }
		:root .portada--silueta { display: none; }
		:root .punto, :root .lista-check li::before { background: var(--cc) !important; color: #000 !important; }
		:root .cabecera-sitio { border-bottom: 2px solid var(--cc); backdrop-filter: none; }
		:root .pie-sitio, :root .pie-sitio__legal { border-top: 2px solid var(--cc); }
		:root .idiomas__enlace[aria-current], :root .chip[aria-current], :root .page-numbers.current, :root .navegacion__enlace[aria-current] { background: var(--cc) !important; color: #000 !important; }
		:root :is(a, button, .boton, .chip, summary):is(:hover, :focus-visible), :root :is(.tarjeta-post, .destacado):has(.enlace-tarjeta:hover) { background: var(--cc) !important; color: #000 !important; outline-color: var(--cc); }
		:root :is(a, button, .boton, .chip):is(:hover, :focus-visible) * { color: #000 !important; }
		:root :focus-visible { outline: 3px solid var(--cc) !important; outline-offset: 3px; }
		:root input, :root textarea, :root select { background: #000 !important; color: var(--cc) !important; border: 2px solid var(--cc) !important; }
		:root ::placeholder { color: var(--cc) !important; }
		:root .testimonio__texto.recortado { -webkit-mask-image: none; mask-image: none; }
		:root .menu-movil, :root .menu-movil__pie { background: #000; }
		:root ::selection { background: var(--cc); color: #000; }
	}
	@media screen and (forced-colors: active) {
		:root[data-contrast] { forced-color-adjust: none; --cc: #ffff00; --theme-page:#000;--theme-surface:#000;--theme-suave:#000;--theme-text:var(--cc);--theme-titulo:var(--cc);--theme-muted:var(--cc);--theme-tenue:var(--cc); --theme-line:var(--cc);--theme-campo:var(--cc);--acento:var(--cc);--acento-hover:var(--cc);--acento-suave:#000;--theme-cabecera:#000; --c-morado:#000;--c-morado-oscuro:#000;--c-verde:var(--cc);--c-verde-hover:#000;--c-rosa:#000;--c-rosa-hover:#000;--c-amarillo:#000;--c-amarillo-hover:#000; --c-tinta:var(--cc);--c-sobre-morado:var(--cc); --c-verde-suave:#000;--c-verde-fondo:#000;--c-amarillo-suave:#000;--c-amarillo-fondo:#000;--c-rosa-suave:#000;--c-rosa-fondo:#000;--c-morado-suave:#000;--c-morado-fondo:#000;--c-chip:#000; --c-pie:#000;--c-pie-texto:var(--cc);--c-pie-suave:var(--cc);--c-pie-etiqueta:var(--cc);--c-pie-legal:#000; --sombra-tarjeta:none;color-scheme:dark; }
		:root[data-contrast] * { forced-color-adjust: none; }
		:root[data-contrast="white"]{--cc:#ffffff;}
		:root[data-contrast="cyan"]{--cc:#00ffff;}
		:root[data-contrast="lime"]{--cc:#a6ff00;}
		:root[data-contrast="yellow"]{--cc:#ffff00;}
		:root[data-contrast] body * { box-shadow: none !important; text-shadow: none !important; }
		:root[data-contrast] body { background:#000; color: var(--cc); }
		:root[data-contrast] :is(.cifra, .caja-color, .banda-voluntario, .banda-junta, .quiero__enlace, .boton, .etiqueta, .avatar, .paso__numero, .llamar__boton, .pasos-cortos__numero, .pasos-cortos li, .chip, .punto-tarjeta, .hospital, .paso, .testimonio, .tarjeta-post, .destacado, .caja-formulario, .caja-borde, .fila-contacto, .memoria-destacada, .preferencias, .dialogo-cookies, .menu-movil__cerrar, .cabecera-sitio__abrir, .tarjeta-tel, .tel-fila, .llamar__tarjeta, .enlaces-caja a, .lista-check--tarjetas li, .wpcf7-submit, .idiomas, .chip-dato, .page-numbers, .saltos a) { background: #000 !important; color: var(--cc) !important; border: 2px solid var(--cc) !important; }
		:root[data-contrast] :is(.cifra, .banda-voluntario, .banda-junta, .quiero__enlace, .pie-sitio, .caja-color, .boton, .etiqueta) * { color: var(--cc) !important; }
		:root[data-contrast] :is(.cifra__silueta, .seccion-que__fondo, .seccion-hospitales__mapa, .cabecera-pagina__figura, .banda-voluntario__silueta, .banda-junta__silueta, .testimonio-portada__circulo, .portada-hero__imagen, .portada--silueta img, .hospital__imagen, .logo--claro) { display: none !important; }
		:root[data-contrast] .logo--oscuro { display: block !important; }
		:root[data-contrast] .portada--silueta { display: none; }
		:root[data-contrast] .punto, :root[data-contrast] .lista-check li::before { background: var(--cc) !important; color: #000 !important; }
		:root[data-contrast] .cabecera-sitio { border-bottom: 2px solid var(--cc); backdrop-filter: none; }
		:root[data-contrast] .pie-sitio, :root[data-contrast] .pie-sitio__legal { border-top: 2px solid var(--cc); }
		:root[data-contrast] .idiomas__enlace[aria-current], :root[data-contrast] .chip[aria-current], :root[data-contrast] .page-numbers.current, :root[data-contrast] .navegacion__enlace[aria-current] { background: var(--cc) !important; color: #000 !important; }
		:root[data-contrast] :is(a, button, .boton, .chip, summary):is(:hover, :focus-visible), :root[data-contrast] :is(.tarjeta-post, .destacado):has(.enlace-tarjeta:hover) { background: var(--cc) !important; color: #000 !important; outline-color: var(--cc); }
		:root[data-contrast] :is(a, button, .boton, .chip):is(:hover, :focus-visible) * { color: #000 !important; }
		:root[data-contrast] :focus-visible { outline: 3px solid var(--cc) !important; outline-offset: 3px; }
		:root[data-contrast] input, :root[data-contrast] textarea, :root[data-contrast] select { background: #000 !important; color: var(--cc) !important; border: 2px solid var(--cc) !important; }
		:root[data-contrast] ::placeholder { color: var(--cc) !important; }
		:root[data-contrast] .testimonio__texto.recortado { -webkit-mask-image: none; mask-image: none; }
		:root[data-contrast] .menu-movil, :root[data-contrast] .menu-movil__pie { background: #000; }
		:root[data-contrast] ::selection { background: var(--cc); color: #000; }
	}
}
