/*!
 * ECAE Hero Slider · frontend
 * Identidad ECAE: azul institucional #014F7D · azul de acción #195EC8 · navy #04182E
 */

.ecae-hs {
	--ecae-primary: #014f7d;
	--ecae-accent: #195ec8;
	--ecae-navy: #04182e;
	--ecae-hl: #6cb8ff;
	--ecae-text: #fff;
	--ecae-container: 1240px;
	--ecae-content-w: 620px;
	--ecae-btn-radius: 999px;
	--ecae-arrow: 48px;
	--ecae-ov-k: 1;
	--ecae-ease: cubic-bezier(.22, .7, .18, 1);
	--ecae-hdr: 0px; /* alto de la cabecera transparente que se superpone (lo calcula el JS) */
	--ecae-top: 0px; /* distancia del slider al borde superior de la página (lo calcula el JS) */
	--ecae-vh: 100vh;
	--ecae-font: "Montserrat", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;

	position: relative;
	overflow: hidden;
	isolation: isolate;
	background: var(--ecae-navy);
	color: var(--ecae-text);
	font-family: var(--ecae-font);
	-webkit-font-smoothing: antialiased;
	touch-action: pan-y;
}

.ecae-hs *,
.ecae-hs *::before,
.ecae-hs *::after { box-sizing: border-box; }

@supports (height: 100svh) {
	.ecae-hs { --ecae-vh: 100svh; }
}

/* ---------- Pista y transiciones ---------- */

.ecae-hs__viewport { position: relative; overflow: hidden; }

.ecae-hs--fade .ecae-hs__track { display: grid; }
.ecae-hs--fade .ecae-hs__slide {
	grid-area: 1 / 1;
	opacity: 0;
	visibility: hidden;
	transition: opacity var(--ecae-hs-speed, 800ms) ease, visibility 0s linear var(--ecae-hs-speed, 800ms);
}
.ecae-hs--fade .ecae-hs__slide.is-active {
	z-index: 1;
	opacity: 1;
	visibility: visible;
	transition: opacity var(--ecae-hs-speed, 800ms) ease;
}

.ecae-hs--slide .ecae-hs__track {
	display: flex;
	transition: transform var(--ecae-hs-speed, 800ms) var(--ecae-ease);
	will-change: transform;
}
.ecae-hs--slide .ecae-hs__slide { flex: 0 0 100%; }
.ecae-hs.is-dragging .ecae-hs__track { transition: none; }

/* ---------- Slide ---------- */

.ecae-hs__slide {
	position: relative;
	display: flex;
	align-items: center;
	/* Alto deseado + cabecera, pero nunca más alto que la pantalla (la barra siempre se ve). */
	min-height: min(calc(var(--ecae-hs-h, 640px) + var(--ecae-hdr)), calc(var(--ecae-vh) - var(--ecae-top)));
	overflow: hidden;
}

.ecae-hs__media { position: absolute; top: 0; right: 0; bottom: 0; left: 0; inset: 0; z-index: 0; overflow: hidden; }
.ecae-hs__media picture { display: block; width: 100%; height: 100%; }
.ecae-hs .ecae-hs__img {
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	object-position: var(--ecae-fp-d, 50% 50%);
	user-select: none;
	-webkit-user-drag: none;
}

/* Zoom suave (Ken Burns) */
.ecae-hs--kenburns .ecae-hs__img {
	transform: scale(1.07);
	transition: transform 0s linear var(--ecae-hs-speed, 800ms);
}
.ecae-hs--kenburns .ecae-hs__slide.is-active .ecae-hs__img {
	transform: scale(1);
	transition: transform calc(var(--ecae-hs-delay, 6000ms) + var(--ecae-hs-speed, 800ms) * 2) cubic-bezier(.25, .46, .45, .94);
}

/* ---------- Capa de contraste ---------- */

