/*
 * Secciones visuales (Businet) - v1.2.0
 * Usa las variables del theme Consorcio Río Verde:
 * --green-900, --green-700, --muted, --line, --radius, --shadow, --surface
 */

/* ---------- Portada con foto ---------- */

.hero--foto{
	background-size:cover;
	background-position:center;
}
.hero--foto::before{opacity:.08}
.hero__velo{
	position:absolute;inset:0;z-index:1;
	/* Overlay neutro segun la guia de rediseno; la intensidad se controla desde el Customizer */
	background:linear-gradient(
		100deg,
		rgba(7,26,20, calc(var(--crv-overlay,.32) + .14)) 0%,
		rgba(7,26,20, var(--crv-overlay,.32)) 52%,
		rgba(7,26,20, calc(var(--crv-overlay,.32) * .45)) 100%
	);
}
.hero--foto h1,
.hero--foto p{text-shadow:0 2px 10px rgba(0,0,0,.3)}

/* ---------- Tarjetas de lineas de accion con foto ---------- */

.crv-frentes-grid{
	display:grid;
	grid-template-columns:repeat(4,1fr);
	gap:22px;
}
.card.crv-tarjeta{
	padding:0;
	overflow:hidden;
	display:flex;
	flex-direction:column;
}
.crv-tarjeta__foto{
	aspect-ratio:3/2;
	overflow:hidden;
}
.crv-tarjeta__foto img{
	width:100%;height:100%;
	object-fit:cover;display:block;
	transition:transform .35s ease;
}
.card.crv-tarjeta:hover .crv-tarjeta__foto img{transform:scale(1.06)}
.crv-tarjeta__cuerpo{
	padding:20px 22px 24px;
	display:flex;flex-direction:column;flex:1;
}
.crv-tarjeta__cuerpo p{flex:1;margin-top:0}
.crv-tarjeta__enlace{
	margin-top:14px;
	font-size:.9rem;font-weight:700;
	color:var(--green-700);
	transition:.25s;
}
.crv-tarjeta__enlace:hover{color:var(--teal-400)}

@media(max-width:900px){
	.crv-frentes-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:560px){
	.crv-frentes-grid{grid-template-columns:1fr}
}

/* ---------- Comparador antes y despues ---------- */

.crv-comparador{
	position:relative;
	margin:0 auto 34px;
	border-radius:var(--radius);
	overflow:hidden;
	box-shadow:var(--shadow);
	user-select:none;
}
.crv-comparador__img{display:block;width:100%;height:auto}
.crv-comparador__img--antes{
	position:absolute;inset:0;height:100%;
	object-fit:cover;
	clip-path:inset(0 calc(100% - var(--crv-pos,50%)) 0 0);
}
.crv-comparador__linea{
	position:absolute;top:0;bottom:0;
	left:var(--crv-pos,50%);
	width:4px;background:#fff;
	transform:translateX(-2px);
	box-shadow:0 0 10px rgba(0,0,0,.35);
	pointer-events:none;
}
.crv-comparador__manija{
	/* manija en cian primario */
	position:absolute;top:50%;left:50%;
	transform:translate(-50%,-50%);
	width:52px;height:52px;border-radius:50%;
	background:var(--teal-400);
	border:3px solid #fff;color:var(--green-900);
	font-size:18px;font-weight:700;
	display:flex;align-items:center;justify-content:center;
}
.crv-comparador__pin{
	position:absolute;top:16px;
	padding:7px 16px;border-radius:16px;
	font-size:.82rem;font-weight:700;color:#fff;
	z-index:2;pointer-events:none;
}
.crv-comparador__pin--antes{left:16px;background:rgba(15,36,28,.85)}
.crv-comparador__pin--despues{right:16px;background:rgba(30,107,67,.92)}
.crv-comparador__control{
	position:absolute;inset:0;
	width:100%;height:100%;
	opacity:0;cursor:ew-resize;margin:0;
	touch-action:none;
}
.crv-comparador__etiqueta{
	position:absolute;bottom:14px;left:16px;
	background:rgba(15,36,28,.85);color:#fff;
	padding:6px 14px;border-radius:14px;
	font-size:.8rem;z-index:2;pointer-events:none;
}

