/*
Theme Name: Kadence Hacemos Memoria
Theme URI: https://hacemosmemoria.org
Description: Child theme de Kadence para el rediseño de hacemosmemoria.org — "El archivo vivo". Basado en Kadence.
Author: Hacemos Memoria
Template: kadence
Version: 0.1.0
Requires at least: 6.3
Requires PHP: 7.4
Text Domain: kadence-child
*/

/* ==========================================================================
   Design tokens — concepto "El archivo vivo"
   La fecha de cada contenido es protagonista (sello de archivo): la
   organización documenta y verifica cronologías contra el olvido. La
   paleta evita los defaults genéricos (crema+serif+terracota /
   negro+neón): negro tinta cálido, papel hueso, oro-llama como acento
   único, teal apagado para metadatos/estructura.
   ========================================================================== */
:root {
	/* Color */
	--hm-ink: #15130f;         /* fondo, noche/ausencia */
	--hm-paper: #ede6d8;       /* texto principal, hueso/papel */
	--hm-flame: #c99a3e;       /* acento único: la memoria como llama, uso escaso */
	--hm-flame-soft: #e0b869;  /* variante clara del acento, hover/focus */
	--hm-stamp: #4a6670;       /* teal apagado: categorías, metadatos, enlaces */
	--hm-stamp-soft: #7fa0a9;  /* variante clara del teal, hover/focus sobre fondo oscuro */
	--hm-charcoal: #3a362e;    /* bordes, separadores, superficies elevadas */
	--hm-surface: #211d18;     /* tarjetas/superficies sobre el fondo ink */

	/* Tipografia */
	--hm-font-display: 'Roboto Slab', ui-serif, Georgia, serif;
	--hm-font-body: 'Roboto', ui-sans-serif, system-ui, sans-serif;
	--hm-font-mono: 'Roboto Mono', ui-monospace, 'SFMono-Regular', Menlo, monospace;

	/* Escala tipografica (base 1rem = 16px, ratio ~1.25) */
	--hm-text-xs: 0.75rem;
	--hm-text-sm: 0.875rem;
	--hm-text-base: 1rem;
	--hm-text-lg: 1.25rem;
	--hm-text-xl: 1.563rem;
	--hm-text-2xl: 1.953rem;
	--hm-text-3xl: 2.441rem;
	--hm-text-4xl: 3.052rem;

	/* Espaciado */
	--hm-space-1: 0.25rem;
	--hm-space-2: 0.5rem;
	--hm-space-3: 1rem;
	--hm-space-4: 1.5rem;
	--hm-space-5: 2.5rem;
	--hm-space-6: 4rem;

	--hm-radius-sm: 3px;
	--hm-radius: 4px;
	--hm-radius-lg: 4px;
	--hm-shell: min(1380px, calc(100vw - 48px));
	--hm-ease: cubic-bezier(0.22, 1, 0.36, 1);
}

/* ==========================================================================
   Base
   ========================================================================== */
/* !important deliberado: Kadence fija el fondo del sitio via selectores mas
   especificos que "body" segun el layout elegido (ej. .content-style-boxed);
   el fondo oscuro es la decision de diseño mas fundacional de esta propuesta,
   no algo que deba perder ante el estilo de layout del theme padre. */
body,
.site.wp-site-blocks {
	background-color: var(--hm-ink) !important;
	color: var(--hm-paper);
	font-family: var(--hm-font-body);
	font-weight: 400;
}

h1, h2, h3, h4, h5, h6,
.entry-title, .site-title {
	font-family: var(--hm-font-display);
	font-weight: 600;
	font-variation-settings: 'opsz' 40;
	color: var(--hm-paper) !important;
	letter-spacing: -0.01em;
}

/* !important: WordPress inyecta un <style id="global-styles-inline-css"> con
   reglas de igual especificidad (elemento "h1") mas tarde en el <head>, que
   por orden de cascada le gana a una hoja externa como esta. */
h1, .entry-title {
	/* Escala editorial mesurada: un titular de 80px competia por atencion con
	   el sello de fecha (el elemento senal real de "El archivo vivo") y
	   rompia line-length (65-75 caracteres/linea es lo legible). La audacia
	   del diseño va en el sello, no en gritar el titular. */
	font-size: clamp(var(--hm-text-2xl), 3vw, var(--hm-text-4xl)) !important;
	line-height: 1.2 !important;
	font-weight: 600 !important;
}

.wp-block-post-title a,
.wp-block-post-title {
	letter-spacing: -0.01em;
}

/* Titulos enlazados (post-title con isLink) no deben tomar el color de
   link generico: pierden el contraste/protagonismo del titular. */
h1 a, h2 a, h3 a, h4 a,
.wp-block-post-title a {
	color: inherit;
	text-decoration: none;
}
h1 a:hover, h2 a:hover, h3 a:hover, h4 a:hover,
.wp-block-post-title a:hover {
	color: var(--hm-flame);
}

/* !important: mismo caso que h1/h2 arriba — el <style id="global-styles-
   inline-css"> de WordPress trae su propia regla "a { color }" con igual
   especificidad pero se inyecta despues, y gana por orden de cascada. */
a {
	color: var(--hm-stamp-soft) !important;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.15em;
}
a:hover,
a:focus-visible {
	color: var(--hm-flame-soft) !important;
}

/* Foco visible siempre — accesibilidad (hallazgo de diagnostico: 78-82/100) */
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
	outline: 2px solid var(--hm-flame);
	outline-offset: 2px;
}

/* ==========================================================================
   Header — Kadence pinta el fondo del header/nav por fuera de "body"
   (selectores propios, mas especificos), asi que se sobreescribe aca en vez
   de pelear con especificidad en la regla de "body".
   ========================================================================== */
.site-header,
.site-header-row-container {
	background-color: var(--hm-ink) !important;
	border-color: var(--hm-charcoal) !important;
}
.site-header .site-title a,
.site-header .site-title,
.main-navigation a,
.main-navigation .menu-link {
	color: var(--hm-paper) !important;
	font-family: var(--hm-font-body);
}
.main-navigation a:hover,
.main-navigation a:focus {
	color: var(--hm-flame) !important;
}
.main-navigation .sub-menu {
	background-color: var(--hm-surface) !important;
	border: 1px solid var(--hm-charcoal) !important;
}
.main-navigation .sub-menu a {
	color: var(--hm-paper) !important;
	border-color: var(--hm-charcoal) !important;
}
.main-navigation .sub-menu a:hover,
.main-navigation .sub-menu a:focus {
	color: var(--hm-flame) !important;
	background-color: var(--hm-charcoal) !important;
}

/* ==========================================================================
   Footer — sin esto, hereda el mismo fondo "ink" que el contenido y no se
   distingue de la última sección de la página. Un salto sutil de superficie
   (el mismo recurso que ya usan las tarjetas) más un borde superior alcanzan
   para separarlo sin introducir un color nuevo.
   ========================================================================== */
.site-footer {
	background-color: var(--hm-surface) !important;
	border-top: 1px solid rgba(237, 230, 216, 0.14);
}
.site-footer .site-footer-wrap {
	padding-top: clamp(2.5rem, 5vw, 4rem);
}

/* Banner de titulo de pagina (entry-hero) — se usa en todas las paginas de
   contenido normales (no en la home, ahi va oculto via el control nativo
   del tema "_kad_post_title" = hide, sin tocar codigo, porque ya tiene su
   propio hero de bloques). El contenedor interno ".entry-hero-container-
   inner" trae su propio fondo claro por defecto de Kadence y tapa el fondo
   oscuro del padre — hay que pintarlo tambien, no solo ".entry-hero". */
.entry-hero,
.entry-hero-container-inner {
	background-color: var(--hm-ink) !important;
}
.entry-hero .entry-title {
	color: var(--hm-paper) !important;
}

/* ==========================================================================
   Imagenes — prevenir Cumulative Layout Shift (hallazgo de diagnostico:
   CLS de laboratorio 0.33-0.51 vs. umbral 0.25). WP core ya agrega
   width/height en imagenes servidas via wp_get_attachment_image(); esto es
   una red de seguridad para cualquier imagen que no las traiga.
   ========================================================================== */
img {
	max-width: 100%;
	height: auto;
}

/* ==========================================================================
   Sello de fecha — elemento senal del concepto "archivo vivo".
   Se usa en el listado de posts y en la cabecera de cada articulo: la
   fecha como dato verificado, no decoracion.
   ========================================================================== */
.hm-datestamp {
	display: inline-flex;
	align-items: center;
	gap: var(--hm-space-2);
	font-family: var(--hm-font-mono);
	font-size: var(--hm-text-sm);
	font-weight: 500;
	color: var(--hm-flame);
	border: 1px solid var(--hm-flame);
	border-radius: var(--hm-radius);
	padding: var(--hm-space-1) var(--hm-space-2);
	letter-spacing: 0.02em;
}

.hm-category-label {
	font-family: var(--hm-font-mono);
	font-size: var(--hm-text-xs);
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--hm-stamp-soft);
}
.hm-category-label a { color: inherit !important; text-decoration: none; }
.hm-category-label a:hover,
.hm-category-label a:focus-visible { color: var(--hm-flame-soft) !important; }

.hm-card {
	background-color: var(--hm-surface);
	border: 1px solid var(--hm-charcoal);
	border-radius: var(--hm-radius);
}

/* ==========================================================================
   Portada editorial 2026 — archivo vivo en movimiento
   ========================================================================== */
.home .content-area {
	margin: 0;
}

.home .site-main,
.home .content-container {
	max-width: none;
	padding: 0;
}

.hm-home {
	position: relative;
	overflow: hidden;
	background:
		radial-gradient(circle at 78% 8%, rgba(74, 102, 112, 0.13), transparent 28rem),
		var(--hm-ink);
}

.hm-shell {
	position: relative;
	width: var(--hm-shell);
	margin-inline: auto;
}

.hm-grid-lines {
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	opacity: 0.34;
	background-image: linear-gradient(to right, transparent calc(100% - 1px), rgba(237, 230, 216, 0.055) 1px);
	background-size: calc((100vw - max(48px, (100vw - 1380px))) / 6) 100%;
}

.site-header {
	position: sticky;
	top: 0;
	z-index: 100;
	transition: background-color 350ms var(--hm-ease), border-color 350ms var(--hm-ease), backdrop-filter 350ms var(--hm-ease);
}

.site-header.hm-header-scrolled {
	background: rgba(21, 19, 15, 0.8) !important;
	border-bottom: 1px solid rgba(237, 230, 216, 0.1) !important;
	backdrop-filter: blur(18px) saturate(120%);
}

.site-header .site-title {
	font-family: var(--hm-font-display);
	font-weight: 650;
	letter-spacing: -0.035em;
}

.main-navigation .menu-link {
	position: relative;
}

.main-navigation .menu-link::after {
	content: '';
	position: absolute;
	right: 0.9em;
	bottom: 0.7em;
	left: 0.9em;
	height: 1px;
	background: var(--hm-flame);
	transform: scaleX(0);
	transform-origin: right;
	transition: transform 320ms var(--hm-ease);
}

.main-navigation .menu-link:hover::after,
.main-navigation .current-menu-item > .menu-link::after {
	transform: scaleX(1);
	transform-origin: left;
}

.hm-hero {
	position: relative;
	z-index: 1;
	padding: clamp(3rem, 6vw, 6rem) 0 clamp(4rem, 7vw, 6.5rem);
}

.hm-masthead {
	max-width: 1050px;
	margin: 0 auto clamp(3.5rem, 6vw, 6.5rem);
	text-align: center;
}

.hm-masthead-title {
	max-width: 13ch;
	margin: 1.2rem auto clamp(1.5rem, 3vw, 2.5rem);
	color: var(--hm-paper);
	font: 650 clamp(3rem, 5.6vw, 7rem)/0.98 var(--hm-font-display);
	letter-spacing: -0.012em;
	text-wrap: balance;
}

.hm-type-word {
	display: inline-block;
	white-space: nowrap;
}

.hm-char {
	display: inline-block;
	will-change: transform, opacity, filter;
}

.hm-type-ready .hm-char {
	opacity: 0;
	filter: blur(7px);
	transform: translateY(0.32em) rotate(1.5deg);
}

.hm-type-ready .hm-char.is-typed {
	opacity: 1;
	filter: blur(0);
	transform: translateY(0) rotate(0);
	transition:
		opacity 460ms var(--hm-ease),
		transform 620ms var(--hm-ease),
		filter 520ms ease;
}

.hm-type-caret {
	display: inline-block;
	width: 0.045em;
	height: 0.78em;
	margin-left: 0.08em;
	background: var(--hm-flame);
	vertical-align: -0.04em;
	animation: hm-caret 780ms steps(1, end) infinite;
}

.hm-type-caret.is-done {
	opacity: 0;
	transition: opacity 500ms ease 700ms;
}

@keyframes hm-caret {
	50% { opacity: 0; }
}

.hm-search {
	display: flex;
	width: min(100%, 660px);
	min-height: 58px;
	align-items: center;
	gap: 0.85rem;
	margin-inline: auto;
	padding: 0.35rem 0.45rem 0.35rem 1.1rem;
	border: 1px solid rgba(237, 230, 216, 0.16);
	border-radius: 999px;
	background: rgba(237, 230, 216, 0.055);
	backdrop-filter: blur(12px);
	transition: border-color 250ms ease, background-color 250ms ease, box-shadow 350ms var(--hm-ease);
}

.hm-search:focus-within {
	border-color: var(--hm-stamp-soft);
	background: rgba(237, 230, 216, 0.085);
	box-shadow: 0 0 0 4px rgba(127, 160, 169, 0.1);
}

.hm-search > span {
	color: var(--hm-stamp-soft);
	font-size: 1.35rem;
}

.hm-search input,
.hm-search input[type="search"] {
	min-width: 0;
	flex: 1;
	border: 0;
	background: transparent !important;
	box-shadow: none;
	color: var(--hm-paper) !important;
	font-family: var(--hm-font-body);
}

.hm-search input::placeholder { color: rgba(237, 230, 216, 0.56); }
.hm-search input:focus { outline: 0; box-shadow: none; }

.hm-search button {
	min-height: 46px;
	padding: 0.65rem 1.25rem;
	border: 0;
	border-radius: 999px;
	background: var(--hm-paper);
	color: var(--hm-ink);
	font-size: var(--hm-text-sm);
	font-weight: 700;
	transition: transform 250ms var(--hm-ease), background-color 200ms ease;
}

.hm-search button:hover {
	transform: translateY(-2px);
	background: var(--hm-flame-soft);
}

.hm-hero-kicker,
.hm-hero-meta,
.hm-section-heading,
.hm-manifesto-grid {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	gap: 20px;
}

.hm-hero-kicker {
	margin-bottom: clamp(2rem, 5vw, 4.5rem);
	padding-bottom: 1rem;
	border-bottom: 1px solid rgba(237, 230, 216, 0.2);
	color: var(--hm-stamp-soft);
	font: 500 var(--hm-text-xs)/1 var(--hm-font-mono);
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.hm-hero-kicker span:nth-child(1) { grid-column: 1 / 5; }
.hm-hero-kicker span:nth-child(2) { grid-column: 7 / 11; }
.hm-hero-kicker span:nth-child(3) { grid-column: 12; text-align: right; }

.hm-hero-grid {
	display: grid;
	grid-template-columns: minmax(360px, 0.92fr) minmax(420px, 1.08fr);
	gap: clamp(2.5rem, 5vw, 5.5rem);
	align-items: center;
}

.hm-hero-media {
	position: relative;
	display: block;
	min-height: clamp(320px, 32vw, 480px);
	overflow: hidden;
	border-radius: var(--hm-radius-lg);
	background: var(--hm-surface);
	box-shadow: 0 36px 90px rgba(0, 0, 0, 0.28);
}

.hm-hero-media::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, transparent 62%, rgba(21, 19, 15, 0.55));
	pointer-events: none;
}