.ecae-hs__overlay {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 1;
	pointer-events: none;
	--ecae-ov-a: 0;
	opacity: calc(var(--ecae-ov-a) * var(--ecae-ov-k));
	background: linear-gradient(90deg, var(--ecae-ov) 0%, var(--ecae-ov) 18%, transparent 72%);
}
.ecae-hs__slide--ov-soft .ecae-hs__overlay { --ecae-ov-a: .62; }
.ecae-hs__slide--ov-strong .ecae-hs__overlay { --ecae-ov-a: .88; }
.ecae-hs__slide--pos-right .ecae-hs__overlay { background: linear-gradient(270deg, var(--ecae-ov) 0%, var(--ecae-ov) 18%, transparent 72%); }
.ecae-hs__slide--pos-center .ecae-hs__overlay { background: radial-gradient(ellipse 70% 80% at 50% 50%, var(--ecae-ov) 0%, transparent 100%); }
.ecae-hs__slide--pos-bottom-left .ecae-hs__overlay,
.ecae-hs__slide--pos-bottom-center .ecae-hs__overlay { background: linear-gradient(0deg, var(--ecae-ov) 0%, var(--ecae-ov) 14%, transparent 68%); }

/* Degradado inferior fijo para que la barra de navegación siempre se lea */
.ecae-hs::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 140px;
	z-index: 2;
	pointer-events: none;
	background: linear-gradient(0deg, rgba(4, 24, 46, .55), transparent);
}
.ecae-hs--single::after { display: none; }

/* ---------- Contenido ---------- */

.ecae-hs__container {
	position: relative;
	z-index: 3;
	display: flex;
	width: 100%;
	max-width: var(--ecae-container);
	margin: 0 auto;
	padding: calc(44px + var(--ecae-hdr)) 32px 100px;
}
.ecae-hs__slide--pos-right .ecae-hs__container { justify-content: flex-end; }
.ecae-hs__slide--pos-center .ecae-hs__container,
.ecae-hs__slide--pos-bottom-center .ecae-hs__container { justify-content: center; text-align: center; }
.ecae-hs__slide--pos-bottom-left,
.ecae-hs__slide--pos-bottom-center { align-items: flex-end; }

.ecae-hs__content { width: 100%; max-width: var(--ecae-content-w); }
.ecae-hs__slide--pos-bottom-left .ecae-hs__content,
.ecae-hs__slide--pos-bottom-center .ecae-hs__content { max-width: calc(var(--ecae-content-w) * 1.4); }
.ecae-hs__slide--pos-center .ecae-hs__actions,
.ecae-hs__slide--pos-bottom-center .ecae-hs__actions { justify-content: center; }

.ecae-hs__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 18px;
	padding: 7px 14px 7px 12px;
	border-radius: 999px;
	background: var(--ecae-eb-bg, var(--ecae-accent));
	color: var(--ecae-eb-color, #fff);
	font-size: 12px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: .14em;
	text-transform: uppercase;
	box-shadow: 0 8px 20px -10px rgba(25, 94, 200, .9);
}
.ecae-hs__eyebrow::before {
	content: "";
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: currentColor;
	opacity: .85;
}

.ecae-hs .ecae-hs__title {
	margin: 0 0 14px;
	padding: 0;
	color: var(--ecae-text);
	font-family: var(--ecae-font);
	font-size: clamp(32px, 4.1vw, 60px);
	font-weight: 800;
	line-height: 1.07;
	letter-spacing: -.02em;
	text-wrap: balance;
	text-shadow: 0 2px 24px rgba(4, 24, 46, .25);
}
.ecae-hs__hl {
	color: var(--ecae-hl);
	background: linear-gradient(transparent 82%, rgba(108, 184, 255, .28) 82%);
}

.ecae-hs .ecae-hs__subtitle {
	margin: 0 0 16px;
	color: var(--ecae-text);
	font-size: clamp(17px, 1.55vw, 22px);
	font-weight: 600;
	line-height: 1.35;
	opacity: .96;
}

.ecae-hs__desc {
	color: var(--ecae-text);
	font-size: clamp(15px, 1.12vw, 17px);
	line-height: 1.6;
	opacity: .92;
}
.ecae-hs__desc p { margin: 0 0 .6em; }
.ecae-hs__desc p:last-child { margin-bottom: 0; }
.ecae-hs__desc a { color: var(--ecae-hl); text-decoration: underline; }

