/* Estilos específicos de Inicio */

/* Home contrast refresh (scope: solo index/home) */
body.home {
	background:
		radial-gradient(1200px 420px at 50% -140px, rgba(47,164,231,0.16), rgba(47,164,231,0.00) 70%),
		linear-gradient(180deg, #f7fbff 0%, #ffffff 45%, #f8fcff 100%);
}

body.home .carousel {
	border-bottom: 2px solid rgba(4,63,124,0.12);
}

body.home .cta-strip {
	background:
		linear-gradient(90deg, rgba(47,164,231,0.26), rgba(47,164,231,0.16)),
		repeating-linear-gradient(135deg, rgba(255,255,255,0.18) 0 12px, rgba(255,255,255,0.10) 12px 24px);
	border-top: 1px solid rgba(4,63,124,0.10);
	border-bottom: 0;
	box-shadow: inset 0 1px 0 rgba(255,255,255,0.5), 0 10px 26px rgba(4,63,124,0.09);
	padding: 34px 0;
}

body.home .features {
	margin-top: 0;
	border-top: 0;
	padding-bottom: 20px;
	background:
		radial-gradient(900px 260px at 50% -140px, rgba(47,164,231,0.20), rgba(47,164,231,0) 68%),
		linear-gradient(180deg, rgba(243,250,255,0.95), rgba(255,255,255,0.98));
	position: relative;
	overflow: hidden;
}

body.home .features::before {
	display: none;
}

body.home .features::after {
	content: "";
	position: absolute;
	inset: 0;
	background:
		radial-gradient(380px 180px at 15% 12%, rgba(110,240,90,0.12), rgba(110,240,90,0) 72%),
		radial-gradient(460px 220px at 85% 0%, rgba(47,164,231,0.12), rgba(47,164,231,0) 74%);
	pointer-events: none;
}

body.home .about {
	margin-top: 18px;
	border-top: 2px solid rgba(110,240,90,0.22);
	background:
		linear-gradient(180deg, rgba(110,240,90,0.05), rgba(110,240,90,0.00) 38%),
		linear-gradient(180deg, rgba(255,255,255,0.96), rgba(255,255,255,0.99));
}

body.home .features-title::after {
	width: 118px;
	height: 8px;
	border-radius: 6px;
	box-shadow: 0 8px 20px rgba(4,63,124,0.12);
}

body.home .feature-card {
	background:
		linear-gradient(180deg, rgba(255,255,255,1), rgba(244,250,255,0.96));
	border: 1px solid rgba(4,63,124,0.14);
	box-shadow: 0 14px 34px rgba(4,63,124,0.15);
}

body.home .feature-card:hover {
	box-shadow: 0 20px 46px rgba(4,63,124,0.20);
}

body.home .about .card {
	background:
		linear-gradient(180deg, rgba(236,247,255,0.70), rgba(255,255,255,0.98));
	border: 1px solid rgba(4,63,124,0.13);
	box-shadow: 0 14px 34px rgba(4,63,124,0.12);
}

body.home .about .value-card {
	background:
		linear-gradient(180deg, rgba(47,164,231,0.08), rgba(110,240,90,0.06) 95%);
	border: 1px solid rgba(4,63,124,0.12);
	box-shadow: 0 10px 24px rgba(4,63,124,0.14);
}

body.home .about .value-card .v-icon {
	width: 52px;
	height: 52px;
	border: 2px solid rgba(255,255,255,0.8);
	box-shadow: 0 6px 14px rgba(4,63,124,0.18);
}

@media (max-width: 900px) {
	body.home .features,
	body.home .about {
		margin-top: 0;
	}

	body.home .features-title::after {
		width: 90px;
		height: 7px;
	}
}

@media (max-width: 760px) {
	body.home .cta-strip {
		padding: 26px 0;
	}

	body.home .feature-card {
		box-shadow: 0 12px 30px rgba(4,63,124,0.17);
	}
}

/* Ajustes home movidos desde style.css para reducir saturación del archivo general */
body.home .features > .container,
body.home .about > .container {
	padding-top: 18px;
	padding-bottom: 22px;
}

/* Home premium layout v2 */
body.home {
	background:
		radial-gradient(1000px 380px at 10% -120px, rgba(110,240,90,0.14), rgba(110,240,90,0) 68%),
		radial-gradient(1300px 540px at 100% -180px, rgba(47,164,231,0.18), rgba(47,164,231,0) 72%),
		linear-gradient(180deg, #f6fbff 0%, #ffffff 40%, #f7fcff 100%);
}

body.home .home-hero {
	position: relative;
	height: clamp(420px, 44vw, 620px);
	margin-bottom: 16px;
}

body.home .home-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		linear-gradient(110deg, rgba(4,63,124,0.82) 0%, rgba(4,63,124,0.52) 42%, rgba(4,63,124,0.16) 74%, rgba(4,63,124,0.05) 100%);
	z-index: 2;
}

body.home .home-hero::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 140px;
	background: linear-gradient(180deg, rgba(4,63,124,0), rgba(4,63,124,0.34));
	z-index: 2;
}