.hm-hero-media img {
	width: 100%;
	height: 100%;
	position: absolute;
	inset: 0;
	object-fit: cover;
	transition: transform 1.1s var(--hm-ease), filter 700ms ease;
}

.hm-hero-media:hover img {
	transform: scale(1.035);
	filter: saturate(1.08) contrast(1.03);
}

.hm-media-index {
	position: absolute;
	right: 1.25rem;
	bottom: 1.15rem;
	z-index: 2;
	color: var(--hm-paper);
	font: 500 var(--hm-text-xs)/1 var(--hm-font-mono);
	letter-spacing: 0.08em;
}

.hm-hero-copy {
	padding-block: 2rem;
}

.hm-hero-meta {
	align-items: center;
	margin-bottom: clamp(2rem, 4vw, 3.5rem);
}

.hm-hero-meta .hm-category-label { grid-column: 1 / 7; }
.hm-hero-meta .hm-datestamp { grid-column: 8 / 13; justify-self: end; }

.hm-hero h1 {
	max-width: 20ch;
	margin: 0 0 1.75rem;
	font-size: clamp(2rem, 3vw, 3.9rem) !important;
	line-height: 1.08 !important;
	letter-spacing: -0.012em;
	text-wrap: pretty;
}
.hm-hero-copy h1 a,
.hm-hero-copy h2 a { color: inherit !important; text-decoration: none; }

.hm-hero-excerpt {
	max-width: 58ch;
	color: rgba(237, 230, 216, 0.74);
	font-size: clamp(1rem, 1.25vw, 1.2rem);
	line-height: 1.75;
}

.hm-text-link {
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	gap: 3rem;
	min-width: 13rem;
	margin-top: 2.25rem;
	padding-bottom: 0.65rem;
	border-bottom: 1px solid currentColor;
	font: 600 var(--hm-text-sm)/1 var(--hm-font-body);
	text-decoration: none;
	transition: gap 300ms var(--hm-ease), color 200ms ease;
}

.hm-text-link:hover { gap: 4rem; }

.hm-news,
.hm-sections,
.hm-manifesto {
	position: relative;
	z-index: 1;
	padding: clamp(5rem, 9vw, 9rem) 0;
}

.hm-news {
	border-block: 1px solid rgba(237, 230, 216, 0.12);
	background: rgba(33, 29, 24, 0.56);
}

.hm-section-heading {
	align-items: end;
	margin-bottom: clamp(2.5rem, 5vw, 5rem);
}

.hm-section-heading > div { grid-column: 1 / 8; }
.hm-section-heading > p {
	grid-column: 9 / 13;
	margin: 0;
	color: rgba(237, 230, 216, 0.62);
	line-height: 1.65;
}

.hm-eyebrow {
	display: block;
	margin-bottom: 0.8rem;
	color: var(--hm-flame);
	font: 500 var(--hm-text-xs)/1 var(--hm-font-mono);
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.hm-section-heading h2 {
	margin: 0;
	font-size: clamp(2.6rem, 5vw, 5.8rem) !important;
	line-height: 0.95 !important;
	letter-spacing: -0.045em;
}

.hm-news-marquee {
	width: 100%;
	overflow: hidden;
	cursor: none;
}

.hm-news-marquee.is-draggable-ready {
	overflow-x: auto;
	cursor: grab;
	scrollbar-width: none;
	touch-action: pan-y pinch-zoom;
	overscroll-behavior-x: contain;
	-webkit-overflow-scrolling: touch;
}

.hm-news-marquee.is-draggable-ready::-webkit-scrollbar {
	display: none;
}

.hm-news-marquee.is-draggable-ready.is-dragging {
	cursor: grabbing;
	user-select: none;
}

.hm-news-marquee.is-draggable-ready .hm-news-track {
	animation: none;
	transform: none;
}

.hm-news-marquee.is-reverse.is-draggable-ready .hm-news-track {
	animation: none;
	transform: none;
}

.hm-news-marquee.is-draggable-ready.is-dragging .hm-news-card {
	pointer-events: none;
}

.hm-news-bands {
	display: grid;
	gap: clamp(3rem, 6vw, 6rem);
}

.hm-news-marquee.is-reverse .hm-news-track {
	animation-name: hm-marquee-reverse;
	animation-duration: 66s;
	transform: translateX(-50%);
}

.hm-news-track {
	display: flex;
	width: max-content;
	padding-left: max(24px, calc((100vw - 1380px) / 2));
	animation: hm-marquee 52s linear infinite;
	will-change: transform;
}

.hm-news-marquee:hover .hm-news-track,
.hm-news-marquee:focus-within .hm-news-track {
	animation-play-state: paused;
}

.hm-news-set {
	display: flex;
	gap: 1.25rem;
	padding-right: 1.25rem;
}

.hm-news-card {
	width: clamp(310px, 29vw, 440px);
	flex: 0 0 auto;
	overflow: hidden;
	border: 1px solid rgba(237, 230, 216, 0.13);
	border-radius: var(--hm-radius);
	background: var(--hm-ink);
	transition: transform 500ms var(--hm-ease), border-color 300ms ease, box-shadow 500ms var(--hm-ease);
}

.hm-news-card:hover {
	transform: translateY(-10px);
	border-color: rgba(201, 154, 62, 0.65);
	box-shadow: 0 24px 60px rgba(0, 0, 0, 0.28);
}

.hm-news-image {
	position: relative;
	height: clamp(250px, 25vw, 355px);
	overflow: hidden;
	background: var(--hm-charcoal);
}

.hm-news-image-link { display: block; width: 100%; height: 100%; }

.hm-news-image::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(21, 19, 15, 0.75), transparent 50%);
}

.hm-news-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	filter: saturate(0.82);
	transition: transform 800ms var(--hm-ease), filter 500ms ease;
}

.hm-news-card:hover img {
	transform: scale(1.055);
	filter: saturate(1.04);
}

.hm-news-category {
	position: absolute;
	right: 1rem;
	bottom: 1rem;
	left: 1rem;
	z-index: 1;
	overflow: hidden;
	color: var(--hm-paper) !important;
	font: 500 0.68rem/1.2 var(--hm-font-mono);
	letter-spacing: 0.08em;
	text-decoration: none;
	text-overflow: ellipsis;
	text-transform: uppercase;
	white-space: nowrap;
}
.hm-news-category:hover,
.hm-news-category:focus-visible { color: var(--hm-flame-soft) !important; }

.hm-news-copy {
	position: relative;
	display: grid;
	min-height: 330px;
	grid-template-rows: auto auto 1fr auto;
	row-gap: 1rem;
	padding: 1.4rem 1.5rem 1.6rem;
	/* Antes se heredaba de `.hm-news-card-link` (envolvía toda la tarjeta); al
	   partir esa tarjeta en varios enlaces independientes, este color hay que
	   fijarlo aquí para no perderlo. Sin !important a propósito: hay un
	   segundo contexto de estilos para .hm-news-copy más abajo en este mismo
	   archivo ("Panel editorial ascendente") que define su propio color y
	   debe poder seguir ganando la cascada. */
	color: var(--hm-paper);
}

.hm-news-copy time {
	color: var(--hm-flame);
	font: 500 var(--hm-text-xs)/1 var(--hm-font-mono);
}

.hm-news-copy h3 a { color: inherit !important; text-decoration: none; }

.hm-news-copy h3 {
	margin: 1.25rem 0 0;
	font-size: clamp(1.45rem, 2vw, 2rem);
	line-height: 1.08;
	text-wrap: balance;
}

.hm-news-copy p {
	display: -webkit-box;
	align-self: start;
	margin: 1rem 0 0;
	color: rgba(237, 230, 216, 0.65);
	font-size: var(--hm-text-sm);
	line-height: 1.55;
	opacity: 0;
	overflow: hidden;
	transform: translateY(12px);
	transition: opacity 350ms ease, transform 500ms var(--hm-ease);
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 4;
}

.hm-news-card:hover .hm-news-copy p,
.hm-news-card:focus-within .hm-news-copy p {
	opacity: 1;
	transform: translateY(0);
}

.hm-news-action {
	display: flex;
	justify-content: space-between;
	align-self: end;
	margin-top: 0;
	padding-top: 0.8rem;
	border-top: 1px solid rgba(237, 230, 216, 0.16);
	color: var(--hm-stamp-soft) !important;
	font-size: var(--hm-text-sm);
	text-decoration: none;
}

@keyframes hm-marquee {
	to { transform: translateX(-50%); }
}

@keyframes hm-marquee-reverse {
	to { transform: translateX(0); }
}

.hm-archive-status {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 2rem;
	margin-top: clamp(3rem, 7vw, 6rem);
	padding-top: 1.5rem;
	border-top: 1px solid rgba(237, 230, 216, 0.16);
}