/* ---------- Cifras con foto de fondo ---------- */

.crv-cifras{
	position:relative;
	background-size:cover;
	background-position:center;
}
.crv-cifras__velo{
	position:absolute;inset:0;
	background:rgba(11,36,52,var(--crv-overlay,.85));
}
.crv-cifras__inner{position:relative}
.crv-cifras .stats{background:transparent}

/* ---------- Galeria del proyecto (mosaico editorial) ---------- */

.crv-galeria--mosaico{
	display:grid;
	grid-template-columns:repeat(4,1fr);
	grid-auto-rows:190px;
	gap:14px;
}
.crv-galeria__item{margin:0}
/* Foto 1: protagonista, doble de tamano */
.crv-galeria--mosaico .crv-galeria__item:first-child{
	grid-column:span 2;
	grid-row:span 2;
}
/* Foto 6: franja panoramica a lo ancho */
.crv-galeria--mosaico .crv-galeria__item:nth-child(6){
	grid-column:1/-1;
}
.crv-galeria__boton{
	position:relative;
	display:block;width:100%;height:100%;
	padding:0;border:0;
	background:none;cursor:zoom-in;
	border-radius:var(--radius);overflow:hidden;
	box-shadow:var(--shadow);
}
.crv-galeria__boton img{
	width:100%;height:100%;
	object-fit:cover;display:block;
	transition:transform .4s ease-out;
}
.crv-galeria__boton:hover img{transform:scale(1.04)}
.crv-galeria__pie{
	position:absolute;left:0;right:0;bottom:0;
	padding:44px 18px 14px;
	background:linear-gradient(transparent, rgba(11,26,20,.78));
	color:#fff;font-size:.88rem;font-weight:700;
	text-align:left;
	opacity:0;transform:translateY(8px);
	transition:opacity .25s ease, transform .25s ease;
}
.crv-galeria__boton:hover .crv-galeria__pie,
.crv-galeria__boton:focus-visible .crv-galeria__pie,
.crv-galeria--mosaico .crv-galeria__item:first-child .crv-galeria__pie{
	opacity:1;transform:none;
}
/* En pantallas tactiles no hay hover: pies siempre visibles */
@media(hover:none){
	.crv-galeria__pie{opacity:1;transform:none}
}

@media(max-width:900px){
	.crv-galeria--mosaico{grid-template-columns:repeat(2,1fr);grid-auto-rows:170px}
	.crv-galeria--mosaico .crv-galeria__item:first-child{grid-column:1/-1;grid-row:span 2}
	.crv-galeria--mosaico .crv-galeria__item:nth-child(6){grid-column:1/-1}
}
@media(max-width:560px){
	.crv-galeria--mosaico{grid-template-columns:1fr;grid-auto-rows:210px}
	.crv-galeria--mosaico .crv-galeria__item:first-child{grid-column:auto;grid-row:span 2}
}

/* ---------- Lightbox ---------- */

.crv-lightbox{
	position:fixed;inset:0;z-index:9999;
	background:rgba(11,26,20,.92);
	display:none;
	align-items:center;justify-content:center;
	padding:34px;
}
.crv-lightbox--abierto{display:flex}
.crv-lightbox__figura{
	margin:0;max-width:min(1100px,94vw);
	text-align:center;
}
.crv-lightbox__figura img{
	max-width:100%;max-height:82vh;
	border-radius:10px;
	box-shadow:0 20px 60px rgba(0,0,0,.5);
}
.crv-lightbox__figura figcaption{
	color:#cfe6d8;font-size:.92rem;margin-top:14px;
}
.crv-lightbox__cerrar{
	position:absolute;top:18px;right:22px;
	width:46px;height:46px;border:0;border-radius:50%;
	background:rgba(255,255,255,.12);color:#fff;
	font-size:26px;line-height:1;cursor:pointer;
}
.crv-lightbox__cerrar:hover{background:rgba(255,255,255,.24)}