body.home .hero-overlay {
	position: absolute;
	left: 50%;
	bottom: 36px;
	transform: translateX(-50%);
	z-index: 4;
	color: #fff;
	padding-top: 0;
	padding-bottom: 0;
}

body.home .hero-kicker {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 12px 0;
	padding: 7px 14px;
	border-radius: 999px;
	font-size: 0.86rem;
	font-weight: 700;
	letter-spacing: 0.03em;
	text-transform: uppercase;
	color: #eef7ff;
	background: linear-gradient(90deg, rgba(47,164,231,0.42), rgba(110,240,90,0.36));
	border: 1px solid rgba(255,255,255,0.42);
}

body.home .hero-title {
	margin: 0;
	max-width: 16ch;
	font-size: clamp(2rem, 4vw, 3.35rem);
	line-height: 1.06;
	letter-spacing: -0.03em;
	color: #ffffff;
	text-shadow: 0 8px 30px rgba(4,63,124,0.45);
}

body.home .hero-lead {
	max-width: 58ch;
	margin: 16px 0 0 0;
	font-size: clamp(1rem, 1.3vw, 1.15rem);
	line-height: 1.6;
	color: rgba(247,252,255,0.96);
}

body.home .hero-actions {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-top: 22px;
}

body.home .hero-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 12px 20px;
	border-radius: 999px;
	border: 1px solid rgba(255,255,255,0.54);
	color: #ffffff;
	text-decoration: none;
	font-weight: 700;
	background: rgba(255,255,255,0.12);
	backdrop-filter: blur(2px);
	transition: transform .18s ease, background .18s ease, border-color .18s ease;
}

body.home .hero-link:hover {
	transform: translateY(-2px);
	background: rgba(255,255,255,0.2);
	border-color: rgba(255,255,255,0.8);
}

body.home .hero-metrics {
	margin-top: 24px;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
	max-width: 900px;
}

body.home .metric-card {
	background: linear-gradient(180deg, rgba(255,255,255,0.2), rgba(255,255,255,0.08));
	border: 1px solid rgba(255,255,255,0.4);
	border-radius: 14px;
	padding: 12px 14px;
	box-shadow: 0 12px 28px rgba(4,63,124,0.28);
}

body.home .metric-card strong {
	display: block;
	font-size: 1rem;
	margin-bottom: 4px;
	color: #ffffff;
}

body.home .metric-card span {
	display: block;
	font-size: 0.88rem;
	color: rgba(241,250,255,0.95);
}

body.home .cta-strip {
	margin: 10px 0 20px;
	border-radius: 18px;
	overflow: hidden;
	border: 1px solid rgba(4,63,124,0.10);
}

body.home .cta-container {
	padding-top: 26px;
	padding-bottom: 26px;
}

body.home .cta-text h2 {
	font-size: clamp(1.45rem, 2.2vw, 2rem);
	line-height: 1.15;
	margin-bottom: 8px;
}

body.home .cta-text p {
	font-size: 1.04rem;
	line-height: 1.55;
	max-width: 56ch;
}