.hm-page-indicator {
	display: flex;
	align-items: center;
	gap: 0.8rem;
	color: var(--hm-stamp-soft);
	font: 500 var(--hm-text-xs)/1 var(--hm-font-mono);
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.hm-page-indicator strong {
	color: var(--hm-paper);
	font-size: var(--hm-text-lg);
}

.hm-page-line {
	width: clamp(70px, 12vw, 180px);
	height: 1px;
	background: linear-gradient(to right, var(--hm-flame), var(--hm-charcoal));
}

.hm-archive-status {
	align-items: stretch;
	margin-top: clamp(4rem, 8vw, 7rem);
	padding: 0;
	border: 1px solid rgba(237, 230, 216, 0.18);
	border-radius: 4px;
	background: linear-gradient(125deg, rgba(237, 230, 216, 0.045), rgba(237, 230, 216, 0.012));
}

.hm-archive-callout {
	display: flex;
	width: 55%;
	flex-direction: column;
	justify-content: center;
	padding: clamp(2rem, 4vw, 4rem);
}

.hm-archive-callout h3 {
	max-width: 720px;
	margin: 0.9rem 0 1rem;
	color: var(--hm-paper);
	font: 600 clamp(2.5rem, 5vw, 5.4rem)/0.9 var(--hm-font-display);
	letter-spacing: -0.055em;
	text-wrap: balance;
}

.hm-archive-callout p {
	max-width: 590px;
	margin: 0;
	color: rgba(237, 230, 216, 0.62);
	font-size: var(--hm-text-md);
	line-height: 1.6;
}

.hm-archive-jump-panel {
	display: flex;
	width: 45%;
	flex-direction: column;
	justify-content: space-between;
	gap: 2.5rem;
	padding: clamp(2rem, 4vw, 4rem);
	border-left: 1px solid rgba(237, 230, 216, 0.18);
	background: rgba(18, 17, 14, 0.3);
}

.hm-archive-total {
	display: flex;
	align-items: end;
	gap: 1rem;
}

.hm-archive-total strong {
	color: var(--hm-flame);
	font: 600 clamp(4.5rem, 8vw, 8rem)/0.72 var(--hm-font-display);
	letter-spacing: -0.07em;
}

.hm-archive-total span {
	max-width: 8rem;
	padding-bottom: 0.25rem;
	color: var(--hm-stamp-soft);
	font: 500 var(--hm-text-xs)/1.3 var(--hm-font-mono);
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.hm-archive-jump-panel .hm-page-jump {
	width: 100%;
	max-width: 420px;
}

.hm-stats {
	position: relative;
	z-index: 1;
	padding: clamp(5rem, 9vw, 9rem) 0;
	border-bottom: 1px solid rgba(237, 230, 216, 0.12);
}

.hm-stats-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	border-block: 1px solid rgba(237, 230, 216, 0.16);
}

.hm-stat {
	display: flex;
	min-height: 260px;
	flex-direction: column;
	justify-content: space-between;
	padding: 2rem;
	border-right: 1px solid rgba(237, 230, 216, 0.16);
}

.hm-stat:last-child { border-right: 0; }

.hm-stat strong {
	color: var(--hm-paper);
	font: 600 clamp(4rem, 8vw, 8rem)/0.85 var(--hm-font-display);
	letter-spacing: -0.06em;
}

.hm-stat span {
	color: var(--hm-stamp-soft);
	font: 500 var(--hm-text-xs)/1.2 var(--hm-font-mono);
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

/* Motion granular: cada pieza entra y sale según la dirección del scroll. */
.hm-motion-item {
	--hm-motion-delay: 0ms;
	opacity: 0;
	filter: blur(12px);
	transform: translate3d(0, 78px, 0) scale(0.975);
	transition:
		opacity 700ms var(--hm-ease) var(--hm-motion-delay),
		transform 900ms var(--hm-ease) var(--hm-motion-delay),
		filter 760ms ease var(--hm-motion-delay);
	will-change: transform, opacity, filter;
}

.hm-motion-item.hm-enter-up {
	transform: translate3d(0, -68px, 0) scale(0.975);
}

.hm-motion-item.hm-enter-down {
	transform: translate3d(0, 78px, 0) scale(0.975);
}

.hm-motion-item.is-motion-visible {
	opacity: 1;
	filter: blur(0);
	transform: translate3d(0, 0, 0) scale(1);
}

/* Logo tipográfico: efecto de máquina de escribir antigua al hover. */
.site-title .hm-brand-type,
.site-title.hm-brand-type {
	min-width: max-content;
}

.hm-brand-char {
	display: inline-block;
	opacity: 1;
}

.hm-brand-type.is-brand-typing .hm-brand-char {
	opacity: 0;
	transform: translateY(2px);
}

.hm-brand-type.is-brand-typing .hm-brand-char.is-struck {
	opacity: 1;
	transform: translateY(0);
	transition: opacity 45ms steps(1, end), transform 90ms steps(2, end);
}

.hm-brand-caret {
	display: inline-block;
	width: 0.07em;
	height: 0.85em;
	margin-left: 0.08em;
	background: var(--hm-flame);
	vertical-align: -0.04em;
	opacity: 0;
}

.hm-brand-type.is-brand-typing .hm-brand-caret {
	opacity: 1;
	animation: hm-caret 440ms steps(1, end) infinite;
}

/* Páginas internas y artículos: extensión del lenguaje editorial. */
.page:not(.home) .content-area,
.single .content-area,
.archive .content-area,
.search .content-area {
	width: var(--hm-shell);
	max-width: none;
	margin: 0 auto;
	padding: clamp(3rem, 7vw, 7rem) 0 clamp(6rem, 10vw, 10rem);
}

.page:not(.home) .entry-hero,
.single .entry-hero,
.archive .entry-hero {
	min-height: clamp(280px, 42vh, 520px);
	display: grid;
	align-items: end;
	border-bottom: 1px solid rgba(237, 230, 216, 0.14);
}

.page:not(.home) .entry-hero .entry-title,
.single .entry-hero .entry-title,
.archive .entry-hero .entry-title {
	max-width: 18ch;
	font-size: clamp(2.75rem, 4.2vw, 4.75rem) !important;
	line-height: 1.04 !important;
	letter-spacing: -0.014em;
	text-wrap: balance;
}

.page:not(.home) .entry-content,
.single .entry-content {
	color: #ddd6c9;
	font-size: clamp(1.05rem, 1.25vw, 1.2rem);
	line-height: 1.8;
}

/*
 * Kadence aplica blanco a `.content-bg`; con la tipografía crema del sistema
 * editorial producía contraste 1.24:1. La superficie de lectura debe pertenecer
 * a la misma noche tinta de la interfaz, mientras los relacionados se elevan
 * sobre una superficie ligeramente más clara.
 */
.single .single-entry.content-bg,
.page:not(.home) .entry.content-bg {
	background: transparent !important;
	color: var(--hm-paper) !important;
	box-shadow: none !important;
}

.single .loop-entry.content-bg,
.page:not(.home) .loop-entry.content-bg,
.archive .loop-entry.content-bg,
.search .loop-entry.content-bg {
	border: 1px solid rgba(237, 230, 216, 0.18);
	border-radius: 4px;
	background: var(--hm-surface) !important;
	color: var(--hm-paper) !important;
	box-shadow: none !important;
}

.single .entry-header .entry-meta,
.single .entry-header .entry-meta span,
.single .entry-header .entry-meta time,
.single .entry-header .entry-meta a {
	color: #9eb9c0 !important;
}

.single .entry-content :where(p, li, dd, dt),
.page:not(.home) .entry-content :where(p, li, dd, dt) {
	color: #ddd6c9 !important;
}

.single .entry-content :where(strong, b),
.page:not(.home) .entry-content :where(strong, b) {
	color: var(--hm-paper) !important;
	font-weight: 700;
}

.single .entry-content :where(h2, h3, h4, h5, h6),
.page:not(.home) .entry-content :where(h2, h3, h4, h5, h6) {
	color: var(--hm-paper) !important;
}

.single .entry-content a,
.page:not(.home) .entry-content a {
	color: #9fc3cc !important;
	text-decoration-color: rgba(159, 195, 204, 0.55);
}

.single .entry-content a:hover,
.single .entry-content a:focus-visible,
.page:not(.home) .entry-content a:hover,
.page:not(.home) .entry-content a:focus-visible {
	color: var(--hm-flame-soft) !important;
	text-decoration-color: currentColor;
}

.single .entry-content blockquote,
.page:not(.home) .entry-content blockquote {
	margin-block: clamp(2rem, 5vw, 4rem);
	padding: clamp(1.5rem, 4vw, 3rem);
	border-left: 3px solid var(--hm-flame);
	border-radius: 0 4px 4px 0;
	background: var(--hm-surface);
	color: var(--hm-paper) !important;
}

.single .entry-content blockquote *,
.page:not(.home) .entry-content blockquote * {
	color: inherit !important;
}

.single .entry-content figcaption,
.page:not(.home) .entry-content figcaption,
.single .wp-caption-text,
.page:not(.home) .wp-caption-text {
	color: #aab6b7 !important;
	font-size: 0.88rem;
	line-height: 1.55;
}

.single .entry-content table,
.page:not(.home) .entry-content table {
	border-color: rgba(237, 230, 216, 0.28);
	background: var(--hm-surface);
	color: var(--hm-paper);
}

.single .entry-content th,
.page:not(.home) .entry-content th {
	background: var(--hm-charcoal);
	color: var(--hm-paper) !important;
}

.single .entry-content td,
.page:not(.home) .entry-content td {
	border-color: rgba(237, 230, 216, 0.22);
	color: #ddd6c9 !important;
}

.page:not(.home) .entry-content > p,
.single .entry-content > p,
.single .entry-content > ul,
.single .entry-content > ol {
	max-width: 74ch;
	margin-inline: auto;
}

.page:not(.home) .entry-content h2,
.single .entry-content h2 {
	max-width: 20ch;
	margin-top: clamp(4rem, 8vw, 8rem);
	font-size: clamp(2.4rem, 5vw, 5rem) !important;
	line-height: 0.98 !important;
	letter-spacing: -0.045em;
}

.page:not(.home) .entry-content img,
.single .entry-content img {
	display: block;
	width: auto;
	max-width: 100%;
	height: auto !important;
	max-height: none;
	object-fit: contain;
	border-radius: 4px;
}

/* En articulos, las fotografias conservan siempre su proporcion original.
   El recorte editorial con cover queda reservado para cards y bandas. */
.single .article-post-thumbnail,
.single .article-post-thumbnail .post-thumbnail-inner {
	height: auto !important;
	max-height: none !important;
	aspect-ratio: auto !important;
	overflow: hidden;
	border-radius: 4px;
}

.single .article-post-thumbnail {
	padding-bottom: 0 !important;
}

.single .article-post-thumbnail .post-thumbnail-inner {
	position: relative !important;
	inset: auto !important;
}

.single .article-post-thumbnail img,
.single img.post-top-featured {
	position: relative;
	inset: auto;
	display: block;
	width: 100%;
	max-width: 100%;
	height: auto !important;
	max-height: none;
	object-fit: contain !important;
	border-radius: 4px;
}

.single .entry-content figure,
.single .entry-content .wp-block-image,
.page:not(.home) .entry-content figure,
.page:not(.home) .entry-content .wp-block-image {
	height: auto !important;
	max-height: none;
	aspect-ratio: auto !important;
}

.archive .site-main .loop-entry,
.search .site-main .loop-entry {
	padding: 1.5rem;
	border: 1px solid rgba(237, 230, 216, 0.14);
	border-radius: 4px;
}

.archive .site-main .loop-entry .entry-title,
.search .site-main .loop-entry .entry-title {
	overflow-wrap: break-word;
	font-size: clamp(1.4rem, 1.8vw, 1.9rem) !important;
	line-height: 1.15 !important;
	letter-spacing: -0.015em;
}

.hm-section-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.25rem;
}

.hm-section-card {
	position: relative;
	display: flex;
	min-height: 270px;
	flex-direction: column;
	justify-content: flex-end;
	overflow: hidden;
	padding: 1.75rem;
	border: 1px solid rgba(237, 230, 216, 0.14);
	border-radius: var(--hm-radius);
	background: linear-gradient(145deg, rgba(33, 29, 24, 0.82), rgba(21, 19, 15, 0.95));
	color: var(--hm-paper) !important;
	text-decoration: none;
	transition: transform 500ms var(--hm-ease), border-color 300ms ease, background-color 300ms ease, color 300ms ease;
}

.hm-section-card::before {
	content: '';
	position: absolute;
	inset: 0;
	background: radial-gradient(circle at 85% 15%, rgba(127, 160, 169, 0.2), transparent 42%);
	opacity: 0;
	transition: opacity 500ms ease;
}

.hm-section-card:hover {
	transform: translateY(-8px);
	border-color: var(--hm-stamp);
}

.hm-section-card:hover::before { opacity: 1; }

.hm-section-index {
	position: absolute;
	top: 1.5rem;
	left: 1.75rem;
	color: var(--hm-stamp-soft);
	font: 500 var(--hm-text-xs)/1 var(--hm-font-mono);
}

.hm-section-card h3 {
	position: relative;
	max-width: 12ch;
	margin: 0 0 0.75rem;
	font-size: clamp(1.7rem, 2.5vw, 2.7rem);
	line-height: 1;
	transition: color 300ms ease;
}

.hm-section-count {
	position: relative;
	color: rgba(237, 230, 216, 0.56);
	font: 500 var(--hm-text-xs)/1 var(--hm-font-mono);
	text-transform: uppercase;
	transition: color 300ms ease;
}

.hm-section-arrow {
	position: absolute;
	right: 1.6rem;
	bottom: 1.6rem;
	display: grid;
	width: 2.7rem;
	height: 2.7rem;
	place-items: center;
	border: 1px solid rgba(237, 230, 216, 0.2);
	border-radius: 50%;
	transition: transform 450ms var(--hm-ease), background-color 300ms ease, color 300ms ease;
}

.hm-section-card:hover .hm-section-arrow {
	transform: rotate(45deg);
	background: var(--hm-paper);
	color: var(--hm-ink);
}

.hm-manifesto {
	background: var(--hm-paper);
	color: var(--hm-ink);
}

.hm-manifesto .hm-eyebrow {
	grid-column: 1 / 4;
	color: var(--hm-stamp);
}

.hm-manifesto-grid > div { grid-column: 5 / 13; }

.hm-manifesto-lead {
	max-width: 22ch;
	margin: 0;
	font: 600 clamp(2.7rem, 5.2vw, 6rem)/0.98 var(--hm-font-display);
	letter-spacing: -0.048em;
	text-wrap: balance;
}

.hm-manifesto-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.8rem;
	margin-top: 3rem;
}

.hm-button {
	display: inline-flex;
	align-items: center;
	min-height: 50px;
	padding: 0.8rem 1.25rem;
	border: 1px solid var(--hm-ink);
	border-radius: 999px;
	background: var(--hm-ink);
	color: var(--hm-paper) !important;
	font-size: var(--hm-text-sm);
	font-weight: 650;
	text-decoration: none;
	transition: transform 300ms var(--hm-ease), background-color 200ms ease, color 200ms ease;
}

.hm-button:hover { transform: translateY(-3px); }
.hm-button-secondary { background: transparent; color: var(--hm-ink) !important; }
.hm-button-secondary:hover { background: var(--hm-ink); color: var(--hm-paper) !important; }

.hm-reveal {
	opacity: 0;
	transform: translateY(42px);
	transition: opacity 800ms var(--hm-ease), transform 900ms var(--hm-ease);
}

.hm-reveal.from-up {
	transform: translateY(-34px);
}

.hm-reveal.from-down {
	transform: translateY(42px);
}

.hm-reveal.is-visible {
	opacity: 1;
	transform: translateY(0);
}

/* Selector y archivo editorial */
.hm-page-jump {
	display: grid;
	gap: 0.65rem;
	min-width: min(100%, 330px);
}

.hm-page-jump label {
	color: var(--hm-stamp-soft);
	font: 500 var(--hm-text-xs)/1 var(--hm-font-mono);
	letter-spacing: 0.09em;
	text-transform: uppercase;
}

.hm-page-jump-control {
	display: grid;
	align-items: center;
	grid-template-columns: 76px minmax(92px, 1fr) auto;
	min-height: 54px;
	border: 1px solid rgba(237, 230, 216, 0.28);
	border-radius: 4px;
	background: rgba(237, 230, 216, 0.035);
	overflow: hidden;
	transition: border-color 220ms ease, background 220ms ease;
}

.hm-page-jump-control:focus-within {
	border-color: var(--hm-flame);
	background: rgba(197, 151, 37, 0.08);
}

.hm-page-jump input {
	width: 76px;
	height: 52px;
	padding: 0 0.35rem 0 1rem;
	border: 0;
	background: transparent;
	color: var(--hm-paper);
	font: 600 var(--hm-text-lg)/1 var(--hm-font-display);
	appearance: textfield;
}

.hm-page-jump input::-webkit-inner-spin-button {
	opacity: 0.68;
	filter: invert(1);
}
.hm-page-jump input:focus { outline: 0; }

.hm-page-total {
	display: flex;
	align-items: baseline;
	gap: 0.35rem;
	min-width: 0;
	padding: 0 0.75rem;
	border-left: 1px solid rgba(237, 230, 216, 0.14);
	color: var(--hm-paper);
	white-space: nowrap;
}

.hm-page-total strong {
	color: var(--hm-paper);
	font: 700 var(--hm-text-md)/1 var(--hm-font-display);
	letter-spacing: -0.02em;
}

.hm-page-total small {
	color: rgba(237, 230, 216, 0.72);
	font: 500 0.64rem/1 var(--hm-font-mono);
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.hm-page-jump button {
	display: flex;
	align-self: stretch;
	align-items: center;
	justify-content: space-between;
	gap: 0.8rem;
	min-width: 132px;
	padding: 0 1.25rem;
	border: 0;
	border-left: 1px solid rgba(237, 230, 216, 0.2);
	border-radius: 0;
	background: var(--hm-paper);
	color: var(--hm-ink);
	font: 700 var(--hm-text-sm)/1 var(--hm-font-body);
	transition: background 220ms ease, color 220ms ease;
}

.hm-page-jump button:hover,
.hm-page-jump button:focus-visible {
	background: var(--hm-flame);
	color: var(--hm-charcoal);
}

.hm-archive-page {
	min-height: 100vh;
	background:
		linear-gradient(90deg, rgba(237, 230, 216, 0.025) 1px, transparent 1px) center / 12.5% 100%,
		var(--hm-ink);
	color: var(--hm-paper);
}

.hm-archive-hero {
	padding: clamp(8rem, 14vw, 13rem) 0 clamp(5rem, 9vw, 8rem);
	border-bottom: 1px solid rgba(237, 230, 216, 0.16);
}

.hm-archive-hero-grid {
	display: grid;
	grid-template-columns: minmax(0, 8fr) minmax(250px, 4fr);
	gap: 2rem;
	align-items: end;
	margin-top: clamp(2rem, 5vw, 5rem);
}

.hm-archive-hero h1 {
	max-width: 950px;
	margin: 0;
	overflow-wrap: break-word;
	color: var(--hm-paper);
	font: 600 clamp(3.6rem, 6.4vw, 7.2rem)/0.98 var(--hm-font-display) !important;
	letter-spacing: -0.014em;
}

.hm-archive-intro {
	display: grid;
	gap: 3rem;
	padding-bottom: 0.8rem;
}

.hm-archive-intro p {
	max-width: 34rem;
	margin: 0;
	color: rgba(237, 230, 216, 0.66);
	font-size: var(--hm-text-md);
	line-height: 1.7;
}

.hm-archive-results {
	padding-block: clamp(5rem, 9vw, 9rem);
}

.hm-archive-toolbar {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 3rem;
	margin-bottom: clamp(3rem, 6vw, 5.5rem);
	padding-bottom: 1.5rem;
	border-bottom: 1px solid rgba(237, 230, 216, 0.18);
}

.hm-archive-toolbar h2 {
	margin: 0.5rem 0 0;
	color: var(--hm-paper);
	font: 600 clamp(2.2rem, 3.6vw, 3.6rem)/1 var(--hm-font-display);
	letter-spacing: -0.016em;
}

.hm-archive-grid {
	display: grid;
	grid-template-columns: repeat(12, 1fr);
	gap: clamp(2rem, 5vw, 5rem) 1.5rem;
}

.hm-archive-card {
	grid-column: span 6;
	min-width: 0;
	border-bottom: 1px solid rgba(237, 230, 216, 0.18);
}

.hm-archive-card:nth-child(3n) { grid-column: 3 / span 8; }

.hm-archive-card > .hm-archive-card-inner {
	display: grid;
	grid-template-columns: minmax(0, 7fr) minmax(230px, 5fr);
	min-height: 430px;
	color: inherit;
	text-decoration: none;
}

.hm-archive-card:nth-child(3n) > .hm-archive-card-inner {
	grid-template-columns: minmax(0, 7fr) minmax(280px, 5fr);
}

.hm-archive-card-media-link { display: block; height: 100%; }

.hm-archive-card-media {
	position: relative;
	min-height: 390px;
	border-radius: 4px 4px 0 0;
	background: var(--hm-charcoal-soft);
	overflow: hidden;
}

.hm-news-image::before,
.hm-archive-card-media::before,
.hm-hero-media::before,
.entry-content figure::before {
	position: absolute;
	inset: 0;
	display: grid;
	place-items: center;
	background:
		linear-gradient(135deg, transparent 0 49.8%, rgba(197, 151, 37, 0.24) 50%, transparent 50.2%),
		linear-gradient(45deg, rgba(237, 230, 216, 0.035), rgba(197, 151, 37, 0.08)),
		var(--hm-charcoal-soft);
	color: rgba(237, 230, 216, 0.48);
	content: "Hacemos Memoria";
	font: 600 clamp(1.35rem, 3vw, 2.8rem)/1 var(--hm-font-display);
	letter-spacing: -0.035em;
	opacity: 0;
	pointer-events: none;
	transition: opacity 300ms ease;
}

.hm-media-missing::before { opacity: 1; }
.hm-media-missing > img,
.hm-media-missing > picture { opacity: 0; }

.entry-content figure { position: relative; }

.hm-archive-card-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	filter: saturate(0.82) contrast(1.04);
	transition: filter 650ms ease, transform 850ms var(--hm-ease);
}

.hm-archive-card:hover img,
.hm-archive-card:focus-within img {
	filter: saturate(1) contrast(1.02);
	transform: scale(1.035);
}