/* ---------- Ajustes v1.3.2 ---------- */

/* Iconos sociales: centrado reforzado (gana a cualquier regla previa) */
footer.site .crv-social a,
.crv-social a{
	display:inline-flex !important;
	align-items:center !important;
	justify-content:center !important;
	line-height:0 !important;
	padding:0 !important;
	text-align:center;
}
footer.site .crv-social a svg,
.crv-social a svg{
	display:block !important;
	width:19px !important;
	height:19px !important;
	margin:0 !important;
	vertical-align:middle;
	flex:0 0 auto;
}

/* Texto justificado en parrafos de contenido */
p{
	text-align:justify;
	hyphens:auto;
	-webkit-hyphens:auto;
}
/* Excepciones: micro-textos de interfaz donde justificar no aplica */
.crv-galeria__pie,
figcaption,
.crv-comparador__etiqueta,
.stats .note{
	text-align:left;
	hyphens:none;
}

/* Boton volver arriba */
.crv-arriba{
	position:fixed;
	right:22px;bottom:22px;
	width:50px;height:50px;
	border:0;border-radius:50%;
	background:var(--teal-600);
	color:#fff;cursor:pointer;
	display:flex;align-items:center;justify-content:center;
	box-shadow:0 8px 22px rgba(15,61,46,.35);
	opacity:0;visibility:hidden;
	transform:translateY(14px);
	transition:opacity .25s ease, transform .25s ease, visibility .25s, background .18s;
	z-index:8000;
}
.crv-arriba svg{display:block;width:22px;height:22px}
.crv-arriba--visible{
	opacity:1;visibility:visible;transform:none;
}
.crv-arriba:hover{background:var(--navy)}
@media(max-width:560px){
	.crv-arriba{right:16px;bottom:16px;width:46px;height:46px}
}


/* ---------- Animaciones de aparicion v1.5.0 ---------- */

:root{--crv-ease:cubic-bezier(.22,1,.36,1)}
.crv-reveal{
	opacity:0;
	transform:translateY(20px);
	transition:opacity .55s var(--crv-ease), transform .55s var(--crv-ease);
}
.crv-reveal--in{
	opacity:1;
	transform:none;
}
@media(prefers-reduced-motion:reduce){
	.crv-reveal{opacity:1;transform:none;transition:none}
}


/* ---------- Mejoras UX v1.6.0 ---------- */

/* Navbar inteligente: se compacta y toma blur al hacer scroll */
header.site{transition:box-shadow .25s ease, background .25s ease}
header.site .wrap{transition:min-height .25s ease}
.brand .logo-h{transition:height .25s ease, max-height .25s ease}
header.site.crv-compacto{
	background:rgba(255,255,255,.86);
	-webkit-backdrop-filter:blur(12px);
	backdrop-filter:blur(12px);
	box-shadow:0 8px 24px rgba(0,0,0,.08);
}
header.site.crv-compacto .wrap{min-height:64px}
header.site.crv-compacto .brand .logo-h{height:40px;max-height:40px}

/* Indicador de scroll del hero */
.crv-scroll-hint{
	position:absolute;left:50%;bottom:22px;z-index:2;
	transform:translateX(-50%);
	width:26px;height:42px;border-radius:16px;
	border:2px solid rgba(255,255,255,.85);
	display:block;
}
.crv-scroll-hint__rueda{
	position:absolute;left:50%;top:7px;
	width:4px;height:8px;border-radius:3px;
	background:#fff;transform:translateX(-50%);
	animation:crv-rueda 1.6s ease-in-out infinite;
}
@keyframes crv-rueda{
	0%{opacity:1;top:7px}
	60%{opacity:0;top:20px}
	100%{opacity:0;top:7px}
}
@media(max-width:780px){.crv-scroll-hint{display:none}}
@media(prefers-reduced-motion:reduce){.crv-scroll-hint__rueda{animation:none}}