body.home .cta-points {
	margin: 12px 0 0 0;
	padding: 0;
	list-style: none;
	display: grid;
	gap: 7px;
}

body.home .cta-points li {
	position: relative;
	padding-left: 24px;
	color: rgba(4,63,124,0.94);
	font-weight: 600;
}

body.home .cta-points li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 9px;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: linear-gradient(180deg, var(--accent), var(--primary-light));
	box-shadow: 0 3px 10px rgba(4,63,124,0.22);
}

body.home .section-lead {
	max-width: 70ch;
	margin: 2px auto 18px;
	text-align: center;
	font-size: 1.02rem;
	line-height: 1.65;
	color: #22466f;
}

body.home .features > .container {
	padding-top: 20px;
	padding-bottom: 14px;
	position: relative;
	z-index: 1;
}

body.home .features > .container::before {
	content: "";
	display: block;
	width: min(760px, 84%);
	height: 1px;
	margin: 0 auto 22px;
	background: linear-gradient(90deg, rgba(4,63,124,0), rgba(4,63,124,0.24), rgba(4,63,124,0.24), rgba(4,63,124,0));
	box-shadow: 0 10px 22px rgba(4,63,124,0.14);
}

body.home .features-grid {
	gap: 20px;
	align-items: stretch;
}

body.home .feature-card {
	position: relative;
	display: grid;
	grid-template-columns: auto 1fr;
	column-gap: 10px;
	row-gap: 10px;
	align-items: center;
	text-align: left;
	border-radius: 16px;
	padding: 18px;
	height: 100%;
	background:
		linear-gradient(180deg, rgba(255,255,255,0.98), rgba(245,252,255,0.96)) padding-box,
		linear-gradient(110deg, rgba(4,63,124,0.82), rgba(4,63,124,0.82)) border-box;
	border: 2px solid transparent;
	box-shadow: 0 16px 30px rgba(4,63,124,0.11);
}

body.home .feature-card:hover {
	transform: translateY(-9px) scale(1.01);
	background:
		linear-gradient(180deg, rgba(255,255,255,0.99), rgba(247,253,255,0.98)) padding-box,
		linear-gradient(110deg, rgba(4,63,124,0.9), rgba(4,63,124,0.9)) border-box;
	box-shadow: 0 24px 44px rgba(4,63,124,0.16);
}

body.home .feature-number {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	border-radius: 12px;
	margin-bottom: 0;
	font-weight: 800;
	font-size: 0.84rem;
	color: #ffffff;
	background: linear-gradient(150deg, var(--primary), var(--primary-light));
	box-shadow: 0 8px 18px rgba(4,63,124,0.22), inset 0 0 0 1px rgba(255,255,255,0.22);
	grid-column: 1;
	grid-row: 1;
}

body.home .feature-title {
	margin: 0;
	line-height: 1.25;
	min-height: 2.6em;
	font-size: 1.18rem;
	grid-column: 2;
	grid-row: 1;
}

body.home .feature-media {
	margin-top: 0;
	border-radius: 12px;
	border: 1px solid rgba(4,63,124,0.10);
	box-shadow: 0 10px 24px rgba(4,63,124,0.10);
	grid-column: 1 / -1;
}

body.home .feature-img {
	aspect-ratio: 16 / 10;
}

body.home .feature-desc {
	margin-top: auto;
	padding-top: 4px;
	line-height: 1.65;
	margin-bottom: 0;
	color: #1f446b;
	grid-column: 1 / -1;
}

body.home .about {
	margin-top: 24px;
	padding-top: 10px;
	padding-bottom: 22px;
	border-top: 0;
	position: relative;
	background:
		radial-gradient(900px 320px at 88% -120px, rgba(47,164,231,0.11), rgba(47,164,231,0) 72%),
		linear-gradient(180deg, rgba(255,255,255,0.98), rgba(247,251,255,0.98));
}

body.home .about > .container {
	position: relative;
	padding-top: 26px;
}

body.home .about > .container::before {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	width: min(760px, 84%);
	height: 1px;
	background: linear-gradient(90deg, rgba(4,63,124,0), rgba(4,63,124,0.26), rgba(4,63,124,0.26), rgba(4,63,124,0));
	box-shadow: 0 10px 22px rgba(4,63,124,0.13);
}