.hm-image-placeholder {
	display: grid;
	width: 100%;
	height: 100%;
	min-height: inherit;
	place-items: center;
	color: rgba(237, 230, 216, 0.18);
	font: 600 clamp(4rem, 8vw, 8rem)/1 var(--hm-font-display);
}

.hm-archive-card-index {
	position: absolute;
	top: 1rem;
	left: 1rem;
	display: grid;
	width: 42px;
	height: 42px;
	place-items: center;
	border: 1px solid rgba(237, 230, 216, 0.45);
	border-radius: 50%;
	background: rgba(18, 17, 14, 0.28);
	backdrop-filter: blur(10px);
	color: var(--hm-paper);
	font: 500 var(--hm-text-xs)/1 var(--hm-font-mono);
}

.hm-archive-card-copy {
	display: flex;
	flex-direction: column;
	padding: 1.5rem 0 1.5rem clamp(1.5rem, 3vw, 2.5rem);
}

.hm-archive-card-meta {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 0.75rem;
	color: var(--hm-stamp-soft);
	font: 500 0.66rem/1.25 var(--hm-font-mono);
	letter-spacing: 0.07em;
	text-transform: uppercase;
}
.hm-archive-card-category { color: inherit !important; text-decoration: none; }
.hm-archive-card-category:hover,
.hm-archive-card-category:focus-visible { color: var(--hm-flame-soft) !important; }

.hm-archive-card h3 {
	margin: 2rem 0 1rem;
	overflow-wrap: break-word;
	color: var(--hm-paper);
	font: 600 clamp(1.5rem, 1.7vw, 2.2rem)/1.08 var(--hm-font-display);
	letter-spacing: -0.03em;
	text-wrap: balance;
}
.hm-archive-card h3 a { color: inherit !important; text-decoration: none; }

.hm-archive-card p {
	margin: 0;
	color: rgba(237, 230, 216, 0.62);
	font-size: var(--hm-text-sm);
	line-height: 1.6;
}

.hm-archive-card .hm-news-action { margin-top: auto; }

.hm-archive-pagination {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	gap: 2rem;
	margin-top: clamp(5rem, 9vw, 9rem);
	padding-top: 1.5rem;
	border-top: 1px solid rgba(237, 230, 216, 0.18);
}

.hm-pagination-arrow {
	color: var(--hm-paper);
	font: 600 var(--hm-text-sm)/1 var(--hm-font-body);
	text-decoration: none;
}

.hm-pagination-arrow:last-child { justify-self: end; }
.hm-pagination-arrow.is-disabled { opacity: 0.28; }

.hm-pagination-pages {
	display: flex;
	gap: 0.4rem;
}

.hm-pagination-pages a {
	display: grid;
	width: 48px;
	height: 48px;
	place-items: center;
	border: 1px solid rgba(237, 230, 216, 0.2);
	border-radius: 50%;
	color: rgba(237, 230, 216, 0.68);
	font: 500 var(--hm-text-xs)/1 var(--hm-font-mono);
	text-decoration: none;
	transition: border-color 220ms ease, color 220ms ease, background 220ms ease;
}

.hm-pagination-pages a:hover,
.hm-pagination-pages a:focus-visible,
.hm-pagination-pages a.is-current {
	border-color: var(--hm-flame);
	background: var(--hm-flame);
	color: var(--hm-charcoal) !important;
}

@media (max-width: 1024px) {
	:root { --hm-shell: min(100% - 40px, 900px); }
	.site-mobile-header-wrap .site-title.vs-md-false { display: block !important; }
	.hm-hero-grid { grid-template-columns: 1fr; gap: 2rem; }
	.hm-hero-media { min-height: min(70vw, 620px); }
	.hm-hero-copy { max-width: 780px; }
	.hm-section-grid { grid-template-columns: repeat(2, 1fr); }
	.hm-section-heading > div { grid-column: 1 / 9; }
	.hm-section-heading > p { grid-column: 9 / 13; }
	.hm-archive-card,
	.hm-archive-card:nth-child(3n) { grid-column: 1 / -1; }
	.hm-archive-status { align-items: flex-start; flex-direction: column; }
	.hm-archive-callout,
	.hm-archive-jump-panel { width: 100%; }
	.hm-archive-jump-panel {
		border-top: 1px solid rgba(237, 230, 216, 0.18);
		border-left: 0;
	}
	.hm-archive-jump-panel .hm-page-jump { width: 100%; }
}

@media (max-width: 767px) {
	:root { --hm-shell: calc(100% - 32px); }
	.hm-grid-lines { background-size: 25% 100%; }
	.hm-hero { padding-top: 4rem; }
	.hm-masthead { margin-bottom: 5rem; }
	.hm-masthead-title { font-size: clamp(3.2rem, 16vw, 5.4rem); }
	.hm-search { min-height: 54px; text-align: left; }
	.hm-search button { padding-inline: 1rem; }
	.hm-hero-kicker span:nth-child(1) { grid-column: 1 / 7; }
	.hm-hero-kicker span:nth-child(2) { display: none; }
	.hm-hero-kicker span:nth-child(3) { grid-column: 11 / 13; }
	.hm-hero-media { min-height: 116vw; border-radius: var(--hm-radius); }
	.hm-hero h1 { font-size: clamp(2.2rem, 10.5vw, 3.7rem) !important; }
	.hm-hero-meta .hm-category-label { grid-column: 1 / 8; }
	.hm-hero-meta .hm-datestamp { grid-column: 8 / 13; }
	.hm-section-heading > div,
	.hm-section-heading > p { grid-column: 1 / 13; }
	.hm-section-heading > p { margin-top: 1.5rem; }
	.hm-news-track { padding-left: 16px; }
	.hm-news-card { width: min(82vw, 360px); }
	.hm-section-grid { grid-template-columns: 1fr; }
	.hm-section-card { min-height: 220px; }
	.hm-manifesto .hm-eyebrow,
	.hm-manifesto-grid > div { grid-column: 1 / 13; }
	.hm-manifesto-grid > div { margin-top: 2rem; }
	.hm-manifesto-lead { font-size: clamp(2.5rem, 12vw, 4.6rem); }
	.hm-archive-status { align-items: flex-start; flex-direction: column; }
	.hm-archive-callout,
	.hm-archive-jump-panel { width: 100%; }
	.hm-archive-jump-panel {
		border-top: 1px solid rgba(237, 230, 216, 0.18);
		border-left: 0;
	}
	.hm-stats-grid { grid-template-columns: 1fr; }
	.hm-stat { min-height: 210px; border-right: 0; border-bottom: 1px solid rgba(237, 230, 216, 0.16); }
	.hm-stat:last-child { border-bottom: 0; }
	.hm-page-jump { width: 100%; }
	.hm-archive-hero-grid { grid-template-columns: 1fr; }
	.hm-archive-hero h1 { font-size: clamp(3.6rem, 18vw, 6rem) !important; }
	.hm-archive-toolbar { align-items: flex-start; flex-direction: column; }
	.hm-archive-card > .hm-archive-card-inner,
	.hm-archive-card:nth-child(3n) > .hm-archive-card-inner { grid-template-columns: 1fr; }
	.hm-archive-card-media { min-height: 105vw; }
	.hm-archive-card-copy { min-height: 330px; padding-left: 0; }
	.hm-archive-pagination { grid-template-columns: 1fr 1fr; }
	.hm-pagination-pages { grid-column: 1 / -1; grid-row: 1; justify-content: center; }
	.hm-pagination-arrow { grid-row: 2; }
	.hm-page-jump-control {
		grid-template-columns: 76px minmax(0, 1fr);
	}
	.hm-page-total {
		justify-content: flex-start;
	}
	.hm-page-jump button {
		min-height: 50px;
		grid-column: 1 / -1;
		border-top: 1px solid rgba(237, 230, 216, 0.2);
		border-left: 0;
	}
}

.hm-back-to-top {
	position: fixed;
	right: clamp(16px, 3vw, 32px);
	bottom: clamp(16px, 3vw, 32px);
	z-index: 40;
	display: grid;
	place-items: center;
	width: 52px;
	height: 52px;
	border: 1px solid rgba(237, 230, 216, 0.2);
	border-radius: 50%;
	background: rgba(21, 19, 15, 0.82);
	backdrop-filter: blur(8px);
	color: var(--hm-paper);
	font-size: 1.2rem;
	line-height: 1;
	opacity: 0;
	transform: translateY(10px);
	pointer-events: none;
	cursor: pointer;
	transition: opacity 260ms var(--hm-ease), transform 260ms var(--hm-ease), border-color 220ms ease, background-color 220ms ease, color 220ms ease;
}

.hm-back-to-top.is-visible {
	opacity: 1;
	transform: translateY(0);
	pointer-events: auto;
}

.hm-back-to-top:hover,
.hm-back-to-top:focus-visible {
	border-color: var(--hm-flame);
	background: var(--hm-flame);
	color: var(--hm-charcoal);
}

.hm-back-to-top:focus-visible {
	outline: 2px solid var(--hm-flame);
	outline-offset: 2px;
}

@media (max-width: 767px) {
	.hm-back-to-top {
		width: 46px;
		height: 46px;
		font-size: 1.05rem;
	}
}

/* Respeta preferencia de movimiento reducido */
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}
	.hm-reveal { opacity: 1; transform: none; }
	.hm-news-track { animation: none; }
	.hm-news-marquee { overflow-x: auto; }
	.hm-type-ready .hm-char,
	.hm-type-ready .hm-char.is-typed {
		opacity: 1;
		filter: none;
		transform: none;
	}
	.hm-type-caret { display: none; }
	.hm-motion-item,
	.hm-motion-item.is-motion-visible {
		opacity: 1;
		filter: none;
		transform: none;
	}
}

/* ==========================================================================
   Variante de preview: paleta original del logo (turquesa/terracota) en vez
   del dorado "archivo vivo". Mismo diseño/estructura — solo remapea los
   acentos de color vía custom properties, que heredan en toda la cascada.
   Ver template-home-paleta-logo.php.
   ========================================================================== */
.hm-home--brand-palette {
	--hm-flame: #d3592b;
	--hm-flame-soft: #ea8256;
	--hm-stamp: #3f8f89;
	--hm-stamp-soft: #6cbab2;
}

/* ==========================================================================
   Cuadrícula de cursos/diplomas (página "Formación"). Reemplaza el volcado
   lineal de HTML de Divi (encabezado + imagen enorme + párrafo, repetido)
   por tarjetas consistentes con el resto del sistema editorial.
   ========================================================================== */
.hm-course-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 2rem;
	margin-top: 2.5rem !important;
	/* Excluido del fade-in por scroll (".entry-content > *" en editorial-home.js):
	   con 13 tarjetas es demasiado alto para cruzar el umbral de intersección
	   y quedaba invisible para siempre. Ver el mismo caso con el carrusel del home. */
	opacity: 1 !important;
	filter: none !important;
	transform: none !important;
}

.hm-course-card {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	border: 1px solid rgba(237, 230, 216, 0.14);
	border-radius: 4px;
	background: var(--hm-surface);
	transition: border-color 250ms ease, transform 400ms var(--hm-ease);
}

.hm-course-card:hover {
	border-color: rgba(201, 154, 62, 0.5);
	transform: translateY(-4px);
}

.hm-course-card-media {
	margin: 0 !important;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	background: var(--hm-charcoal);
}

.hm-course-card-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	filter: saturate(0.9);
}

.hm-course-card-kicker {
	margin: 1.5rem 1.5rem 0 !important;
}

.hm-course-card-title {
	margin: 0.6rem 1.5rem 0 !important;
	color: var(--hm-paper) !important;
	font-size: clamp(1.3rem, 1.6vw, 1.6rem) !important;
	line-height: 1.15 !important;
	letter-spacing: -0.015em;
}

.hm-course-card-excerpt {
	margin: 0.85rem 1.5rem 1.5rem !important;
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 4;
	color: rgba(237, 230, 216, 0.66) !important;
	font-size: 0.95rem !important;
	line-height: 1.65 !important;
}

@media (max-width: 1024px) {
	.hm-course-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 640px) {
	.hm-course-grid { grid-template-columns: 1fr; }
}

/* ==========================================================================
   Resultados de búsqueda sin coincidencias. Ver search.php.
   ========================================================================== */
.hm-search-empty {
	padding: clamp(3rem, 8vw, 6rem) 0;
	text-align: center;
}

.hm-search-empty p {
	max-width: 44ch;
	margin: 0 auto;
	color: rgba(237, 230, 216, 0.7);
	font-size: clamp(1.1rem, 1.6vw, 1.3rem);
	line-height: 1.7;
}

/* ==========================================================================
   Paginación por defecto de WordPress (the_posts_pagination) — usada en
   search.php. El azul de Kadence por defecto no combina con la paleta;
   se reutiliza el mismo lenguaje visual de ".hm-pagination-pages".
   ========================================================================== */
.pagination .nav-links {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	margin-top: clamp(3rem, 6vw, 5rem);
}

.pagination .page-numbers {
	display: grid;
	min-width: 44px;
	height: 44px;
	place-items: center;
	padding-inline: 0.4rem;
	border: 1px solid rgba(237, 230, 216, 0.2);
	border-radius: 50%;
	color: rgba(237, 230, 216, 0.68) !important;
	font: 500 var(--hm-text-sm)/1 var(--hm-font-mono);
	text-decoration: none;
	transition: border-color 220ms ease, color 220ms ease, background 220ms ease;
}

.pagination .page-numbers.dots {
	border-color: transparent;
}

.pagination .page-numbers:hover,
.pagination .page-numbers:focus-visible,
.pagination .page-numbers.current {
	border-color: var(--hm-flame);
	background: var(--hm-flame);
	color: var(--hm-charcoal) !important;
}

.pagination .page-numbers.next,
.pagination .page-numbers.prev {
	border-radius: 999px;
	padding-inline: 1rem;
}
/* ================================================================
   Cabecera editorial 2026 — identidad clara, navegación persistente
   ================================================================ */
:root {
	--hm-brand-burgundy: #6f2c3f;
	--hm-brand-terra: #d3592b;
	--hm-brand-turquoise: #3f8f89;
	--hm-brand-ink: #211d1b;
	--hm-brand-paper: #fff;
	--hm-header-height: 132px;
}

body { padding-top: var(--hm-header-height); }
#masthead.site-header { display: none !important; }
.hm-menu-lock { overflow: hidden; }

.hm-editorial-header {
	position: fixed;
	z-index: 9990;
	inset: 0 0 auto;
	height: var(--hm-header-height);
	color: var(--hm-brand-ink);
	background: rgba(255, 255, 255, .97);
	border-bottom: 1px solid rgba(33, 29, 27, .16);
	transition: height .35s cubic-bezier(.22, 1, .36, 1), box-shadow .35s ease;
}

.hm-editorial-header.is-compact {
	height: 94px;
	box-shadow: 0 12px 35px rgba(44, 29, 27, .08);
}

.hm-editorial-header.is-compact:hover,
.hm-editorial-header.is-compact:focus-within,
.hm-editorial-header.is-menu-open,
.hm-editorial-header.is-search-open { height: var(--hm-header-height); }

.hm-header-inner {
	width: min(100% - 40px, 1520px);
	height: 100%;
	margin: auto;
	display: grid;
	grid-template-columns: minmax(185px, .8fr) auto minmax(185px, .8fr);
	grid-template-rows: auto auto;
	align-items: center;
	row-gap: 6px;
	column-gap: 28px;
	transition: padding .35s ease;
}

.hm-header-brand {
	grid-column: 1 / -1;
	grid-row: 1;
	justify-self: center;
	color: var(--hm-brand-burgundy);
	font-family: "Roboto Slab", Georgia, serif;
	font-size: 21px;
	font-weight: 700;
	line-height: 1;
	text-decoration: none;
}