/* Listas = tarjetas de bloque (p. ej. BLOQUE 01 · 2 sesiones) */
.ecae-hs .ecae-hs__desc ul,
.ecae-hs .ecae-hs__desc ol {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 12px;
	margin: 6px 0 0;
	padding: 0;
	list-style: none;
	text-align: left;
}
.ecae-hs .ecae-hs__desc li {
	margin: 0;
	padding: 13px 16px 14px;
	border: 1px solid rgba(255, 255, 255, .16);
	border-left: 3px solid var(--ecae-hl);
	border-radius: 12px;
	background: rgba(4, 24, 46, .38);
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
	font-size: .92em;
	line-height: 1.45;
}
.ecae-hs__desc li > strong:first-child,
.ecae-hs__desc li > b:first-child {
	display: block;
	margin-bottom: 4px;
	color: var(--ecae-hl);
	font-size: 12px;
	letter-spacing: .1em;
	text-transform: uppercase;
}
.ecae-hs__desc li > strong:first-child + br,
.ecae-hs__desc li > b:first-child + br { display: none; }

/* ---------- Botones ---------- */

.ecae-hs__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 28px;
}

.ecae-hs .ecae-hs__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 50px;
	padding: 14px 28px;
	border: 1.5px solid transparent;
	border-radius: var(--ecae-btn-radius);
	font-family: var(--ecae-font);
	font-size: 14px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: .07em;
	text-decoration: none;
	text-transform: uppercase;
	cursor: pointer;
	transition: background-color .25s ease, color .25s ease, border-color .25s ease, transform .25s var(--ecae-ease), box-shadow .25s ease;
}
.ecae-hs .ecae-hs__btn svg {
	width: 18px;
	height: 18px;
	flex: none;
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
	transition: transform .25s var(--ecae-ease);
}