body.home .about .about-grid {
	border-radius: 22px;
	gap: 26px;
	grid-template-columns: minmax(0, 1.22fr) minmax(280px, 0.78fr);
	align-items: stretch;
	padding: 26px;
	border: 1px solid rgba(4,63,124,0.12);
	background: linear-gradient(150deg, rgba(255,255,255,0.98), rgba(243,250,255,0.96));
	box-shadow: 0 18px 42px rgba(4,63,124,0.11);
	position: relative;
	overflow: hidden;
}

body.home .about .about-grid::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 7px;
	background: linear-gradient(90deg, #063a73, #0b4f95);
}

body.home .about .about-text {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

body.home .about .about-text p {
	margin: 0;
	line-height: 1.72;
	color: #1f446b;
	font-size: 1.02rem;
}

body.home .about-second-paragraph {
	margin-top: 2px;
	padding-top: 12px;
	border-top: 1px dashed rgba(4,63,124,0.2);
}

body.home .about-media {
	position: relative;
	border-radius: 18px;
	overflow: hidden;
	border: 1px solid rgba(4,63,124,0.14);
	box-shadow: 0 14px 30px rgba(4,63,124,0.14);
	min-height: 100%;
}

body.home .about-media::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(4,63,124,0.03), rgba(4,63,124,0.24));
	pointer-events: none;
	z-index: 1;
}

body.home .about-media img {
	width: 100%;
	height: 100%;
	min-height: 360px;
	object-fit: contain;
	object-position: center center;
	display: block;
	padding: 18px;
}

body.home .media-badge {
	position: absolute;
	left: 14px;
	right: 14px;
	bottom: 14px;
	background: rgba(4,63,124,0.88);
	color: #ffffff;
	padding: 10px 14px;
	border-radius: 12px;
	font-weight: 700;
	font-size: 0.9rem;
	border: 1px solid rgba(255,255,255,0.30);
	z-index: 2;
}

body.home .about .value-card {
	text-align: left;
	padding: 14px;
	display: grid;
	grid-template-columns: 44px 1fr;
	grid-template-areas:
		"icon title"
		"desc desc";
	column-gap: 12px;
	row-gap: 10px;
	align-items: center;
	border-radius: 12px;
	border: 1px solid rgba(4,63,124,0.12);
	background: linear-gradient(180deg, rgba(255,255,255,0.98), rgba(246,251,255,0.95));
	box-shadow: 0 10px 22px rgba(4,63,124,0.11);
}

body.home .about .value-card strong,
body.home .about .value-card .v-desc {
	grid-column: auto;
}

body.home .about .value-card strong {
	grid-area: title;
	margin: 0;
	line-height: 1.2;
}

body.home .about .value-card .v-desc {
	grid-area: desc;
	margin: 0;
	line-height: 1.55;
}

body.home .about .value-card .v-icon {
	margin-bottom: 0;
	width: 44px;
	height: 44px;
	grid-area: icon;
}

@media (max-width: 980px) {
	body.home .home-hero {
		height: clamp(500px, 64vw, 740px);
	}

	body.home .hero-overlay {
		bottom: 20px;
	}

	body.home .hero-title {
		max-width: 22ch;
	}

	body.home .hero-metrics {
		grid-template-columns: 1fr;
		max-width: 520px;
	}

	body.home .hero-actions {
		flex-wrap: wrap;
	}

	body.home .about .about-grid {
		grid-template-columns: 1fr;
		gap: 20px;
		padding: 20px;
	}

	body.home .about-media img {
		min-height: 260px;
	}
}