.hm-header-logo {
	width: auto;
	max-width: 150px;
	height: 56px;
	object-fit: contain;
	object-position: center;
	transition: height .35s ease;
}
.is-compact:not(:hover):not(:focus-within) .hm-header-logo { height: 40px; }

.hm-primary-nav {
	grid-column: 2;
	grid-row: 2;
	display: flex;
	align-items: center;
	gap: clamp(16px, 2vw, 36px);
}
.hm-menu-trigger,
.hm-menu-mobile-toggle {
	position: relative;
	padding: 12px 0;
	color: inherit;
	background: transparent !important;
	border: 0;
	box-shadow: none !important;
	font: 600 12px/1.2 "Roboto Mono", monospace;
	letter-spacing: .08em;
	text-decoration: none;
	text-transform: uppercase;
	cursor: pointer;
}
.hm-menu-trigger::after {
	content: "";
	position: absolute;
	inset: auto 0 5px;
	height: 2px;
	background: var(--hm-brand-terra);
	transform: scaleX(0);
	transform-origin: right;
	transition: transform .25s ease;
}
.hm-menu-trigger:hover::after,
.hm-menu-trigger:focus-visible::after,
.hm-menu-trigger.is-active::after { transform: scaleX(1); transform-origin: left; }
.hm-menu-trigger.is-active { color: var(--hm-brand-burgundy); }
.hm-menu-mobile-toggle {
	display: none;
	align-items: center;
	justify-content: center;
	gap: 7px;
	min-width: 44px;
	min-height: 44px;
	touch-action: manipulation;
}
.hm-menu-mobile-toggle span:last-child { color: var(--hm-brand-terra); font-size: 18px; transition: transform .3s ease; }
.is-menu-open .hm-menu-mobile-toggle span:last-child { transform: rotate(45deg); }

.hm-header-tools { grid-column: 3; grid-row: 2; justify-self: end; display: flex; align-items: center; gap: 20px; }
.hm-search-toggle {
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	padding: 0;
	color: inherit;
	background: transparent;
	border: 1px solid rgba(33,29,27,.25);
	border-radius: 4px;
	font-size: 20px;
	cursor: pointer;
	touch-action: manipulation;
}
.hm-social-links { display: flex; align-items: center; gap: 14px; }
.hm-social-links a {
	display: grid;
	place-items: center;
	color: var(--hm-brand-ink);
	text-decoration: none;
	transition: color .2s ease;
}
.hm-social-links a:hover,
.hm-social-links a:focus-visible { color: var(--hm-brand-terra); }
.hm-social-links svg { display: block; }

.hm-header-search {
	position: absolute;
	top: 100%;
	right: max(20px, calc((100vw - 1520px) / 2));
	width: min(560px, calc(100vw - 40px));
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	gap: 16px;
	padding: 18px;
	background: var(--hm-brand-paper);
	border: 1px solid rgba(33,29,27,.18);
	box-shadow: 0 22px 45px rgba(40,22,20,.12);
}
.hm-header-search[hidden] { display: none; }
.hm-header-search label { font: 600 10px/1.2 "Roboto Mono", monospace; text-transform: uppercase; }
.hm-header-search input { min-width: 0; padding: 10px 4px; border: 0; border-bottom: 1px solid; background: transparent; }
.hm-header-search button { padding: 11px 17px; color: white; background: var(--hm-brand-burgundy); border: 0; border-radius: 4px; }

.hm-megamenu {
	position: absolute;
	top: 100%;
	left: 0;
	width: 100%;
	max-height: calc(100vh - var(--hm-header-height));
	overflow: auto;
	background: #fbfaf8;
	border-top: 1px solid rgba(33,29,27,.12);
	box-shadow: 0 28px 60px rgba(46,27,24,.14);
	opacity: 0;
	visibility: hidden;
	transform: translateY(-12px);
	transition: opacity .25s ease, transform .35s cubic-bezier(.22,1,.36,1), visibility .25s;
}
.hm-megamenu[aria-hidden="false"] { opacity: 1; visibility: visible; transform: none; }
.hm-megamenu-inner {
	width: min(100% - 40px, 1520px);
	margin: auto;
	padding: 0;
}
.hm-mobile-menu-tabs { display: none; }
.hm-megamenu-panel {
	display: grid;
	grid-template-columns: minmax(280px, .8fr) minmax(360px, 1.2fr);
	gap: clamp(48px, 7vw, 120px);
	padding: clamp(34px, 4vw, 58px) 0;
	animation: hm-menu-panel-in .35s cubic-bezier(.22,1,.36,1) both;
}
.hm-megamenu-panel[hidden] { display: none; }
.hm-megamenu-message {
	display: flex;
	align-items: flex-start;
	padding-right: clamp(24px, 4vw, 64px);
	border-right: 1px solid rgba(33,29,27,.14);
}
.hm-megamenu-message p {
	max-width: 22ch;
	margin: 0;
	color: var(--hm-brand-ink);
	font-family: "Roboto Slab", Georgia, serif;
	font-size: clamp(27px, 2.5vw, 42px);
	line-height: 1.04;
	text-wrap: balance;
}
.hm-megamenu-social { display: none; }