/* Iconos de las cifras */
.stat-ic{
	display:inline-grid;place-items:center;
	width:46px;height:46px;margin-bottom:10px;
	border-radius:12px;
	background:rgba(34,192,239,.14);
	color:var(--teal-400);
}
.stat-ic svg{width:24px;height:24px;display:block}

/* CTA de cierre de seccion */
.crv-cta-seccion{text-align:center;margin-top:34px}
.crv-cta-seccion a{
	font-weight:600;color:var(--green-700);
	transition:.25s;
}
.crv-cta-seccion a:hover{color:var(--teal-400)}

/* Variantes de aparicion al scroll */
.crv-reveal--izq{transform:translateX(-18px)}
.crv-reveal--der{transform:translateX(18px)}
.crv-reveal--zoom{transform:scale(.94)}
.crv-reveal--in.crv-reveal--izq,
.crv-reveal--in.crv-reveal--der,
.crv-reveal--in.crv-reveal--zoom{transform:none}
/* escalonado sutil de la lista de objetivos */
.obj-list li:nth-child(2).crv-reveal{transition-delay:.08s}
.obj-list li:nth-child(3).crv-reveal{transition-delay:.16s}
.obj-list li:nth-child(4).crv-reveal{transition-delay:.24s}


/* ---------- Pagina Nosotros v1.7.0 ---------- */

/* Historia: problema, accion, impacto */
.crv-historia{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:22px;
}
.crv-historia__paso h3{margin:6px 0 10px;color:var(--green-900)}
.crv-historia__num{
	font-weight:700;font-size:.85rem;
	color:var(--teal-400);letter-spacing:2px;
}
.crv-frase{
	max-width:820px;margin:48px auto 0;
	text-align:center;
	font-size:clamp(1.15rem,2vw,1.45rem);
	font-weight:500;line-height:1.55;
	color:var(--green-900);
	padding:0 20px 0 24px;
	border-left:4px solid var(--teal-400);
}

/* Imagen protagonista con badge */
.crv-destacada{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:48px;align-items:center;
}
.crv-destacada__texto h2{margin:8px 0 16px;color:var(--green-900)}
.crv-destacada__texto p{color:var(--muted);margin-bottom:14px;max-width:520px}
.crv-destacada__foto{
	position:relative;margin:0;
	border-radius:var(--radius);overflow:visible;
}
.crv-destacada__foto img{
	width:100%;height:auto;display:block;
	border-radius:var(--radius);
	box-shadow:0 16px 40px rgba(16,42,58,.16);
}
.crv-destacada__badge{
	position:absolute;left:-16px;bottom:22px;
	display:flex;align-items:center;gap:9px;
	background:#fff;color:var(--green-900);
	font-size:.88rem;font-weight:600;
	padding:11px 18px;border-radius:12px;
	box-shadow:0 10px 26px rgba(16,42,58,.18);
}
.crv-destacada__punto{
	width:9px;height:9px;border-radius:50%;
	background:var(--green-500);
	box-shadow:0 0 0 4px rgba(125,194,66,.25);
}

/* Mision y Vision */
.crv-mv{
	display:grid;grid-template-columns:1fr 1fr;gap:22px;
	max-width:980px;margin:0 auto;
}
.crv-mv h3{color:var(--green-900);margin-bottom:10px}
.crv-mv p{color:var(--muted)}

/* Valores */
.crv-valores{
	display:grid;grid-template-columns:repeat(3,1fr);gap:22px;
}
.crv-valor h3{color:var(--green-900);font-size:1.05rem;margin-bottom:8px}
.crv-valor p{color:var(--muted);font-size:.95rem}
.crv-valor .ic svg{width:26px;height:26px}
/* aparicion escalonada */
.crv-valores .crv-valor:nth-child(2).crv-reveal{transition-delay:.07s}
.crv-valores .crv-valor:nth-child(3).crv-reveal{transition-delay:.14s}
.crv-valores .crv-valor:nth-child(4).crv-reveal{transition-delay:.21s}
.crv-valores .crv-valor:nth-child(5).crv-reveal{transition-delay:.28s}