.ecae-hs .ecae-hs__btn--primary {
	background: var(--ecae-b1-bg, var(--ecae-accent));
	color: var(--ecae-b1-color, #fff);
	box-shadow: 0 12px 28px -12px rgba(25, 94, 200, .95);
}
.ecae-hs .ecae-hs__btn--primary:focus-visible {
	background: var(--ecae-b1-bg-h, var(--ecae-primary));
	color: var(--ecae-b1-color-h, #fff);
}

.ecae-hs .ecae-hs__btn--ghost {
	border-color: var(--ecae-b2-border, rgba(255, 255, 255, .7));
	background: rgba(255, 255, 255, .06);
	color: var(--ecae-b2-color, #fff);
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
}
.ecae-hs .ecae-hs__btn--ghost:focus-visible {
	border-color: var(--ecae-b2-bg-h, #fff);
	background: var(--ecae-b2-bg-h, #fff);
	color: var(--ecae-b2-color-h, var(--ecae-primary));
}

.ecae-hs a:focus-visible,
.ecae-hs button:focus-visible {
	outline: 3px solid var(--ecae-hl);
	outline-offset: 3px;
}

/* Texto oscuro (sobre imágenes claras) */
.ecae-hs__slide--dark { --ecae-text: #0b2440; }
.ecae-hs__slide--dark .ecae-hs__title { text-shadow: none; }
.ecae-hs__slide--dark .ecae-hs__hl { color: var(--ecae-accent); }
.ecae-hs__slide--dark .ecae-hs__desc li { background: rgba(255, 255, 255, .7); border-color: rgba(1, 79, 125, .15); border-left-color: var(--ecae-accent); }
.ecae-hs__slide--dark .ecae-hs__desc li > strong:first-child { color: var(--ecae-primary); }
.ecae-hs__slide--dark .ecae-hs__btn--ghost { border-color: var(--ecae-primary); color: var(--ecae-primary); background: rgba(255, 255, 255, .5); }

/* ---------- Animación de entrada del texto ---------- */

.ecae-hs__anim {
	opacity: 0;
	transform: translate3d(0, 22px, 0);
	transition: opacity .5s ease, transform .5s var(--ecae-ease);
}
.ecae-hs__slide.is-active .ecae-hs__anim {
	opacity: 1;
	transform: none;
	transition-duration: .8s;
}
.ecae-hs__slide.is-active .ecae-hs__content > :nth-child(1) { transition-delay: .15s; }
.ecae-hs__slide.is-active .ecae-hs__content > :nth-child(2) { transition-delay: .25s; }
.ecae-hs__slide.is-active .ecae-hs__content > :nth-child(3) { transition-delay: .35s; }
.ecae-hs__slide.is-active .ecae-hs__content > :nth-child(4) { transition-delay: .45s; }
.ecae-hs__slide.is-active .ecae-hs__content > :nth-child(5) { transition-delay: .55s; }

/* ---------- Barra de navegación ---------- */

.ecae-hs__bar {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 4;
	pointer-events: none;
}
.ecae-hs__bar-inner {
	display: flex;
	align-items: center;
	justify-content: flex-end; /* a la derecha: deja libre la esquina de los botones flotantes del sitio */
	gap: 16px;
	max-width: var(--ecae-container);
	margin: 0 auto;
	padding: 0 32px 34px;
}
.ecae-hs__bar-inner > * { pointer-events: auto; }

.ecae-hs .ecae-hs__play,
.ecae-hs .ecae-hs__arrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	padding: 0;
	border: 1px solid rgba(255, 255, 255, .28);
	border-radius: 50%;
	background: var(--ecae-arrow-bg, rgba(255, 255, 255, .1));
	color: var(--ecae-arrow-color, #fff);
	box-shadow: none;
	line-height: 1;
	cursor: pointer;
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
	transition: background-color .25s ease, border-color .25s ease, transform .25s var(--ecae-ease);
}
.ecae-hs .ecae-hs__play { order: 3; width: 36px; height: 36px; flex: none; }
.ecae-hs__dots { order: 1; }
.ecae-hs__counter { order: 2; }
.ecae-hs .ecae-hs__play svg { width: 14px; height: 14px; fill: currentColor; }
.ecae-hs .ecae-hs__play .i-play { display: none; }
.ecae-hs.is-user-paused .ecae-hs__play .i-play { display: block; }
.ecae-hs.is-user-paused .ecae-hs__play .i-pause { display: none; }

.ecae-hs__arrows { order: 4; display: flex; gap: 10px; margin-left: 4px; }
.ecae-hs .ecae-hs__arrow { width: var(--ecae-arrow); height: var(--ecae-arrow); }
.ecae-hs .ecae-hs__arrow svg {
	width: 22px;
	height: 22px;
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
}
/* Al pulsar (táctil) se ve un efecto breve que no se queda "pegado". */
.ecae-hs .ecae-hs__arrow:active,
.ecae-hs .ecae-hs__play:active,
.ecae-hs .ecae-hs__btn:active { transform: scale(.96); }
.ecae-hs .ecae-hs__arrow svg { transition: transform .25s var(--ecae-ease); }
.ecae-hs .ecae-hs__arrow:disabled { opacity: .35; cursor: default; }

.ecae-hs__dots { display: flex; align-items: center; gap: 8px; }
.ecae-hs .ecae-hs__dot {
	position: relative;
	width: 36px;
	height: 24px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	cursor: pointer;
	transition: width .4s var(--ecae-ease);
}
.ecae-hs .ecae-hs__dot::before,
.ecae-hs__dot-fill {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 50%;
	height: 3px;
	margin-top: -1.5px;
	border-radius: 3px;
}
.ecae-hs .ecae-hs__dot::before { background: var(--ecae-dot, rgba(255, 255, 255, .35)); transition: background-color .25s; }
.ecae-hs .ecae-hs__dot.is-active::before { background: rgba(255, 255, 255, .55); }
.ecae-hs__dot-fill {
	background: var(--ecae-dot-active, #fff);
	transform: scaleX(0);
	transform-origin: left center;
}
.ecae-hs .ecae-hs__dot.is-active { width: 64px; }
.ecae-hs .ecae-hs__dot.is-active .ecae-hs__dot-fill { transform: scaleX(1); }
.ecae-hs.is-playing .ecae-hs__dot.is-active .ecae-hs__dot-fill {
	transform: scaleX(0);
	animation: ecae-hs-fill var(--ecae-hs-delay, 6000ms) linear forwards;
}
.ecae-hs.is-paused .ecae-hs__dot.is-active .ecae-hs__dot-fill { animation-play-state: paused; }

@keyframes ecae-hs-fill { to { transform: scaleX(1); } }

.ecae-hs__counter {
	color: rgba(255, 255, 255, .6);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .12em;
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}
.ecae-hs__counter b { color: #fff; font-weight: 800; }

/* ---------- Efectos hover SOLO con ratón ----------
 * En iPhone/Android un toque deja el elemento en :hover ("hover pegado"): un indicador parecería
 * activo o un botón quedaría levantado. Por eso estos efectos solo existen con puntero fino. */
@media (hover: hover) and (pointer: fine) {
	.ecae-hs .ecae-hs__btn:hover { transform: translateY(-2px); }
	.ecae-hs .ecae-hs__btn:hover svg { transform: translateX(3px); }
	.ecae-hs .ecae-hs__btn--wa:hover svg { transform: scale(1.1); }
	.ecae-hs .ecae-hs__btn--primary:hover {
		background: var(--ecae-b1-bg-h, var(--ecae-primary));
		color: var(--ecae-b1-color-h, #fff);
	}
	.ecae-hs .ecae-hs__btn--ghost:hover {
		border-color: var(--ecae-b2-bg-h, #fff);
		background: var(--ecae-b2-bg-h, #fff);
		color: var(--ecae-b2-color-h, var(--ecae-primary));
	}
	.ecae-hs .ecae-hs__arrow:hover,
	.ecae-hs .ecae-hs__play:hover {
		border-color: var(--ecae-accent);
		background: var(--ecae-accent);
	}
	.ecae-hs .ecae-hs__arrow--prev:hover svg { transform: translateX(-2px); }
	.ecae-hs .ecae-hs__arrow--next:hover svg { transform: translateX(2px); }
	.ecae-hs .ecae-hs__dot:not(.is-active):hover::before { background: rgba(255, 255, 255, .7); }
}

/* Aviso en el editor cuando no hay slides */
.ecae-hs-empty {
	padding: 32px;
	border: 2px dashed #195ec8;
	border-radius: 12px;
	background: #f2f7ff;
	color: #014f7d;
	font: 600 15px/1.5 system-ui, sans-serif;
	text-align: center;
}

/* ---------- Tablet ---------- */

@media (max-width: 1024px) {
	.ecae-hs__slide { min-height: min(calc(var(--ecae-hs-h, 560px) + var(--ecae-hdr)), calc(var(--ecae-vh) - var(--ecae-top))); }
	.ecae-hs__container { padding: calc(40px + var(--ecae-hdr)) 28px 96px; }
	.ecae-hs__bar-inner { padding: 0 28px 28px; }
}

/* ---------- Móvil y tablet vertical: texto abajo ---------- */

@media (max-width: 900px) {
	.ecae-hs__slide {
		align-items: flex-end;
		min-height: min(calc(var(--ecae-hs-h-m, var(--ecae-hs-h, 600px)) + var(--ecae-hdr)), calc(var(--ecae-vh) - var(--ecae-top)));
	}
	.ecae-hs .ecae-hs__img { object-position: var(--ecae-fp-m, 50% 50%); }

	/* En móvil el texto siempre va abajo sobre un degradado legible */
	.ecae-hs__slide .ecae-hs__overlay {
		--ecae-ov-a: .92;
		background: linear-gradient(0deg, var(--ecae-ov) 0%, var(--ecae-ov) 34%, transparent 82%);
	}
	.ecae-hs__slide--ov-none .ecae-hs__overlay { --ecae-ov-a: .7; }

	.ecae-hs__container {
		justify-content: flex-start !important;
		padding: calc(32px + var(--ecae-hdr)) 20px 80px;
		text-align: left !important;
	}
	.ecae-hs__content,
	.ecae-hs__slide--pos-bottom-left .ecae-hs__content,
	.ecae-hs__slide--pos-bottom-center .ecae-hs__content { max-width: 640px; }
	.ecae-hs__actions { justify-content: flex-start !important; margin-top: 20px; }

	.ecae-hs__eyebrow { margin-bottom: 12px; font-size: 11px; }
	.ecae-hs .ecae-hs__title { font-size: clamp(27px, 7.6vw, 36px); margin-bottom: 10px; }
	.ecae-hs .ecae-hs__subtitle { font-size: 16px; margin-bottom: 10px; }
	.ecae-hs__desc { font-size: 15px; line-height: 1.5; }
	.ecae-hs__desc p {
		display: -webkit-box;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 3;
		overflow: hidden;
	}
	/* Bloques → chips compactos (solo la etiqueta en negrita) */
	.ecae-hs .ecae-hs__desc ul,
	.ecae-hs .ecae-hs__desc ol { display: flex; flex-wrap: wrap; gap: 6px; }
	.ecae-hs .ecae-hs__desc li { padding: 7px 10px; border-left-width: 2px; border-radius: 8px; font-size: 0; line-height: 1; }
	.ecae-hs .ecae-hs__desc li > strong:first-child,
	.ecae-hs .ecae-hs__desc li > b:first-child { margin: 0; font-size: 10.5px; letter-spacing: .08em; }
	.ecae-hs--hide-desc-m .ecae-hs__desc { display: none; }

	.ecae-hs__actions { gap: 8px; }
	.ecae-hs .ecae-hs__btn { gap: 8px; min-height: 46px; padding: 12px 14px; font-size: 12px; letter-spacing: .04em; white-space: nowrap; }
	.ecae-hs .ecae-hs__btn svg { width: 16px; height: 16px; }

	.ecae-hs__bar-inner { gap: 12px; padding: 0 20px 22px; }
}

@media (max-width: 767px) {
	/* Sin zoom en móvil: la foto se ve a su resolución real, sin ampliarla. */
	.ecae-hs--kenburns .ecae-hs__img,
	.ecae-hs--kenburns .ecae-hs__slide.is-active .ecae-hs__img { transform: none; }
	.ecae-hs .ecae-hs__btn { flex: 1 1 auto; }
	.ecae-hs__arrows { display: none; }
	.ecae-hs .ecae-hs__dot { width: 24px; }
	.ecae-hs .ecae-hs__dot.is-active { width: 44px; }
	.ecae-hs .ecae-hs__play { width: 32px; height: 32px; }
}

@media (max-width: 360px) {
	.ecae-hs .ecae-hs__btn { padding: 11px 10px; font-size: 11px; }
	.ecae-hs .ecae-hs__btn svg { display: none; }
}

/* ---------- Móvil y tablet vertical «apilado»: imagen arriba, texto debajo (por defecto) ---------- */

@media (max-width: 900px) {
	.ecae-hs--m-stack { padding-top: var(--ecae-hdr); }
	.ecae-hs--m-stack::after { display: none; }

	.ecae-hs--m-stack .ecae-hs__slide {
		flex-direction: column;
		align-items: stretch;
		justify-content: flex-start;
		min-height: 0;
		background: var(--ecae-ov, var(--ecae-navy));
	}
	.ecae-hs--m-stack .ecae-hs__media,
	.ecae-hs--m-stack .ecae-hs__slide .ecae-hs__overlay {
		height: var(--ecae-m-img, 52vw);
		max-height: 480px;
	}
	.ecae-hs--m-stack .ecae-hs__media {
		position: relative;
		top: auto; right: auto; bottom: auto; left: auto;
		flex: none;
	}
	.ecae-hs--m-stack .ecae-hs__slide .ecae-hs__overlay {
		--ecae-ov-a: 1;
		left: 0;
		right: 0;
		bottom: auto;
		top: 0;
		background: linear-gradient(0deg, var(--ecae-ov) 0%, transparent 42%);
	}
	.ecae-hs--m-stack .ecae-hs__container {
		margin-top: -22px;
		padding: 0 28px 88px;
	}
	.ecae-hs--m-stack .ecae-hs__desc p { -webkit-line-clamp: 4; }
}

@media (max-width: 767px) {
	.ecae-hs--m-stack .ecae-hs__media,
	.ecae-hs--m-stack .ecae-hs__slide .ecae-hs__overlay {
		height: var(--ecae-m-img, 64vw);
		max-height: 340px;
	}
	.ecae-hs--m-stack .ecae-hs__container { padding: 0 20px 72px; }
	.ecae-hs--m-stack .ecae-hs__bar-inner { padding-bottom: 20px; }
}

/* ---------- Movimiento reducido ---------- */

@media (prefers-reduced-motion: reduce) {
	.ecae-hs *,
	.ecae-hs *::before,
	.ecae-hs *::after {
		transition-duration: .01ms !important;
		transition-delay: 0s !important;
		animation-duration: .01ms !important;
	}
	.ecae-hs--kenburns .ecae-hs__img { transform: none !important; }
	.ecae-hs__anim { opacity: 1; transform: none; }
}