.hm-menu-group {
	display: block;
}
.hm-menu-group ul { margin: 0; padding: 0; list-style: none; }
.hm-menu-group li { border-top: 1px solid rgba(33,29,27,.12); }
.hm-menu-group a,
.hm-menu-group .is-unavailable {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	padding: 10px 0;
	color: inherit;
	font-size: 14px;
	line-height: 1.25;
	text-decoration: none;
}
.hm-menu-group a:hover,
.hm-menu-group a:focus-visible { color: var(--hm-brand-terra); padding-left: 5px; }
.hm-menu-group .is-unavailable { color: #746d68; }

@keyframes hm-menu-panel-in {
	from { opacity: 0; transform: translateY(-8px); }
	to { opacity: 1; transform: none; }
}

.hm-editorial-header :focus-visible { outline: 2px solid var(--hm-brand-turquoise); outline-offset: 4px; }

/* Franja promocional editorial */
.hm-promo-wrap { padding: clamp(58px, 7vw, 96px) 0; background: #fff; }
.hm-promo-bar {
	display: grid;
	height: clamp(240px, 19vw, 280px);
	min-height: clamp(240px, 19vw, 280px);
	grid-template-columns: minmax(0, 1.38fr) minmax(340px, 1fr);
	color: #fff;
	background: var(--hm-brand-burgundy);
	border-radius: 4px;
	overflow: hidden;
	box-shadow: 0 24px 60px rgba(84, 33, 50, .14);
}
.hm-promo-bar:not(.has-image) { grid-template-columns: 1fr; }
.hm-promo-media {
	position: relative;
	height: 100%;
	min-height: clamp(240px, 19vw, 280px);
	overflow: hidden;
	background: #efe9e1;
}
.hm-promo-media::after {
	content: "";
	position: absolute;
	inset: 0 0 0 auto;
	width: 1px;
	background: rgba(255, 255, 255, .2);
}
.hm-promo-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .8s cubic-bezier(.22, 1, .36, 1);
}
.hm-promo-bar:hover .hm-promo-media img,
.hm-promo-bar:focus-within .hm-promo-media img { transform: scale(1.035); }
.hm-promo-content {
	display: flex;
	min-width: 0;
	flex-direction: column;
	justify-content: space-between;
	gap: 16px;
	padding: 28px 32px;
}
.hm-promo-copy { display: grid; gap: 10px; }
.hm-promo-copy span {
	color: #ffd7c6;
	font: 600 10px/1 var(--hm-font-mono);
	letter-spacing: .14em;
	text-transform: uppercase;
}
.hm-promo-copy strong {
	max-width: 17ch;
	color: #fff;
	font: 650 clamp(1.7rem, 2.1vw, 2.15rem)/.98 var(--hm-font-display);
	letter-spacing: -.035em;
	text-wrap: balance;
}
.hm-promo-description {
	max-width: 46ch;
	margin: 0;
	color: rgba(255, 255, 255, .82) !important;
	font: 450 .96rem/1.55 var(--hm-font-body);
}
.hm-promo-action {
	display: inline-flex;
	width: fit-content;
	min-height: 44px;
	align-items: center;
	justify-content: space-between;
	gap: 28px;
	padding: 12px 16px;
	color: #fff;
	border: 1px solid rgba(255, 255, 255, .52);
	border-radius: 4px;
	font: 600 12px/1.2 var(--hm-font-body);
	text-decoration: none;
}
.hm-promo-action span { transition: transform .3s ease; }
.hm-promo-action:hover,
.hm-promo-action:focus-visible { color: var(--hm-brand-burgundy); background: #fff; }
.hm-promo-action:hover span,
.hm-promo-action:focus-visible span { transform: translateX(5px); }

/* Panel editorial ascendente, sin esconder la fotografía */
.hm-news-card { position: relative; overflow: hidden; border-radius: 4px; background: #fff; min-height: 520px; }
.hm-news-image { position: absolute; inset: 0; height: 100%; }
.hm-news-image img { width: 100%; height: 100%; object-fit: cover; }
.hm-news-copy {
	position: absolute;
	z-index: 2;
	inset: auto 0 0;
	min-height: 42%;
	padding: 25px;
	color: var(--hm-brand-ink);
	background: rgba(255,255,255,.95);
	border-top: 3px solid var(--hm-brand-terra);
	transform: translateY(calc(100% - 154px));
	transition: transform .5s cubic-bezier(.22,1,.36,1), background .3s ease;
}
.hm-news-copy h3 { color: #5d5651; transition: color .25s ease; }
.hm-news-copy p { display: block; max-height: none; color: #625a55; opacity: 0; transform: translateY(12px); transition: opacity .3s ease .08s, transform .35s ease .08s; }
.hm-news-card:hover .hm-news-copy,
.hm-news-card:focus-within .hm-news-copy { transform: translateY(0); }
.hm-news-card:hover .hm-news-copy p,
.hm-news-card:focus-within .hm-news-copy p { opacity: 1; transform: none; }
.hm-news-copy h3:hover,
.hm-news-copy h3 a:focus-visible { color: var(--hm-brand-burgundy); }

@media (max-width: 1024px) {
	:root { --hm-header-height: 92px; }
	.hm-editorial-header.is-compact { height: 62px; }
	.hm-header-inner { grid-template-columns: minmax(140px, auto) auto minmax(140px, auto); grid-template-rows: 1fr; }
	.hm-header-brand { grid-column: 1; grid-row: 1; justify-self: start; }
	.hm-header-logo { height: 56px; }
	.is-compact:not(:hover):not(:focus-within) .hm-header-logo { height: 44px; }
	.hm-primary-nav > .hm-menu-trigger { display: none; }
	.hm-menu-mobile-toggle { display: inline-flex; }
	.hm-primary-nav { grid-column: 3; grid-row: 1; justify-self: end; }
	.hm-header-tools { grid-column: 2; grid-row: 1; justify-self: end; }
	.hm-mobile-menu-tabs {
		display: flex;
		gap: 22px;
		overflow-x: auto;
		padding: 19px 0 15px;
		border-bottom: 1px solid rgba(33,29,27,.14);
		scrollbar-width: none;
	}
	.hm-mobile-menu-tabs::-webkit-scrollbar { display: none; }
	.hm-mobile-menu-tabs button {
		flex: 0 0 auto;
		min-height: 44px;
		padding: 12px 2px;
		color: var(--hm-brand-ink);
		background: transparent !important;
		border: 0;
		border-bottom: 2px solid transparent;
		box-shadow: none !important;
		font: 600 11px/1.2 "Roboto Mono", monospace;
		letter-spacing: .07em;
		text-transform: uppercase;
		touch-action: manipulation;
	}
	.hm-mobile-menu-tabs button.is-active { color: var(--hm-brand-burgundy); border-bottom-color: var(--hm-brand-terra); }
	.hm-megamenu-panel { grid-template-columns: minmax(220px, .75fr) minmax(360px, 1.25fr); gap: 36px; }
}

@media (max-width: 767px) {
	:root { --hm-header-height: 68px; }
	body { padding-top: var(--hm-header-height); }
	.hm-editorial-header,
	.hm-editorial-header.is-compact,
	.hm-editorial-header.is-compact:hover,
	.hm-editorial-header.is-compact:focus-within { height: var(--hm-header-height); }
	.hm-header-inner { width: calc(100% - 28px); grid-template-columns: 1fr auto auto; gap: 12px; }
	.hm-header-logo { height: 50px; max-width: 90px; }
	.hm-header-brand { font-size: 17px; }
	.hm-primary-nav { grid-column: 3; }
	.hm-menu-mobile-toggle span:first-child { display: none; }
	.hm-header-tools { grid-column: 2; gap: 8px; }
	.hm-social-links { display: none; }
	.hm-megamenu { position: fixed; top: var(--hm-header-height); bottom: 0; max-height: none; }
	.hm-megamenu-inner { width: calc(100% - 32px); padding: 0 0 40px; }
	.hm-mobile-menu-tabs { gap: 18px; margin: 0 -16px; padding: 17px 16px 13px; }
	.hm-megamenu-panel { display: block; padding: 27px 0 36px; }
	.hm-megamenu-panel[hidden] { display: none; }
	.hm-megamenu-message { padding: 0 0 25px; border-right: 0; border-bottom: 1px solid rgba(33,29,27,.14); }
	.hm-megamenu-message p { max-width: 18ch; font-size: clamp(27px, 9vw, 36px); }
	.hm-menu-group { display: block; margin-top: 27px; }
	.hm-menu-group a, .hm-menu-group .is-unavailable { padding: 11px 0; }
	.hm-megamenu-social {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 28px;
		margin-top: 32px;
		padding-top: 24px;
		border-top: 1px solid rgba(33,29,27,.14);
	}
	.hm-megamenu-social a {
		display: grid;
		place-items: center;
		width: 44px;
		height: 44px;
		color: var(--hm-brand-ink);
		touch-action: manipulation;
	}
	.hm-megamenu-social a:hover,
	.hm-megamenu-social a:focus-visible { color: var(--hm-brand-terra); }
	.hm-header-search { position: fixed; top: var(--hm-header-height); right: 14px; left: 14px; width: auto; grid-template-columns: 1fr auto; }
	.hm-header-search label { grid-column: 1 / -1; }
	.hm-promo-bar { grid-template-columns: minmax(0, 1.05fr) minmax(300px, .95fr); }
	.hm-promo-content { padding: 30px; }
	.hm-news-card { min-height: 500px; }
	.hm-news-copy { min-height: 38%; transform: none; padding: 20px; }
	.hm-news-copy p { opacity: 1; transform: none; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
}

@media (max-width: 620px) {
	.hm-promo-wrap { padding: 44px 0; }
	.hm-promo-bar,
	.hm-promo-bar.has-image { height: auto; min-height: 0; grid-template-columns: 1fr; }
	.hm-promo-media { min-height: 210px; aspect-ratio: 16 / 9; }
	.hm-promo-content { gap: 24px; padding: 28px 24px 30px; }
	.hm-promo-copy strong { max-width: 20ch; font-size: clamp(1.8rem, 9vw, 2.6rem); }
	.hm-promo-action { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
	.hm-editorial-header,
	.hm-megamenu,
	.hm-news-copy,
	.hm-news-copy p,
	.hm-promo-media img,
	.hm-promo-action span { transition-duration: .01ms !important; }
	.hm-promo-bar:hover .hm-promo-media img,
	.hm-promo-bar:focus-within .hm-promo-media img { transform: none; }
}

/* Home sobre papel blanco según el manual de identidad */
.home,
.home .site.wp-site-blocks,
.home .hm-home,
.home .hm-hero,
.home .hm-sections {
	color: var(--hm-brand-ink);
	background: #fff !important;
}
.home .hm-home h1,
.home .hm-home h2,
.home .hm-home h3,
.home .hm-home h4 { color: var(--hm-brand-ink) !important; }
.home .hm-grid-lines {
	opacity: .38;
	background-image: linear-gradient(to right, rgba(63,143,137,.12) 1px, transparent 1px);
}
.home .hm-hero-kicker,
.home .hm-hero-meta,
.home .hm-section-heading { border-color: rgba(33,29,27,.18); }
.home .hm-search { color: var(--hm-brand-ink); border-color: rgba(33,29,27,.28); background: #f7f5f1; }
.home .hm-search input { color: var(--hm-brand-ink); }
.home .hm-search button { color: #fff; background: var(--hm-brand-burgundy); border-radius: 4px; }
.home .hm-hero-media { border-radius: 4px; overflow: hidden; }
.home .hm-datestamp { color: var(--hm-brand-burgundy); border-color: var(--hm-brand-terra); }
.home .hm-category-label,
.home .hm-eyebrow,
.home .hm-news-category { color: var(--hm-brand-turquoise) !important; }
.home .hm-text-link,
.home .hm-news-action { color: var(--hm-brand-burgundy) !important; border-color: var(--hm-brand-turquoise); }
.home .hm-news { color: var(--hm-brand-ink); background: #f4f0ea !important; }
.home .hm-news-card { border-color: rgba(33,29,27,.17); box-shadow: 0 15px 38px rgba(57,37,31,.09); }
.home .hm-news-copy { color: var(--hm-brand-ink) !important; }
.home .hm-archive-status { color: var(--hm-brand-ink); border-color: rgba(33,29,27,.18); }
.home .hm-archive-jump-panel { color: #fff; background: var(--hm-brand-burgundy); border-radius: 4px; }
.home .hm-archive-jump-panel h3,
.home .hm-archive-jump-panel strong { color: #fff !important; }
.home .hm-stats { color: var(--hm-brand-ink); background: #dceeea !important; }
.home .hm-stats h2,
.home .hm-stats h3,
.home .hm-stats strong { color: var(--hm-brand-burgundy) !important; }
.home .hm-stat { border-color: rgba(36,95,91,.28); }
.home .hm-section-card { color: var(--hm-brand-ink) !important; border-color: rgba(33,29,27,.2); background: #fff; border-radius: 4px; }
.home .hm-section-card:hover { color: #fff !important; background: var(--hm-brand-burgundy); border-color: var(--hm-brand-burgundy); }
.home .hm-section-card:hover h3 { color: #fff !important; }
.home .hm-manifesto { color: #fff; background: var(--hm-brand-burgundy) !important; }
.home .hm-manifesto h2,
.home .hm-manifesto p { color: #fff !important; }
.home .hm-button { color: var(--hm-brand-burgundy) !important; background: #fff; border-radius: 4px; }
.home .hm-button-secondary { color: #fff !important; background: transparent; border-color: rgba(255,255,255,.55); }
.home .site-footer { color: #fff; background: #542132 !important; }
.hm-header-brand,
.hm-menu-trigger,
.hm-menu-mobile-toggle,
.hm-header-tools a { color: var(--hm-brand-ink) !important; }

/* Contraste AA en superficies claras.
   --hm-paper (#ede6d8) se conserva exclusivamente para fondos oscuros. */
.hm-menu-mobile-toggle span:last-child { color: var(--hm-brand-burgundy); }
.hm-menu-group a { color: #3e3935 !important; }
.hm-menu-group a:hover,
.hm-menu-group a:focus-visible { color: #9e3f1d !important; }

.home .hm-masthead-title {
	color: var(--hm-brand-burgundy);
}
.home .hm-hero-excerpt,
.home .hm-section-heading p,
.home .hm-archive-callout p {
	color: #514b47;
}
.home .hm-hero-kicker span,
.home .hm-eyebrow,
.home .hm-category-label,
.home .hm-news-category {
	color: #245f5b;
}
.home .hm-search input {
	color: #292522 !important;
}
.home .hm-search input::placeholder {
	color: #6a625d;
	opacity: 1;
}
.home .hm-news-copy time {
	color: var(--hm-brand-burgundy);
}
.home .hm-news-copy h3 {
	color: #3f3a36 !important;
}
.home .hm-news-copy p {
	color: #514b47;
}

/* Las áreas de marca invierten su tipografía de forma explícita:
   ninguna etiqueta oscura puede heredarse sobre borgoña o turquesa. */
.home .hm-stats,
.home .hm-stats .hm-section-heading p,
.home .hm-stats .hm-eyebrow,
.home .hm-stats .hm-stat span {
	color: var(--hm-brand-ink);
}
.home .hm-stats .hm-eyebrow,
.home .hm-stats .hm-stat span {
	color: #245f5b;
	opacity: 1;
}
.home .hm-stats-grid,
.home .hm-stat {
	border-color: rgba(36, 95, 91, .28);
}

.home .skip-link:focus {
	color: #fff !important;
	background: var(--hm-brand-burgundy) !important;
}

.home .hm-promo-copy strong {
	color: #fff;
}
.home .hm-promo-copy span {
	color: #ffd7c6;
}
.home .hm-promo-action {
	color: #fff !important;
}
.home .hm-promo-action:hover,
.home .hm-promo-action:focus-visible {
	color: var(--hm-brand-burgundy) !important;
}

.home .hm-manifesto .hm-eyebrow,
.home .hm-manifesto-lead {
	color: #fff !important;
}
.home .hm-manifesto .hm-eyebrow {
	opacity: .9;
}

.home .hm-archive-jump-panel,
.home .hm-archive-jump-panel .hm-eyebrow,
.home .hm-archive-jump-panel label,
.home .hm-archive-jump-panel small,
.home .hm-archive-jump-panel span {
	color: #fff;
}

/* ======================================================================
   Páginas internas — sistema claro de marca
   El diseño nocturno anterior se reemplaza por papel blanco en páginas,
   artículos, búsquedas y archivos. Las superficies oscuras quedan
   reservadas al footer y a acentos deliberados.
   ====================================================================== */
body:not(.home),
body:not(.home) .site.wp-site-blocks,
body:not(.home) .site-main,
body:not(.home) #primary,
body:not(.home) .content-area {
	color: var(--hm-brand-ink);
	background: #fff !important;
}

body:not(.home) :is(h1, h2, h3, h4, h5, h6, .entry-title, .wp-block-post-title) {
	color: var(--hm-brand-ink) !important;
}

body:not(.home) .entry-hero,
body:not(.home) .entry-hero-container-inner {
	color: var(--hm-brand-ink);
	background: #f5f1ec !important;
	border-color: rgba(33, 29, 27, .16);
}

/* Portadas editoriales de categoría */
body.category { --hm-category-accent: var(--hm-brand-burgundy); }
body:is(.category-podcast, .category-desaparicion, .category-investigacion) { --hm-category-accent: #327f7a; }
body:is(.category-el-posacuerdo, .category-paz, .category-reparacion) { --hm-category-accent: var(--hm-brand-terra); }
body:is(.category-las-memorias, .category-opinion, .category-resenas, .category-libros-y-mas) { --hm-category-accent: var(--hm-brand-burgundy); }

body.category .entry-hero {
	position: relative;
	min-height: clamp(390px, 42vw, 570px);
	overflow: hidden;
	border-block: 1px solid rgba(33, 29, 27, .16);
	background: #f7f3ed !important;
}
body.category .entry-hero-container-inner { min-height: inherit; background: transparent !important; }
body.category .entry-hero .hero-section-overlay { display: none; }
body.category .entry-hero .hero-container {
	position: relative;
	z-index: 1;
	display: flex;
	min-height: inherit;
	align-items: stretch;
	padding-block: 0;
}
body.category .entry-hero .post-archive-title {
	position: relative;
	display: grid;
	width: 100%;
	min-height: inherit;
	grid-template-columns: minmax(0, 1.05fr) minmax(320px, .95fr);
	grid-template-rows: 1fr auto;
	align-items: center;
	gap: 0 clamp(36px, 5vw, 82px);
	padding: clamp(68px, 8vw, 112px) 0 clamp(42px, 5vw, 70px);
	text-align: left;
}
body.category .entry-hero .post-archive-title::before {
	content: "Hacemos Memoria  /  Archivo editorial";
	position: absolute;
	top: clamp(30px, 4vw, 52px);
	left: 0;
	color: var(--hm-category-accent);
	font: 600 10px/1.2 var(--hm-font-mono);
	letter-spacing: .14em;
	text-transform: uppercase;
}
body.category .entry-hero .archive-title {
	position: relative;
	z-index: 2;
	max-width: 760px;
	margin: 0;
	color: var(--hm-brand-ink) !important;
	font: 650 clamp(4.6rem, 8vw, 8.8rem)/.82 var(--hm-font-display) !important;
	letter-spacing: -.055em;
	text-wrap: balance;
}
body.category .entry-hero .archive-title::after {
	content: "";
	display: block;
	width: clamp(76px, 9vw, 138px);
	height: 4px;
	margin-top: clamp(28px, 4vw, 52px);
	background: var(--hm-category-accent);
}
.hm-category-banner-copy {
	position: relative;
	z-index: 2;
	grid-column: 1;
	grid-row: 2;
	max-width: 620px;
	padding-top: 24px;
}
.hm-category-banner-kicker {
	margin: 0 0 12px;
	color: var(--hm-category-accent);
	font: 600 10px/1.3 var(--hm-font-mono);
	letter-spacing: .11em;
	text-transform: uppercase;
}
.hm-category-banner-description {
	max-width: 54ch;
	margin: 0;
	color: #514b47;
	font: 450 clamp(1rem, 1.25vw, 1.18rem)/1.55 var(--hm-font-body);
}
.hm-category-banner-visual {
	position: absolute;
	inset: 0;
	z-index: 0;
	overflow: hidden;
	background: #eee7dc url("assets/images/category-archive-texture.png") center / cover no-repeat;
	transform: scale(1.01);
	transition: transform 1.2s cubic-bezier(.22, 1, .36, 1);
}
.hm-category-banner-visual::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	background: rgba(247, 243, 237, .16);
	pointer-events: none;
}
.hm-category-banner-visual::after {
	content: "";
	position: absolute;
	inset: 0 auto 0 0;
	z-index: 2;
	width: min(58%, 920px);
	background: rgba(247, 243, 237, .72);
	border-right: 1px solid rgba(33, 29, 27, .08);
	pointer-events: none;
}
body.category .entry-hero:hover .hm-category-banner-visual { transform: scale(1.025); }

body.category-el-conflicto .hm-category-banner-visual { background-image: url("assets/images/category-banners/category-el-conflicto.webp"); }
body.category-el-posacuerdo .hm-category-banner-visual { background-image: url("assets/images/category-banners/category-el-posacuerdo.webp"); }
body.category-el-proyecto .hm-category-banner-visual { background-image: url("assets/images/category-banners/category-el-proyecto.webp"); }
body.category-la-red .hm-category-banner-visual { background-image: url("assets/images/category-banners/category-la-red.webp"); }
body.category-las-memorias .hm-category-banner-visual { background-image: url("assets/images/category-banners/category-las-memorias.webp"); }
body.category-libros-y-mas .hm-category-banner-visual { background-image: url("assets/images/category-banners/category-libros-y-mas.webp"); }
body.category-noticias-de-la-memoria .hm-category-banner-visual,
body.category-destacado .hm-category-banner-visual { background-image: url("assets/images/category-banners/category-noticias-de-la-memoria.webp"); }
body.category-opinion .hm-category-banner-visual { background-image: url("assets/images/category-banners/category-opinion.webp"); }
body.category-podcast .hm-category-banner-visual { background-image: url("assets/images/category-banners/category-podcast.webp"); }
body.category-resenas .hm-category-banner-visual { background-image: url("assets/images/category-banners/category-resenas.webp"); }
body.category-testimonios .hm-category-banner-visual,
body.category-carmen .hm-category-banner-visual { background-image: url("assets/images/category-banners/category-testimonios.webp"); }
body.category-voces .hm-category-banner-visual { background-image: url("assets/images/category-banners/category-voces.webp"); }
@media (max-width: 900px) {
	body.category .entry-hero { min-height: 620px; }
	body.category .entry-hero .post-archive-title {
		grid-template-columns: 1fr;
		grid-template-rows: auto auto;
		align-content: start;
		gap: 0;
		padding: 78px 0 0;
	}
	body.category .entry-hero .archive-title { font-size: clamp(4rem, 13vw, 7rem) !important; }
	.hm-category-banner-copy { grid-row: 2; padding: 22px 0 30px; }
	.hm-category-banner-visual {
		position: absolute;
		inset: 0;
		width: auto;
		height: auto;
		margin: 0;
		background-position: 66% center;
	}
	.hm-category-banner-visual::before { background: rgba(247, 243, 237, .24); }
	.hm-category-banner-visual::after {
		width: 100%;
		background: rgba(247, 243, 237, .42);
		border: 0;
	}
}
@media (max-width: 520px) {
	body.category .entry-hero { min-height: 560px; }
	body.category .entry-hero .post-archive-title { grid-template-rows: auto auto; padding-top: 70px; }
	body.category .entry-hero .post-archive-title::before { top: 28px; }
	body.category .entry-hero .archive-title { font-size: clamp(3.4rem, 17vw, 5.3rem) !important; line-height: .86 !important; }
	.hm-category-banner-description { font-size: .96rem; }
	.hm-category-banner-visual { height: auto; }
}

@media (prefers-reduced-motion: reduce) {
	.hm-category-banner-visual,
	body.category .entry-hero:hover .hm-category-banner-visual {
		transform: none;
		transition: none;
	}
}

/* Portadas compartidas del área Conocimiento */
.hm-knowledge-hero {
	position: relative;
	min-height: clamp(390px, 42vw, 570px);
	overflow: hidden;
	border-block: 1px solid rgba(33, 29, 27, .16);
	background: #f7f3ed !important;
}
.hm-knowledge-hero .entry-hero-container-inner { min-height: inherit; background: transparent !important; }
.hm-knowledge-hero .hero-container {
	position: relative;
	z-index: 2;
	display: flex;
	min-height: inherit;
	align-items: center;
	padding-block: clamp(76px, 8vw, 112px) clamp(46px, 5vw, 70px);
}
.hm-knowledge-hero-content {
	position: relative;
	z-index: 2;
	width: min(52%, 720px);
	text-align: left;
}
.hm-knowledge-eyebrow {
	margin: 0 0 clamp(36px, 5vw, 64px);
	color: var(--hm-brand-terra);
	font: 600 10px/1.2 var(--hm-font-mono);
	letter-spacing: .14em;
	text-transform: uppercase;
}
.hm-knowledge-hero .page-title {
	max-width: 760px;
	margin: 0;
	color: var(--hm-brand-ink) !important;
	font: 650 clamp(4.2rem, 7vw, 8rem)/.84 var(--hm-font-display) !important;
	letter-spacing: -.055em;
	text-wrap: balance;
}
.hm-knowledge-rule {
	display: block;
	width: clamp(76px, 9vw, 138px);
	height: 4px;
	margin: clamp(28px, 4vw, 50px) 0 24px;
	background: var(--hm-brand-terra);
}
.hm-knowledge-summary {
	max-width: 56ch;
	margin: 0;
	color: #514b47;
	font: 450 clamp(1rem, 1.22vw, 1.16rem)/1.55 var(--hm-font-body);
}
.hm-knowledge-visual {
	position: absolute;
	inset: 0;
	z-index: 0;
	background: #eee7dc url("assets/images/category-archive-texture.png") center / cover no-repeat;
	transform: scale(1.01);
	transition: transform 1.2s cubic-bezier(.22, 1, .36, 1);
}
.hm-knowledge-visual::after {
	content: "";
	position: absolute;
	inset: 0 auto 0 0;
	width: min(58%, 920px);
	background: rgba(247, 243, 237, .72);
	border-right: 1px solid rgba(33, 29, 27, .08);
}
.hm-knowledge-hero:hover .hm-knowledge-visual { transform: scale(1.025); }
.hm-knowledge-en-el-aula .hm-knowledge-visual { background-image: url("assets/images/category-banners/knowledge-en-el-aula.webp"); }
.hm-knowledge-formacion .hm-knowledge-visual { background-image: url("assets/images/category-banners/knowledge-formacion.webp"); }
.hm-knowledge-investigacion .hm-knowledge-visual { background-image: url("assets/images/category-banners/category-el-proyecto.webp"); }
.hm-knowledge-libros-y-mas .hm-knowledge-visual { background-image: url("assets/images/category-banners/category-libros-y-mas.webp"); }
.hm-knowledge-content { background: #fff !important; }
.hm-knowledge-archive {
	padding-block: clamp(72px, 8vw, 118px);
}
.hm-knowledge-section-heading {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: end;
	gap: 12px 30px;
	margin-bottom: clamp(36px, 5vw, 66px);
	padding-bottom: 24px;
	border-bottom: 1px solid rgba(33, 29, 27, .18);
}
.hm-knowledge-section-kicker {
	grid-column: 1 / -1;
	margin: 0;
	color: #245f5b !important;
	font: 600 10px/1.2 var(--hm-font-mono);
	letter-spacing: .12em;
	text-transform: uppercase;
}
.hm-knowledge-section-heading h2 {
	margin: 0;
	color: var(--hm-brand-ink);
	font: 650 clamp(2.5rem, 5vw, 5.4rem)/.92 var(--hm-font-display);
	letter-spacing: -.04em;
}
.hm-knowledge-section-heading > p:last-child {
	margin: 0;
	color: #625a55 !important;
	font: 500 12px/1.4 var(--hm-font-mono);
	letter-spacing: .06em;
	text-transform: uppercase;
}
.hm-knowledge-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	align-items: start;
	gap: clamp(22px, 2.4vw, 36px);
}
.hm-knowledge-card {
	position: relative;
	display: grid;
	grid-template-rows: auto 1fr;
	min-height: 0;
	overflow: hidden;
	border: 1px solid rgba(33, 29, 27, .16);
	border-radius: 4px;
	background: #fff !important;
	box-shadow: 0 10px 30px rgba(57, 37, 31, .04) !important;
	transition: transform .45s cubic-bezier(.22, 1, .36, 1), box-shadow .45s ease, border-color .3s ease;
}
.hm-knowledge-card::after {
	content: "";
	position: absolute;
	inset: 0 0 auto;
	z-index: 2;
	height: 3px;
	background: linear-gradient(90deg, var(--hm-brand-terra), var(--hm-brand-turquoise));
	transform: scaleX(0);
	transform-origin: left;
	transition: transform .4s cubic-bezier(.22, 1, .36, 1);
}
.hm-knowledge-card:hover,
.hm-knowledge-card:focus-within {
	border-color: rgba(111, 44, 63, .34);
	box-shadow: 0 24px 55px rgba(57, 37, 31, .12) !important;
	transform: translateY(-7px);
}
.hm-knowledge-card:hover::after,
.hm-knowledge-card:focus-within::after { transform: scaleX(1); }
.hm-knowledge-card .post-thumbnail {
	display: block;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	background: #f3efe9;
}
.hm-knowledge-card .post-thumbnail-inner { height: 100%; }
.hm-knowledge-card .post-thumbnail img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .7s cubic-bezier(.22, 1, .36, 1), filter .45s ease;
}
.hm-knowledge-card:hover .post-thumbnail img,
.hm-knowledge-card:focus-within .post-thumbnail img {
	filter: saturate(1.05) contrast(1.02);
	transform: scale(1.045);
}
.hm-knowledge-card .entry-content-wrap {
	display: flex;
	min-height: 270px;
	flex-direction: column;
	padding: clamp(20px, 2.2vw, 28px);
}
.hm-knowledge-card .entry-taxonomies {
	margin-bottom: 10px;
	color: #245f5b;
	font: 600 10px/1.2 var(--hm-font-mono);
	letter-spacing: .1em;
	text-transform: uppercase;
}
.hm-knowledge-card .entry-title {
	margin: 0;
	font: 650 clamp(1.35rem, 1.45vw, 1.7rem)/1.08 var(--hm-font-display) !important;
}
.hm-knowledge-card .entry-title a {
	display: -webkit-box;
	overflow: hidden;
	color: var(--hm-brand-ink) !important;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}
.hm-knowledge-card .entry-title a:hover,
.hm-knowledge-card .entry-title a:focus-visible { color: var(--hm-brand-burgundy) !important; }
.hm-knowledge-card .entry-summary { margin-top: 18px; }
.hm-knowledge-card .entry-summary p {
	display: -webkit-box;
	margin: 0;
	overflow: hidden;
	color: #514b47 !important;
	font-size: .93rem;
	line-height: 1.55;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 4;
}
.hm-knowledge-card .entry-footer {
	margin-top: auto;
	padding-top: 22px;
}
.hm-knowledge-card .post-more-link {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	color: var(--hm-brand-burgundy) !important;
	font: 600 12px/1.2 var(--hm-font-body);
}
.hm-knowledge-card .post-more-link span { transition: transform .3s ease; }
.hm-knowledge-card .post-more-link:hover span,
.hm-knowledge-card .post-more-link:focus-visible span { transform: translateX(5px); }

@media (max-width: 900px) {
	.hm-knowledge-hero { min-height: 560px; }
	.hm-knowledge-hero .hero-container { align-items: flex-start; padding-top: 72px; }
	.hm-knowledge-hero-content { width: 100%; }
	.hm-knowledge-eyebrow { margin-bottom: 38px; }
	.hm-knowledge-hero .page-title { font-size: clamp(3.6rem, 14vw, 6.8rem) !important; }
	.hm-knowledge-visual { background-position: 66% center; }
	.hm-knowledge-visual::after { width: 100%; background: rgba(247, 243, 237, .42); border: 0; }
	.hm-knowledge-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 620px) {
	.hm-knowledge-section-heading { grid-template-columns: 1fr; align-items: start; }
	.hm-knowledge-grid { grid-template-columns: 1fr; }
	.hm-knowledge-card .entry-content-wrap { min-height: 0; }
}

@media (prefers-reduced-motion: reduce) {
	.hm-knowledge-visual,
	.hm-knowledge-hero:hover .hm-knowledge-visual,
	.hm-knowledge-card,
	.hm-knowledge-card::after,
	.hm-knowledge-card .post-thumbnail img {
		transform: none;
		transition: none;
	}
}

body:not(.home) .entry.content-bg,
body:not(.home) .single-entry.content-bg {
	color: var(--hm-brand-ink) !important;
	background: #fff !important;
}

body:not(.home) :is(.loop-entry.content-bg, .wp-block-post) {
	color: var(--hm-brand-ink) !important;
	background: #fff !important;
	border-color: rgba(33, 29, 27, .16);
}

.single .entry-content,
.page:not(.home) .entry-content {
	color: #514b47;
}
.single .entry-content :where(p, li, dd, dt),
.page:not(.home) .entry-content :where(p, li, dd, dt),
body:not(.home) .wp-block-post-excerpt {
	color: #514b47 !important;
}
.single .entry-content :where(strong, b, h2, h3, h4, h5, h6),
.page:not(.home) .entry-content :where(strong, b, h2, h3, h4, h5, h6) {
	color: var(--hm-brand-ink) !important;
}
.single .entry-content a,
.page:not(.home) .entry-content a,
body:not(.home) .wp-block-post-title a,
body:not(.home) .wp-block-query a {
	color: var(--hm-brand-burgundy) !important;
	text-decoration-color: rgba(111, 44, 63, .38);
}
.single .entry-content a:hover,
.single .entry-content a:focus-visible,
.page:not(.home) .entry-content a:hover,
.page:not(.home) .entry-content a:focus-visible,
body:not(.home) .wp-block-query a:hover,
body:not(.home) .wp-block-query a:focus-visible {
	color: #9e3f1d !important;
}

.single .entry-header .entry-meta,
.single .entry-header .entry-meta span,
.single .entry-header .entry-meta time,
.single .entry-header .entry-meta a,
body:not(.home) .wp-block-post-date,
body:not(.home) .wp-block-post-terms {
	color: #245f5b !important;
}

.single .entry-content blockquote,
.page:not(.home) .entry-content blockquote {
	color: var(--hm-brand-ink) !important;
	background: #dceeea;
	border-color: var(--hm-brand-terra);
}
.single .entry-content figcaption,
.page:not(.home) .entry-content figcaption,
.single .wp-caption-text,
.page:not(.home) .wp-caption-text {
	color: #625a55 !important;
}
.single .entry-content table,
.page:not(.home) .entry-content table {
	color: var(--hm-brand-ink);
	background: #fff;
	border-color: rgba(33, 29, 27, .22);
}
.single .entry-content th,
.page:not(.home) .entry-content th {
	color: #fff !important;
	background: var(--hm-brand-burgundy);
}
.single .entry-content td,
.page:not(.home) .entry-content td {
	color: #514b47 !important;
	border-color: rgba(33, 29, 27, .18);
}

/* Archivo editorial */
.hm-archive-page,
.hm-archive-hero,
.hm-archive-results {
	color: var(--hm-brand-ink);
	background: #fff !important;
}
.hm-archive-hero {
	background: #f5f1ec !important;
	border-color: rgba(33, 29, 27, .16);
}
.hm-archive-hero h1,
.hm-archive-toolbar h2,
.hm-archive-card h3 {
	color: var(--hm-brand-ink) !important;
}
.hm-archive-intro p,
.hm-archive-card p {
	color: #514b47;
}
.hm-archive-toolbar,
.hm-archive-card,
.hm-archive-pagination {
	border-color: rgba(33, 29, 27, .18);
}
.hm-archive-card > .hm-archive-card-inner {
	color: var(--hm-brand-ink) !important;
}
.hm-archive-card-meta {
	color: #245f5b;
}
.hm-pagination-arrow,
.hm-pagination-pages a {
	color: var(--hm-brand-burgundy) !important;
	border-color: rgba(111, 44, 63, .28);
}
.hm-pagination-pages a:hover,
.hm-pagination-pages a:focus-visible,
.hm-pagination-pages a.is-current {
	color: #fff !important;
	background: var(--hm-brand-burgundy);
	border-color: var(--hm-brand-burgundy);
}

body:not(.home) .site-footer,
body:not(.home) .site-footer :is(h1, h2, h3, h4, p, li, span, strong) {
	color: #fff !important;
}
body:not(.home) .site-footer {
	background: #542132 !important;
}

/* Tarjetas editoriales compactas para categorías, archivos y búsqueda */
body:is(.archive, .search) .kadence-posts-list {
	align-items: start;
	gap: clamp(22px, 2.4vw, 36px);
}

body:is(.archive, .search) .loop-entry {
	position: relative;
	display: grid;
	grid-template-rows: auto 1fr;
	min-height: 0;
	overflow: hidden;
	border: 1px solid rgba(33, 29, 27, .16);
	border-radius: 4px;
	background: #fff !important;
	box-shadow: 0 10px 30px rgba(57, 37, 31, .04) !important;
	transition:
		transform .45s cubic-bezier(.22, 1, .36, 1),
		box-shadow .45s ease,
		border-color .3s ease;
}

body:is(.archive, .search) .loop-entry::after {
	content: "";
	position: absolute;
	inset: 0 0 auto;
	z-index: 2;
	height: 3px;
	background: linear-gradient(90deg, var(--hm-brand-terra), var(--hm-brand-turquoise));
	transform: scaleX(0);
	transform-origin: left;
	transition: transform .4s cubic-bezier(.22, 1, .36, 1);
}

body:is(.archive, .search) .loop-entry:hover,
body:is(.archive, .search) .loop-entry:focus-within {
	border-color: rgba(111, 44, 63, .34);
	box-shadow: 0 24px 55px rgba(57, 37, 31, .12) !important;
	transform: translateY(-7px);
}

body:is(.archive, .search) .loop-entry:hover::after,
body:is(.archive, .search) .loop-entry:focus-within::after {
	transform: scaleX(1);
}

body:is(.archive, .search) .loop-entry .post-thumbnail {
	aspect-ratio: 16 / 9;
	overflow: hidden;
	background: #f3efe9;
}

body:is(.archive, .search) .loop-entry .post-thumbnail-inner {
	height: 100%;
}

body:is(.archive, .search) .loop-entry .post-thumbnail img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .7s cubic-bezier(.22, 1, .36, 1), filter .45s ease;
}

body:is(.archive, .search) .loop-entry:hover .post-thumbnail img,
body:is(.archive, .search) .loop-entry:focus-within .post-thumbnail img {
	filter: saturate(1.05) contrast(1.02);
	transform: scale(1.045);
}

body:is(.archive, .search) .loop-entry .entry-content-wrap {
	display: flex;
	min-height: 250px;
	flex-direction: column;
	padding: clamp(20px, 2.2vw, 28px);
}

body:is(.archive, .search) .loop-entry .entry-taxonomies {
	margin-bottom: 10px;
}

body:is(.archive, .search) .loop-entry .entry-taxonomies a {
	color: #245f5b !important;
	font: 600 10px/1.2 var(--hm-font-mono);
	letter-spacing: .1em;
	text-transform: uppercase;
}

body:is(.archive, .search) .loop-entry .entry-title {
	margin: 0;
	font-size: clamp(1.35rem, 1.45vw, 1.7rem) !important;
	line-height: 1.08 !important;
}

body:is(.archive, .search) .loop-entry .entry-title a {
	display: -webkit-box;
	overflow: hidden;
	color: var(--hm-brand-ink) !important;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

body:is(.archive, .search) .loop-entry .entry-title a:hover,
body:is(.archive, .search) .loop-entry .entry-title a:focus-visible {
	color: var(--hm-brand-burgundy) !important;
}

body:is(.archive, .search) .loop-entry .entry-meta {
	margin-top: 12px;
	color: #625a55;
	font-size: 11px;
}

body:is(.archive, .search) .loop-entry .entry-meta .posted-by {
	display: none;
}

body:is(.archive, .search) .loop-entry .entry-summary {
	margin-top: 16px;
}

body:is(.archive, .search) .loop-entry .entry-summary p {
	display: -webkit-box;
	margin: 0;
	overflow: hidden;
	color: #514b47 !important;
	font-size: .93rem;
	line-height: 1.55;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}

body:is(.archive, .search) .loop-entry .entry-footer {
	margin-top: auto;
	padding-top: 20px;
}

body:is(.archive, .search) .loop-entry .more-link-wrap {
	margin: 0;
}

body:is(.archive, .search) .loop-entry .post-more-link {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	color: var(--hm-brand-burgundy) !important;
	font: 600 12px/1.2 var(--hm-font-body);
	letter-spacing: 0;
	text-transform: none;
}

body:is(.archive, .search) .loop-entry .post-more-link .kadence-svg-iconset {
	transition: transform .3s ease;
}

body:is(.archive, .search) .loop-entry .post-more-link:hover .kadence-svg-iconset,
body:is(.archive, .search) .loop-entry .post-more-link:focus-visible .kadence-svg-iconset {
	transform: translateX(5px);
}

@media (max-width: 767px) {
	body:is(.archive, .search) .kadence-posts-list {
		grid-template-columns: 1fr;
	}
	body:is(.archive, .search) .loop-entry .entry-content-wrap {
		min-height: 0;
	}
}

@media (prefers-reduced-motion: reduce) {
	body:is(.archive, .search) .loop-entry,
	body:is(.archive, .search) .loop-entry::after,
	body:is(.archive, .search) .loop-entry .post-thumbnail img,
	body:is(.archive, .search) .loop-entry .post-more-link .kadence-svg-iconset {
		transition-duration: .01ms !important;
	}
}

/* La grilla de Conocimiento comparte la superficie clara de los archivos. */
body.page .hm-knowledge-grid .hm-knowledge-card.content-bg {
	color: var(--hm-brand-ink) !important;
	background: #fff !important;
}
/* Footer editorial global */
.hm-global-footer {
	--hm-footer-burgundy: #5d2034;
	--hm-footer-burgundy-deep: #461727;
	--hm-footer-terra: #d85d32;
	--hm-footer-paper: #fffaf3;
	color: var(--hm-footer-paper);
	background: var(--hm-footer-burgundy);
}

.hm-footer-cta {
	color: #fff;
	background: var(--hm-footer-terra);
}

.hm-footer-cta__inner {
	display: grid;
	grid-template-columns: minmax(0, 1.55fr) minmax(250px, .45fr);
	gap: clamp(2rem, 7vw, 7rem);
	align-items: end;
	padding-top: clamp(2.5rem, 5vw, 4.75rem);
	padding-bottom: clamp(2.5rem, 5vw, 4.75rem);
}

.hm-footer-eyebrow,
.hm-footer-group h2,
.hm-footer-affiliation {
	margin: 0 0 1rem;
	font-family: "Roboto Mono", monospace;
	font-size: .69rem;
	font-weight: 600;
	letter-spacing: .14em;
	line-height: 1.4;
	text-transform: uppercase;
}

.hm-footer-cta h2 {
	max-width: 790px;
	margin: 0;
	color: inherit;
	font-family: "Roboto Slab", Georgia, serif;
	font-size: clamp(2.15rem, 4.25vw, 4.6rem);
	font-weight: 600;
	letter-spacing: -.045em;
	line-height: .98;
}

.hm-footer-cta__link {
	display: flex;
	min-height: 56px;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding: .8rem 0;
	border-bottom: 1px solid rgba(255, 255, 255, .8);
	color: #fff;
	font-size: .95rem;
	font-weight: 700;
	text-decoration: none;
}

.hm-footer-cta__link span:last-child {
	font-size: 1.4rem;
	transition: transform .25s ease;
}

.hm-footer-cta__link:hover,
.hm-footer-cta__link:focus-visible {
	color: #fff;
	border-color: #fff;
}

.hm-footer-cta__link:hover span:last-child,
.hm-footer-cta__link:focus-visible span:last-child {
	transform: translate(4px, -4px);
}

.hm-footer-main {
	background:
		linear-gradient(120deg, rgba(255, 255, 255, .035), transparent 46%),
		var(--hm-footer-burgundy);
}

.hm-footer-grid {
	display: grid;
	grid-template-columns: minmax(280px, 1.65fr) repeat(3, minmax(145px, .62fr));
	gap: clamp(2.25rem, 5vw, 5rem);
	padding-top: clamp(3.5rem, 7vw, 6.5rem);
	padding-bottom: clamp(3rem, 6vw, 5.5rem);
}

.hm-footer-brand {
	max-width: 480px;
}

.hm-footer-logo {
	display: block;
	width: min(100%, 248px);
	height: auto;
	margin-bottom: 2rem;
	filter: brightness(0) invert(1);
}

.hm-footer-brand p {
	max-width: 42ch;
	margin: 0 0 1.4rem;
	color: rgba(255, 250, 243, .82);
	font-size: clamp(.95rem, 1.15vw, 1.08rem);
	line-height: 1.7;
}

.hm-footer-affiliation {
	display: block;
	color: rgba(255, 250, 243, .58);
}

.hm-footer-group h2 {
	color: rgba(255, 250, 243, .62);
}

.hm-footer-group ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.hm-footer-group li {
	margin: 0;
}

.hm-footer-group a {
	position: relative;
	display: inline-flex;
	min-height: 44px;
	align-items: center;
	gap: .35rem;
	color: var(--hm-footer-paper);
	font-size: .96rem;
	text-decoration: none;
}

.hm-footer-group a::after {
	position: absolute;
	right: 0;
	bottom: 8px;
	left: 0;
	height: 1px;
	background: currentColor;
	content: "";
	transform: scaleX(0);
	transform-origin: right;
	transition: transform .25s ease;
}

.hm-footer-group a:hover,
.hm-footer-group a:focus-visible {
	color: #fff;
}

.hm-footer-group a:hover::after,
.hm-footer-group a:focus-visible::after {
	transform: scaleX(1);
	transform-origin: left;
}

.hm-footer-legal {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.5rem;
	padding-top: 1.4rem;
	padding-bottom: 1.4rem;
	border-top: 1px solid rgba(255, 250, 243, .18);
	color: rgba(255, 250, 243, .62);
	font-family: "Roboto Mono", monospace;
	font-size: .67rem;
	letter-spacing: .06em;
	line-height: 1.5;
	text-transform: uppercase;
}

.hm-footer-legal p {
	margin: 0;
}

.hm-footer-legal div {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: .75rem 1.5rem;
}

.hm-footer-legal a {
	color: var(--hm-footer-paper);
}

@media (max-width: 900px) {
	.hm-footer-grid {
		grid-template-columns: minmax(260px, 1.4fr) repeat(2, minmax(140px, .7fr));
	}

	.hm-footer-group:last-child {
		grid-column: 2;
	}
}

@media (max-width: 767px) {
	.hm-footer-cta__inner,
	.hm-footer-grid {
		grid-template-columns: 1fr;
	}

	.hm-footer-cta__inner {
		gap: 1.8rem;
	}

	.hm-footer-cta h2 {
		font-size: clamp(2.3rem, 12vw, 3.75rem);
	}

	.hm-footer-grid {
		gap: 2rem;
		padding-top: 3.5rem;
		padding-bottom: 3rem;
	}

	.hm-footer-group,
	.hm-footer-group:last-child {
		grid-column: auto;
		padding-top: 1rem;
		border-top: 1px solid rgba(255, 250, 243, .15);
	}

	.hm-footer-legal,
	.hm-footer-legal div {
		align-items: flex-start;
		flex-direction: column;
		justify-content: flex-start;
	}
}

@media (prefers-reduced-motion: reduce) {
	.hm-footer-cta__link span:last-child,
	.hm-footer-group a::after {
		transition: none;
	}
}

/* Mantiene el contraste del footer frente a las reglas cromáticas globales. */
.hm-global-footer .hm-footer-cta h2,
.hm-global-footer .hm-footer-cta__link,
.hm-global-footer .hm-footer-cta__link:hover,
.hm-global-footer .hm-footer-cta__link:focus-visible {
	color: #fff !important;
}

.hm-global-footer .hm-footer-group a,
.hm-global-footer .hm-footer-group a:visited {
	color: #fffaf3 !important;
}

.hm-footer-toggle {
	display: inline-flex;
	width: auto;
	align-items: center;
	justify-content: space-between;
	padding: 0;
	border: 0;
	color: inherit;
	background: transparent;
	font: inherit;
	letter-spacing: inherit;
	text-align: inherit;
	text-transform: inherit;
}

.hm-footer-toggle__mark {
	display: none;
}

@media (min-width: 768px) {
	.hm-footer-toggle {
		pointer-events: none;
	}
}

/* Buscador editorial: acción clara, táctil y completamente redondeada. */
.home .hm-search button {
	min-height: 44px;
	margin: 4px;
	padding-inline: 1.25rem;
	border-radius: 999px !important;
}

.home .hm-search button:focus-visible {
	outline: 3px solid rgba(93, 32, 52, .28);
	outline-offset: 3px;
}

@media (max-width: 767px) {
	.hm-footer-cta__inner {
		gap: 1.25rem;
		padding-top: 1.5rem;
		padding-bottom: 1.5rem;
	}

	.hm-footer-eyebrow {
		margin-bottom: .65rem;
		font-size: .62rem;
	}

	.hm-global-footer .hm-footer-cta h2 {
		max-width: 12ch;
		font-size: clamp(2rem, 10vw, 3rem);
		line-height: 1;
	}

	.hm-footer-cta__link {
		min-height: 48px;
		padding: .35rem 0;
	}

	.hm-footer-grid {
		gap: 0;
		padding-top: 1.5rem;
		padding-bottom: 1rem;
	}

	.hm-footer-brand {
		margin-bottom: 1rem;
	}

	.hm-footer-logo {
		width: 160px;
		margin-bottom: .75rem;
	}

	.hm-footer-brand p {
		display: -webkit-box;
		margin-bottom: .85rem;
		overflow: hidden;
		font-size: .88rem;
		line-height: 1.55;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
	}

	.hm-footer-affiliation {
		margin: 0;
		font-size: .58rem;
	}

	.hm-footer-group,
	.hm-footer-group:last-child {
		padding: 0;
		border-top: 1px solid rgba(255, 250, 243, .2);
	}

	.hm-footer-group:last-child {
		border-bottom: 1px solid rgba(255, 250, 243, .2);
	}

	.hm-footer-group h2 {
		margin: 0;
	}

	.hm-footer-toggle {
		width: 100%;
		min-height: 48px;
		color: #fffaf3 !important;
		background: transparent !important;
		box-shadow: none !important;
		cursor: pointer;
	}

	.hm-footer-toggle:hover,
	.hm-footer-toggle:active,
	.hm-footer-toggle:focus,
	.hm-footer-toggle[aria-expanded="true"] {
		color: #fffaf3 !important;
		background: transparent !important;
		box-shadow: none !important;
	}

	.hm-footer-toggle__mark {
		display: inline-grid;
		width: 28px;
		height: 28px;
		place-items: center;
		border: 1px solid rgba(255, 250, 243, .28);
		border-radius: 50%;
		font-family: "Roboto", sans-serif;
		font-size: 1rem;
		font-weight: 400;
	}

	.hm-footer-toggle:focus-visible {
		outline: 2px solid #fffaf3;
		outline-offset: -2px;
	}

	.hm-footer-panel {
		padding: 0 0 .85rem;
	}

	.hm-footer-enhanced .hm-footer-panel[hidden] {
		display: none;
	}

	.hm-footer-enhanced .hm-footer-panel:not([hidden]) {
		animation: hm-footer-panel-in .24s ease both;
	}

	.hm-footer-group a {
		min-height: 38px;
		font-size: .9rem;
	}

	.hm-footer-legal {
		gap: .55rem;
		padding-top: 1rem;
		padding-bottom: 1rem;
		font-size: .58rem;
	}

	.hm-footer-legal div {
		gap: .45rem;
	}
}

@keyframes hm-footer-panel-in {
	from {
		opacity: 0;
		transform: translateY(-6px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@media (prefers-reduced-motion: reduce) {
	.hm-footer-enhanced .hm-footer-panel:not([hidden]) {
		animation: none;
	}
}

/* Carrusel editorial de historias destacadas */
.hm-featured-carousel {
	position: relative;
}

.hm-carousel-ready .hm-featured-slide[hidden] {
	display: none;
}

.hm-carousel-ready .hm-featured-slide.is-active {
	animation: hm-featured-in .58s var(--hm-ease) both;
}

.hm-featured-title {
	max-width: 20ch;
	margin: 0 0 1.75rem;
	color: var(--hm-brand-ink);
	font-family: var(--hm-font-body);
	font-size: clamp(2rem, 3vw, 3.9rem) !important;
	font-weight: 500;
	line-height: 1.08 !important;
	letter-spacing: -.012em;
	text-wrap: pretty;
}

.hm-featured-controls {
	display: grid;
	grid-template-columns: 44px auto 44px;
	grid-template-areas:
		"prev dots next"
		"progress progress progress";
	width: min(100%, 560px);
	align-items: center;
	gap: .75rem;
	margin: clamp(1.5rem, 3vw, 2.5rem) 0 0 auto;
}

.hm-featured-arrow,
.hm-featured-dots button {
	display: inline-grid;
	min-width: 44px;
	min-height: 44px;
	place-items: center;
	padding: 0;
	border: 1px solid rgba(33, 29, 27, .22);
	border-radius: 50%;
	color: var(--hm-brand-ink);
	background: transparent;
	font-family: var(--hm-font-mono);
	font-size: .72rem;
	transition: color .2s ease, background-color .2s ease, border-color .2s ease;
}

.hm-featured-arrow:first-of-type {
	grid-area: prev;
}

.hm-featured-arrow:last-of-type {
	grid-area: next;
}

.hm-featured-dots {
	display: flex;
	grid-area: dots;
	align-items: center;
	justify-content: center;
	gap: .35rem;
}

.hm-featured-dots button {
	min-width: 40px;
	min-height: 44px;
	border-color: transparent;
	border-radius: 999px;
}

.hm-featured-arrow:hover,
.hm-featured-arrow:focus-visible,
.hm-featured-dots button:hover,
.hm-featured-dots button:focus-visible,
.hm-featured-dots button[aria-current="true"] {
	color: #fff;
	border-color: var(--hm-brand-burgundy);
	background: var(--hm-brand-burgundy);
}

.hm-featured-progress {
	position: relative;
	display: block;
	height: 2px;
	grid-area: progress;
	overflow: hidden;
	background: rgba(33, 29, 27, .14);
}

.hm-featured-progress > span {
	display: block;
	width: 100%;
	height: 100%;
	background: var(--hm-brand-terra);
	transform: scaleX(0);
	transform-origin: left;
}

.hm-featured-progress > span.is-running {
	animation: hm-featured-progress var(--hm-carousel-duration, 6000ms) linear both;
}

@keyframes hm-featured-in {
	from {
		opacity: 0;
		transform: translateX(24px);
	}
	to {
		opacity: 1;
		transform: translateX(0);
	}
}

@keyframes hm-featured-progress {
	to {
		transform: scaleX(1);
	}
}

@media (max-width: 767px) {
	.hm-featured-carousel {
		width: 100%;
	}

	.hm-featured-carousel .hm-hero-grid {
		gap: .75rem;
	}

	.hm-featured-carousel .hm-hero-media {
		width: 100%;
		height: clamp(245px, 36vh, 330px);
		min-height: 0;
	}

	.hm-featured-carousel .hm-hero-copy {
		padding-block: 0;
	}

	.hm-featured-carousel .hm-hero-meta {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: .5rem;
		margin-bottom: .7rem;
	}

	.hm-featured-carousel .hm-hero-meta .hm-category-label {
		max-width: 58%;
	}

	.hm-featured-carousel .hm-hero-meta .hm-datestamp {
		flex: 0 0 auto;
		padding: .45rem .6rem;
		font-size: .64rem;
		white-space: nowrap;
	}

	.hm-featured-carousel .hm-hero h1,
	.hm-featured-carousel .hm-featured-title,
	.hm-featured-carousel h1 {
		display: -webkit-box;
		margin-bottom: .65rem;
		overflow: hidden;
		font-size: clamp(2rem, 9.7vw, 3rem) !important;
		line-height: 1 !important;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 4;
	}

	.hm-featured-carousel .hm-hero-excerpt {
		display: -webkit-box;
		max-width: none;
		margin: 0;
		overflow: hidden;
		font-size: .86rem;
		line-height: 1.45;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 3;
	}

	.hm-featured-carousel .hm-text-link {
		min-width: min(100%, 10rem);
		min-height: 40px;
		margin-top: .7rem;
		padding-bottom: .35rem;
	}

	.hm-featured-controls {
		width: calc(100% - 54px);
		grid-template-columns: 44px minmax(0, 1fr) 44px;
		gap: .3rem .5rem;
		margin-right: 54px;
		margin-top: .65rem;
	}

	.hm-featured-dots {
		gap: 0;
	}

	.hm-featured-dots button {
		min-width: 36px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.hm-carousel-ready .hm-featured-slide.is-active,
	.hm-featured-progress > span.is-running {
		animation: none;
	}
}