/* Linea de tiempo */
.crv-timeline{position:relative;padding-top:8px}
.crv-timeline__track{
	position:absolute;top:31px;left:6%;right:6%;
	height:4px;border-radius:4px;background:var(--line);
	overflow:hidden;
}
.crv-timeline__progreso{
	display:block;height:100%;width:100%;
	background:linear-gradient(90deg,var(--green-700),var(--teal-400));
	transform:scaleX(0);transform-origin:left;
	transition:transform 1.4s ease .2s;
}
.crv-timeline--activa .crv-timeline__progreso{transform:scaleX(1)}
.crv-timeline__pasos{
	list-style:none;margin:0;padding:0;
	display:grid;grid-template-columns:repeat(5,1fr);gap:18px;
	position:relative;
}
.crv-timeline__pasos li{text-align:center;padding:0 6px}
.crv-timeline__punto{
	display:inline-flex;align-items:center;justify-content:center;
	width:46px;height:46px;border-radius:50%;
	background:#fff;border:3px solid var(--green-700);
	color:var(--green-700);font-weight:700;
	margin-bottom:14px;position:relative;z-index:1;
}
.crv-timeline__pasos h3{font-size:1rem;color:var(--green-900);margin-bottom:6px}
.crv-timeline__pasos p{font-size:.88rem;color:var(--muted);text-align:center;hyphens:none}