@media (max-width: 760px) {
	body.home .home-hero::before {
		background: linear-gradient(180deg, rgba(4,63,124,0.74) 0%, rgba(4,63,124,0.52) 50%, rgba(4,63,124,0.28) 100%);
	}

	body.home .hero-overlay {
		left: 0;
		transform: none;
		width: 100%;
		padding-left: 22px;
		padding-right: 22px;
	}

	body.home .hero-actions {
		gap: 10px;
	}

	body.home .hero-actions .button,
	body.home .hero-link {
		width: 100%;
	}

	body.home .hero-link {
		padding: 10px 14px;
	}

	body.home .cta-strip {
		border-radius: 14px;
	}

	body.home .cta-container {
		padding-top: 20px;
		padding-bottom: 20px;
	}

	body.home .features > .container {
		padding-top: 16px;
	}

	body.home .features > .container::before,
	body.home .about > .container::before {
		width: 92%;
		margin-bottom: 18px;
	}

	body.home .about {
		margin-top: 18px;
	}

	body.home .about > .container {
		padding-top: 20px;
	}

	body.home .about .about-grid {
		padding: 16px;
		border-radius: 16px;
	}

	body.home .about .value-card {
		grid-template-columns: 38px 1fr;
		grid-template-areas:
			"icon title"
			"desc desc";
		column-gap: 10px;
		row-gap: 8px;
		padding: 12px;
	}

	body.home .about .value-card .v-icon {
		width: 38px;
		height: 38px;
	}

	body.home .section-lead {
		margin-bottom: 18px;
		text-align: left;
	}

	body.home .feature-title {
		min-height: 0;
	}

	body.home .feature-card {
		row-gap: 8px;
	}

	body.home .media-badge {
		left: 10px;
		right: 10px;
		bottom: 10px;
		text-align: center;
	}
}