/* CTA final */
.crv-cta-final{
	background:linear-gradient(110deg,var(--green-900),#0E3A50);
	border-radius:var(--radius);
	padding:56px 48px;text-align:center;color:#fff;
	box-shadow:var(--shadow);
}
.crv-cta-final h2{color:#fff;max-width:680px;margin:0 auto 26px;font-size:clamp(1.4rem,2.6vw,2rem)}
.crv-cta-final__botones{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

@media(max-width:900px){
	.crv-historia{grid-template-columns:1fr}
	.crv-destacada{grid-template-columns:1fr;gap:30px}
	.crv-destacada__badge{left:14px}
	.crv-mv{grid-template-columns:1fr}
	.crv-valores{grid-template-columns:repeat(2,1fr)}
	.crv-timeline__track{display:none}
	.crv-timeline__pasos{grid-template-columns:1fr;gap:26px;text-align:left}
	.crv-timeline__pasos li{display:grid;grid-template-columns:46px 1fr;gap:0 16px;text-align:left}
	.crv-timeline__pasos li h3,.crv-timeline__pasos li p{grid-column:2;text-align:left}
}
@media(max-width:560px){
	.crv-valores{grid-template-columns:1fr}
}


/* ---------- Pagina Proyectos v1.8.0 ---------- */

/* Badge de estado (colores consistentes) */
.crv-estado{
	display:inline-block;
	padding:5px 13px;border-radius:14px;
	font-size:.8rem;font-weight:600;line-height:1.3;
}
.crv-estado--activo{background:#E0F6FE;color:#0B84AC}
.crv-estado--finalizado{background:#EAF3E8;color:#2E7D32}
.crv-estado--proximo{background:#FDF0DC;color:#B26A05}

/* Barra de progreso del avance */
.crv-progreso{
	position:relative;
	height:9px;border-radius:9px;
	background:var(--line);
	overflow:hidden;
	margin:4px 0 6px;
}
.crv-progreso__barra{
	display:block;height:100%;
	width:var(--crv-avance,0%);
	border-radius:9px;
	background:linear-gradient(90deg,var(--green-700),var(--teal-400));
	transform:scaleX(0);transform-origin:left;
	transition:transform 1.2s ease .15s;
}
.crv-progreso--activa .crv-progreso__barra{transform:scaleX(1)}
.crv-progreso__num{
	font-size:.85rem;font-weight:700;color:var(--green-900);
}
@media(prefers-reduced-motion:reduce){
	.crv-progreso__barra{transform:scaleX(1);transition:none}
}


/* ---------- Coreografia de animaciones v1.9.0 ---------- */

/* Hero/banner: entrada al cargar (titulo, subtitulo, datos y botones en cascada) */
@keyframes crv-entrada{
	from{opacity:0;transform:translateY(18px)}
	to{opacity:1;transform:none}
}
@keyframes crv-entrada-btn{
	from{opacity:0;transform:scale(.96)}
	to{opacity:1;transform:scale(1)}
}
.banner h1{animation:crv-entrada .8s var(--crv-ease) both}
.banner .lead{animation:crv-entrada .8s var(--crv-ease) .15s both}
.crv-banner-datos{animation:crv-entrada .8s var(--crv-ease) .28s both}
.crv-banner-acciones{animation:crv-entrada-btn .7s var(--crv-ease) .4s both}
@media(prefers-reduced-motion:reduce){
	.banner h1,.banner .lead,.crv-banner-datos,.crv-banner-acciones{animation:none}
}

/* Datos y acciones del banner de Proyectos */
.crv-banner-datos{
	display:flex;align-items:center;gap:16px;
	margin-top:20px;
}
.crv-banner-avance{color:#fff;font-weight:600;font-size:.95rem}
.crv-banner-acciones{display:flex;gap:12px;margin-top:22px;flex-wrap:wrap}

/* Ficha: filas en cascada (80ms) */
.meta-card .row.crv-reveal{transition-delay:0s}
.meta-card .row:nth-child(3).crv-reveal{transition-delay:.08s}
.meta-card .row:nth-child(4).crv-reveal{transition-delay:.16s}
.meta-card .row:nth-child(5).crv-reveal{transition-delay:.24s}
.meta-card .row:nth-child(6).crv-reveal{transition-delay:.32s}
.meta-card .row:nth-child(7).crv-reveal{transition-delay:.4s}
.meta-card .row:nth-child(8).crv-reveal{transition-delay:.48s}
.meta-card .row:nth-child(9).crv-reveal{transition-delay:.56s}

/* Historia: escalonado 150ms */
.crv-historia .crv-historia__paso:nth-child(2).crv-reveal{transition-delay:.15s}
.crv-historia .crv-historia__paso:nth-child(3).crv-reveal{transition-delay:.3s}

/* Comparador: entrada coreografiada (contenedor, luego pins, luego manija) */
.crv-comparador .crv-comparador__pin,
.crv-comparador .crv-comparador__linea{
	opacity:0;transition:opacity .4s var(--crv-ease)
}
.crv-comparador.crv-reveal--in .crv-comparador__pin{opacity:1;transition-delay:.3s}
.crv-comparador.crv-reveal--in .crv-comparador__linea{opacity:1;transition-delay:.45s}
.crv-comparador__manija{transition:transform .25s var(--crv-ease)}
.crv-comparador:hover .crv-comparador__manija{transform:translate(-50%,-50%) scale(1.08)}
@media(prefers-reduced-motion:reduce){
	.crv-comparador .crv-comparador__pin,
	.crv-comparador .crv-comparador__linea{opacity:1}
}

/* CTA final: subtitulo */
.crv-cta-final__sub{color:#D7E6DE;margin:-12px auto 24px;font-size:1.05rem}

/* ---------- Hitos del proyecto (linea de tiempo vertical) ---------- */

.crv-hitos{position:relative;max-width:640px;margin:0 auto;padding-left:8px}
.crv-hitos__linea{
	position:absolute;top:8px;bottom:8px;left:17px;
	width:4px;border-radius:4px;background:var(--line);
	overflow:hidden;
}
.crv-hitos__progreso{
	display:block;width:100%;height:100%;
	background:linear-gradient(180deg,var(--green-700),var(--teal-400));
	transform:scaleY(0);transform-origin:top;
	transition:transform 1.6s var(--crv-ease) .2s;
}
.crv-hitos--activa .crv-hitos__progreso{transform:scaleY(1)}
.crv-hitos__lista{list-style:none;margin:0;padding:0;display:grid;gap:30px}
.crv-hitos__lista li{
	display:grid;grid-template-columns:38px 1fr;gap:0 18px;align-items:start;
	opacity:0;transform:translateY(14px);
	transition:opacity .5s var(--crv-ease), transform .5s var(--crv-ease);
}
.crv-hitos--activa .crv-hitos__lista li{opacity:1;transform:none}
.crv-hitos--activa .crv-hitos__lista li:nth-child(2){transition-delay:.18s}
.crv-hitos--activa .crv-hitos__lista li:nth-child(3){transition-delay:.36s}
.crv-hitos--activa .crv-hitos__lista li:nth-child(4){transition-delay:.54s}
.crv-hitos--activa .crv-hitos__lista li:nth-child(5){transition-delay:.72s}
.crv-hitos--activa .crv-hitos__lista li:nth-child(6){transition-delay:.9s}
.crv-hitos__punto{
	width:30px;height:30px;border-radius:50%;
	background:#fff;border:3px solid var(--line);
	position:relative;z-index:1;margin-left:1px;
	transition:border-color .4s var(--crv-ease), box-shadow .4s var(--crv-ease);
}
.crv-hitos--activa .crv-hitos__punto{
	border-color:var(--green-700);
	box-shadow:inset 0 0 0 5px #fff, inset 0 0 0 12px var(--teal-400);
}
.crv-hitos__fecha{
	display:block;font-size:.82rem;font-weight:700;
	letter-spacing:1px;text-transform:uppercase;color:var(--teal-700);
}
.crv-hitos__titulo{
	display:block;font-weight:600;color:var(--green-900);margin-top:3px;
}
@media(prefers-reduced-motion:reduce){
	.crv-hitos__progreso{transform:scaleY(1);transition:none}
	.crv-hitos__lista li{opacity:1;transform:none;transition:none}
}


/* ---------- Carrusel del hero v1.10.0 ---------- */

.crv-slider{
	position:relative;
	display:grid;
	align-items:stretch;
	justify-items:stretch;
	min-height:72vh;
	padding:0; /* anula el padding global de section: las diapositivas cubren todo */
	overflow:hidden;
	background:var(--green-900);
}
/* Todas las diapositivas ocupan la misma celda: el alto del carrusel
   es siempre el de la diapositiva con mas contenido, nada se recorta */
.crv-slide{
	grid-area:1/1;
	position:relative;
	display:flex;align-items:center;
	opacity:0;visibility:hidden;
	transition:opacity .8s var(--crv-ease), visibility 0s linear .8s;
}
.crv-slide--activa{
	opacity:1;visibility:visible;
	transition:opacity .8s var(--crv-ease);
	z-index:1;
}
.crv-slide__fondo{
	position:absolute;inset:0;
	background-size:cover;background-position:center;
}
/* Ken Burns sutil en la diapositiva activa */
@keyframes crv-kenburns{from{transform:scale(1)}to{transform:scale(1.07)}}
.crv-slide--activa .crv-slide__fondo{animation:crv-kenburns 9s linear forwards}
@media(prefers-reduced-motion:reduce){
	.crv-slide--activa .crv-slide__fondo{animation:none}
}
.crv-slide .wrap{position:relative;z-index:2;padding-top:96px;padding-bottom:110px}
.crv-slider .crv-slide__titulo,
.crv-slide__titulo{
	font-family:'Poppins';
	font-size:clamp(2.2rem,4.8vw,3.4rem);
	font-weight:700;color:#fff;line-height:1.14;
	margin:14px 0 0;max-width:680px;
	text-shadow:0 2px 10px rgba(0,0,0,.3);
	text-align:left;hyphens:none;
}
.crv-slider .crv-slide__sub,
.crv-slide__sub{
	font-size:clamp(1.05rem,1.6vw,1.3rem);
	color:#fff;margin-top:18px;max-width:620px;
	text-shadow:0 1px 6px rgba(0,0,0,.3);
	text-align:left;hyphens:none;
}
.crv-slide .actions{margin-top:28px}

/* Texto en cascada: keyframes para que la primera diapositiva
   tambien anime al cargar la pagina (identico en todas) */
@keyframes crv-slide-in{
	from{opacity:0;transform:translateY(16px)}
	to{opacity:1;transform:none}
}
.crv-slide .eyebrow,.crv-slide__titulo,.crv-slide__sub,.crv-slide .actions{opacity:0}
.crv-slide--activa .eyebrow{animation:crv-slide-in .6s var(--crv-ease) .25s both}
.crv-slide--activa .crv-slide__titulo{animation:crv-slide-in .6s var(--crv-ease) .35s both}
.crv-slide--activa .crv-slide__sub{animation:crv-slide-in .6s var(--crv-ease) .45s both}
.crv-slide--activa .actions{animation:crv-slide-in .6s var(--crv-ease) .55s both}
@media(prefers-reduced-motion:reduce){
	.crv-slide .eyebrow,.crv-slide__titulo,.crv-slide__sub,.crv-slide .actions{opacity:1}
	.crv-slide--activa .eyebrow,.crv-slide--activa .crv-slide__titulo,
	.crv-slide--activa .crv-slide__sub,.crv-slide--activa .actions{animation:none}
}

/* Flechas */
.crv-slider__flecha{
	position:absolute;top:50%;z-index:3;
	transform:translateY(-50%);
	width:46px;height:46px;border:0;border-radius:50%;
	background:rgba(255,255,255,.16);color:#fff;
	font-size:26px;line-height:1;cursor:pointer;
	-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);
	transition:background .25s;
}
.crv-slider__flecha:hover{background:var(--teal-400);color:var(--green-900)}
.crv-slider__flecha--prev{left:18px}
.crv-slider__flecha--next{right:18px}
@media(max-width:780px){.crv-slider__flecha{display:none}}

/* Puntos */
.crv-slider__puntos{
	position:absolute;left:0;right:0;bottom:22px;z-index:3;
	display:flex;gap:9px;justify-content:center;
}
.crv-slider__punto{
	width:10px;height:10px;border:0;border-radius:6px;
	background:rgba(255,255,255,.45);cursor:pointer;padding:0;
	transition:width .3s var(--crv-ease), background .3s;
}
.crv-slider__punto--activo{width:28px;background:var(--teal-400)}


/* Kicker del hero/carrusel en azul primario, resaltado sobre la foto */
.eyebrow--slider{
	color:var(--teal-400);
	text-shadow:0 1px 8px rgba(0,0,0,.45);
	font-weight:700;
}

/* ---------- Ken Burns en banners internos v1.10.4 ---------- */

/* La foto del banner se repinta en un pseudo-elemento que hace un
   zoom lento de ida y vuelta; el texto queda estatico encima */
.banner.has-photo{
	position:relative;
	overflow:hidden;
}
.banner.has-photo::before{
	content:'';
	position:absolute;inset:0;
	background:inherit;
	background-size:cover;
	background-position:center;
	animation:crv-banner-zoom 11s ease-in-out infinite alternate;
	will-change:transform;
	z-index:0;
}
@keyframes crv-banner-zoom{
	from{transform:scale(1.02) translateX(0)}
	to{transform:scale(1.14) translateX(-1.8%)}
}
/* El velo y el contenido quedan por encima de la foto animada */
.banner.has-photo::after{z-index:1}
.banner.has-photo .wrap{position:relative;z-index:2}
@media(prefers-reduced-motion:reduce){
	.banner.has-photo::before{animation:none}
}