/* Home v3 - Neo Industrial Lacteo (mas angular y contrastado) */
body.home {
	--home-radius-lg: 4px;
	--home-radius-md: 3px;
	--home-radius-sm: 2px;
	background:
		repeating-linear-gradient(90deg, rgba(4,63,124,0.03) 0 1px, transparent 1px 72px),
		linear-gradient(180deg, #f8fcff 0%, #ffffff 45%, #f6fbff 100%);
}

body.home .home-hero,
body.home .cta-strip,
body.home .about .about-grid,
body.home .feature-card,
body.home .about .value-card,
body.home .about-media,
body.home .metric-card,
body.home .hero-link,
body.home .media-badge {
	border-radius: var(--home-radius-lg);
}

body.home .hero-kicker,
body.home .feature-number,
body.home .cta-points li::before {
	border-radius: var(--home-radius-sm);
}

body.home .cta-strip {
	border: 2px solid rgba(4,63,124,0.22);
	box-shadow: 0 16px 30px rgba(4,63,124,0.12);
	background:
		linear-gradient(130deg, rgba(47,164,231,0.30), rgba(255,255,255,0.92) 48%, rgba(110,240,90,0.22) 100%);
}

body.home .features > .container::before,
body.home .about > .container::before {
	display: none;
}

body.home .cta-strip {
	border: none;
	box-shadow: 0 14px 26px rgba(4,63,124,0.10);
}

body.home .cta-strip .button {
	border-radius: 999px !important;
	padding-left: 28px;
	padding-right: 28px;
}

body.home .features {
	background:
		linear-gradient(180deg, rgba(235,246,255,0.92), rgba(255,255,255,0.98));
	border-top: 2px solid rgba(47,164,231,0.36);
	border-bottom: 2px solid rgba(47,164,231,0.20);
}

body.home .about {
	background:
		linear-gradient(180deg, rgba(241,255,239,0.90), rgba(255,255,255,0.98));
	border-top: 2px solid rgba(110,240,90,0.34);
}

body.home .features-title,
body.home .about h2 {
	letter-spacing: -0.02em;
	text-transform: uppercase;
	font-weight: 800;
}

body.home .features-title::after {
	border-radius: 0;
	height: 6px;
	width: 132px;
	background: linear-gradient(90deg, var(--primary), var(--primary-light));
}

body.home .feature-card {
	border-radius: var(--home-radius-md);
	border: 2px solid rgba(4,63,124,0.24);
	box-shadow: 0 14px 26px rgba(4,63,124,0.12);
	background:
		linear-gradient(180deg, rgba(255,255,255,1), rgba(240,249,255,0.98)) padding-box,
		linear-gradient(90deg, rgba(4,63,124,0.18), rgba(47,164,231,0.26)) border-box;
	transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

body.home .feature-card:hover {
	transform: translateY(-6px);
	border-color: rgba(4,63,124,0.42);
	box-shadow: 0 22px 34px rgba(4,63,124,0.16);
}

body.home .feature-number {
	border-radius: 0;
	background: linear-gradient(180deg, var(--primary), #0a5aa8);
	box-shadow: none;
	border: 1px solid rgba(255,255,255,0.42);
}

body.home .feature-title {
	display: flex;
	align-items: center;
}

body.home .feature-media {
	border-radius: var(--home-radius-sm);
	border: 2px solid rgba(4,63,124,0.16);
}

body.home .feature-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-top: 12px;
	padding: 10px 16px;
	border-radius: 999px;
	border: 1px solid rgba(4,63,124,0.24);
	background: #ffffff;
	color: var(--primary);
	font-weight: 700;
	text-decoration: none;
	grid-column: 1 / -1;
	justify-self: start;
	transition: transform .16s ease, box-shadow .16s ease, background .16s ease;
}

body.home .feature-link:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 20px rgba(4,63,124,0.14);
	background: rgba(255,255,255,0.96);
}

body.home .about .about-grid {
	border-radius: var(--home-radius-md);
	border: 2px solid rgba(4,63,124,0.18);
	background:
		linear-gradient(180deg, rgba(255,255,255,0.98), rgba(245,255,243,0.98));
	box-shadow: 0 16px 30px rgba(4,63,124,0.10);
}

body.home .about .about-grid::before {
	height: 6px;
	background: linear-gradient(90deg, #063a73, #0b4f95);
}

body.home .about .value-card {
	border-radius: var(--home-radius-sm);
	border: 2px solid rgba(4,63,124,0.16);
	background: linear-gradient(180deg, rgba(255,255,255,1), rgba(247,255,245,0.98));
	box-shadow: none;
}

body.home .about .value-card .v-icon {
	border-radius: 0;
	border: 1px solid rgba(255,255,255,0.45);
}

body.home .about-media {
	border-radius: var(--home-radius-sm);
	border: 2px solid rgba(4,63,124,0.22);
}

body.home .media-badge {
	border-radius: 0;
	background: rgba(4,63,124,0.92);
	border: 1px solid rgba(255,255,255,0.26);
}

body.home .metric-card {
	border-radius: var(--home-radius-sm);
	border: 1px solid rgba(255,255,255,0.58);
	box-shadow: 0 10px 18px rgba(4,63,124,0.26);
}

body.home .hero-link {
	border-radius: var(--home-radius-sm);
}

body.home .cta-points li {
	padding-left: 0;
	font-weight: 700;
	display: flex;
	align-items: flex-start;
	gap: 4px;
}

body.home .cta-points li::before {
	width: 8px;
	height: 8px;
	border-radius: 0;
	box-shadow: none;
	transform: rotate(45deg);
	position: static;
	margin-top: 0.5em;
}

@media (max-width: 760px) {
	body.home .cta-strip,
	body.home .about .about-grid,
	body.home .feature-card {
		border-radius: var(--home-radius-sm);
	}

	body.home .features-title::after {
		width: 96px;
		height: 5px;
	}
}

/* Home v4 - bandas full-width por seccion */
body.home .carousel {
	margin-bottom: 0;
	border-bottom: 0;
	position: relative;
	overflow: hidden;
}

body.home .carousel::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 26px;
	background: linear-gradient(180deg, rgba(4,63,124,0) 0%, rgba(4,63,124,0.16) 100%);
	pointer-events: none;
	z-index: 2;
}

/* Evita micro-separaciones al hacer mucho scroll: mantiene fija la imagen del hero */
body.home .carousel-img.in-view {
	animation: none !important;
	transform: scale(1) translateY(0) !important;
}

body.home .features,
body.home .about {
	margin-top: 0;
	border-top: 0;
	border-bottom: 0;
}

body.home .features::before,
body.home .features::after,
body.home .about::before,
body.home .about > .container::before,
body.home .features > .container::before {
	display: none !important;
}

body.home .section-banner {
	position: relative;
	left: 50%;
	transform: translateX(-50%);
	width: 100vw;
	max-width: 100vw;
	padding: 30px 20px;
	margin: 0 0 18px 0;
	background:
		linear-gradient(125deg, #022a54 0%, #063a73 30%, #0b4f95 52%, #063a73 72%, #022a54 100%);
	border-top: 1px solid rgba(255,255,255,0.28);
	border-bottom: 1px solid rgba(2,33,66,0.48);
	box-shadow: 0 12px 28px rgba(3,44,86,0.30);
	text-align: center;
}

body.home .section-banner h2,
body.home .section-banner .features-title,
body.home .section-banner .section-lead,
body.home .section-banner .section-subtitle {
	max-width: 1100px;
	margin-left: auto;
	margin-right: auto;
	color: #ffffff !important;
	text-align: center;
}

body.home .section-banner h2,
body.home .section-banner .features-title {
	margin-top: 0;
	margin-bottom: 8px;
	font-size: clamp(1.55rem, 2.45vw, 2.2rem);
	letter-spacing: 0;
	text-transform: none;
}

body.home .section-banner .section-lead,
body.home .section-banner .section-subtitle {
	margin-top: 0;
	margin-bottom: 0;
	font-size: 1.08rem;
	line-height: 1.5;
	opacity: 0.95;
}

body.home .section-banner .features-title::after {
	display: none;
}

body.home .feature-link {
	justify-self: center;
	border-radius: 2px;
	border: 1px solid rgba(255,255,255,0.35);
	background: linear-gradient(180deg, var(--primary), #0a5aa8);
	color: #ffffff;
	padding: 10px 18px;
}

body.home .feature-link:hover {
	background: linear-gradient(180deg, #0a5aa8, var(--primary));
	box-shadow: 0 10px 22px rgba(4,63,124,0.24);
}

body.home .cta-container,
body.home .features > .container,
body.home .about > .container {
	padding-top: 0;
}

body.home .cta-strip {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

body.home .cta-strip {
	position: relative;
	overflow: hidden;
	border-radius: 0 !important;
	border-top: 1px solid rgba(4,63,124,0.16);
	box-shadow: inset 0 1px 0 rgba(255,255,255,0.55), 0 10px 22px rgba(4,63,124,0.08);
}

body.home .cta-strip::before {
	display: none !important;
}

body.home .cta-strip > * {
	position: relative;
	z-index: 2;
}

body.home .features,
body.home .about {
	padding-top: 0 !important;
	margin-top: 0 !important;
}

body.home .features > .container,
body.home .about > .container {
	padding-top: 0 !important;
}

@media (max-width: 760px) {
	body.home .carousel {
		aspect-ratio: auto;
		height: clamp(240px, 58vw, 340px);
	}

	body.home .carousel-img {
		width: 100%;
		height: 100%;
		object-fit: cover;
		object-position: 49% 50%;
	}

	body.home .section-banner {
		padding: 20px 14px;
		margin-bottom: 14px;
	}

	body.home .carousel::after {
		height: 18px;
	}

	body.home .section-banner h2,
	body.home .section-banner .features-title {
		font-size: 1.34rem;
	}

	body.home .section-banner .section-lead,
	body.home .section-banner .section-subtitle {
		font-size: 0.98rem;
	}

	/* CTA móvil: mover texto/puntos hacia la derecha y equilibrar aire vertical */
	body.home .cta-container {
		padding-top: 10px;
		padding-bottom: 10px;
		gap: 0;
	}

	body.home .cta-text {
		padding-left: 10px;
		padding-right: 0;
		margin: 0;
	}

	body.home .cta-text h2 {
		margin-top: 0;
		margin-bottom: 8px;
	}

	body.home .cta-text p {
		margin-top: 6px;
		margin-bottom: 0;
	}

	body.home .cta-points {
		margin-top: 10px;
		margin-bottom: 0;
	}

	body.home .cta-strip .button {
		transform: none;
		margin: 0 auto;
	}

	body.home .cta-container > div:last-child {
		margin: 22px 0 0 0;
		padding: 0;
	}

	/* Layout móvil: imagen izquierda, texto derecha */
	body.home .feature-card {
		display: grid;
		grid-template-columns: 130px 1fr;
		grid-template-rows: auto auto auto auto;
		column-gap: 12px;
		row-gap: 6px;
		padding: 12px 12px 0 12px;
		align-items: flex-start;
		height: auto;
	}

	body.home .feature-media {
		grid-column: 1;
		grid-row: 1 / 4;
		width: 130px;
		height: 130px;
		margin: 0;
		border-radius: 0;
		overflow: hidden;
		border: none;
		box-shadow: 0 6px 16px rgba(4,63,124,0.12);
		align-self: start;
	}

	body.home .feature-img {
		width: 100%;
		height: 100%;
		object-fit: cover;
		aspect-ratio: auto;
	}

	body.home .feature-number {
		grid-column: 2;
		grid-row: 1;
		width: 26px;
		height: 26px;
		font-size: 0.65rem;
		margin: 0;
		padding: 0;
		align-self: start;
	}

	body.home .feature-title {
		grid-column: 2;
		grid-row: 1;
		font-size: 0.82rem;
		line-height: 1.1;
		min-height: auto;
		margin: 0;
		padding: 0 4px 0 36px;
		align-self: start;
	}

	body.home .feature-desc {
		grid-column: 2;
		grid-row: 2;
		font-size: 0.75rem;
		line-height: 1.25;
		margin: 0;
		padding: 0 4px;
		color: #1f446b;
	}

	body.home .feature-link {
		grid-column: 1 / 3;
		grid-row: 4;
		font-size: 0.85rem;
		margin: 0;
		padding: 16px 12px;
		display: flex;
		align-items: center;
		justify-content: center;
		background: linear-gradient(135deg, #0a5aa8, var(--primary));
		color: white !important;
		text-decoration: none;
		font-weight: 600;
		width: 100%;
		box-sizing: border-box;
	}

	/* Solo el 3er rectángulo: más alto para equilibrar margen superior/inferior del botón */
	body.home .features-grid .feature-card:nth-child(3) {
		padding-bottom: 12px;
	}

	/* Sin efectos en móvil para tarjetas de "Por qué elegir AleLac" */
	body.home .feature-card,
	body.home .feature-card:hover,
	body.home .feature-card:active {
		transform: none !important;
		transition: none !important;
		box-shadow: none !important;
		background:
			linear-gradient(180deg, rgba(255,255,255,0.98), rgba(245,252,255,0.96)) padding-box,
			linear-gradient(110deg, rgba(4,63,124,0.82), rgba(4,63,124,0.82)) border-box !important;
	}

	body.home .feature-media,
	body.home .feature-img,
	body.home .feature-card:hover .feature-img,
	body.home .feature-card:active .feature-img {
		transform: none !important;
		transition: none !important;
		filter: none !important;
	}
}

/* Home - esquema tipografico */
body.home .section-banner h2,
body.home .section-banner .features-title,
body.home .cta-text h2 {
	font-family: 'Poppins', system-ui, -apple-system, 'Segoe UI', 'Helvetica Neue', Arial;
	font-weight: 800;
	letter-spacing: -1px;
	text-transform: none;
}

body.home .feature-title,
body.home .about .value-card strong,
body.home .section-banner .section-lead,
body.home .section-banner .section-subtitle,
body.home .section-lead {
	font-family: 'Poppins', system-ui, -apple-system, 'Segoe UI', 'Helvetica Neue', Arial;
	font-weight: 500;
	letter-spacing: 0;
	text-transform: none;
}

body.home .cta-text p,
body.home .cta-points li,
body.home .feature-desc,
body.home .about .about-text p,
body.home .about .value-card .v-desc,
body.home .hero-lead,
body.home .metric-card span {
	font-family: 'Inter', 'Poppins', system-ui, -apple-system, 'Segoe UI', 'Helvetica Neue', Arial;
	font-weight: 400;
	letter-spacing: 0.2px;
	line-height: 1.6;
}
