/* =========================================================
   NEXA V3 — HERO + BARRA DE CONFIANZA
   Versión final depurada · Mobile-first
   Alcance: solo dentro de .nexa-v3 · Fondo continuo + círculo azul + imagen integrada sin marco
   ========================================================= */

.nexa-v3 {
	--nexa-blue: #1F67D2;
	--nexa-blue-deep: #1858B8;
	--nexa-navy: #0C2742;
	--nexa-riptide: #89D9C8;
	--nexa-riptide-dark: #3B9F91;
	--nexa-riptide-soft: #DDF7F4;
	--nexa-ivory: #F7F5EF;
	--nexa-surface: #FFFFFF;
	--nexa-text: #172B3F;
	--nexa-text-soft: #667386;
	--nexa-line: rgba(12, 39, 66, 0.10);

	font-family: "DM Sans", sans-serif;
	color: var(--nexa-text);
	background:
		radial-gradient(
			circle at 14% 22%,
			rgba(31, 103, 210, 0.10) 0%,
			rgba(31, 103, 210, 0.035) 26%,
			transparent 50%
		),
		radial-gradient(
			circle at 88% 12%,
			rgba(137, 217, 200, 0.08) 0%,
			transparent 34%
		),
		linear-gradient(
			135deg,
			#FBFAF6 0%,
			#F7F8F6 56%,
			#F1F6F8 100%
		);
}

.nexa-v3,
.nexa-v3 * {
	box-sizing: border-box;
}

/* =========================================================
   HERO — BASE MÓVIL
   ========================================================= */

.nexa-v3 .nexa-v3-hero {
	position: relative;
	isolation: isolate;
	width: 100%;
	margin: 0;
	padding: 28px 20px 30px;
	overflow: hidden;
	background: transparent;
}

/* Red científica discreta */
.nexa-v3 .nexa-v3-hero::before {
	content: "";
	position: absolute;
	z-index: -2;
	inset: 0;
	pointer-events: none;
	background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%201200%20760'%3E%0A%3Cg%20fill%3D'none'%20stroke%3D'%231F67D2'%20stroke-width%3D'1.2'%20stroke-opacity%3D'.22'%3E%0A%3Cpath%20d%3D'M20%20180L130%20120L250%20175L365%20104L485%20162L610%20108'%2F%3E%0A%3Cpath%20d%3D'M65%20555L178%20488L300%20548L418%20474L540%20532L662%20458'%2F%3E%0A%3Cpath%20d%3D'M720%20175L820%20118L930%20175L1060%20116L1180%20175'%2F%3E%0A%3Cpath%20d%3D'M742%20520L838%20465L944%20522L1060%20455L1170%20510'%2F%3E%0A%3Cpath%20d%3D'M130%20120L178%20488'%20stroke-opacity%3D'.10'%2F%3E%0A%3Cpath%20d%3D'M365%20104L418%20474'%20stroke-opacity%3D'.10'%2F%3E%0A%3Cpath%20d%3D'M610%20108L662%20458'%20stroke-opacity%3D'.10'%2F%3E%0A%3C%2Fg%3E%0A%3Cg%20fill%3D'%231F67D2'%20fill-opacity%3D'.20'%3E%0A%3Ccircle%20cx%3D'20'%20cy%3D'180'%20r%3D'4'%2F%3E%3Ccircle%20cx%3D'130'%20cy%3D'120'%20r%3D'5'%2F%3E%0A%3Ccircle%20cx%3D'250'%20cy%3D'175'%20r%3D'4'%2F%3E%3Ccircle%20cx%3D'365'%20cy%3D'104'%20r%3D'5'%2F%3E%0A%3Ccircle%20cx%3D'485'%20cy%3D'162'%20r%3D'4'%2F%3E%3Ccircle%20cx%3D'610'%20cy%3D'108'%20r%3D'5'%2F%3E%0A%3Ccircle%20cx%3D'65'%20cy%3D'555'%20r%3D'4'%2F%3E%3Ccircle%20cx%3D'178'%20cy%3D'488'%20r%3D'5'%2F%3E%0A%3Ccircle%20cx%3D'300'%20cy%3D'548'%20r%3D'4'%2F%3E%3Ccircle%20cx%3D'418'%20cy%3D'474'%20r%3D'5'%2F%3E%0A%3Ccircle%20cx%3D'540'%20cy%3D'532'%20r%3D'4'%2F%3E%3Ccircle%20cx%3D'662'%20cy%3D'458'%20r%3D'5'%2F%3E%0A%3Ccircle%20cx%3D'720'%20cy%3D'175'%20r%3D'4'%2F%3E%3Ccircle%20cx%3D'820'%20cy%3D'118'%20r%3D'5'%2F%3E%0A%3Ccircle%20cx%3D'930'%20cy%3D'175'%20r%3D'4'%2F%3E%3Ccircle%20cx%3D'1060'%20cy%3D'116'%20r%3D'5'%2F%3E%0A%3C%2Fg%3E%0A%3Cg%20fill%3D'none'%20stroke%3D'%233B9F91'%20stroke-width%3D'1.1'%20stroke-opacity%3D'.16'%3E%0A%3Cpath%20d%3D'M85%20300l36-21%2036%2021v42l-36%2021-36-21z'%2F%3E%0A%3Cpath%20d%3D'M530%20278l40-23%2040%2023v46l-40%2023-40-23z'%2F%3E%0A%3Cpath%20d%3D'M986%20306l34-20%2034%2020v40l-34%2020-34-20z'%2F%3E%0A%3C%2Fg%3E%3C%2Fsvg%3E");
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	opacity: 0.21;
	-webkit-mask-image: linear-gradient(
		180deg,
		transparent 0%,
		#000 12%,
		#000 78%,
		transparent 100%
	);
	mask-image: linear-gradient(
		180deg,
		transparent 0%,
		#000 12%,
		#000 78%,
		transparent 100%
	);
}

/* Círculo premium: anillo azul, dos halos Riptide interiores y brillo central */
.nexa-v3 .nexa-v3-hero::after {
	content: "";
	position: absolute;
	z-index: -1;
	top: 70%;
	left: 50%;
	width: 300px;
	aspect-ratio: 1;
	pointer-events: none;
	border: 1px solid rgba(31, 103, 210, 0.18);
	border-radius: 50%;
	background:
		/* Dos nodos orbitales discretos: permiten percibir la rotación */
		radial-gradient(
			circle at 50% 3.5%,
			rgba(31, 103, 210, 0.58) 0 4px,
			rgba(31, 103, 210, 0.18) 4.5px 7px,
			transparent 7.5px
		),
		radial-gradient(
			circle at 88% 66%,
			rgba(59, 159, 145, 0.38) 0 3px,
			rgba(137, 217, 200, 0.13) 3.5px 6px,
			transparent 6.5px
		),
		radial-gradient(
			circle at center,
			rgba(31, 103, 210, 0.075) 0%,
			rgba(31, 103, 210, 0.028) 18%,
			transparent 29%
		),
		radial-gradient(
			circle at center,
			transparent 0 31%,
			rgba(59, 159, 145, 0.12) 31.4% 32.2%,
			transparent 32.7%
		),
		radial-gradient(
			circle at center,
			transparent 0 42%,
			rgba(137, 217, 200, 0.13) 42.4% 43.2%,
			transparent 43.7%
		),
		radial-gradient(
			circle at center,
			rgba(31, 103, 210, 0.035) 0%,
			rgba(31, 103, 210, 0.015) 56%,
			transparent 73%
		);
	box-shadow:
		0 0 0 48px rgba(31, 103, 210, 0.062),
		0 0 0 98px rgba(31, 103, 210, 0.032),
		0 18px 78px rgba(31, 103, 210, 0.10);
	opacity: 0.56;
	transform: translate3d(-50%, -50%, 0) scale(1);
	transform-origin: center;
	will-change: transform;
	backface-visibility: hidden;
}

.nexa-v3 .nexa-v3-hero .elementor-widget-html,
.nexa-v3 .nexa-v3-hero .elementor-widget-container {
	width: 100%;
}

.nexa-v3 .nexa-v3-hero__layout {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	width: 100%;
	max-width: 1180px;
	margin: 0 auto;
	gap: 26px;
}

.nexa-v3 .nexa-v3-hero__content {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	width: 100%;
}

.nexa-v3 .nexa-v3-hero__eyebrow {
	display: inline-flex;
	align-items: center;
	width: fit-content;
	gap: 10px;
	margin: 0 0 28px;
	color: var(--nexa-riptide-dark);
	font-size: 12px;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: 1.5px;
	text-transform: uppercase;
}

.nexa-v3 .nexa-v3-hero__eyebrow::before {
	content: "";
	display: block;
	width: 28px;
	height: 2px;
	flex: 0 0 28px;
	border-radius: 99px;
	background: linear-gradient(90deg, var(--nexa-blue), #74A7F2);
}

.nexa-v3 .nexa-v3-hero__title {
	margin: 0 0 18px;
	color: var(--nexa-navy);
	font-family: "DM Sans", sans-serif;
	font-size: clamp(30px, 8.2vw, 37px);
	font-weight: 700;
	font-style: normal;
	line-height: 1.04;
	letter-spacing: -1.15px;
	text-transform: none;
	text-wrap: pretty;
	text-rendering: optimizeLegibility;
	word-break: normal;
	overflow-wrap: normal;
	hyphens: none;
}

/* Palabra rotativa del título */
.nexa-v3 .nexa-v3-hero__title-line {
	display: block;
}

.nexa-v3 .nexa-v3-hero__rotator {
	display: inline-grid;
	grid-template-areas: "word";
	min-width: 6.75em;
	margin-left: 0.08em;
	vertical-align: baseline;
	color: var(--nexa-blue);
	white-space: nowrap;
}

.nexa-v3 .nexa-v3-hero__rotator-word {
	grid-area: word;
	opacity: 0;
	transform: translate3d(0, 0.18em, 0);
	animation: nexaHeroWord 12s cubic-bezier(0.22, 1, 0.36, 1) infinite both;
	will-change: opacity, transform;
}

.nexa-v3 .nexa-v3-hero__rotator-word:nth-child(1) {
	animation-delay: 0s;
}

.nexa-v3 .nexa-v3-hero__rotator-word:nth-child(2) {
	animation-delay: -9s;
}

.nexa-v3 .nexa-v3-hero__rotator-word:nth-child(3) {
	animation-delay: -6s;
}

.nexa-v3 .nexa-v3-hero__rotator-word:nth-child(4) {
	animation-delay: -3s;
}

/* Texto disponible para lectores de pantalla */
.nexa-v3 .nexa-v3-sr-only {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

.nexa-v3 .nexa-v3-hero__description {
	max-width: 36ch;
	margin: 0 0 28px;
	color: var(--nexa-text-soft);
	font-size: 16px;
	font-weight: 400;
	line-height: 1.6;
}

.nexa-v3 .nexa-v3-hero__actions {
	display: flex;
	flex-direction: column;
	width: 100%;
	gap: 12px;
}

.nexa-v3 .nexa-v3-button {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 50px;
	padding: 13px 20px;
	overflow: hidden;
	border: 1px solid transparent;
	border-radius: 12px;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, 0.24),
		0 8px 20px rgba(12, 39, 66, 0.07);
	transition:
		background 180ms ease,
		border-color 180ms ease,
		box-shadow 180ms ease,
		transform 180ms ease;
}

.nexa-v3 .nexa-v3-button::before {
	content: "";
	position: absolute;
	top: 0;
	left: -120%;
	width: 75%;
	height: 100%;
	pointer-events: none;
	background: linear-gradient(
		110deg,
		transparent,
		rgba(255, 255, 255, 0.18),
		transparent
	);
	transform: skewX(-18deg);
	transition: left 420ms ease;
}

.nexa-v3 .nexa-v3-button--primary {
	color: #FFFFFF;
	background: linear-gradient(
		135deg,
		#2B73DD 0%,
		var(--nexa-blue) 52%,
		var(--nexa-blue-deep) 100%
	);
	border-color: var(--nexa-blue);
	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, 0.22),
		0 10px 24px rgba(31, 103, 210, 0.22);
}

.nexa-v3 .nexa-v3-button--secondary {
	color: var(--nexa-navy);
	background: linear-gradient(135deg, #A2E6D9 0%, var(--nexa-riptide) 100%);
	border-color: var(--nexa-riptide-dark);
	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, 0.48),
		0 9px 22px rgba(59, 159, 145, 0.13);
}

.nexa-v3 .nexa-v3-button:active {
	transform: translateY(1px);
}

.nexa-v3 .nexa-v3-button:focus-visible {
	outline: 3px solid rgba(31, 103, 210, 0.25);
	outline-offset: 3px;
}

/* Imagen/video integrada al hero — sin tarjeta ni marco exterior */
.nexa-v3 .nexa-v3-hero__media {
	--nexa-media-radius: 22px;

	position: relative;
	z-index: 1;
	width: 100%;
	margin: 0;
	padding: 0;
	overflow: visible;
	isolation: isolate;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}

/* Resplandor ambiental detrás de la imagen, sin formar un rectángulo */
.nexa-v3 .nexa-v3-hero__media::before {
	content: "";
	position: absolute;
	z-index: -1;
	inset: 10% -8% -8% 8%;
	pointer-events: none;
	border-radius: 50%;
	background:
		radial-gradient(
			circle at 62% 48%,
			rgba(31, 103, 210, 0.17) 0%,
			rgba(137, 217, 200, 0.09) 36%,
			transparent 72%
		);
	filter: blur(30px);
	opacity: 0.82;
}

/* Insignia flotante */
.nexa-v3 .nexa-v3-hero__media::after {
	content: "NEXA · MÉXICO";
	position: absolute;
	z-index: 10;
	top: 14px;
	right: 12px;
	display: inline-flex;
	align-items: center;
	min-height: 30px;
	padding: 7px 11px;
	color: var(--nexa-navy);
	background: rgba(255, 255, 255, 0.86);
	border: 1px solid rgba(255, 255, 255, 0.72);
	border-radius: 999px;
	box-shadow: 0 8px 22px rgba(12, 39, 66, 0.11);
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
	font-family: "DM Sans", sans-serif;
	font-size: 9px;
	font-weight: 800;
	line-height: 1;
	letter-spacing: 0.95px;
	white-space: nowrap;
}

/* Imagen o video */
.nexa-v3 .nexa-v3-hero__image,
.nexa-v3 .nexa-v3-hero__video {
	position: relative;
	z-index: 1;
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	object-position: center;
	border: 0;
	border-radius: var(--nexa-media-radius);
	background: transparent;
	box-shadow: none;
	filter: drop-shadow(14px 22px 30px rgba(12, 39, 66, 0.13));
}

/* Capa de color Nexa encima de la imagen o video */
.nexa-v3 .nexa-v3-hero__tint {
	position: absolute;
	z-index: 5;
	inset: 0;
	display: block;
	pointer-events: none;
	overflow: hidden;
	border-radius: var(--nexa-media-radius);
	background:
		radial-gradient(
			circle at 78% 16%,
			rgba(137, 217, 200, 0.32) 0%,
			rgba(137, 217, 200, 0.12) 29%,
			transparent 56%
		),
		linear-gradient(
			135deg,
			rgba(31, 103, 210, 0.25) 0%,
			rgba(31, 103, 210, 0.11) 43%,
			rgba(12, 39, 66, 0.07) 69%,
			rgba(137, 217, 200, 0.19) 100%
		);
	box-shadow:
		inset 0 0 54px rgba(12, 39, 66, 0.09),
		inset 0 1px 0 rgba(255, 255, 255, 0.18);
}

/* Luz editorial muy suave */
.nexa-v3 .nexa-v3-hero__tint::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
	background:
		linear-gradient(
			180deg,
			rgba(255, 255, 255, 0.10) 0%,
			transparent 40%,
			rgba(12, 39, 66, 0.07) 100%
		);
}

/* Difuminado inferior para unir la imagen con la barra de confianza */
.nexa-v3 .nexa-v3-hero__tint::before {
	content: "";
	position: absolute;
	z-index: 2;
	right: 0;
	bottom: 0;
	left: 0;
	height: 24%;
	pointer-events: none;
	background: linear-gradient(
		180deg,
		transparent 0%,
		rgba(247, 248, 246, 0.10) 28%,
		rgba(247, 248, 246, 0.58) 74%,
		rgba(247, 248, 246, 0.94) 100%
	);
}

/* =========================================================
   BARRA DE CONFIANZA — BASE MÓVIL
   ========================================================= */

.nexa-v3 .nexa-v3-trust {
	position: relative;
	z-index: 4;
	width: 100%;
	margin: 0;
	padding: 0 16px 24px;
	background: transparent;
}

.nexa-v3 .nexa-v3-trust__inner {
	display: grid;
	grid-template-columns: 1fr;
	width: 100%;
	max-width: 1180px;
	margin: 0 auto;
	overflow: hidden;
	background: var(--nexa-surface);
	border: 1px solid var(--nexa-line);
	border-radius: 20px;
	box-shadow:
		0 18px 48px rgba(12, 39, 66, 0.09),
		0 2px 8px rgba(12, 39, 66, 0.04);
}

.nexa-v3 .nexa-v3-trust__item {
	display: grid;
	grid-template-columns: 56px minmax(0, 1fr);
	align-items: start;
	gap: 14px;
	min-width: 0;
	padding: 18px;
	background: var(--nexa-surface);
	border: 0;
	border-bottom: 1px solid rgba(12, 39, 66, 0.08);
	text-align: left;
}

.nexa-v3 .nexa-v3-trust__item:last-child {
	border-bottom: 0;
}

.nexa-v3 .nexa-v3-trust__icon {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	border: 1px solid rgba(59, 159, 145, 0.24);
	border-radius: 14px;
	background: linear-gradient(180deg, #F7FFFD 0%, var(--nexa-riptide-soft) 100%);
	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, 0.75),
		0 6px 18px rgba(12, 39, 66, 0.04);
}

.nexa-v3 .nexa-v3-trust__icon::before {
	content: "";
	display: block;
	width: 24px;
	height: 24px;
	background-repeat: no-repeat;
	background-position: center;
	background-size: 24px 24px;
}

.nexa-v3 .nexa-v3-trust__item--fast .nexa-v3-trust__icon::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230C2742' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.5 9H6'/%3E%3Cpath d='M1.5 12H5'/%3E%3Cpath d='M2.5 15H6'/%3E%3Cpath d='M6.5 8H15.5L18 10.5V16.5H6.5V8Z'/%3E%3Cpath d='M15.5 8V10.5H18'/%3E%3C/svg%3E");
}

.nexa-v3 .nexa-v3-trust__item--shipping .nexa-v3-trust__icon::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230C2742' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 7.5H13.5V15.5H3.5V7.5Z'/%3E%3Cpath d='M13.5 10H17.25L20 12.75V15.5H13.5V10Z'/%3E%3Ccircle cx='7' cy='16.25' r='1.25'/%3E%3Ccircle cx='17' cy='16.25' r='1.25'/%3E%3C/svg%3E");
}

.nexa-v3 .nexa-v3-trust__item--support .nexa-v3-trust__icon::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230C2742' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12V11C6 7.686 8.686 5 12 5C15.314 5 18 7.686 18 11V12'/%3E%3Cpath d='M6 12H4.75C4.06 12 3.5 12.56 3.5 13.25V15.75C3.5 16.44 4.06 17 4.75 17H6V12Z'/%3E%3Cpath d='M18 12H19.25C19.94 12 20.5 12.56 20.5 13.25V15.75C20.5 16.44 19.94 17 19.25 17H18V12Z'/%3E%3Cpath d='M9.5 18.5H14.5'/%3E%3Cpath d='M14.5 18.5C14.5 17.672 15.172 17 16 17'/%3E%3C/svg%3E");
}

.nexa-v3 .nexa-v3-trust__item--purity .nexa-v3-trust__icon::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230C2742' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3.75L18 6V10.5C18 14.25 15.75 17.25 12 19.25C8.25 17.25 6 14.25 6 10.5V6L12 3.75Z'/%3E%3Cpath d='M9.5 11.75L11.25 13.5L14.75 10'/%3E%3C/svg%3E");
}

.nexa-v3 .nexa-v3-trust__copy {
	min-width: 0;
	padding-top: 2px;
}

.nexa-v3 .nexa-v3-trust__copy h3 {
	margin: 0 0 6px;
	color: var(--nexa-navy);
	font-family: "DM Sans", sans-serif;
	font-size: 16px;
	font-weight: 700;
	font-style: normal;
	line-height: 1.25;
	letter-spacing: -0.2px;
	text-transform: none;
}

.nexa-v3 .nexa-v3-trust__copy p {
	margin: 0;
	color: var(--nexa-text-soft);
	font-family: "DM Sans", sans-serif;
	font-size: 13px;
	font-weight: 400;
	line-height: 1.45;
}

/* =========================================================
   TABLET — 768 px a 1199 px
   ========================================================= */

@media (min-width: 768px) and (max-width: 1199px) {
	.nexa-v3 .nexa-v3-hero {
		padding: 58px 32px 46px;
	}

	.nexa-v3 .nexa-v3-hero::before {
		background-size: 920px auto;
		opacity: 0.23;
	}

	.nexa-v3 .nexa-v3-hero::after {
		top: 49%;
		left: 21%;
		width: clamp(330px, 42vw, 470px);
		opacity: 0.88;
		animation: nexaRingOrbit 64s linear infinite;
	}

	.nexa-v3 .nexa-v3-hero__layout {
		display: grid;
		grid-template-columns: minmax(0, 1.04fr) minmax(300px, 0.96fr);
		align-items: center;
		gap: 28px;
	}

	.nexa-v3 .nexa-v3-hero__content {
		width: 100%;
		max-width: 520px;
	}

	.nexa-v3 .nexa-v3-hero__eyebrow {
		margin-bottom: 22px;
		font-size: 11px;
		letter-spacing: 1.25px;
		white-space: nowrap;
	}

	.nexa-v3 .nexa-v3-hero__title {
		margin-bottom: 20px;
		font-size: clamp(36px, 4.75vw, 46px);
		line-height: 1.04;
		letter-spacing: -1.35px;
	}

	.nexa-v3 .nexa-v3-hero__description {
		max-width: 34ch;
		margin-bottom: 26px;
		font-size: 16px;
		line-height: 1.55;
	}

	.nexa-v3 .nexa-v3-hero__actions {
		flex-direction: row;
		gap: 10px;
	}

	.nexa-v3 .nexa-v3-button {
		flex: 1 1 0;
		width: auto;
		min-height: 52px;
		padding: 13px 16px;
	}

	.nexa-v3 .nexa-v3-hero__media {
		--nexa-media-radius: 0 26px 26px 0;
		--nexa-media-mask: linear-gradient(
			90deg,
			rgba(0, 0, 0, 0) 0%,
			rgba(0, 0, 0, 0.06) 4%,
			rgba(0, 0, 0, 0.22) 10%,
			rgba(0, 0, 0, 0.62) 18%,
			rgba(0, 0, 0, 0.90) 25%,
			#000 31%,
			#000 100%
		);

		max-width: 445px;
		justify-self: end;
		border-radius: var(--nexa-media-radius);
	}

	.nexa-v3 .nexa-v3-hero__image,
	.nexa-v3 .nexa-v3-hero__video {
		aspect-ratio: 4 / 5;
		filter: drop-shadow(14px 22px 30px rgba(12, 39, 66, 0.13));
	}

	/* La izquierda se desvanece realmente y deja ver el fondo del hero */
	.nexa-v3 .nexa-v3-hero__image,
	.nexa-v3 .nexa-v3-hero__video,
	.nexa-v3 .nexa-v3-hero__tint {
		-webkit-mask-image: var(--nexa-media-mask);
		mask-image: var(--nexa-media-mask);
	}

	.nexa-v3 .nexa-v3-trust {
		margin-top: -32px;
		padding: 0 32px 32px;
	}

	.nexa-v3 .nexa-v3-trust__inner {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		max-width: 980px;
		border-radius: 22px;
	}

	.nexa-v3 .nexa-v3-trust__item {
		grid-template-columns: 52px minmax(0, 1fr);
		min-height: 150px;
		padding: 24px 20px;
		border-right: 1px solid rgba(12, 39, 66, 0.08);
		border-bottom: 1px solid rgba(12, 39, 66, 0.08);
	}

	.nexa-v3 .nexa-v3-trust__item:nth-child(even) {
		border-right: 0;
	}

	.nexa-v3 .nexa-v3-trust__item:nth-child(n + 3) {
		border-bottom: 0;
	}
}

/* =========================================================
   TABLET COMPACTA — 768 px a 1023 px
   Evita que el texto, la imagen y la barra compitan entre sí.
   ========================================================= */

@media (min-width: 768px) and (max-width: 1023px) {
	.nexa-v3 .nexa-v3-hero {
		padding: 42px 26px 0;
	}

	.nexa-v3 .nexa-v3-hero__layout {
		grid-template-columns: minmax(410px, 1.18fr) minmax(250px, 0.82fr);
		align-items: center;
		gap: 14px;
	}

	.nexa-v3 .nexa-v3-hero__content {
		max-width: 500px;
	}

	.nexa-v3 .nexa-v3-hero__eyebrow {
		gap: 7px;
		margin-bottom: 17px;
		font-size: 9.5px;
		letter-spacing: 0.95px;
		white-space: nowrap;
	}

	.nexa-v3 .nexa-v3-hero__eyebrow::before {
		width: 22px;
		flex-basis: 22px;
	}

	.nexa-v3 .nexa-v3-hero__title {
		max-width: none;
		margin-bottom: 18px;
		font-size: clamp(31px, 3.75vw, 36px);
		line-height: 1.02;
		letter-spacing: -1px;
	}

	.nexa-v3 .nexa-v3-hero__title-line {
		display: block;
		white-space: nowrap;
	}

	.nexa-v3 .nexa-v3-hero__rotator {
		min-width: 6.4em;
	}

	.nexa-v3 .nexa-v3-hero__description {
		max-width: 34ch;
		margin-bottom: 20px;
		font-size: 14.5px;
		line-height: 1.48;
	}

	.nexa-v3 .nexa-v3-hero__actions {
		gap: 8px;
	}

	.nexa-v3 .nexa-v3-button {
		min-height: 49px;
		padding: 11px 12px;
		font-size: 13.5px;
	}

	.nexa-v3 .nexa-v3-hero__media {
		max-width: 330px;
		margin-top: 20px;
		align-self: end;
	}

	.nexa-v3 .nexa-v3-hero__media::after {
		top: 13px;
		right: 13px;
		font-size: 8.4px;
		letter-spacing: 0.78px;
	}

	.nexa-v3 .nexa-v3-hero__tint::before {
		height: 30%;
		background: linear-gradient(
			180deg,
			transparent 0%,
			rgba(247, 248, 246, 0.12) 24%,
			rgba(247, 248, 246, 0.64) 70%,
			rgba(247, 248, 246, 0.97) 100%
		);
	}

	.nexa-v3 .nexa-v3-trust {
		margin-top: -44px;
		padding: 0 28px 30px;
	}

	.nexa-v3 .nexa-v3-trust__inner {
		max-width: 900px;
	}

	.nexa-v3 .nexa-v3-trust__item {
		min-height: 136px;
		padding: 20px 18px;
	}

	.nexa-v3 .nexa-v3-trust__copy h3 {
		font-size: 15px;
	}

	.nexa-v3 .nexa-v3-trust__copy p {
		font-size: 12.5px;
		line-height: 1.42;
	}
}


/* =========================================================
   TABLET VERTICAL ESTRECHA — 768 px a 839 px
   En este rango deja de forzar dos columnas: usa una composición
   apilada para conservar proporciones, lectura y unión con trust.
   ========================================================= */

@media (min-width: 768px) and (max-width: 839px) {
	.nexa-v3 .nexa-v3-hero {
		display: block;
		min-height: 0;
		padding: 34px 28px 0;
	}

	.nexa-v3 .nexa-v3-hero::after {
		top: 31%;
		left: 31%;
		width: min(64vw, 480px);
		opacity: 0.78;
	}

	.nexa-v3 .nexa-v3-hero__layout {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		width: 100%;
		max-width: none;
		gap: 20px;
	}

	.nexa-v3 .nexa-v3-hero__content {
		width: 100%;
		max-width: 690px;
		margin: 0 auto;
	}

	.nexa-v3 .nexa-v3-hero__eyebrow {
		gap: 8px;
		margin-bottom: 18px;
		font-size: 10px;
		letter-spacing: 1.05px;
		white-space: nowrap;
	}

	.nexa-v3 .nexa-v3-hero__eyebrow::before {
		width: 24px;
		flex-basis: 24px;
	}

	.nexa-v3 .nexa-v3-hero__title {
		max-width: none;
		margin-bottom: 18px;
		font-size: clamp(38px, 5.15vw, 42px);
		line-height: 1.02;
		letter-spacing: -1.25px;
	}

	.nexa-v3 .nexa-v3-hero__title-line {
		display: block;
		white-space: nowrap;
	}

	.nexa-v3 .nexa-v3-hero__rotator {
		min-width: 6.45em;
	}

	.nexa-v3 .nexa-v3-hero__description {
		max-width: 42ch;
		margin-bottom: 22px;
		font-size: 15.5px;
		line-height: 1.52;
	}

	.nexa-v3 .nexa-v3-hero__actions {
		flex-direction: row;
		width: 100%;
		max-width: 520px;
		gap: 10px;
	}

	.nexa-v3 .nexa-v3-button {
		flex: 1 1 0;
		width: auto;
		min-height: 51px;
		padding: 12px 16px;
		font-size: 14px;
	}

	/* Imagen integrada a todo el ancho, igual que en móvil */
	.nexa-v3 .nexa-v3-hero__media {
		--nexa-media-radius: 0;
		width: 100vw;
		max-width: none;
		margin: 4px calc(50% - 50vw) 0;
		padding: 0;
		align-self: auto;
		justify-self: auto;
		overflow: hidden !important;
		border: 0;
		border-radius: 0;
		background: transparent;
		box-shadow: none;
	}

	.nexa-v3 .nexa-v3-hero__image,
	.nexa-v3 .nexa-v3-hero__video,
	.nexa-v3 .nexa-v3-hero__tint {
		-webkit-mask-image: none;
		mask-image: none;
		border-radius: 0;
	}

	.nexa-v3 .nexa-v3-hero__image,
	.nexa-v3 .nexa-v3-hero__video {
		width: 100%;
		aspect-ratio: 16 / 9;
		object-fit: cover;
		object-position: center 50%;
		filter: none;
	}

	.nexa-v3 .nexa-v3-hero__tint {
		inset: 0;
		opacity: 0.86;
	}

	/* Difuminado superior e inferior para integrar imagen, hero y trust */
	.nexa-v3 .nexa-v3-hero__media::before {
		content: "";
		position: absolute;
		z-index: 7;
		inset: 0;
		width: 100%;
		height: 100%;
		pointer-events: none;
		border-radius: 0;
		background:
			linear-gradient(
				180deg,
				rgba(247, 248, 246, 0.98) 0%,
				rgba(247, 248, 246, 0.62) 9%,
				rgba(247, 248, 246, 0.16) 20%,
				transparent 32%
			),
			linear-gradient(
				180deg,
				transparent 62%,
				rgba(247, 248, 246, 0.12) 73%,
				rgba(247, 248, 246, 0.66) 90%,
				rgba(247, 248, 246, 0.97) 100%
			);
		filter: none;
		opacity: 1;
	}

	.nexa-v3 .nexa-v3-hero__media::after {
		z-index: 10;
		top: 16px;
		right: 24px;
		min-height: 31px;
		padding: 8px 12px;
		font-size: 9px;
		letter-spacing: 0.86px;
	}

	.nexa-v3 .nexa-v3-hero__tint::before {
		height: 32%;
	}

	.nexa-v3 .nexa-v3-trust {
		z-index: 12;
		margin-top: -70px;
		padding: 0 28px 42px;
	}

	.nexa-v3 .nexa-v3-trust__inner {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		max-width: 900px;
		border-radius: 22px;
	}

	.nexa-v3 .nexa-v3-trust__item {
		grid-template-columns: 52px minmax(0, 1fr);
		min-height: 136px;
		padding: 20px 18px;
	}
}

/* =========================================================
   ESCRITORIO — 1200 px en adelante
   ========================================================= */

@media (min-width: 1200px) {
	.nexa-v3 .nexa-v3-hero {
		min-height: 700px;
		display: flex;
		align-items: center;
		padding: 78px 48px 68px;
	}

	.nexa-v3 .nexa-v3-hero::before {
		background-size: 1180px auto;
		opacity: 0.25;
	}

	.nexa-v3 .nexa-v3-hero::after {
		top: 48%;
		left: 19.5%;
		width: clamp(420px, 31vw, 560px);
		opacity: 1;
		animation: nexaRingOrbit 64s linear infinite;
	}

	.nexa-v3 .nexa-v3-hero__layout {
		display: grid;
		grid-template-columns: minmax(560px, 1.08fr) minmax(430px, 0.92fr);
		align-items: center;
		gap: 34px;
	}

	.nexa-v3 .nexa-v3-hero__content {
		width: 100%;
		max-width: 640px;
		padding-left: 10px;
	}

	.nexa-v3 .nexa-v3-hero__eyebrow {
		margin-bottom: 24px;
		letter-spacing: 1.7px;
	}

	.nexa-v3 .nexa-v3-hero__title {
		max-width: none;
		margin-bottom: 24px;
		font-size: clamp(44px, 3.45vw, 54px);
		line-height: 1.03;
		letter-spacing: -1.9px;
	}

	.nexa-v3 .nexa-v3-hero__title-line {
		white-space: nowrap;
	}

	.nexa-v3 .nexa-v3-hero__rotator {
		min-width: 6.55em;
	}

	.nexa-v3 .nexa-v3-hero__description {
		max-width: 40ch;
		margin-bottom: 32px;
		font-size: 18px;
		line-height: 1.65;
	}

	.nexa-v3 .nexa-v3-hero__actions {
		flex-direction: row;
		width: auto;
		max-width: 440px;
		gap: 12px;
	}

	.nexa-v3 .nexa-v3-button {
		flex: 1 1 0;
		width: auto;
		min-height: 54px;
		padding: 14px 22px;
	}

	.nexa-v3 .nexa-v3-hero__media {
		--nexa-media-radius: 0 30px 30px 0;
		--nexa-media-mask: linear-gradient(
			90deg,
			rgba(0, 0, 0, 0) 0%,
			rgba(0, 0, 0, 0.04) 3%,
			rgba(0, 0, 0, 0.16) 8%,
			rgba(0, 0, 0, 0.48) 14%,
			rgba(0, 0, 0, 0.82) 21%,
			#000 27%,
			#000 100%
		);

		max-width: 520px;
		justify-self: end;
		border-radius: var(--nexa-media-radius);
	}

	.nexa-v3 .nexa-v3-hero__media::before {
		inset: 12% -8% -8% 16%;
		filter: blur(32px);
		opacity: 0.68;
	}

	.nexa-v3 .nexa-v3-hero__media::after {
		top: 18px;
		right: 18px;
		min-height: 32px;
		padding: 8px 13px;
		font-size: 10.5px;
	}

	.nexa-v3 .nexa-v3-hero__image,
	.nexa-v3 .nexa-v3-hero__video {
		aspect-ratio: 4 / 5;
		filter: drop-shadow(18px 28px 36px rgba(12, 39, 66, 0.15));
	}

	.nexa-v3 .nexa-v3-hero__image,
	.nexa-v3 .nexa-v3-hero__video,
	.nexa-v3 .nexa-v3-hero__tint {
		-webkit-mask-image: var(--nexa-media-mask);
		mask-image: var(--nexa-media-mask);
	}

	.nexa-v3 .nexa-v3-trust {
		margin-top: -30px;
		padding: 0 48px 34px;
	}

	.nexa-v3 .nexa-v3-trust__inner {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		max-width: 1180px;
		border-radius: 24px;
	}

	.nexa-v3 .nexa-v3-trust__item {
		grid-template-columns: 52px minmax(0, 1fr);
		align-content: start;
		min-height: 176px;
		padding: 26px 20px;
		border-right: 1px solid rgba(12, 39, 66, 0.08);
		border-bottom: 0;
	}

	.nexa-v3 .nexa-v3-trust__item:last-child {
		border-right: 0;
	}
}

/* =========================================================
   INTERACCIONES Y ACCESIBILIDAD
   ========================================================= */

@keyframes nexaHeroWord {
	0%,
	18% {
		opacity: 1;
		transform: translate3d(0, 0, 0);
	}

	23%,
	92% {
		opacity: 0;
		transform: translate3d(0, -0.18em, 0);
	}

	96% {
		opacity: 0;
		transform: translate3d(0, 0.18em, 0);
	}

	100% {
		opacity: 1;
		transform: translate3d(0, 0, 0);
	}
}

@keyframes nexaRingOrbit {
	0% {
		transform:
			translate3d(-50%, -50%, 0)
			rotate(0deg)
			scale(1);
	}

	25% {
		transform:
			translate3d(calc(-50% + 8px), calc(-50% - 5px), 0)
			rotate(90deg)
			scale(1.012);
	}

	50% {
		transform:
			translate3d(calc(-50% + 12px), calc(-50% - 8px), 0)
			rotate(180deg)
			scale(1.02);
	}

	75% {
		transform:
			translate3d(calc(-50% + 5px), calc(-50% - 3px), 0)
			rotate(270deg)
			scale(1.01);
	}

	100% {
		transform:
			translate3d(-50%, -50%, 0)
			rotate(360deg)
			scale(1);
	}
}

@keyframes nexaRingOrbitMobile {
	0% {
		transform:
			translate3d(-50%, -50%, 0)
			rotate(0deg)
			scale(1);
	}

	50% {
		transform:
			translate3d(calc(-50% + 5px), calc(-50% - 4px), 0)
			rotate(180deg)
			scale(1.012);
	}

	100% {
		transform:
			translate3d(-50%, -50%, 0)
			rotate(360deg)
			scale(1);
	}
}

@keyframes nexaCatalogOrbit {
	0% {
		transform: rotate(0deg);
	}

	50% {
		transform: rotate(180deg);
	}

	100% {
		transform: rotate(360deg);
	}
}

@keyframes nexaSwipeHint {
	0%,
	100% {
		transform: translateX(0);
	}

	50% {
		transform: translateX(4px);
	}
}

@media (hover: hover) and (pointer: fine) {
	.nexa-v3 .nexa-v3-button:hover::before {
		left: 135%;
	}

	.nexa-v3 .nexa-v3-button:hover {
		transform: translateY(-2px);
	}

	.nexa-v3 .nexa-v3-button--primary:hover {
		background: linear-gradient(135deg, #347CE7 0%, #236AD4 52%, #174FA8 100%);
		box-shadow:
			inset 0 1px 0 rgba(255, 255, 255, 0.24),
			0 14px 30px rgba(31, 103, 210, 0.27);
	}

	.nexa-v3 .nexa-v3-button--secondary:hover {
		background: linear-gradient(135deg, #B0EBDD 0%, #91DDCD 100%);
		box-shadow:
			inset 0 1px 0 rgba(255, 255, 255, 0.52),
			0 13px 28px rgba(59, 159, 145, 0.18);
	}
}

@keyframes nexaWhyOrbit {
	0% {
		transform: rotate(0deg);
	}

	100% {
		transform: rotate(360deg);
	}
}

@keyframes nexaWhyOrbitCentered {
	0% {
		transform: translateY(-50%) rotate(0deg);
	}

	100% {
		transform: translateY(-50%) rotate(360deg);
	}
}

@media (prefers-reduced-motion: reduce) {
	.nexa-v3 .nexa-v3-hero::after {
		animation: none;
	}

	.nexa-v3 .nexa-v3-hero__rotator-word {
		animation: none;
		opacity: 0;
		transform: none;
	}

	.nexa-v3 .nexa-v3-hero__rotator-word:first-child {
		opacity: 1;
	}

	.nexa-v3 .nexa-v3-button,
	.nexa-v3 .nexa-v3-button::before {
		transition: none;
	}
}

/* =========================================================
   MÓVIL — HASTA 767 px
   Full bleed, círculo responsivo y barra superpuesta.
   ========================================================= */

@media (max-width: 767px) {
	.nexa-v3 .nexa-v3-hero {
		padding-bottom: 0;
	}

	.nexa-v3 .nexa-v3-hero::after {
		display: block;
		top: clamp(245px, 66vw, 290px);
		left: 50%;
		width: min(90vw, 330px);
		opacity: 0.72;
		animation: nexaRingOrbitMobile 78s linear infinite;
	}

	.nexa-v3 .nexa-v3-hero__title-line {
		white-space: normal;
	}

	.nexa-v3 .nexa-v3-hero__rotator {
		min-width: 0;
	}

	.nexa-v3 .nexa-v3-hero__layout {
		gap: 18px;
	}

	/* Imagen a todo el ancho real del viewport */
	.nexa-v3 .nexa-v3-hero__media {
		--nexa-media-radius: 0;

		width: 100vw;
		max-width: none;
		margin-top: 2px;
		margin-right: calc(50% - 50vw);
		margin-left: calc(50% - 50vw);
		padding: 8px 0;
		overflow: hidden !important;
		background: linear-gradient(
			90deg,
			rgba(31, 103, 210, 0.26) 0%,
			rgba(137, 217, 200, 0.30) 52%,
			rgba(31, 103, 210, 0.18) 100%
		);
		box-shadow:
			inset 0 1px 0 rgba(255, 255, 255, 0.42),
			inset 0 -1px 0 rgba(12, 39, 66, 0.12);
	}

	.nexa-v3 .nexa-v3-hero__image,
	.nexa-v3 .nexa-v3-hero__video,
	.nexa-v3 .nexa-v3-hero__tint {
		-webkit-mask-image: none;
		mask-image: none;
	}

	.nexa-v3 .nexa-v3-hero__image,
	.nexa-v3 .nexa-v3-hero__video {
		aspect-ratio: 1 / 1;
		object-position: center 54%;
		filter: none;
	}

	.nexa-v3 .nexa-v3-hero__tint {
		inset: 8px 0;
		opacity: 0.84;
	}

	/* Degradado superior que fusiona la imagen con el fondo */
	.nexa-v3 .nexa-v3-hero__media::before {
		z-index: 7;
		inset: 8px 0;
		width: 100%;
		height: auto;
		border-radius: 0;
		background:
			linear-gradient(
				180deg,
				rgba(226, 239, 252, 0.46) 0%,
				rgba(221, 247, 244, 0.20) 10%,
				rgba(247, 248, 246, 0.03) 22%,
				transparent 34%
			);
		filter: none;
		opacity: 1;
	}

	/* La parte inferior de la imagen queda limpia */
	.nexa-v3 .nexa-v3-hero__tint::before {
		display: none;
	}

	.nexa-v3 .nexa-v3-hero__media::after {
		top: 22px;
		right: 16px;
	}

	/* La barra de confianza entra sobre la parte inferior de la imagen */
	.nexa-v3 .nexa-v3-trust {
		position: relative;
		z-index: 12;
		margin-top: -60px;
		padding-right: 16px;
		padding-left: 16px;
	}

}

/* Móvil estrecho */
@media (max-width: 479px) {
	.nexa-v3 .nexa-v3-hero::before {
		background-position: center top;
		background-size: 760px auto;
		opacity: 0.18;
	}

	.nexa-v3 .nexa-v3-hero::after {
		top: clamp(235px, 69vw, 270px);
		width: min(92vw, 310px);
		opacity: 0.66;
		animation-duration: 88s;
	}

	.nexa-v3 .nexa-v3-hero__media::after {
		font-size: 8.5px;
		letter-spacing: 0.85px;
	}
}

/* Soporte para navegadores que no aplican mask-image */
@supports not ((-webkit-mask-image: linear-gradient(#000, transparent)) or (mask-image: linear-gradient(#000, transparent))) {
	@media (max-width: 767px) {
	.nexa-v3 .nexa-v3-catalog::before {
		top: -26px;
		right: -132px;
		width: 188px;
		opacity: 0.48;
		animation-duration: 96s;
	}
}

@media (min-width: 768px) {
		.nexa-v3 .nexa-v3-hero__media {
			overflow: hidden;
			border-radius: 28px;
		}

		.nexa-v3 .nexa-v3-hero__media::before {
			z-index: 7;
			inset: 0 auto 0 0;
			width: 30%;
			border-radius: 0;
			background: linear-gradient(
				90deg,
				rgba(247, 248, 246, 0.98) 0%,
				rgba(247, 248, 246, 0.72) 42%,
				transparent 100%
			);
			filter: none;
			opacity: 1;
		}
	}
}

/* =========================================================
   MÓVIL COMPACTO — 322 px a 487 px
   Ajusta el encabezado para evitar saltos incómodos y exceso
   de altura sin cambiar el full bleed de la imagen.
   ========================================================= */

@media (min-width: 322px) and (max-width: 487px) {
	.nexa-v3 .nexa-v3-hero {
		padding: 18px 18px 0;
	}

	.nexa-v3 .nexa-v3-hero::after {
		top: clamp(218px, 59vw, 238px);
		width: min(88vw, 320px);
	}

	.nexa-v3 .nexa-v3-hero__layout {
		gap: 12px;
	}

	.nexa-v3 .nexa-v3-hero__eyebrow {
		width: 100%;
		gap: 7px;
		margin-bottom: 15px;
		font-size: 9px;
		line-height: 1.3;
		letter-spacing: 0.9px;
		white-space: normal;
	}

	.nexa-v3 .nexa-v3-hero__eyebrow::before {
		width: 20px;
		flex-basis: 20px;
	}

	.nexa-v3 .nexa-v3-hero__title {
		margin-bottom: 14px;
		font-size: clamp(26px, 7.2vw, 30px);
		line-height: 1.01;
		letter-spacing: -0.8px;
	}

	.nexa-v3 .nexa-v3-hero__rotator {
		margin-left: 0.03em;
	}

	.nexa-v3 .nexa-v3-hero__description {
		max-width: 34ch;
		margin-bottom: 18px;
		font-size: 14.5px;
		line-height: 1.45;
	}

	.nexa-v3 .nexa-v3-hero__actions {
		gap: 8px;
	}

	.nexa-v3 .nexa-v3-button {
		min-height: 48px;
		padding: 11px 16px;
		font-size: 14px;
	}

	/* Imagen más alta para mostrar mejor a los personajes */
	.nexa-v3 .nexa-v3-hero__image,
	.nexa-v3 .nexa-v3-hero__video {
		aspect-ratio: 5 / 6;
		object-position: center 50%;
	}

	.nexa-v3 .nexa-v3-hero__media::before {
		height: 100%;
	}

	.nexa-v3 .nexa-v3-hero__media::after {
		top: 10px;
		right: 14px;
	}

	.nexa-v3 .nexa-v3-trust {
		margin-top: -58px;
	}
}

/* Teléfonos extremadamente angostos */
@media (max-width: 321px) {
	.nexa-v3 .nexa-v3-hero {
		padding: 16px 14px 0;
	}

	.nexa-v3 .nexa-v3-hero__eyebrow {
		gap: 6px;
		margin-bottom: 14px;
		font-size: 8.3px;
		line-height: 1.3;
		letter-spacing: 0.75px;
		white-space: normal;
	}

	.nexa-v3 .nexa-v3-hero__eyebrow::before {
		width: 18px;
		flex-basis: 18px;
	}

	.nexa-v3 .nexa-v3-hero__title {
		margin-bottom: 13px;
		font-size: 25px;
		line-height: 1.01;
	}

	.nexa-v3 .nexa-v3-hero__description {
		margin-bottom: 17px;
		font-size: 14px;
		line-height: 1.45;
	}

	.nexa-v3 .nexa-v3-hero__image,
	.nexa-v3 .nexa-v3-hero__video {
		aspect-ratio: 5 / 6;
		object-position: center 50%;
	}

	.nexa-v3 .nexa-v3-hero__media::before {
		height: 100%;
	}
}

/* =========================================================
   CATEGORÍAS DEL CATÁLOGO — MOBILE FIRST
   ========================================================= */

.nexa-v3 .nexa-v3-categories {
	position: relative;
	width: 100%;
	margin: -1px 0 0;
	padding: 52px 0 82px;
	overflow: hidden;
	background:
		linear-gradient(
			90deg,
			rgba(31, 103, 210, 0.26) 0%,
			rgba(137, 217, 200, 0.30) 52%,
			rgba(31, 103, 210, 0.18) 100%
		) top / 100% 6px no-repeat,
		radial-gradient(
			circle at 8% 18%,
			rgba(31, 103, 210, 0.08) 0%,
			transparent 34%
		),
		radial-gradient(
			circle at 92% 88%,
			rgba(137, 217, 200, 0.11) 0%,
			transparent 38%
		),
		linear-gradient(
			180deg,
			#EEF3F8 0%,
			#F3F6F7 16%,
			#F8F8F5 38%,
			#F6F8F7 100%
		);
}

.nexa-v3 .nexa-v3-categories::after {
	content: "";
	position: absolute;
	z-index: 0;
	right: 0;
	bottom: 0;
	left: 0;
	height: 150px;
	pointer-events: none;
	background: linear-gradient(
		180deg,
		transparent 0%,
		rgba(246, 248, 247, 0.58) 58%,
		#F6F8F7 100%
	);
}

.nexa-v3 .nexa-v3-categories > .e-con-inner,
.nexa-v3 .nexa-v3-categories > .elementor-element,
.nexa-v3 .nexa-v3-categories .elementor-widget-html,
.nexa-v3 .nexa-v3-categories .elementor-widget-container {
	width: 100%;
}

.nexa-v3 .nexa-v3-catalog {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 1240px;
	margin: 0 auto;
	padding: 0 20px;
}

.nexa-v3 .nexa-v3-catalog::before {
	content: "";
	position: absolute;
	z-index: -1;
	top: -34px;
	right: -138px;
	width: 220px;
	aspect-ratio: 1;
	pointer-events: none;
	border: 1px solid rgba(31, 103, 210, 0.11);
	border-radius: 50%;
	background:
		radial-gradient(
			circle at 50% 2.5%,
			rgba(31, 103, 210, 0.58) 0 3px,
			rgba(31, 103, 210, 0.16) 3.5px 6px,
			transparent 6.5px
		),
		radial-gradient(
			circle at 87% 68%,
			rgba(59, 159, 145, 0.48) 0 2.5px,
			rgba(137, 217, 200, 0.16) 3px 5px,
			transparent 5.5px
		),
		radial-gradient(
			circle at center,
			transparent 0 37.5%,
			rgba(137, 217, 200, 0.17) 38% 38.8%,
			transparent 39.2%
		),
		radial-gradient(
			circle at center,
			rgba(31, 103, 210, 0.025) 0%,
			transparent 68%
		);
	box-shadow:
		0 0 0 30px rgba(31, 103, 210, 0.026),
		0 0 0 58px rgba(137, 217, 200, 0.020);
	opacity: 0.80;
	transform: rotate(0deg);
	transform-origin: center;
	will-change: transform;
	animation: nexaCatalogOrbit 86s linear infinite;
}

.nexa-v3 .nexa-v3-catalog__header {
	max-width: 680px;
	margin: 0 0 30px;
}

.nexa-v3 .nexa-v3-catalog__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	margin: 0 0 12px;
	color: var(--nexa-riptide-dark);
	font-size: 11px;
	font-weight: 800;
	line-height: 1.4;
	letter-spacing: 1.45px;
	text-transform: uppercase;
}

.nexa-v3 .nexa-v3-catalog__eyebrow::before {
	content: "";
	display: block;
	width: 26px;
	height: 2px;
	flex: 0 0 26px;
	border-radius: 999px;
	background: linear-gradient(
		90deg,
		var(--nexa-blue),
		var(--nexa-riptide)
	);
}

.nexa-v3 .nexa-v3-catalog__title {
	margin: 0 0 12px;
	color: var(--nexa-navy);
	font-family: "DM Sans", sans-serif;
	font-size: clamp(30px, 8vw, 40px);
	font-weight: 700;
	line-height: 1.05;
	letter-spacing: -1.15px;
	text-wrap: balance;
}

.nexa-v3 .nexa-v3-catalog__description {
	max-width: 48ch;
	margin: 0;
	color: var(--nexa-text-soft);
	font-size: 15px;
	line-height: 1.6;
}

.nexa-v3 .nexa-v3-catalog__grid {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: min(82vw, 330px);
	gap: 14px;
	margin: 0 -20px;
	padding: 4px 20px 14px;
	overflow-x: auto;
	overflow-y: visible;
	scroll-snap-type: x mandatory;
	scroll-padding-left: 20px;
	overscroll-behavior-inline: contain;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
}

.nexa-v3 .nexa-v3-catalog__grid::-webkit-scrollbar {
	display: none;
}

.nexa-v3 .nexa-v3-category-card {
	position: relative;
	display: flex;
	flex-direction: column;
	min-width: 0;
	min-height: 300px;
	padding: 22px;
	overflow: hidden;
	border: 1px solid rgba(12, 39, 66, 0.09);
	border-radius: 22px;
	background:
		linear-gradient(
			145deg,
			rgba(255, 255, 255, 0.98) 0%,
			rgba(248, 251, 252, 0.96) 100%
		);
	box-shadow:
		0 16px 38px rgba(12, 39, 66, 0.08),
		inset 0 1px 0 rgba(255, 255, 255, 0.92);
	scroll-snap-align: start;
	transition:
		transform 200ms ease,
		border-color 200ms ease,
		box-shadow 200ms ease;
}

.nexa-v3 .nexa-v3-category-card::before {
	content: "";
	position: absolute;
	top: -44px;
	right: -46px;
	width: 150px;
	aspect-ratio: 1;
	border-radius: 50%;
	background:
		radial-gradient(
			circle,
			rgba(31, 103, 210, 0.13) 0%,
			rgba(31, 103, 210, 0.045) 46%,
			transparent 72%
		);
	pointer-events: none;
}

.nexa-v3 .nexa-v3-category-card:nth-child(even)::before {
	background:
		radial-gradient(
			circle,
			rgba(137, 217, 200, 0.20) 0%,
			rgba(137, 217, 200, 0.055) 48%,
			transparent 72%
		);
}

.nexa-v3 .nexa-v3-category-card::after {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	height: 3px;
	background: linear-gradient(
		90deg,
		var(--nexa-blue) 0%,
		var(--nexa-riptide) 100%
	);
	opacity: 0.82;
}

.nexa-v3 .nexa-v3-category-card__icon {
	position: relative;
	z-index: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 54px;
	height: 54px;
	flex: 0 0 54px;
	margin-bottom: 24px;
	color: var(--nexa-navy);
	border: 1px solid rgba(59, 159, 145, 0.22);
	border-radius: 16px;
	background: linear-gradient(
		180deg,
		#F9FFFE 0%,
		var(--nexa-riptide-soft) 100%
	);
	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, 0.86),
		0 8px 20px rgba(12, 39, 66, 0.05);
}

.nexa-v3 .nexa-v3-category-card__icon svg {
	display: block;
	width: 28px;
	height: 28px;
	overflow: visible;
	fill: none !important;
	stroke: currentColor !important;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.nexa-v3 .nexa-v3-category-card__icon svg path,
.nexa-v3 .nexa-v3-category-card__icon svg circle {
	fill: none !important;
	stroke: currentColor !important;
	vector-effect: non-scaling-stroke;
}

.nexa-v3 .nexa-v3-category-card__content {
	display: flex;
	flex: 1;
	flex-direction: column;
	min-width: 0;
}

.nexa-v3 .nexa-v3-category-card__content h3 {
	margin: 0 0 11px;
	color: var(--nexa-navy);
	font-family: "DM Sans", sans-serif;
	font-size: 19px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: -0.45px;
	text-wrap: balance;
}

.nexa-v3 .nexa-v3-category-card__content p {
	margin: 0 0 22px;
	color: var(--nexa-text-soft);
	font-size: 14px;
	line-height: 1.55;
}

.nexa-v3 .nexa-v3-category-card__link {
	display: inline-flex;
	align-items: center;
	width: fit-content;
	gap: 8px;
	margin-top: auto;
	color: var(--nexa-blue);
	font-size: 14px;
	font-weight: 800;
	line-height: 1.2;
	text-decoration: none;
}

.nexa-v3 .nexa-v3-category-card__link span {
	display: inline-block;
	font-size: 17px;
	line-height: 1;
	transition: transform 180ms ease;
}

.nexa-v3 .nexa-v3-category-card__link:focus-visible {
	outline: 3px solid rgba(31, 103, 210, 0.22);
	outline-offset: 4px;
	border-radius: 4px;
}

.nexa-v3 .nexa-v3-catalog::after {
	content: "Desliza para explorar  →";
	display: flex;
	align-items: center;
	justify-content: center;
	width: fit-content;
	min-height: 36px;
	margin: 10px 0 0 auto;
	padding: 8px 13px;
	color: var(--nexa-navy);
	border: 1px solid rgba(31, 103, 210, 0.14);
	border-radius: 999px;
	background:
		linear-gradient(
			135deg,
			rgba(221, 247, 244, 0.86) 0%,
			rgba(232, 240, 252, 0.92) 100%
		);
	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, 0.88),
		0 7px 18px rgba(12, 39, 66, 0.06);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.25px;
	text-align: center;
	animation: nexaSwipeHint 2.8s ease-in-out infinite;
}

/* =========================================================
   CATEGORÍAS — TABLET
   ========================================================= */

@media (min-width: 768px) {
	.nexa-v3 .nexa-v3-categories {
		padding: 62px 0 82px;
	}

	.nexa-v3 .nexa-v3-catalog::before {
		top: -30px;
		right: -126px;
		width: 210px;
		opacity: 0.74;
	}

	.nexa-v3 .nexa-v3-catalog {
		padding: 0 32px;
	}

	.nexa-v3 .nexa-v3-catalog__header {
		margin: 0 auto 38px;
		text-align: center;
	}

	.nexa-v3 .nexa-v3-catalog__eyebrow {
		justify-content: center;
	}

	.nexa-v3 .nexa-v3-catalog__description {
		margin-right: auto;
		margin-left: auto;
		font-size: 16px;
	}

	.nexa-v3 .nexa-v3-catalog__grid {
		grid-auto-flow: row;
		grid-auto-columns: auto;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 18px;
		margin: 0;
		padding: 0;
		overflow: visible;
		scroll-snap-type: none;
	}

	.nexa-v3 .nexa-v3-category-card {
		min-height: 288px;
		padding: 24px;
		scroll-snap-align: none;
	}

	.nexa-v3 .nexa-v3-catalog::after {
		display: none;
	}
}

/* =========================================================
   CATEGORÍAS — ESCRITORIO
   ========================================================= */

@media (min-width: 1200px) {
	.nexa-v3 .nexa-v3-categories {
		padding: 72px 0 98px;
	}

	.nexa-v3 .nexa-v3-catalog {
		padding: 0 48px;
	}

	.nexa-v3 .nexa-v3-catalog__header {
		margin-bottom: 36px;
	}

	.nexa-v3 .nexa-v3-catalog::before {
		top: -26px;
		right: -168px;
		width: 232px;
		opacity: 0.78;
	}

	.nexa-v3 .nexa-v3-catalog__title {
		font-size: clamp(44px, 3.4vw, 54px);
		letter-spacing: -1.8px;
	}

	.nexa-v3 .nexa-v3-catalog__grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 18px;
	}

	.nexa-v3 .nexa-v3-category-card {
		min-height: 326px;
		padding: 26px 24px;
		border-radius: 24px;
	}

	.nexa-v3 .nexa-v3-category-card__content h3 {
		font-size: 20px;
	}

	.nexa-v3 .nexa-v3-category-card__content p {
		font-size: 14px;
	}
}

@media (hover: hover) and (pointer: fine) {
	.nexa-v3 .nexa-v3-category-card:hover {
		transform: translateY(-6px);
		border-color: rgba(31, 103, 210, 0.18);
		box-shadow:
			0 24px 50px rgba(12, 39, 66, 0.12),
			inset 0 1px 0 rgba(255, 255, 255, 0.94);
	}

	.nexa-v3 .nexa-v3-category-card__link:hover span {
		transform: translateX(4px);
	}
}

@media (prefers-reduced-motion: reduce) {
	.nexa-v3 .nexa-v3-catalog::before {
		animation: none;
	}

	.nexa-v3 .nexa-v3-category-card,
	.nexa-v3 .nexa-v3-category-card__link span {
		transition: none;
	}
}

/* =========================================================
   PRODUCTOS DESTACADOS — MOBILE FIRST
   ========================================================= */

.nexa-v3 .nexa-v3-featured {
	position: relative;
	width: 100%;
	margin: -1px 0 0;
	padding: 66px 0 58px;
	overflow: hidden;
	background:
		radial-gradient(
			circle at 90% 12%,
			rgba(31, 103, 210, 0.07) 0%,
			transparent 34%
		),
		radial-gradient(
			circle at 8% 88%,
			rgba(137, 217, 200, 0.10) 0%,
			transparent 36%
		),
		linear-gradient(
			180deg,
			#F6F8F7 0%,
			#EEF3F8 16%,
			#F7F8F7 38%,
			#FBFAF6 100%
		);
}

.nexa-v3 .nexa-v3-featured::before {
	content: "";
	position: absolute;
	z-index: 0;
	top: 0;
	right: 0;
	left: 0;
	height: 160px;
	pointer-events: none;
	background: linear-gradient(
		180deg,
		rgba(246, 248, 247, 0.98) 0%,
		rgba(246, 248, 247, 0.54) 42%,
		transparent 100%
	);
}

.nexa-v3 .nexa-v3-featured > .e-con-inner,
.nexa-v3 .nexa-v3-featured > .elementor-element,
.nexa-v3 .nexa-v3-featured .elementor-widget-html,
.nexa-v3 .nexa-v3-featured .elementor-widget-shortcode,
.nexa-v3 .nexa-v3-featured .elementor-widget-container {
	width: 100%;
}

.nexa-v3 .nexa-v3-featured-products,
.nexa-v3 .nexa-v3-featured .woocommerce {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 1240px;
	margin: 0 auto;
	padding-right: 20px;
	padding-left: 20px;
}

/* Difuminado derecho del carrusel — móvil */
.nexa-v3 .nexa-v3-featured .woocommerce::after {
	content: "";
	position: absolute;
	z-index: 8;
	top: 4px;
	right: 0;
	bottom: 16px;
	width: 48px;
	pointer-events: none;
	background: linear-gradient(
		90deg,
		rgba(251, 250, 246, 0) 0%,
		rgba(251, 250, 246, 0.28) 38%,
		rgba(251, 250, 246, 0.72) 76%,
		rgba(251, 250, 246, 0.96) 100%
	);
	opacity: 1;
	transition: opacity 180ms ease;
}

.nexa-v3 .nexa-v3-featured-products__header {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	max-width: 680px;
	margin: 0 0 30px;
}

.nexa-v3 .nexa-v3-featured-products__header-copy {
	width: 100%;
}

.nexa-v3 .nexa-v3-featured-products__actions {
	display: flex;
	flex-direction: column;
	width: 100%;
	gap: 12px;
	margin-top: 22px;
}

.nexa-v3 .nexa-v3-featured-products__slider-controls {
	display: none;
	align-items: center;
	justify-content: center;
	gap: 10px;
}

.nexa-v3 .nexa-v3-featured-products__arrow {
	position: relative;
	display: inline-flex;
	overflow: hidden;
	isolation: isolate;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 46px;
	padding: 0;
	color: var(--nexa-navy);
	border: 1px solid rgba(31, 103, 210, 0.16);
	border-radius: 50%;
	background:
		linear-gradient(
			145deg,
			rgba(255, 255, 255, 0.98) 0%,
			rgba(221, 247, 244, 0.88) 100%
		);
	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, 0.94),
		0 9px 22px rgba(12, 39, 66, 0.08);
	cursor: pointer;
	transition:
		transform 180ms ease,
		opacity 180ms ease,
		border-color 180ms ease,
		box-shadow 180ms ease;
}

.nexa-v3 .nexa-v3-featured-products__arrow svg {
	display: block;
	width: 20px;
	height: 20px;
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.nexa-v3 .nexa-v3-featured-products__arrow:disabled {
	opacity: 0.34;
	cursor: default;
	transform: none;
}

.nexa-v3 .nexa-v3-featured-products__arrow:focus-visible {
	outline: 3px solid rgba(31, 103, 210, 0.22);
	outline-offset: 3px;
}

.nexa-v3 .nexa-v3-featured-products__view-all {
	position: relative;
	display: inline-flex;
	overflow: hidden;
	isolation: isolate;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 48px;
	gap: 9px;
	margin-top: 0;
	padding: 12px 18px;
	color: var(--nexa-navy);
	border: 1px solid rgba(31, 103, 210, 0.18);
	border-radius: 12px;
	background:
		linear-gradient(
			135deg,
			rgba(255, 255, 255, 0.98) 0%,
			rgba(221, 247, 244, 0.92) 100%
		);
	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, 0.94),
		0 9px 22px rgba(12, 39, 66, 0.07);
	font-size: 14px;
	font-weight: 800;
	line-height: 1.2;
	text-decoration: none;
	transition:
		transform 180ms ease,
		border-color 180ms ease,
		box-shadow 180ms ease;
}

.nexa-v3 .nexa-v3-featured-products__view-all span {
	display: inline-block;
	font-size: 17px;
	line-height: 1;
	transition: transform 180ms ease;
}

.nexa-v3 .nexa-v3-featured-products__view-all:focus-visible {
	outline: 3px solid rgba(31, 103, 210, 0.24);
	outline-offset: 3px;
}

.nexa-v3 .nexa-v3-featured-products__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	margin: 0 0 12px;
	color: var(--nexa-riptide-dark);
	font-size: 11px;
	font-weight: 800;
	line-height: 1.4;
	letter-spacing: 1.45px;
	text-transform: uppercase;
}

.nexa-v3 .nexa-v3-featured-products__eyebrow::before {
	content: "";
	display: block;
	width: 26px;
	height: 2px;
	flex: 0 0 26px;
	border-radius: 999px;
	background: linear-gradient(
		90deg,
		var(--nexa-blue),
		var(--nexa-riptide)
	);
}

.nexa-v3 .nexa-v3-featured-products__title {
	margin: 0 0 12px;
	color: var(--nexa-navy);
	font-family: "DM Sans", sans-serif;
	font-size: clamp(30px, 8vw, 40px);
	font-weight: 700;
	line-height: 1.05;
	letter-spacing: -1.15px;
	text-wrap: balance;
}

.nexa-v3 .nexa-v3-featured-products__description {
	max-width: 50ch;
	margin: 0;
	color: var(--nexa-text-soft);
	font-size: 15px;
	line-height: 1.6;
}

/* Grid móvil: desplazamiento horizontal con vista parcial de la siguiente tarjeta */
.nexa-v3 .nexa-v3-featured ul.products {
	display: grid !important;
	grid-auto-flow: column;
	grid-auto-columns: min(78vw, 310px);
	grid-template-columns: none !important;
	gap: 14px;
	width: auto !important;
	margin: 0 -20px !important;
	padding: 4px 20px 16px !important;
	overflow-x: auto;
	overflow-y: visible;
	list-style: none;
	scroll-snap-type: x mandatory;
	scroll-padding-left: 20px;
	overscroll-behavior-inline: contain;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
}

.nexa-v3 .nexa-v3-featured ul.products::-webkit-scrollbar {
	display: none;
}

.nexa-v3 .nexa-v3-featured ul.products::before,
.nexa-v3 .nexa-v3-featured ul.products::after {
	display: none !important;
	content: none !important;
}

.nexa-v3 .nexa-v3-featured ul.products li.product {
	position: relative;
	display: flex !important;
	flex-direction: column;
	float: none !important;
	width: auto !important;
	min-width: 0;
	height: 100%;
	margin: 0 !important;
	padding: 0 0 18px !important;
	overflow: hidden;
	border: 1px solid rgba(12, 39, 66, 0.09);
	border-radius: 22px;
	background: rgba(255, 255, 255, 0.98);
	box-shadow:
		0 16px 38px rgba(12, 39, 66, 0.08),
		inset 0 1px 0 rgba(255, 255, 255, 0.94);
	scroll-snap-align: start;
	transition:
		transform 200ms ease,
		border-color 200ms ease,
		box-shadow 200ms ease;
}

.nexa-v3 .nexa-v3-featured ul.products li.product::before {
	content: "";
	position: absolute;
	z-index: 3;
	top: 0;
	right: 0;
	left: 0;
	height: 3px;
	background: linear-gradient(
		90deg,
		var(--nexa-blue),
		var(--nexa-riptide)
	);
	opacity: 0.84;
	pointer-events: none;
}

/* Imagen */
.nexa-v3 .nexa-v3-featured ul.products li.product > a,
.nexa-v3 .nexa-v3-featured ul.products li.product .woocommerce-loop-product__link {
	display: flex;
	flex: 1;
	flex-direction: column;
	color: inherit;
	text-decoration: none;
}

.nexa-v3 .nexa-v3-featured ul.products li.product img {
	display: block;
	width: 100% !important;
	aspect-ratio: 1 / 1;
	margin: 0 0 18px !important;
	object-fit: cover;
	object-position: center;
	border-radius: 0 !important;
	background: linear-gradient(
		145deg,
		#F7FBFD 0%,
		#EDF4F8 100%
	);
	transition: transform 280ms ease;
}

/* Etiqueta de oferta */
.nexa-v3 .nexa-v3-featured ul.products li.product .onsale {
	position: absolute;
	z-index: 5;
	top: 14px;
	left: 14px;
	min-width: 0;
	min-height: 0;
	margin: 0;
	padding: 7px 10px;
	color: #FFFFFF;
	border: 0;
	border-radius: 999px;
	background: linear-gradient(
		135deg,
		var(--nexa-blue),
		var(--nexa-blue-deep)
	);
	box-shadow: 0 8px 18px rgba(31, 103, 210, 0.22);
	font-size: 10px;
	font-weight: 800;
	line-height: 1;
	letter-spacing: 0.7px;
	text-transform: uppercase;
}

/* Contenido de la tarjeta */
.nexa-v3 .nexa-v3-featured ul.products li.product .woocommerce-loop-product__title,
.nexa-v3 .nexa-v3-featured ul.products li.product h2,
.nexa-v3 .nexa-v3-featured ul.products li.product h3 {
	margin: 0 18px 10px !important;
	color: var(--nexa-navy);
	font-family: "DM Sans", sans-serif;
	font-size: 18px !important;
	font-weight: 700;
	line-height: 1.22;
	letter-spacing: -0.35px;
	text-align: left;
	text-wrap: balance;
}

.nexa-v3 .nexa-v3-featured ul.products li.product .star-rating {
	margin: 0 18px 10px !important;
	color: #E0A93B;
	font-size: 12px;
}

.nexa-v3 .nexa-v3-featured ul.products li.product .price {
	display: block;
	margin: 0 18px 16px !important;
	color: var(--nexa-blue) !important;
	font-size: 16px !important;
	font-weight: 800;
	line-height: 1.3;
	text-align: left;
}

.nexa-v3 .nexa-v3-featured ul.products li.product .price del {
	color: var(--nexa-text-soft);
	opacity: 0.62;
	font-weight: 500;
}

.nexa-v3 .nexa-v3-featured ul.products li.product .price ins {
	color: var(--nexa-blue);
	text-decoration: none;
}

.nexa-v3 .nexa-v3-featured ul.products li.product .button,
.nexa-v3 .nexa-v3-featured ul.products li.product a.button {
	position: relative;
	display: inline-flex;
	overflow: hidden;
	isolation: isolate;
	align-items: center;
	justify-content: center;
	width: calc(100% - 36px);
	min-height: 46px;
	margin: auto 18px 0 !important;
	padding: 11px 16px;
	color: #FFFFFF !important;
	border: 1px solid var(--nexa-blue);
	border-radius: 12px;
	background: linear-gradient(
		135deg,
		#2B73DD 0%,
		var(--nexa-blue) 54%,
		var(--nexa-blue-deep) 100%
	);
	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, 0.22),
		0 9px 22px rgba(31, 103, 210, 0.18);
	font-size: 13px !important;
	font-weight: 800;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	white-space: normal;
	transition:
		transform 180ms ease,
		box-shadow 180ms ease,
		background 180ms ease;
}

/* Mensajes y enlaces adicionales de WooCommerce */
.nexa-v3 .nexa-v3-featured ul.products li.product .added_to_cart {
	display: block;
	margin: 10px 18px 0;
	color: var(--nexa-blue);
	font-size: 13px;
	font-weight: 700;
	text-align: center;
}

.nexa-v3 .nexa-v3-featured .woocommerce-info,
.nexa-v3 .nexa-v3-featured .woocommerce-message {
	max-width: 1180px;
	margin-right: auto;
	margin-left: auto;
	border-top-color: var(--nexa-blue);
	background: #FFFFFF;
}

/* Indicador móvil */
.nexa-v3 .nexa-v3-featured .elementor-widget-shortcode::after {
	content: "Desliza para ver más  →";
	display: flex;
	align-items: center;
	justify-content: center;
	width: fit-content;
	min-height: 36px;
	max-width: calc(100% - 40px);
	margin: 10px 20px 0 auto;
	padding: 8px 13px;
	color: var(--nexa-navy);
	border: 1px solid rgba(31, 103, 210, 0.14);
	border-radius: 999px;
	background:
		linear-gradient(
			135deg,
			rgba(221, 247, 244, 0.86) 0%,
			rgba(232, 240, 252, 0.92) 100%
		);
	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, 0.88),
		0 7px 18px rgba(12, 39, 66, 0.06);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.25px;
	text-align: center;
	animation: nexaSwipeHint 2.8s ease-in-out infinite;
}

/* =========================================================
   PRODUCTOS DESTACADOS — TABLET
   ========================================================= */

@media (min-width: 768px) {
	.nexa-v3 .nexa-v3-featured {
		padding: 82px 0 68px;
	}

	.nexa-v3 .nexa-v3-featured-products,
	.nexa-v3 .nexa-v3-featured .woocommerce {
		padding-right: 32px;
		padding-left: 32px;
	}

	.nexa-v3 .nexa-v3-featured-products__header {
		align-items: center;
		margin: 0 auto 38px;
		text-align: center;
	}

	.nexa-v3 .nexa-v3-featured-products__view-all {
		width: auto;
		min-width: 150px;
	}

	.nexa-v3 .nexa-v3-featured-products__eyebrow {
		justify-content: center;
	}

	.nexa-v3 .nexa-v3-featured-products__description {
		margin-right: auto;
		margin-left: auto;
		font-size: 16px;
	}

	.nexa-v3 .nexa-v3-featured ul.products {
		grid-auto-flow: column;
		grid-auto-columns: calc((100% - 18px) / 2);
		grid-template-columns: none !important;
		gap: 18px;
		margin: 0 !important;
		padding: 4px 2px 16px !important;
		overflow-x: auto;
		overflow-y: visible;
		scroll-snap-type: x mandatory;
		scroll-padding-left: 2px;
		scroll-behavior: smooth;
	}

	.nexa-v3 .nexa-v3-featured ul.products li.product {
		scroll-snap-align: start;
	}

	.nexa-v3 .nexa-v3-featured .elementor-widget-shortcode::after {
		display: flex;
	}

	.nexa-v3 .nexa-v3-featured .woocommerce::after {
		right: 32px;
		width: 64px;
	}
}

/* =========================================================
   PRODUCTOS DESTACADOS — ESCRITORIO
   ========================================================= */

@media (min-width: 1200px) {
	.nexa-v3 .nexa-v3-featured {
		padding: 96px 0 76px;
	}

	.nexa-v3 .nexa-v3-featured-products,
	.nexa-v3 .nexa-v3-featured .woocommerce {
		padding-right: 48px;
		padding-left: 48px;
	}

	.nexa-v3 .nexa-v3-featured-products__header {
		margin-bottom: 42px;
	}

	.nexa-v3 .nexa-v3-featured-products__title {
		font-size: clamp(44px, 3.4vw, 54px);
		letter-spacing: -1.8px;
	}

	.nexa-v3 .nexa-v3-featured-products__actions {
		flex-direction: row;
		align-items: center;
		justify-content: center;
		width: auto;
	}

	.nexa-v3 .nexa-v3-featured-products__slider-controls {
		display: flex;
	}

	.nexa-v3 .nexa-v3-featured-products__view-all {
		width: auto;
		min-width: 146px;
	}

	.nexa-v3 .nexa-v3-featured ul.products {
		grid-auto-flow: column;
		grid-auto-columns: calc((100% - 54px) / 4);
		grid-template-columns: none !important;
		gap: 18px;
		margin: 0 !important;
		padding: 4px 2px 18px !important;
		overflow-x: auto;
		overflow-y: visible;
		scroll-snap-type: x mandatory;
		scroll-padding-left: 2px;
		scroll-behavior: smooth;
	}

	.nexa-v3 .nexa-v3-featured ul.products li.product {
		border-radius: 24px;
		scroll-snap-align: start;
	}

	.nexa-v3 .nexa-v3-featured .elementor-widget-shortcode::after {
		display: none;
	}

	.nexa-v3 .nexa-v3-featured .woocommerce::after {
		right: 48px;
		bottom: 18px;
		width: 76px;
	}
}

/* El difuminado desaparece cuando ya no hay más productos */
.nexa-v3 .nexa-v3-featured.is-at-end .woocommerce::after,
.nexa-v3 .nexa-v3-featured.is-not-scrollable .woocommerce::after {
	opacity: 0;
}

@media (hover: hover) and (pointer: fine) {
	.nexa-v3 .nexa-v3-featured-products__arrow:not(:disabled):hover {
		transform: translateY(-2px);
		border-color: rgba(31, 103, 210, 0.28);
		box-shadow:
			inset 0 1px 0 rgba(255, 255, 255, 0.94),
			0 13px 28px rgba(12, 39, 66, 0.11);
	}

	.nexa-v3 .nexa-v3-featured-products__view-all:hover {
		transform: translateY(-2px);
		border-color: rgba(31, 103, 210, 0.28);
		box-shadow:
			inset 0 1px 0 rgba(255, 255, 255, 0.94),
			0 13px 28px rgba(12, 39, 66, 0.10);
	}

	.nexa-v3 .nexa-v3-featured-products__view-all:hover span {
		transform: translateX(4px);
	}

	.nexa-v3 .nexa-v3-featured ul.products li.product:hover {
		transform: translateY(-6px);
		border-color: rgba(31, 103, 210, 0.18);
		box-shadow:
			0 24px 50px rgba(12, 39, 66, 0.12),
			inset 0 1px 0 rgba(255, 255, 255, 0.94);
	}

	.nexa-v3 .nexa-v3-featured ul.products li.product:hover img {
		transform: scale(1.025);
	}

	.nexa-v3 .nexa-v3-featured ul.products li.product .button:hover {
		transform: translateY(-2px);
		background: linear-gradient(
			135deg,
			#347CE7 0%,
			#236AD4 52%,
			#174FA8 100%
		);
		box-shadow:
			inset 0 1px 0 rgba(255, 255, 255, 0.24),
			0 13px 28px rgba(31, 103, 210, 0.25);
	}
}

@media (prefers-reduced-motion: reduce) {
	.nexa-v3 .nexa-v3-catalog::after,
	.nexa-v3 .nexa-v3-featured .elementor-widget-shortcode::after {
		animation: none;
	}

	.nexa-v3 .nexa-v3-featured-products__arrow,
	.nexa-v3 .nexa-v3-featured-products__view-all,
	.nexa-v3 .nexa-v3-featured-products__view-all span,
	.nexa-v3 .nexa-v3-featured ul.products li.product,
	.nexa-v3 .nexa-v3-featured ul.products li.product img,
	.nexa-v3 .nexa-v3-featured ul.products li.product .button {
		transition: none;
	}
}

/* =========================================================
   POR QUÉ NEXA — SECCIÓN EDITORIAL
   ========================================================= */

.nexa-v3 .nexa-v3-why {
	position: relative;
	width: 100%;
	margin: -1px 0 0;
	padding: 64px 20px 84px;
	overflow: hidden;
	isolation: isolate;
	background:
		linear-gradient(
			90deg,
			rgba(31, 103, 210, 0.26) 0%,
			rgba(137, 217, 200, 0.30) 52%,
			rgba(31, 103, 210, 0.18) 100%
		) top / 100% 6px no-repeat,
		radial-gradient(
			circle at 10% 20%,
			rgba(31, 103, 210, 0.08) 0%,
			transparent 34%
		),
		radial-gradient(
			circle at 92% 78%,
			rgba(137, 217, 200, 0.12) 0%,
			transparent 38%
		),
		linear-gradient(
			180deg,
			#EEF4F4 0%,
			#F5F7F7 16%,
			#FBFAF6 38%,
			#F4F7F8 100%
		);
}

.nexa-v3 .nexa-v3-why::before {
	content: "";
	position: absolute;
	z-index: -1;
	top: 118px;
	left: -148px;
	width: 260px;
	height: 260px;
	pointer-events: none;
	border: 1.5px solid rgba(31, 103, 210, 0.20);
	border-radius: 50%;
	transform-origin: center;
	will-change: transform;
	animation: nexaWhyOrbit 62s linear infinite;
	background:
		radial-gradient(
			circle at 50% 3%,
			rgba(31, 103, 210, 0.72) 0 3px,
			rgba(31, 103, 210, 0.18) 3.5px 6px,
			transparent 6.5px
		),
		radial-gradient(
			circle at 87% 69%,
			rgba(59, 159, 145, 0.62) 0 2.5px,
			rgba(137, 217, 200, 0.18) 3px 5px,
			transparent 5.5px
		),
		radial-gradient(
			circle at center,
			transparent 0 37.5%,
			rgba(137, 217, 200, 0.24) 38% 38.9%,
			transparent 39.4%
		),
		radial-gradient(
			circle at center,
			rgba(31, 103, 210, 0.045) 0%,
			transparent 68%
		);
	box-shadow:
		0 0 0 30px rgba(31, 103, 210, 0.045),
		0 0 0 64px rgba(137, 217, 200, 0.028);
	opacity: 0.88;
}

.nexa-v3 .nexa-v3-why::after {
	content: "";
	position: absolute;
	z-index: -1;
	right: -170px;
	bottom: -170px;
	width: 420px;
	aspect-ratio: 1;
	border: 1px solid rgba(137, 217, 200, 0.14);
	border-radius: 50%;
	background:
		radial-gradient(
			circle at center,
			rgba(31, 103, 210, 0.035) 0%,
			transparent 66%
		);
	pointer-events: none;
}

.nexa-v3 .nexa-v3-why > .e-con-inner,
.nexa-v3 .nexa-v3-why > .elementor-element,
.nexa-v3 .nexa-v3-why .elementor-widget-html,
.nexa-v3 .nexa-v3-why .elementor-widget-container {
	width: 100%;
}

.nexa-v3 .nexa-v3-why__inner {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: 1fr;
	width: 100%;
	max-width: 1180px;
	margin: 0 auto;
	gap: 42px;
}

.nexa-v3 .nexa-v3-why__copy {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	width: 100%;
	max-width: 580px;
}

.nexa-v3 .nexa-v3-why__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	margin: 0 0 14px;
	color: var(--nexa-riptide-dark);
	font-size: 11px;
	font-weight: 800;
	line-height: 1.4;
	letter-spacing: 1.45px;
	text-transform: uppercase;
}

.nexa-v3 .nexa-v3-why__eyebrow::before {
	content: "";
	display: block;
	width: 26px;
	height: 2px;
	flex: 0 0 26px;
	border-radius: 999px;
	background: linear-gradient(
		90deg,
		var(--nexa-blue),
		var(--nexa-riptide)
	);
}

.nexa-v3 .nexa-v3-why__title {
	margin: 0 0 18px;
	color: var(--nexa-navy);
	font-family: "DM Sans", sans-serif;
	font-size: clamp(32px, 8.2vw, 46px);
	font-weight: 700;
	line-height: 1.03;
	letter-spacing: -1.45px;
	text-wrap: balance;
}

.nexa-v3 .nexa-v3-why__description {
	max-width: 52ch;
	margin: 0 0 26px;
	color: var(--nexa-text-soft);
	font-size: 16px;
	line-height: 1.65;
}

.nexa-v3 .nexa-v3-why__button {
	position: relative;
	display: inline-flex;
	overflow: hidden;
	isolation: isolate;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 50px;
	padding: 13px 20px;
	color: #FFFFFF;
	background: linear-gradient(
		135deg,
		#2B73DD 0%,
		var(--nexa-blue) 52%,
		var(--nexa-blue-deep) 100%
	);
	border: 1px solid var(--nexa-blue);
	border-radius: 12px;
	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, 0.22),
		0 10px 24px rgba(31, 103, 210, 0.20);
	font-size: 15px;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
	transition:
		transform 180ms ease,
		box-shadow 180ms ease;
}

.nexa-v3 .nexa-v3-why__button span {
	display: inline-block;
	transition: transform 180ms ease;
}

.nexa-v3 .nexa-v3-why__panel {
	position: relative;
	display: flex;
	flex-direction: column;
	min-width: 0;
	padding: 28px 22px 24px;
	overflow: hidden;
	isolation: isolate;
	color: #FFFFFF;
	background:
		radial-gradient(
			circle at 84% 12%,
			rgba(137, 217, 200, 0.19) 0%,
			transparent 34%
		),
		linear-gradient(
			145deg,
			#102B47 0%,
			#0C2742 58%,
			#081B2D 100%
		);
	border: 1px solid rgba(137, 217, 200, 0.18);
	border-radius: 28px;
	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, 0.08),
		0 26px 54px rgba(12, 39, 66, 0.16);
}

.nexa-v3 .nexa-v3-why__panel::before {
	content: "";
	position: absolute;
	z-index: -1;
	top: -76px;
	right: -62px;
	width: 230px;
	aspect-ratio: 1;
	border: 1px solid rgba(137, 217, 200, 0.22);
	border-radius: 50%;
	box-shadow:
		0 0 0 28px rgba(137, 217, 200, 0.035),
		0 0 0 62px rgba(31, 103, 210, 0.035);
}

.nexa-v3 .nexa-v3-why__panel::after {
	content: "";
	position: absolute;
	z-index: -1;
	right: 28px;
	bottom: 24px;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: var(--nexa-riptide);
	box-shadow:
		0 0 0 8px rgba(137, 217, 200, 0.08),
		0 0 28px rgba(137, 217, 200, 0.42);
}

.nexa-v3 .nexa-v3-why__stat {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	align-items: center;
	gap: 16px;
	margin: 0 0 18px;
	padding: 0 0 22px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.11);
}

.nexa-v3 .nexa-v3-why__stat-value {
	display: block;
	color: #FFFFFF;
	font-size: clamp(42px, 12vw, 66px);
	font-weight: 700;
	line-height: 0.95;
	letter-spacing: -2.4px;
}

.nexa-v3 .nexa-v3-why__stat-copy {
	min-width: 0;
}

.nexa-v3 .nexa-v3-why__stat-label {
	display: block;
	margin: 0 0 4px;
	color: var(--nexa-riptide);
	font-size: 11px;
	font-weight: 800;
	line-height: 1.3;
	letter-spacing: 1.2px;
	text-transform: uppercase;
}

.nexa-v3 .nexa-v3-why__stat-text {
	display: block;
	max-width: 25ch;
	color: rgba(255, 255, 255, 0.72);
	font-size: 13px;
	line-height: 1.45;
}

.nexa-v3 .nexa-v3-why__list {
	display: grid;
	gap: 0;
	margin: 0;
	padding: 0;
	list-style: none;
}

.nexa-v3 .nexa-v3-why__item {
	display: grid;
	grid-template-columns: 46px minmax(0, 1fr);
	align-items: center;
	gap: 14px;
	padding: 18px 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.09);
}

.nexa-v3 .nexa-v3-why__item:last-child {
	border-bottom: 0;
}

.nexa-v3 .nexa-v3-why__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 46px;
	border: 1px solid rgba(137, 217, 200, 0.22);
	border-radius: 14px;
	background: rgba(255, 255, 255, 0.055);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

.nexa-v3 .nexa-v3-why__icon svg {
	display: block;
	width: 22px;
	height: 22px;
	fill: none;
	stroke: var(--nexa-riptide);
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.nexa-v3 .nexa-v3-why__item-copy {
	min-width: 0;
}

.nexa-v3 .nexa-v3-why__item-title {
	display: block;
	margin: 0 0 4px;
	color: #FFFFFF;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.3;
}

.nexa-v3 .nexa-v3-why__item-text {
	display: block;
	margin: 0;
	color: rgba(255, 255, 255, 0.68);
	font-size: 13px;
	line-height: 1.5;
}

@media (min-width: 768px) {
	.nexa-v3 .nexa-v3-why {
		padding: 76px 32px 98px;
	}

	.nexa-v3 .nexa-v3-why::before {
		top: 50%;
		left: -118px;
		width: 300px;
		height: 300px;
		opacity: 0.92;
		animation-name: nexaWhyOrbitCentered;
	}

	.nexa-v3 .nexa-v3-why__inner {
		grid-template-columns: minmax(0, 0.88fr) minmax(430px, 1.12fr);
		align-items: center;
		gap: 48px;
	}

	.nexa-v3 .nexa-v3-why__copy {
		max-width: 500px;
	}

	.nexa-v3 .nexa-v3-why__title {
		font-size: clamp(42px, 5vw, 54px);
	}

	.nexa-v3 .nexa-v3-why__description {
		font-size: 17px;
	}

	.nexa-v3 .nexa-v3-why__panel {
		padding: 34px 30px 28px;
		border-radius: 30px;
	}

	.nexa-v3 .nexa-v3-why__stat {
		grid-template-columns: 150px minmax(0, 1fr);
		gap: 20px;
	}

	.nexa-v3 .nexa-v3-why__stat-value {
		font-size: 68px;
	}
}

@media (min-width: 1200px) {
	.nexa-v3 .nexa-v3-why {
		padding: 86px 48px 110px;
	}

	.nexa-v3 .nexa-v3-why::before {
		left: -108px;
		width: 340px;
		height: 340px;
		opacity: 0.96;
	}

	.nexa-v3 .nexa-v3-why__inner {
		grid-template-columns: minmax(0, 0.86fr) minmax(520px, 1.14fr);
		gap: 72px;
	}

	.nexa-v3 .nexa-v3-why__panel {
		padding: 38px 36px 32px;
	}
}

@media (hover: hover) and (pointer: fine) {
	.nexa-v3 .nexa-v3-why__button:hover {
		transform: translateY(-2px);
		box-shadow:
			inset 0 1px 0 rgba(255, 255, 255, 0.24),
			0 14px 30px rgba(31, 103, 210, 0.26);
	}

	.nexa-v3 .nexa-v3-why__button:hover span {
		transform: translateX(3px);
	}
}

@media (prefers-reduced-motion: reduce) {
	.nexa-v3 .nexa-v3-why::before {
		animation: none;
	}

	.nexa-v3 .nexa-v3-why__button,
	.nexa-v3 .nexa-v3-why__button span {
		transition: none;
	}
}

/* =========================================================
   CÓMO COMPRAR EN NEXA — PROCESO EN 3 PASOS
   ========================================================= */

.nexa-v3 .nexa-v3-process {
	position: relative;
	width: 100%;
	margin: -1px 0 0;
	padding: 76px 20px 84px;
	overflow: hidden;
	isolation: isolate;
	background:
		linear-gradient(
			90deg,
			rgba(31, 103, 210, 0.26) 0%,
			rgba(137, 217, 200, 0.30) 52%,
			rgba(31, 103, 210, 0.18) 100%
		) top / 100% 6px no-repeat,
		radial-gradient(
			circle at 90% 18%,
			rgba(31, 103, 210, 0.07) 0%,
			transparent 34%
		),
		radial-gradient(
			circle at 8% 86%,
			rgba(137, 217, 200, 0.11) 0%,
			transparent 36%
		),
		linear-gradient(
			180deg,
			#F4F7F8 0%,
			#FBFAF6 44%,
			#F6F8F7 100%
		);
}

.nexa-v3 .nexa-v3-process::before {
	content: "";
	position: absolute;
	z-index: -1;
	top: 52%;
	left: -150px;
	width: 280px;
	height: 280px;
	pointer-events: none;
	border: 1px solid rgba(31, 103, 210, 0.18);
	border-radius: 50%;
	background:
		radial-gradient(
			circle at 50% 2.5%,
			rgba(31, 103, 210, 0.74) 0 3px,
			rgba(31, 103, 210, 0.20) 3.5px 6px,
			transparent 6.5px
		),
		radial-gradient(
			circle at 87% 68%,
			rgba(59, 159, 145, 0.68) 0 2.5px,
			rgba(137, 217, 200, 0.20) 3px 5px,
			transparent 5.5px
		),
		radial-gradient(
			circle at center,
			transparent 0 36%,
			rgba(137, 217, 200, 0.25) 36.4% 37.2%,
			transparent 37.7%
		),
		radial-gradient(
			circle at center,
			rgba(31, 103, 210, 0.045) 0%,
			transparent 68%
		);
	box-shadow:
		0 0 0 30px rgba(31, 103, 210, 0.040),
		0 0 0 62px rgba(137, 217, 200, 0.024);
	opacity: 0.90;
	transform: translateY(-50%) rotate(0deg);
	transform-origin: center;
	will-change: transform;
	animation: nexaProcessOrbit 68s linear infinite;
}
.nexa-v3 .nexa-v3-process::after {
	content: "";
	position: absolute;
	z-index: -2;
	top: 52%;
	left: -208px;
	width: 396px;
	height: 396px;
	pointer-events: none;
	border-radius: 50%;
	background:
		radial-gradient(
			circle at center,
			rgba(31, 103, 210, 0.055) 0%,
			rgba(137, 217, 200, 0.030) 44%,
			transparent 72%
		);
	filter: blur(2px);
	opacity: 0.82;
	transform: translateY(-50%);
}

.nexa-v3 .nexa-v3-process > .e-con-inner,
.nexa-v3 .nexa-v3-process > .elementor-element,
.nexa-v3 .nexa-v3-process .elementor-widget-html,
.nexa-v3 .nexa-v3-process .elementor-widget-container {
	width: 100%;
}

.nexa-v3 .nexa-v3-process__inner {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 1180px;
	margin: 0 auto;
}

.nexa-v3 .nexa-v3-process__header {
	max-width: 720px;
	margin: 0 auto 44px;
	text-align: center;
}

.nexa-v3 .nexa-v3-process__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	margin: 0 0 14px;
	color: var(--nexa-riptide-dark);
	font-size: 11px;
	font-weight: 800;
	line-height: 1.4;
	letter-spacing: 1.45px;
	text-transform: uppercase;
}

.nexa-v3 .nexa-v3-process__eyebrow::before {
	content: "";
	display: block;
	width: 26px;
	height: 2px;
	flex: 0 0 26px;
	border-radius: 999px;
	background: linear-gradient(
		90deg,
		var(--nexa-blue),
		var(--nexa-riptide)
	);
}

.nexa-v3 .nexa-v3-process__title {
	margin: 0 0 14px;
	color: var(--nexa-navy);
	font-family: "DM Sans", sans-serif;
	font-size: clamp(32px, 8vw, 48px);
	font-weight: 700;
	line-height: 1.04;
	letter-spacing: -1.45px;
	text-wrap: balance;
}

.nexa-v3 .nexa-v3-process__description {
	max-width: 54ch;
	margin: 0 auto;
	color: var(--nexa-text-soft);
	font-size: 16px;
	line-height: 1.62;
}

.nexa-v3 .nexa-v3-process__steps {
	position: relative;
	display: grid;
	grid-template-columns: 1fr;
	gap: 18px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.nexa-v3 .nexa-v3-process__steps::before {
	display: none;
}

/* En móvil, cada paso dibuja únicamente el tramo hasta el siguiente punto */
.nexa-v3 .nexa-v3-process__step:not(:last-child)::after {
	content: "";
	position: absolute;
	z-index: -1;
	top: 54px;
	left: 33.5px;
	width: 1px;
	height: calc(100% + 18px);
	background: linear-gradient(
		180deg,
		rgba(31, 103, 210, 0.18) 0%,
		rgba(137, 217, 200, 0.48) 50%,
		rgba(31, 103, 210, 0.18) 100%
	);
	pointer-events: none;
}

.nexa-v3 .nexa-v3-process__step {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: 68px minmax(0, 1fr);
	align-items: start;
	gap: 16px;
	min-width: 0;
	padding: 20px 18px 20px 0;
}

.nexa-v3 .nexa-v3-process__number {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 68px;
	height: 68px;
	color: var(--nexa-navy);
	border: 1px solid rgba(31, 103, 210, 0.16);
	border-radius: 50%;
	background:
		linear-gradient(
			145deg,
			rgba(255, 255, 255, 0.98) 0%,
			rgba(221, 247, 244, 0.90) 100%
		);
	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, 0.92),
		0 10px 24px rgba(12, 39, 66, 0.08);
	font-size: 18px;
	font-weight: 800;
	line-height: 1;
	letter-spacing: 0.6px;
}

.nexa-v3 .nexa-v3-process__content {
	min-width: 0;
	padding-top: 7px;
}

.nexa-v3 .nexa-v3-process__step-title {
	margin: 0 0 7px;
	color: var(--nexa-navy);
	font-family: "DM Sans", sans-serif;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: -0.35px;
}

.nexa-v3 .nexa-v3-process__step-text {
	max-width: 40ch;
	margin: 0;
	color: var(--nexa-text-soft);
	font-size: 14px;
	line-height: 1.58;
}

.nexa-v3 .nexa-v3-process__footer {
	display: flex;
	justify-content: center;
	margin-top: 38px;
}

.nexa-v3 .nexa-v3-process__button {
	position: relative;
	display: inline-flex;
	overflow: hidden;
	isolation: isolate;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 50px;
	padding: 13px 20px;
	color: #FFFFFF;
	background: linear-gradient(
		135deg,
		#2B73DD 0%,
		var(--nexa-blue) 52%,
		var(--nexa-blue-deep) 100%
	);
	border: 1px solid var(--nexa-blue);
	border-radius: 12px;
	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, 0.22),
		0 10px 24px rgba(31, 103, 210, 0.20);
	font-size: 15px;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
	transition:
		transform 180ms ease,
		box-shadow 180ms ease;
}

.nexa-v3 .nexa-v3-process__button span {
	display: inline-block;
	transition: transform 180ms ease;
}

@media (min-width: 768px) {
	.nexa-v3 .nexa-v3-process {
		padding: 92px 32px 98px;
	}

	.nexa-v3 .nexa-v3-process::before {
		top: 54%;
		right: -142px;
		left: auto;
		width: 320px;
		height: 320px;
		opacity: 0.92;
	}

	.nexa-v3 .nexa-v3-process::after {
		top: 54%;
		right: -224px;
		left: auto;
		width: 448px;
		height: 448px;
	}

	.nexa-v3 .nexa-v3-process__header {
		margin-bottom: 54px;
	}

	.nexa-v3 .nexa-v3-process__steps {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 28px;
	}

	.nexa-v3 .nexa-v3-process__steps::before {
		content: "";
		position: absolute;
		z-index: 0;
		display: block;
		top: 34px;
		right: calc(16.6667% - 9.333px);
		bottom: auto;
		left: calc(16.6667% - 9.333px);
		width: auto;
		height: 1px;
		background: linear-gradient(
			90deg,
			rgba(31, 103, 210, 0.18) 0%,
			rgba(137, 217, 200, 0.50) 50%,
			rgba(31, 103, 210, 0.18) 100%
		);
	}

	.nexa-v3 .nexa-v3-process__step::after {
		display: none;
	}

	.nexa-v3 .nexa-v3-process__step {
		display: flex;
		flex-direction: column;
		align-items: center;
		padding: 0 10px;
		text-align: center;
	}

	.nexa-v3 .nexa-v3-process__content {
		padding-top: 6px;
	}

	.nexa-v3 .nexa-v3-process__step-title {
		font-size: 19px;
	}

	.nexa-v3 .nexa-v3-process__step-text {
		max-width: 30ch;
		margin: 0 auto;
	}
}

@media (min-width: 1200px) {
	.nexa-v3 .nexa-v3-process {
		padding: 104px 48px 110px;
	}

	.nexa-v3 .nexa-v3-process::before {
		top: 55%;
		right: -136px;
		left: auto;
		width: 350px;
		height: 350px;
		opacity: 0.94;
	}

	.nexa-v3 .nexa-v3-process::after {
		top: 55%;
		right: -236px;
		left: auto;
		width: 486px;
		height: 486px;
	}

	.nexa-v3 .nexa-v3-process__steps {
		gap: 42px;
	}

	.nexa-v3 .nexa-v3-process__steps::before {
		right: calc(16.6667% - 14px);
		left: calc(16.6667% - 14px);
	}

	.nexa-v3 .nexa-v3-process__step-title {
		font-size: 21px;
	}

	.nexa-v3 .nexa-v3-process__step-text {
		font-size: 15px;
	}
}

@media (hover: hover) and (pointer: fine) {
	.nexa-v3 .nexa-v3-process__button:hover {
		transform: translateY(-2px);
		box-shadow:
			inset 0 1px 0 rgba(255, 255, 255, 0.24),
			0 14px 30px rgba(31, 103, 210, 0.26);
	}

	.nexa-v3 .nexa-v3-process__button:hover span {
		transform: translateX(3px);
	}
}

@keyframes nexaProcessOrbit {
	0% {
		transform: translateY(-50%) rotate(0deg);
	}

	100% {
		transform: translateY(-50%) rotate(360deg);
	}
}

@media (prefers-reduced-motion: reduce) {
	.nexa-v3 .nexa-v3-process::before {
		animation: none;
	}

	.nexa-v3 .nexa-v3-process__button,
	.nexa-v3 .nexa-v3-process__button span {
		transition: none;
	}
}

/* =========================================================
   ANIMACIÓN UNIFICADA DE BOTONES — MISMO EFECTO DEL HERO
   ========================================================= */

.nexa-v3 .nexa-v3-featured-products__arrow::before,
.nexa-v3 .nexa-v3-featured-products__view-all::before,
.nexa-v3 .nexa-v3-featured ul.products li.product .button::before,
.nexa-v3 .nexa-v3-featured ul.products li.product a.button::before,
.nexa-v3 .nexa-v3-why__button::before,
.nexa-v3 .nexa-v3-process__button::before,
.nexa-v3 .nexa-v3-final-cta__button::before {
	content: "";
	position: absolute;
	z-index: 0;
	top: 0;
	left: -120%;
	width: 75%;
	height: 100%;
	pointer-events: none;
	background: linear-gradient(
		110deg,
		transparent,
		rgba(255, 255, 255, 0.18),
		transparent
	);
	transform: skewX(-18deg);
	transition: left 420ms ease;
}

.nexa-v3 .nexa-v3-featured-products__arrow > *,
.nexa-v3 .nexa-v3-featured-products__view-all > *,
.nexa-v3 .nexa-v3-featured ul.products li.product .button > *,
.nexa-v3 .nexa-v3-featured ul.products li.product a.button > *,
.nexa-v3 .nexa-v3-why__button > *,
.nexa-v3 .nexa-v3-process__button > *,
.nexa-v3 .nexa-v3-final-cta__button > * {
	position: relative;
	z-index: 1;
}

.nexa-v3 .nexa-v3-featured-products__arrow:active,
.nexa-v3 .nexa-v3-featured-products__view-all:active,
.nexa-v3 .nexa-v3-featured ul.products li.product .button:active,
.nexa-v3 .nexa-v3-featured ul.products li.product a.button:active,
.nexa-v3 .nexa-v3-why__button:active,
.nexa-v3 .nexa-v3-process__button:active,
.nexa-v3 .nexa-v3-final-cta__button:active {
	transform: translateY(1px);
}

@media (hover: hover) and (pointer: fine) {
	.nexa-v3 .nexa-v3-featured-products__arrow:not(:disabled):hover::before,
	.nexa-v3 .nexa-v3-featured-products__view-all:hover::before,
	.nexa-v3 .nexa-v3-featured ul.products li.product .button:hover::before,
	.nexa-v3 .nexa-v3-featured ul.products li.product a.button:hover::before,
	.nexa-v3 .nexa-v3-why__button:hover::before,
	.nexa-v3 .nexa-v3-process__button:hover::before,
	.nexa-v3 .nexa-v3-final-cta__button:hover::before {
		left: 135%;
	}
}

@media (prefers-reduced-motion: reduce) {
	.nexa-v3 .nexa-v3-featured-products__arrow::before,
	.nexa-v3 .nexa-v3-featured-products__view-all::before,
	.nexa-v3 .nexa-v3-featured ul.products li.product .button::before,
	.nexa-v3 .nexa-v3-featured ul.products li.product a.button::before,
	.nexa-v3 .nexa-v3-why__button::before,
	.nexa-v3 .nexa-v3-process__button::before,
	.nexa-v3 .nexa-v3-final-cta__button::before {
		transition: none;
	}
}

/* =========================================================
   CTA FINAL — CIERRE DE PÁGINA
   ========================================================= */

.nexa-v3 .nexa-v3-final-cta {
	position: relative;
	width: 100%;
	margin: -1px 0 0;
	padding: 80px 20px 82px;
	overflow: hidden;
	isolation: isolate;
	background:
		/* Líneas superior e inferior del CTA, conservadas con intensidad */
		linear-gradient(
			90deg,
			rgba(31, 103, 210, 0.92) 0%,
			rgba(137, 217, 200, 0.96) 52%,
			rgba(31, 103, 210, 0.78) 100%
		) top / 100% 6px no-repeat,
		linear-gradient(
			90deg,
			rgba(31, 103, 210, 0.92) 0%,
			rgba(137, 217, 200, 0.96) 52%,
			rgba(31, 103, 210, 0.78) 100%
		) bottom / 100% 6px no-repeat,
		radial-gradient(
			circle at 18% 22%,
			rgba(31, 103, 210, 0.34) 0%,
			transparent 34%
		),
		radial-gradient(
			circle at 88% 74%,
			rgba(137, 217, 200, 0.20) 0%,
			transparent 36%
		),
		linear-gradient(
			145deg,
			#0E2E4F 0%,
			#0C2742 56%,
			#081B2D 100%
		);
	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, 0.18),
		inset 0 -1px 0 rgba(12, 39, 66, 0.24);
}

.nexa-v3 .nexa-v3-final-cta::before {
	content: "";
	position: absolute;
	z-index: -1;
	top: 50%;
	left: -150px;
	width: 320px;
	height: 320px;
	border: 1px solid rgba(137, 217, 200, 0.22);
	border-radius: 50%;
	background:
		radial-gradient(
			circle at 50% 3%,
			rgba(137, 217, 200, 0.72) 0 3px,
			rgba(137, 217, 200, 0.18) 3.5px 6px,
			transparent 6.5px
		),
		radial-gradient(
			circle at 87% 67%,
			rgba(31, 103, 210, 0.66) 0 2.5px,
			rgba(31, 103, 210, 0.18) 3px 5px,
			transparent 5.5px
		),
		radial-gradient(
			circle at center,
			transparent 0 36.5%,
			rgba(137, 217, 200, 0.22) 37% 37.8%,
			transparent 38.3%
		),
		radial-gradient(
			circle at center,
			rgba(31, 103, 210, 0.08) 0%,
			transparent 68%
		);
	box-shadow:
		0 0 0 34px rgba(137, 217, 200, 0.035),
		0 0 0 76px rgba(31, 103, 210, 0.035);
	opacity: 0.86;
	transform: translateY(-50%) rotate(0deg);
	transform-origin: center;
	will-change: transform;
	animation: nexaFinalCtaOrbit 72s linear infinite;
	pointer-events: none;
}

.nexa-v3 .nexa-v3-final-cta::after {
	content: "";
	position: absolute;
	z-index: -2;
	right: -120px;
	bottom: -160px;
	width: 360px;
	height: 360px;
	border: 1px solid rgba(137, 217, 200, 0.14);
	border-radius: 50%;
	box-shadow:
		0 0 0 42px rgba(137, 217, 200, 0.025),
		0 0 0 88px rgba(31, 103, 210, 0.025);
	pointer-events: none;
}

.nexa-v3 .nexa-v3-final-cta > .e-con-inner,
.nexa-v3 .nexa-v3-final-cta > .elementor-element,
.nexa-v3 .nexa-v3-final-cta .elementor-widget-html,
.nexa-v3 .nexa-v3-final-cta .elementor-widget-container {
	width: 100%;
}

.nexa-v3 .nexa-v3-final-cta__inner {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
	max-width: 920px;
	margin: 0 auto;
	text-align: center;
}

.nexa-v3 .nexa-v3-final-cta__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	margin: 0 0 14px;
	color: var(--nexa-riptide);
	font-size: 11px;
	font-weight: 800;
	line-height: 1.4;
	letter-spacing: 1.45px;
	text-transform: uppercase;
}

.nexa-v3 .nexa-v3-final-cta__eyebrow::before {
	content: "";
	display: block;
	width: 26px;
	height: 2px;
	flex: 0 0 26px;
	border-radius: 999px;
	background: linear-gradient(
		90deg,
		#6EA4F3,
		var(--nexa-riptide)
	);
}

.nexa-v3 .nexa-v3-final-cta__title {
	width: 100%;
	max-width: 800px;
	margin: 0 0 20px;
	color: #FFFFFF;
	font-family: "DM Sans", sans-serif;
	font-size: clamp(34px, 7.5vw, 54px);
	font-weight: 700;
	line-height: 1.02;
	letter-spacing: -1.7px;
	text-wrap: balance;
	word-break: normal;
	overflow-wrap: normal;
	hyphens: none;
}

.nexa-v3 .nexa-v3-final-cta__description {
	max-width: 58ch;
	margin: 0;
	color: rgba(255, 255, 255, 0.74);
	font-size: 16px;
	line-height: 1.62;
	text-wrap: balance;
}

.nexa-v3 .nexa-v3-final-cta__actions {
	display: flex;
	flex-direction: column;
	width: 100%;
	max-width: 520px;
	gap: 12px;
	margin-top: 30px;
}

.nexa-v3 .nexa-v3-final-cta__button {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: 100%;
	min-height: 52px;
	padding: 13px 20px;
	overflow: hidden;
	isolation: isolate;
	border: 1px solid transparent;
	border-radius: 12px;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, 0.18),
		0 12px 28px rgba(0, 0, 0, 0.18);
	transition:
		transform 180ms ease,
		border-color 180ms ease,
		box-shadow 180ms ease,
		background 180ms ease;
}

.nexa-v3 .nexa-v3-final-cta__button--primary {
	color: var(--nexa-navy);
	background: linear-gradient(
		135deg,
		#B7EEE3 0%,
		var(--nexa-riptide) 100%
	);
	border-color: rgba(137, 217, 200, 0.72);
}

.nexa-v3 .nexa-v3-final-cta__button--secondary {
	color: #FFFFFF;
	background: rgba(255, 255, 255, 0.07);
	border-color: rgba(255, 255, 255, 0.20);
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
}

.nexa-v3 .nexa-v3-final-cta__button span {
	display: inline-block;
	transition: transform 180ms ease;
}

.nexa-v3 .nexa-v3-final-cta__button:focus-visible {
	outline: 3px solid rgba(137, 217, 200, 0.28);
	outline-offset: 3px;
}

@media (min-width: 768px) {
	.nexa-v3 .nexa-v3-final-cta {
		padding: 100px 32px 98px;
	}

	.nexa-v3 .nexa-v3-final-cta__title {
		max-width: 860px;
		font-size: clamp(46px, 5vw, 64px);
		line-height: 1.01;
	}

	.nexa-v3 .nexa-v3-final-cta__description {
		font-size: 17px;
	}

	.nexa-v3 .nexa-v3-final-cta__actions {
		flex-direction: row;
		justify-content: center;
		max-width: none;
	}

	.nexa-v3 .nexa-v3-final-cta__button {
		width: auto;
		min-width: 210px;
	}
}

@media (min-width: 1200px) {
	.nexa-v3 .nexa-v3-final-cta {
		padding: 112px 48px 110px;
	}

	.nexa-v3 .nexa-v3-final-cta::before {
		left: -110px;
		width: 360px;
		height: 360px;
	}

	.nexa-v3 .nexa-v3-final-cta::after {
		right: -90px;
		bottom: -140px;
		width: 420px;
		height: 420px;
	}
}

@keyframes nexaFinalCtaOrbit {
	0% {
		transform: translateY(-50%) rotate(0deg);
	}

	100% {
		transform: translateY(-50%) rotate(360deg);
	}
}

@media (hover: hover) and (pointer: fine) {
	.nexa-v3 .nexa-v3-final-cta__button:hover {
		transform: translateY(-2px);
	}

	.nexa-v3 .nexa-v3-final-cta__button--primary:hover {
		background: linear-gradient(
			135deg,
			#C4F4EB 0%,
			#96E3D3 100%
		);
		box-shadow:
			inset 0 1px 0 rgba(255, 255, 255, 0.28),
			0 16px 34px rgba(0, 0, 0, 0.22);
	}

	.nexa-v3 .nexa-v3-final-cta__button--secondary:hover {
		background: rgba(255, 255, 255, 0.11);
		border-color: rgba(255, 255, 255, 0.30);
		box-shadow:
			inset 0 1px 0 rgba(255, 255, 255, 0.14),
			0 16px 34px rgba(0, 0, 0, 0.20);
	}

	.nexa-v3 .nexa-v3-final-cta__button:hover span {
		transform: translateX(3px);
	}
}

@media (prefers-reduced-motion: reduce) {
	.nexa-v3 .nexa-v3-final-cta::before {
		animation: none;
	}

	.nexa-v3 .nexa-v3-final-cta__button,
	.nexa-v3 .nexa-v3-final-cta__button span {
		transition: none;
	}
}

/* =========================================================
   PREGUNTAS FRECUENTES — ACORDEÓN NATIVO SIN JAVASCRIPT
   ========================================================= */

.nexa-v3 .nexa-v3-faq {
	position: relative;
	width: 100%;
	margin: -1px 0 0;
	padding: 84px 20px 86px;
	overflow: hidden;
	isolation: isolate;
	background:
		/* Línea superior translúcida, igual que las separaciones suaves */
		linear-gradient(
			90deg,
			rgba(31, 103, 210, 0.26) 0%,
			rgba(137, 217, 200, 0.30) 52%,
			rgba(31, 103, 210, 0.18) 100%
		) top / 100% 6px no-repeat,
		radial-gradient(
			circle at 10% 18%,
			rgba(31, 103, 210, 0.07) 0%,
			transparent 34%
		),
		radial-gradient(
			circle at 92% 82%,
			rgba(137, 217, 200, 0.11) 0%,
			transparent 38%
		),
		linear-gradient(
			180deg,
			#F6F8F7 0%,
			#FBFAF6 52%,
			#F4F7F8 100%
		);
	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, 0.18);
}

.nexa-v3 .nexa-v3-faq::before {
	content: "";
	position: absolute;
	z-index: -1;
	top: 92px;
	right: -146px;
	width: 300px;
	height: 300px;
	border: 1px solid rgba(31, 103, 210, 0.13);
	border-radius: 50%;
	background:
		radial-gradient(
			circle at 50% 3%,
			rgba(31, 103, 210, 0.66) 0 3px,
			rgba(31, 103, 210, 0.17) 3.5px 6px,
			transparent 6.5px
		),
		radial-gradient(
			circle at 86% 68%,
			rgba(59, 159, 145, 0.58) 0 2.5px,
			rgba(137, 217, 200, 0.17) 3px 5px,
			transparent 5.5px
		),
		radial-gradient(
			circle at center,
			transparent 0 36%,
			rgba(137, 217, 200, 0.20) 36.5% 37.3%,
			transparent 37.8%
		);
	box-shadow:
		0 0 0 34px rgba(31, 103, 210, 0.025),
		0 0 0 72px rgba(137, 217, 200, 0.018);
	opacity: 0.72;
	transform: rotate(0deg);
	transform-origin: center;
	will-change: transform;
	animation: nexaFaqOrbit 72s linear infinite;
	pointer-events: none;
}

.nexa-v3 .nexa-v3-faq > .e-con-inner,
.nexa-v3 .nexa-v3-faq > .elementor-element,
.nexa-v3 .nexa-v3-faq .elementor-widget-html,
.nexa-v3 .nexa-v3-faq .elementor-widget-container {
	width: 100%;
}

.nexa-v3 .nexa-v3-faq__inner {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 1180px;
	margin: 0 auto;
}

.nexa-v3 .nexa-v3-faq__header {
	max-width: 720px;
	margin: 0 auto 42px;
	text-align: center;
}

.nexa-v3 .nexa-v3-faq__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	margin: 0 0 14px;
	color: var(--nexa-riptide-dark);
	font-size: 11px;
	font-weight: 800;
	line-height: 1.4;
	letter-spacing: 1.45px;
	text-transform: uppercase;
}

.nexa-v3 .nexa-v3-faq__eyebrow::before {
	content: "";
	display: block;
	width: 26px;
	height: 2px;
	flex: 0 0 26px;
	border-radius: 999px;
	background: linear-gradient(
		90deg,
		var(--nexa-blue),
		var(--nexa-riptide)
	);
}

.nexa-v3 .nexa-v3-faq__title {
	margin: 0 0 14px;
	color: var(--nexa-navy);
	font-family: "DM Sans", sans-serif;
	font-size: clamp(32px, 8vw, 48px);
	font-weight: 700;
	line-height: 1.04;
	letter-spacing: -1.45px;
	text-wrap: balance;
}

.nexa-v3 .nexa-v3-faq__description {
	max-width: 54ch;
	margin: 0 auto;
	color: var(--nexa-text-soft);
	font-size: 16px;
	line-height: 1.62;
}

.nexa-v3 .nexa-v3-faq__list {
	display: grid;
	width: 100%;
	max-width: 980px;
	margin: 0 auto;
	border-top: 1px solid rgba(12, 39, 66, 0.12);
}

.nexa-v3 .nexa-v3-faq__item {
	border-bottom: 1px solid rgba(12, 39, 66, 0.12);
	background: rgba(255, 255, 255, 0.42);
	transition:
		background 180ms ease,
		box-shadow 180ms ease;
}

.nexa-v3 .nexa-v3-faq__item[open] {
	background: rgba(255, 255, 255, 0.72);
	box-shadow: 0 18px 36px rgba(12, 39, 66, 0.055);
}

.nexa-v3 .nexa-v3-faq__question {
	position: relative;
	display: grid;
	grid-template-columns: 38px minmax(0, 1fr) 28px;
	align-items: center;
	gap: 14px;
	min-height: 72px;
	padding: 18px 18px;
	color: var(--nexa-navy);
	cursor: pointer;
	list-style: none;
}

.nexa-v3 .nexa-v3-faq__question::-webkit-details-marker {
	display: none;
}

.nexa-v3 .nexa-v3-faq__number {
	color: var(--nexa-riptide-dark);
	font-size: 10px;
	font-weight: 800;
	line-height: 1;
	letter-spacing: 1.4px;
}

.nexa-v3 .nexa-v3-faq__question-text {
	min-width: 0;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.35;
	letter-spacing: -0.15px;
}

.nexa-v3 .nexa-v3-faq__question::after {
	content: "+";
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	color: var(--nexa-navy);
	border: 1px solid rgba(31, 103, 210, 0.14);
	border-radius: 50%;
	background: rgba(221, 247, 244, 0.72);
	font-size: 17px;
	font-weight: 500;
	line-height: 1;
	transition:
		transform 180ms ease,
		background 180ms ease;
}

.nexa-v3 .nexa-v3-faq__item[open] > .nexa-v3-faq__question::after {
	content: "−";
	transform: rotate(180deg);
	background: rgba(137, 217, 200, 0.34);
}

.nexa-v3 .nexa-v3-faq__answer {
	padding: 0 18px 24px 70px;
	color: var(--nexa-text-soft);
	font-size: 14.5px;
	line-height: 1.65;
}

.nexa-v3 .nexa-v3-faq__answer p {
	max-width: 72ch;
	margin: 0;
}

.nexa-v3 .nexa-v3-faq__answer p + p {
	margin-top: 12px;
}

.nexa-v3 .nexa-v3-faq__contact-box {
	margin-top: 22px;
	padding: 18px;
	border: 1px solid rgba(12, 39, 66, 0.12);
	border-radius: 18px;
	background:
		linear-gradient(
			145deg,
			rgba(255, 255, 255, 0.88) 0%,
			rgba(221, 247, 244, 0.58) 100%
		);
	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, 0.88),
		0 12px 28px rgba(12, 39, 66, 0.055);
}

.nexa-v3 .nexa-v3-faq__contact-label {
	display: block;
	margin: 0 0 14px;
	color: var(--nexa-navy);
	font-size: 10px;
	font-weight: 800;
	line-height: 1.3;
	letter-spacing: 1.55px;
	text-transform: uppercase;
}

.nexa-v3 .nexa-v3-faq__contact-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 12px;
}

.nexa-v3 .nexa-v3-faq__contact-card {
	display: flex;
	flex-direction: column;
	min-width: 0;
	padding: 18px;
	border: 1px solid rgba(12, 39, 66, 0.11);
	border-radius: 14px;
	background: rgba(255, 255, 255, 0.72);
}

.nexa-v3 .nexa-v3-faq__contact-card--whatsapp {
	color: #FFFFFF;
	background:
		linear-gradient(
			145deg,
			#2EA974 0%,
			#249461 100%
		);
	border-color: rgba(20, 115, 76, 0.42);
}

.nexa-v3 .nexa-v3-faq__contact-kicker {
	display: block;
	margin-bottom: 10px;
	color: var(--nexa-riptide-dark);
	font-size: 9px;
	font-weight: 800;
	line-height: 1.3;
	letter-spacing: 1.35px;
	text-transform: uppercase;
}

.nexa-v3 .nexa-v3-faq__contact-card--whatsapp .nexa-v3-faq__contact-kicker {
	color: rgba(255, 255, 255, 0.76);
}

.nexa-v3 .nexa-v3-faq__contact-title {
	display: block;
	margin: 0 0 7px;
	color: var(--nexa-navy);
	font-size: 18px;
	font-weight: 700;
	line-height: 1.25;
	word-break: break-word;
}

.nexa-v3 .nexa-v3-faq__contact-card--whatsapp .nexa-v3-faq__contact-title {
	color: #FFFFFF;
	font-size: 22px;
}

.nexa-v3 .nexa-v3-faq__contact-text {
	display: block;
	margin: 0;
	color: var(--nexa-text-soft);
	font-size: 12px;
	line-height: 1.55;
}

.nexa-v3 .nexa-v3-faq__contact-card--whatsapp .nexa-v3-faq__contact-text {
	color: rgba(255, 255, 255, 0.80);
}

.nexa-v3 .nexa-v3-faq__contact-link {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: fit-content;
	min-height: 44px;
	margin-top: 16px;
	padding: 11px 15px;
	overflow: hidden;
	isolation: isolate;
	color: #FFFFFF;
	border: 1px solid rgba(255, 255, 255, 0.30);
	border-radius: 10px;
	background: rgba(255, 255, 255, 0.12);
	font-size: 13px;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
	transition:
		transform 180ms ease,
		background 180ms ease;
}

.nexa-v3 .nexa-v3-faq__contact-link::before {
	content: "";
	position: absolute;
	top: 0;
	left: -120%;
	width: 75%;
	height: 100%;
	pointer-events: none;
	background: linear-gradient(
		110deg,
		transparent,
		rgba(255, 255, 255, 0.20),
		transparent
	);
	transform: skewX(-18deg);
	transition: left 420ms ease;
}

.nexa-v3 .nexa-v3-faq__email-link {
	color: var(--nexa-blue-deep);
	font-weight: 700;
	text-decoration: none;
	word-break: break-word;
}

.nexa-v3 .nexa-v3-faq__email-link:hover {
	text-decoration: underline;
}

@media (min-width: 768px) {
	.nexa-v3 .nexa-v3-faq {
		padding: 100px 32px 102px;
	}

	.nexa-v3 .nexa-v3-faq__header {
		margin-bottom: 52px;
	}

	.nexa-v3 .nexa-v3-faq__question {
		grid-template-columns: 44px minmax(0, 1fr) 30px;
		min-height: 78px;
		padding: 20px 22px;
	}

	.nexa-v3 .nexa-v3-faq__question-text {
		font-size: 17px;
	}

	.nexa-v3 .nexa-v3-faq__answer {
		padding: 0 24px 28px 88px;
		font-size: 15px;
	}

	.nexa-v3 .nexa-v3-faq__contact-box {
		padding: 22px;
	}

	.nexa-v3 .nexa-v3-faq__contact-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.nexa-v3 .nexa-v3-faq__contact-card {
		min-height: 190px;
		padding: 20px;
	}
}

@media (min-width: 1200px) {
	.nexa-v3 .nexa-v3-faq {
		padding: 112px 48px 114px;
	}

	.nexa-v3 .nexa-v3-faq::before {
		right: -116px;
		width: 340px;
		height: 340px;
	}
}

@keyframes nexaFaqOrbit {
	0% {
		transform: rotate(0deg);
	}

	100% {
		transform: rotate(360deg);
	}
}

@media (hover: hover) and (pointer: fine) {
	.nexa-v3 .nexa-v3-faq__item:not([open]):hover {
		background: rgba(255, 255, 255, 0.62);
	}

	.nexa-v3 .nexa-v3-faq__question:hover::after {
		background: rgba(137, 217, 200, 0.30);
	}

	.nexa-v3 .nexa-v3-faq__contact-link:hover {
		transform: translateY(-2px);
		background: rgba(255, 255, 255, 0.18);
	}

	.nexa-v3 .nexa-v3-faq__contact-link:hover::before {
		left: 135%;
	}
}

@media (prefers-reduced-motion: reduce) {
	.nexa-v3 .nexa-v3-faq::before {
		animation: none;
	}

	.nexa-v3 .nexa-v3-faq__item,
	.nexa-v3 .nexa-v3-faq__question::after,
	.nexa-v3 .nexa-v3-faq__contact-link,
	.nexa-v3 .nexa-v3-faq__contact-link::before {
		transition: none;
	}
}

/* =========================================================
   FOOTER NEXA — CIERRE DE PÁGINA
   ========================================================= */

.nexa-v3 .nexa-v3-footer {
	position: relative;
	width: 100%;
	margin: 0;
	padding: 62px 20px 24px;
	overflow: hidden;
	isolation: isolate;
	color: rgba(255, 255, 255, 0.78);
	background:
		radial-gradient(
			circle at 12% 18%,
			rgba(31, 103, 210, 0.18) 0%,
			transparent 30%
		),
		radial-gradient(
			circle at 88% 82%,
			rgba(137, 217, 200, 0.10) 0%,
			transparent 34%
		),
		linear-gradient(
			180deg,
			#081B2D 0%,
			#061522 100%
		);
	border-top: 1px solid rgba(137, 217, 200, 0.16);
}

.nexa-v3 .nexa-v3-footer::before {
	content: "";
	position: absolute;
	z-index: -1;
	top: -118px;
	right: -118px;
	width: 280px;
	height: 280px;
	border: 1px solid rgba(137, 217, 200, 0.14);
	border-radius: 50%;
	box-shadow:
		0 0 0 34px rgba(137, 217, 200, 0.022),
		0 0 0 74px rgba(31, 103, 210, 0.026);
	pointer-events: none;
}

.nexa-v3 .nexa-v3-footer > .e-con-inner,
.nexa-v3 .nexa-v3-footer > .elementor-element,
.nexa-v3 .nexa-v3-footer .elementor-widget-html,
.nexa-v3 .nexa-v3-footer .elementor-widget-container {
	width: 100%;
}

.nexa-v3 .nexa-v3-footer__inner {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 1180px;
	margin: 0 auto;
}

.nexa-v3 .nexa-v3-footer__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 34px;
}

.nexa-v3 .nexa-v3-footer__brand-column {
	max-width: 390px;
}

.nexa-v3 .nexa-v3-footer__brand {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 18px;
	color: #FFFFFF;
	text-decoration: none;
}

.nexa-v3 .nexa-v3-footer__brand-mark {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 46px;
	flex: 0 0 46px;
	border: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.025);
	box-shadow:
		inset 0 0 0 1px rgba(255, 255, 255, 0.035),
		0 10px 24px rgba(0, 0, 0, 0.14);
}

/* Órbita limpia: un nodo verde y un nodo azul */
.nexa-v3 .nexa-v3-footer__brand-mark::before {
	content: "";
	position: absolute;
	inset: 3px;
	border: 1px solid rgba(137, 217, 200, 0.42);
	border-radius: 50%;
	background:
		/* Punto verde */
		radial-gradient(
			circle at 50% 11%,
			#89D9C8 0 1.85px,
			rgba(137, 217, 200, 0.22) 2.25px 3.25px,
			transparent 3.7px
		),
		/* Punto azul */
		radial-gradient(
			circle at 80% 67%,
			#4E8BE8 0 1.75px,
			rgba(78, 139, 232, 0.22) 2.15px 3.15px,
			transparent 3.6px
		);
	transform: rotate(0deg);
	transform-origin: center;
	will-change: transform;
	backface-visibility: hidden;
	animation: nexaFooterBrandOrbit 28s linear infinite;
}

/* Núcleo interior estático para que el símbolo se vea nítido */
.nexa-v3 .nexa-v3-footer__brand-mark::after {
	content: "";
	position: absolute;
	width: 22px;
	height: 22px;
	border: 1px solid rgba(137, 217, 200, 0.28);
	border-radius: 50%;
	background:
		radial-gradient(
			circle at center,
			rgba(31, 103, 210, 0.07) 0%,
			transparent 68%
		);
	box-shadow: inset 0 0 10px rgba(137, 217, 200, 0.035);
}

.nexa-v3 .nexa-v3-footer__brand-copy {
	display: flex;
	flex-direction: column;
	line-height: 1;
}

.nexa-v3 .nexa-v3-footer__brand-name {
	color: #6EA4F3;
	font-size: 22px;
	font-weight: 800;
	letter-spacing: 1.8px;
	text-shadow:
		0 0 14px rgba(31, 103, 210, 0.24),
		0 1px 0 rgba(255, 255, 255, 0.04);
}

.nexa-v3 .nexa-v3-footer__brand-subtitle {
	margin-top: 5px;
	color: var(--nexa-riptide);
	font-size: 9px;
	font-weight: 800;
	letter-spacing: 2.4px;
}

.nexa-v3 .nexa-v3-footer__brand-text {
	max-width: 38ch;
	margin: 0 0 20px;
	color: rgba(255, 255, 255, 0.66);
	font-size: 14px;
	line-height: 1.65;
}

.nexa-v3 .nexa-v3-footer__contact-links {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 10px;
}

.nexa-v3 .nexa-v3-footer__contact-link {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	color: rgba(255, 255, 255, 0.82);
	font-size: 13px;
	font-weight: 650;
	line-height: 1.4;
	text-decoration: none;
	transition:
		color 180ms ease,
		transform 180ms ease;
}

.nexa-v3 .nexa-v3-footer__contact-link svg {
	display: block;
	width: 18px;
	height: 18px;
	flex: 0 0 18px;
	fill: none;
	stroke: var(--nexa-riptide);
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.nexa-v3 .nexa-v3-footer__column-title {
	margin: 0 0 15px;
	color: #FFFFFF;
	font-size: 11px;
	font-weight: 800;
	line-height: 1.4;
	letter-spacing: 1.4px;
	text-transform: uppercase;
}

.nexa-v3 .nexa-v3-footer__links {
	display: grid;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.nexa-v3 .nexa-v3-footer__links a {
	display: inline-flex;
	width: fit-content;
	color: rgba(255, 255, 255, 0.65);
	font-size: 13px;
	line-height: 1.5;
	text-decoration: none;
	transition:
		color 180ms ease,
		transform 180ms ease;
}

.nexa-v3 .nexa-v3-footer__legal-note {
	margin-top: 42px;
	padding: 20px 0 0;
	border-top: 1px solid rgba(255, 255, 255, 0.10);
}

.nexa-v3 .nexa-v3-footer__disclaimer {
	max-width: 100ch;
	margin: 0 0 16px;
	color: rgba(255, 255, 255, 0.52);
	font-size: 11.5px;
	line-height: 1.6;
}

.nexa-v3 .nexa-v3-footer__bottom {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding-top: 16px;
	border-top: 1px solid rgba(255, 255, 255, 0.07);
}

.nexa-v3 .nexa-v3-footer__copyright,
.nexa-v3 .nexa-v3-footer__language {
	margin: 0;
	color: rgba(255, 255, 255, 0.46);
	font-size: 11px;
	line-height: 1.5;
}

@media (min-width: 768px) {
	.nexa-v3 .nexa-v3-footer {
		padding: 72px 32px 28px;
	}

	.nexa-v3 .nexa-v3-footer__grid {
		grid-template-columns: minmax(0, 1.35fr) repeat(2, minmax(0, 0.8fr));
		gap: 42px;
	}

	.nexa-v3 .nexa-v3-footer__brand-column {
		grid-column: 1 / -1;
		max-width: 520px;
	}

	.nexa-v3 .nexa-v3-footer__bottom {
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
	}
}

@media (min-width: 1024px) {
	.nexa-v3 .nexa-v3-footer {
		padding: 78px 48px 30px;
	}

	.nexa-v3 .nexa-v3-footer__grid {
		grid-template-columns:
			minmax(280px, 1.35fr)
			minmax(150px, 0.72fr)
			minmax(150px, 0.72fr)
			minmax(190px, 0.9fr);
		gap: 44px;
	}

	.nexa-v3 .nexa-v3-footer__brand-column {
		grid-column: auto;
		max-width: 360px;
	}
}

@keyframes nexaFooterBrandOrbit {
	0% {
		transform: rotate(0deg);
	}

	100% {
		transform: rotate(360deg);
	}
}

@media (hover: hover) and (pointer: fine) {
	.nexa-v3 .nexa-v3-footer__contact-link:hover,
	.nexa-v3 .nexa-v3-footer__links a:hover {
		color: #FFFFFF;
		transform: translateX(3px);
	}
}

@media (prefers-reduced-motion: reduce) {
	.nexa-v3 .nexa-v3-footer__brand-mark::before {
		animation: none;
	}

	.nexa-v3 .nexa-v3-footer__contact-link,
	.nexa-v3 .nexa-v3-footer__links a {
		transition: none;
	}
}
/* =========================================================
   NEXA — POR QUÉ NEXA MODERNO / GLASS
========================================================= */
.nexa-why-modern {
	position: relative;
	width: 100%;
	margin: 0;
	padding: clamp(72px, 9vw, 112px) 20px;
	overflow: hidden;
	isolation: isolate;

	background:
		linear-gradient(
			180deg,
			#EEF4F4 0%,
			#F1F5F5 4%,
			#F5F7F6 8%,
			#F7F8F6 12%,
			#F7F8F6 88%,
			#F5F7F6 94%,
			#F1F5F5 97%,
			#EEF4F4 100%
		) !important;
}
/* =========================================================
   NEXA WHY — SEPARADOR SUPERIOR
   ========================================================= */

.nexa-why-modern::before {
	content: "";
	position: absolute;
	z-index: 6;
	top: 0;
	left: 0;
	width: 100%;
	height: 2px;
	pointer-events: none;
	background:
		linear-gradient(
			90deg,
			transparent 0%,
			rgba(31,103,210,.70) 18%,
			rgba(137,217,200,.90) 50%,
			rgba(31,103,210,.64) 82%,
			transparent 100%
		);
	box-shadow:
		0 6px 18px rgba(31,103,210,.10),
		0 12px 28px rgba(137,217,200,.08);
}

/* =========================================================
   NEXA WHY — TRANSICIÓN VIDEO MÁS NATURAL
   ========================================================= */

.nexa-why-modern__bg {
	position: absolute;
	inset: 0;
	overflow: hidden;
	pointer-events: none;

	/* Transición muy corta: el video casi llega a los bordes */
	-webkit-mask-image: linear-gradient(
		180deg,
		rgba(0,0,0,.72) 0%,
		#000 3%,
		#000 97%,
		rgba(0,0,0,.58) 100%
	);

	mask-image: linear-gradient(
		180deg,
		rgba(0,0,0,.72) 0%,
		#000 3%,
		#000 97%,
		rgba(0,0,0,.58) 100%
	);
}


/* Color ambiental que sí se funde */
.nexa-why-modern__bg::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;

	background:
		radial-gradient(
			circle at 8% 30%,
			rgba(31,103,210,.22) 0%,
			rgba(31,103,210,.08) 30%,
			transparent 56%
		),
		radial-gradient(
			circle at 92% 68%,
			rgba(137,217,200,.26) 0%,
			rgba(137,217,200,.09) 32%,
			transparent 58%
		),
		linear-gradient(
			135deg,
			#EAF3FB 0%,
			#F2F7FB 48%,
			#E9F6F4 100%
		);
}

.nexa-why-modern__bg {
  position: absolute;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
}

.nexa-why-modern__video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;

  /* Video visible, pero con grading cinematográfico */
  opacity: .94;
  filter:
    brightness(.60)
    contrast(1.10)
    saturate(.76);
}

.nexa-why-modern__overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      180deg,
      rgba(247, 251, 255, .88) 0%,
      rgba(242, 248, 253, .82) 50%,
      rgba(238, 246, 251, .92) 100%
    );
}

.nexa-why-modern__glow {
  position: absolute;
  border-radius: 50%;
  filter: blur(30px);
}

.nexa-why-modern__glow--blue {
  width: 340px;
  height: 340px;
  top: 8%;
  left: -80px;
  background: rgba(31, 103, 210, .13);
}

.nexa-why-modern__glow--green {
  width: 280px;
  height: 280px;
  right: -60px;
  bottom: 6%;
  background: rgba(137, 217, 200, .16);
}

.nexa-why-modern__inner {
  position: relative;
  z-index: 2;
  max-width: 1220px;
  margin: 0 auto;
}

.nexa-why-modern__grid {
  display: grid;
  grid-template-columns: 1.4fr .85fr .85fr;
  gap: 18px;
}

/* =========================================================
   CARDS BASE
========================================================= */

.nexa-why-modern__card {
  position: relative;
  min-height: 210px;
  padding: 24px 24px 22px;
  border-radius: 24px;
  overflow: hidden;

  background:
    linear-gradient(
      180deg,
      rgba(255,255,255,.56) 0%,
      rgba(255,255,255,.34) 100%
    );

  border: 1px solid rgba(255,255,255,.44);

  box-shadow:
    0 18px 45px rgba(12, 39, 66, .08),
    inset 0 1px 0 rgba(255,255,255,.72),
    inset 0 -1px 0 rgba(255,255,255,.28);

  -webkit-backdrop-filter: blur(16px);
  backdrop-filter: blur(16px);

  transition:
    transform .22s ease,
    box-shadow .22s ease,
    border-color .22s ease;
}

.nexa-why-modern__card:hover {
  transform: translateY(-3px);
  box-shadow:
    0 24px 54px rgba(12, 39, 66, .11),
    inset 0 1px 0 rgba(255,255,255,.8),
    inset 0 -1px 0 rgba(255,255,255,.3);
  border-color: rgba(255,255,255,.6);
}

.nexa-why-modern__card::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      135deg,
      rgba(255,255,255,.18) 0%,
      rgba(255,255,255,0) 45%
    );
  pointer-events: none;
}

.nexa-why-modern__card::after {
  content: "";
  position: absolute;
  top: 0;
  left: 20px;
  width: 62px;
  height: 2px;
  border-radius: 999px;
  background:
    linear-gradient(
      90deg,
      rgba(31,103,210,.8) 0%,
      rgba(137,217,200,.9) 100%
    );
  pointer-events: none;
}

/* =========================================================
   HERO CARD
========================================================= */

.nexa-why-modern__card--hero {
  grid-column: 1 / 2;
  grid-row: 1 / 3;
  min-height: 458px;
  padding: 28px 28px 28px;
  background:
    linear-gradient(
      180deg,
      rgba(255,255,255,.62) 0%,
      rgba(255,255,255,.38) 100%
    );
}

.nexa-why-modern__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 18px;
  padding: 8px 11px;
  border-radius: 999px;
  border: 1px solid rgba(31,103,210,.10);
  background: rgba(239,247,250,.30);
  color: var(--nexa-green-2);
  font-size: 10px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.nexa-why-modern__title {
  margin: 0 0 16px;
  max-width: 640px;
  color: var(--nexa-navy);
  font-family: "DM Sans", sans-serif;
  font-size: clamp(32px, 4vw, 50px);
  font-weight: 900;
  line-height: .98;
  letter-spacing: -.055em;
  text-wrap: balance;
}

.nexa-why-modern__text {
  position: relative;
  z-index: 2;
  max-width: 550px;
  margin: 0;
  color: var(--nexa-text);
  font-size: 15px;
  font-weight: 540;
  line-height: 1.72;
}

/* =========================================================
   HERO DECO
========================================================= */

.nexa-why-modern__hero-deco {
  position: absolute;
  right: 24px;
  bottom: 18px;
  width: 230px;
  height: 230px;
  pointer-events: none;
  opacity: .96;
}

.nexa-why-modern__ring {
  position: absolute;
  left: 50%;
  top: 50%;
  border-radius: 50%;
  transform: translate(-50%, -50%);
}

.nexa-why-modern__ring--outer {
  width: 158px;
  height: 158px;
  border: 1px solid rgba(31,103,210,.22);
  box-shadow:
    0 0 0 18px rgba(31,103,210,.04),
    0 0 32px rgba(31,103,210,.05);
}

.nexa-why-modern__ring--inner {
  width: 94px;
  height: 94px;
  border: 1px solid rgba(137,217,200,.28);
  box-shadow:
    inset 0 0 16px rgba(137,217,200,.07);
}

.nexa-why-modern__dot {
  position: absolute;
  border-radius: 50%;
}

.nexa-why-modern__dot--blue {
  top: 54px;
  right: 42px;
  width: 16px;
  height: 16px;
  background:
    radial-gradient(circle at 30% 30%, #dcecff 0%, #6db1ff 32%, #1F67D2 78%);
  box-shadow:
    0 0 0 8px rgba(31,103,210,.08),
    0 0 24px rgba(31,103,210,.28);
}

.nexa-why-modern__dot--green {
  bottom: 54px;
  left: 52px;
  width: 13px;
  height: 13px;
  background:
    radial-gradient(circle at 30% 30%, #effffb 0%, #b8efe8 34%, #89D9C8 78%);
  box-shadow:
    0 0 0 7px rgba(137,217,200,.09),
    0 0 18px rgba(137,217,200,.26);
}

/* =========================================================
   SMALL CARDS
========================================================= */

.nexa-why-modern__card-label {
  display: inline-block;
  margin-bottom: 12px;
  color: var(--nexa-green-2);
  font-size: 10px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.nexa-why-modern__card h3 {
  margin: 0 0 10px;
  color: var(--nexa-navy);
  font-family: "DM Sans", sans-serif;
  font-size: 22px;
  font-weight: 850;
  line-height: 1.06;
  letter-spacing: -.03em;
}

.nexa-why-modern__card p {
  margin: 0;
  color: var(--nexa-text);
  font-size: 14px;
  font-weight: 540;
  line-height: 1.65;
}

/* =========================================================
   STAT CARD
========================================================= */

.nexa-why-modern__card--stat {
  background:
    linear-gradient(
      180deg,
      rgba(255,255,255,.66) 0%,
      rgba(245,251,255,.42) 100%
    );
}

.nexa-why-modern__stat {
  margin: 2px 0 10px;
  color: var(--nexa-blue);
  font-family: "DM Sans", sans-serif;
  font-size: clamp(34px, 4.2vw, 54px);
  font-weight: 900;
  line-height: .92;
  letter-spacing: -.06em;
  text-shadow: 0 0 22px rgba(31,103,210,.08);
}

/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 1100px) {
  .nexa-why-modern__grid {
    grid-template-columns: 1fr 1fr;
  }

  .nexa-why-modern__card--hero {
    grid-column: 1 / -1;
    grid-row: auto;
    min-height: 360px;
  }
}

@media (max-width: 767px) {
  .nexa-why-modern {
    padding: 64px 16px;
  }

  /* Mantener el video activo también en celular */
  .nexa-why-modern__video {
    display: block;
  }

  .nexa-why-modern__grid {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .nexa-why-modern__card,
  .nexa-why-modern__card--hero {
    min-height: auto;
    padding: 20px 18px 18px;
    border-radius: 20px;
  }

  .nexa-why-modern__title {
    font-size: 34px;
    line-height: .98;
  }

  .nexa-why-modern__text {
    font-size: 14px;
    line-height: 1.65;
  }

  .nexa-why-modern__hero-deco {
    position: relative;
    right: auto;
    bottom: auto;
    width: 160px;
    height: 160px;
    margin: 22px auto 2px;
  }

  .nexa-why-modern__ring--outer {
    width: 118px;
    height: 118px;
  }

  .nexa-why-modern__ring--inner {
    width: 74px;
    height: 74px;
  }

  .nexa-why-modern__dot--blue {
    top: 33px;
    right: 27px;
    width: 13px;
    height: 13px;
  }

  .nexa-why-modern__dot--green {
    bottom: 39px;
    left: 33px;
    width: 11px;
    height: 11px;
  }

  .nexa-why-modern__card h3 {
    font-size: 20px;
  }

  .nexa-why-modern__card p {
    font-size: 13.5px;
  }
}

/* =========================================================
   REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion: reduce) {
  .nexa-why-modern__card {
    transition: none;
  }

  .nexa-why-modern__card:hover {
    transform: none;
  }

  .nexa-why-modern__video {
    display: none;
  }
}
/* NEXA — Why Modern / corrección tipográfica */
.nexa-why-modern__title,
.nexa-why-modern__card h3 {
	text-transform: none !important;
}

.nexa-why-modern__title {
	font-family: "DM Sans", sans-serif !important;
	font-weight: 800 !important;
	letter-spacing: -0.045em !important;
}

.nexa-why-modern__card h3 {
	font-family: "DM Sans", sans-serif !important;
	font-weight: 800 !important;
	letter-spacing: -0.035em !important;
}
.nexa-why-modern__title {
	color: #0C2742 !important;
}

.nexa-why-modern__title span {
	display: block;
}

.nexa-why-modern__title .is-accent {
	color: #1F67D2 !important;
}
@media (min-width: 1200px) {
	.nexa-why-modern__title {
		font-size: 38px !important;
		line-height: 1.03 !important;
		letter-spacing: -0.045em !important;
	}
}
/* =========================================================
   NEXA — WHY MODERN / VIDEO CINEMATOGRÁFICO + GLASS FINAL
   ========================================================= */

/*
 * El video debe sentirse como footage real de fondo:
 * visible y reconocible, pero con un grading navy/riptide
 * que mantenga la lectura de las tarjetas.
 */
.nexa-why-modern__overlay {
	position: absolute;
	inset: 0;
	background:
		/* Oscurece apenas el centro detrás de las cards */
		radial-gradient(
			ellipse at 50% 48%,
			rgba(3,18,32,.17) 0%,
			rgba(3,18,32,.09) 43%,
			transparent 73%
		),
		/* Grading Nexa sobre el footage */
		linear-gradient(
			90deg,
			rgba(7,27,47,.43) 0%,
			rgba(10,35,58,.34) 48%,
			rgba(15,62,62,.36) 100%
		) !important;
}


/* Halos ambientales: presentes, pero ya no dominan al video */
.nexa-why-modern__glow--blue {
	width: 640px;
	height: 640px;
	top: 2%;
	left: -220px;
	background: rgba(31,103,210,.08) !important;
	filter: blur(105px);
}

.nexa-why-modern__glow--green {
	width: 620px;
	height: 620px;
	right: -220px;
	bottom: -4%;
	background: rgba(137,217,200,.10) !important;
	filter: blur(110px);
}


/* =========================================================
   VIDRIO — claro sobre fondo cinematográfico oscuro
   ========================================================= */

.nexa-why-modern__card {
	background:
		linear-gradient(
			135deg,
			rgba(232,242,248,.44) 0%,
			rgba(225,237,243,.27) 52%,
			rgba(205,232,226,.20) 100%
		) !important;

	border: 1px solid rgba(255,255,255,.54) !important;

	-webkit-backdrop-filter:
		blur(24px)
		saturate(128%);
	backdrop-filter:
		blur(24px)
		saturate(128%);

	box-shadow:
		0 18px 46px rgba(4,20,35,.17),
		inset 0 1px 0 rgba(255,255,255,.66),
		inset 0 -1px 0 rgba(255,255,255,.11) !important;
}


/* Principal un poco más sólido para proteger el headline */
.nexa-why-modern__card--hero {
	background:
		linear-gradient(
			135deg,
			rgba(236,244,249,.54) 0%,
			rgba(228,239,245,.35) 52%,
			rgba(210,234,230,.25) 100%
		) !important;

	box-shadow:
		0 22px 58px rgba(4,20,35,.19),
		inset 0 1px 0 rgba(255,255,255,.74),
		inset 0 -1px 0 rgba(255,255,255,.12) !important;
}


/* Reflejo superior del cristal */
.nexa-why-modern__card::before {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
	pointer-events: none;

	background:
		linear-gradient(
			135deg,
			rgba(255,255,255,.22) 0%,
			rgba(255,255,255,.045) 24%,
			transparent 47%
		);

	opacity: .58;
}


/* Hover elegante */
@media (hover:hover) and (pointer:fine) {

	.nexa-why-modern__card:hover {
		transform: translateY(-3px);

		background:
			linear-gradient(
				135deg,
				rgba(239,246,250,.50) 0%,
				rgba(230,240,245,.32) 52%,
				rgba(211,235,230,.23) 100%
			) !important;

		border-color: rgba(255,255,255,.66) !important;

		box-shadow:
			0 26px 64px rgba(4,20,35,.20),
			inset 0 1px 0 rgba(255,255,255,.76) !important;
	}
}

/* =========================================================
   NEXA WHY — AJUSTE FINAL DEL VIDEO
   ========================================================= */

.nexa-why-modern__video {
	opacity: .94 !important;
	filter:
		brightness(.60)
		contrast(1.10)
		saturate(.76) !important;
}

/*
 * La máscara ya existente en .nexa-why-modern__bg mantiene
 * la entrada/salida suave de la sección para que el video
 * no aparezca como un rectángulo pegado.
 */

/* =========================================================
   NEXA WHY — PULIDO FINAL
   ========================================================= */
.nexa-why-modern__card--stat {
	background:
		linear-gradient(
			135deg,
			rgba(232,242,248,.44) 0%,
			rgba(225,237,243,.27) 52%,
			rgba(205,232,226,.20) 100%
		) !important;
}

/* =========================================================
   NEXA WHY — GLASS CONTROLADO V4
   Unifica el material de todas las tarjetas y deja ver mejor
   el video sin que cada card cambie de tono según el frame.
   ========================================================= */

/* Video con un poco más de presencia */
.nexa-why-modern__video {
	display: block;
	opacity: 1 !important;
	filter:
		brightness(.72)
		contrast(1.06)
		saturate(.86) !important;
}

/* Grading más ligero y uniforme */
.nexa-why-modern__overlay {
	background:
		linear-gradient(
			90deg,
			rgba(7,27,47,.24) 0%,
			rgba(10,35,58,.17) 48%,
			rgba(15,62,62,.20) 100%
		) !important;
}

/* Todas las cards parten del MISMO material */
.nexa-why-modern__card,
.nexa-why-modern__card--stat {
	background:
		linear-gradient(
			135deg,
			rgba(218,232,239,.40) 0%,
			rgba(210,226,233,.32) 52%,
			rgba(190,218,213,.25) 100%
		) !important;

	border: 1px solid rgba(255,255,255,.54) !important;

	-webkit-backdrop-filter:
		blur(11px)
		saturate(108%);
	backdrop-filter:
		blur(11px)
		saturate(108%);

	box-shadow:
		0 18px 46px rgba(4,20,35,.16),
		inset 0 1px 0 rgba(255,255,255,.58),
		inset 0 -1px 0 rgba(255,255,255,.08) !important;
}

/* La principal conserva el mismo material; solo un poco más protegida */
.nexa-why-modern__card--hero {
	background:
		linear-gradient(
			135deg,
			rgba(225,237,243,.47) 0%,
			rgba(215,230,237,.37) 52%,
			rgba(195,221,217,.29) 100%
		) !important;
}

/* Reflejo idéntico en todas: ya no amplifica zonas claras del video */
.nexa-why-modern__card::before {
	background:
		linear-gradient(
			135deg,
			rgba(255,255,255,.13) 0%,
			rgba(255,255,255,.03) 24%,
			transparent 47%
		) !important;
	opacity: .42 !important;
}

/* Hover: mismo material, apenas un poco más claro */
@media (hover:hover) and (pointer:fine) {
	.nexa-why-modern__card:hover {
		background:
			linear-gradient(
				135deg,
				rgba(226,238,244,.45) 0%,
				rgba(216,231,237,.35) 52%,
				rgba(196,222,218,.28) 100%
			) !important;

		border-color: rgba(255,255,255,.66) !important;
	}
}

/* =========================================================
   MÓVIL — menos blur y más footage visible
   ========================================================= */
@media (max-width: 767px) {

	.nexa-why-modern__video {
		display: block !important;
		opacity: 1 !important;
		object-fit: cover;
		object-position: 52% center;
		filter:
			brightness(.82)
			contrast(1.03)
			saturate(.90) !important;
	}

	.nexa-why-modern__overlay {
		background:
			linear-gradient(
				90deg,
				rgba(7,27,47,.12) 0%,
				rgba(10,35,58,.08) 50%,
				rgba(15,62,62,.11) 100%
			) !important;
	}

	.nexa-why-modern__card,
	.nexa-why-modern__card--stat {
		background:
			linear-gradient(
				135deg,
				rgba(220,233,239,.32) 0%,
				rgba(210,226,232,.25) 52%,
				rgba(190,217,212,.19) 100%
			) !important;

		-webkit-backdrop-filter:
			blur(6px)
			saturate(105%);
		backdrop-filter:
			blur(6px)
			saturate(105%);
	}

	.nexa-why-modern__card--hero {
		background:
			linear-gradient(
				135deg,
				rgba(228,238,243,.39) 0%,
				rgba(216,230,236,.30) 52%,
				rgba(195,220,215,.22) 100%
			) !important;
	}
}

/* Mantener accesibilidad: si el usuario pide menos movimiento, no reproducir fondo */
@media (prefers-reduced-motion: reduce) {
	.nexa-why-modern__video {
		display: none !important;
	}
}

/* =========================================================
   NEXA WHY — REFINAMIENTO FINAL V5
   ========================================================= */

/* 1) Pill "POR QUÉ NEXA" en Riptide */
.nexa-why-modern__eyebrow {
	background: #89D9C8 !important;
	border-color: rgba(59,159,145,.38) !important;
	color: #0C2742 !important;
}


/* 2) Labels de las cuatro tarjetas en Riptide oscuro */
.nexa-why-modern__card-label {
	color: #3B9F91 !important;
}


/* 3) Video: misma luminosidad, un poco más de profundidad */
.nexa-why-modern__video {
	opacity: 1 !important;
	filter:
		brightness(.72)
		contrast(1.10)
		saturate(.90) !important;
}


/* 4) Hero glass: apenas menos lechoso que en V4 */
.nexa-why-modern__card--hero {
	background:
		linear-gradient(
			135deg,
			rgba(225,237,243,.42) 0%,
			rgba(215,230,237,.32) 52%,
			rgba(195,221,217,.24) 100%
		) !important;
}


/* 5) Aro decorativo: un poco más grande, más visible y hacia abajo/derecha */
@media (min-width: 768px) {

	.nexa-why-modern__hero-deco {
		right: 6px !important;
		bottom: 2px !important;
		width: 250px !important;
		height: 250px !important;
		opacity: 1 !important;
	}

	.nexa-why-modern__ring--outer {
		width: 178px !important;
		height: 178px !important;
		border-color: rgba(31,103,210,.32) !important;
		box-shadow:
			0 0 0 20px rgba(31,103,210,.045),
			0 0 38px rgba(31,103,210,.085) !important;
	}

	.nexa-why-modern__ring--inner {
		width: 106px !important;
		height: 106px !important;
		border-color: rgba(137,217,200,.40) !important;
		box-shadow:
			inset 0 0 18px rgba(137,217,200,.10) !important;
	}

	.nexa-why-modern__dot--blue {
		top: 57px !important;
		right: 43px !important;
	}

	.nexa-why-modern__dot--green {
		bottom: 57px !important;
		left: 54px !important;
	}
}


/* 6) Transición de fondo:
      arriba conserva el separador;
      abajo el video llega casi hasta el borde. */
.nexa-why-modern__bg {
	-webkit-mask-image: linear-gradient(
		180deg,
		rgba(0,0,0,.72) 0%,
		#000 3%,
		#000 99%,
		rgba(0,0,0,.88) 100%
	) !important;

	mask-image: linear-gradient(
		180deg,
		rgba(0,0,0,.72) 0%,
		#000 3%,
		#000 99%,
		rgba(0,0,0,.88) 100%
	) !important;
}


/* 7) Separador superior fino y deliberado */
.nexa-why-modern::before {
	height: 2px !important;
	background:
		linear-gradient(
			90deg,
			transparent 0%,
			rgba(31,103,210,.72) 18%,
			rgba(137,217,200,.92) 50%,
			rgba(31,103,210,.66) 82%,
			transparent 100%
		) !important;

	box-shadow:
		0 5px 16px rgba(31,103,210,.09),
		0 10px 24px rgba(137,217,200,.065) !important;
}


/* 8) En móvil conservar el tratamiento V4 ya aprobado */
@media (max-width: 767px) {

	.nexa-why-modern__video {
		display: block !important;
		opacity: 1 !important;
		object-fit: cover;
		object-position: 52% center;
		filter:
			brightness(.82)
			contrast(1.03)
			saturate(.90) !important;
	}

	/* El hero móvil no necesita el aro grande de escritorio */
	.nexa-why-modern__hero-deco {
		right: auto !important;
		bottom: auto !important;
		width: 160px !important;
		height: 160px !important;
		opacity: .96 !important;
	}

	.nexa-why-modern__ring--outer {
		width: 118px !important;
		height: 118px !important;
	}

	.nexa-why-modern__ring--inner {
		width: 74px !important;
		height: 74px !important;
	}

	.nexa-why-modern__dot--blue {
		top: 33px !important;
		right: 27px !important;
	}

	.nexa-why-modern__dot--green {
		bottom: 39px !important;
		left: 33px !important;
	}
}


/* Accesibilidad */
@media (prefers-reduced-motion: reduce) {
	.nexa-why-modern__video {
		display: none !important;
	}
}
/* =========================================================
   NEXA — Nuestro estándar
   ========================================================= */

.nexa-standard {
  --nexa-blue: #1f67d2;
  --nexa-riptide: #89d9c8;
  --nexa-bg: #07121f;
  --nexa-text: #f7fafc;
  --nexa-muted: rgba(247,250,252,.70);

  position: relative;
  overflow: hidden;
  background:
    radial-gradient(
      circle at 82% 42%,
      rgba(137,217,200,.08),
      transparent 36%
    ),
    linear-gradient(
      135deg,
      #07121f 0%,
      #091827 100%
    );
  color: var(--nexa-text);
}

.nexa-standard::before {
  content: "";
  position: absolute;
  width: 420px;
  height: 420px;
  left: -240px;
  bottom: -250px;
  border: 1px solid rgba(137,217,200,.12);
  border-radius: 50%;
  pointer-events: none;
}

.nexa-standard__inner {
  width: min(1180px, calc(100% - 40px));
  margin: 0 auto;
  padding: 84px 0;
  display: grid;
  grid-template-columns: .82fr 1.18fr;
  gap: clamp(46px, 6vw, 88px);
  align-items: center;
}

.nexa-standard__content {
  min-width: 0;
}

.nexa-standard__eyebrow {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 22px;
  color: var(--nexa-riptide);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .14em;
}

.nexa-standard__eyebrow span {
  width: 34px;
  height: 2px;
  background: var(--nexa-riptide);
  border-radius: 99px;
}

.nexa-standard h2 {
  margin: 0;
  max-width: 560px;
  color: #fff;
  font-family: "DM Sans", sans-serif;
  font-size: clamp(42px, 4.3vw, 66px);
  font-weight: 900;
  line-height: .98;
  letter-spacing: -.055em;
}

.nexa-standard__intro {
  max-width: 570px;
  margin: 26px 0 0;
  color: var(--nexa-muted);
  font-size: 17px;
  line-height: 1.72;
}

.nexa-standard__points {
  margin-top: 38px;
  display: grid;
  gap: 24px;
}

.nexa-standard__point {
  display: grid;
  grid-template-columns: 14px 1fr;
  gap: 15px;
  align-items: start;
}

.nexa-standard__dot {
  width: 9px;
  height: 9px;
  margin-top: 8px;
  border-radius: 50%;
  background: var(--nexa-riptide);
  box-shadow: 0 0 0 5px rgba(137,217,200,.09);
}

.nexa-standard__point h3 {
  margin: 0;
  color: #fff;
  font-size: 17px;
  font-weight: 800;
  letter-spacing: -.015em;
}

.nexa-standard__point p {
  margin: 5px 0 0;
  color: rgba(247,250,252,.60);
  font-size: 14px;
  line-height: 1.55;
}

.nexa-standard__media {
  position: relative;
  min-width: 0;
}

.nexa-standard__media::before {
  content: "";
  position: absolute;
  inset: -1px;
  border-radius: 25px;
  background: linear-gradient(
    135deg,
    rgba(137,217,200,.38),
    rgba(31,103,210,.14) 45%,
    rgba(255,255,255,.04)
  );
  pointer-events: none;
}

.nexa-standard__media img {
  position: relative;
  z-index: 1;
  display: block;
  width: calc(100% - 2px);
  margin: 1px;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  object-position: center;
  border-radius: 24px;
}

/* Tablet */
@media (max-width: 900px) {
  .nexa-standard__inner {
    grid-template-columns: 1fr;
    gap: 46px;
    padding: 72px 0;
  }

  .nexa-standard__media {
    max-width: 720px;
  }

  .nexa-standard__media img {
    aspect-ratio: 16 / 10;
  }
}

/* Mobile */
@media (max-width: 600px) {
  .nexa-standard__inner {
    width: min(100% - 32px, 1180px);
    padding: 64px 0;
    gap: 34px;
  }

  .nexa-standard__eyebrow {
    margin-bottom: 18px;
    font-size: 11px;
  }

  .nexa-standard h2 {
    font-size: clamp(38px, 12vw, 50px);
  }

  .nexa-standard__intro {
    margin-top: 21px;
    font-size: 15.5px;
    line-height: 1.65;
  }

  .nexa-standard__media {
    order: 2;
  }

  .nexa-standard__media img {
    aspect-ratio: 4 / 5;
    border-radius: 20px;
  }

  .nexa-standard__media::before {
    border-radius: 21px;
  }

  .nexa-standard__points {
    order: 3;
    margin-top: 30px;
    gap: 21px;
  }
}
/* =========================================================
   NEXA — Nuestro estándar / refinamiento final
   ========================================================= */

.nexa-standard{
  background:
    radial-gradient(circle at 78% 26%, rgba(137,217,200,.08), transparent 34%),
    radial-gradient(circle at 14% 0%, rgba(31,103,210,.11), transparent 28%),
    linear-gradient(135deg, #061321 0%, #081a2b 48%, #0a2136 100%) !important;
}

.nexa-standard::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(
      180deg,
      rgba(255,255,255,.03) 0%,
      rgba(255,255,255,0) 18%
    );
}

/* Un poco más de protagonismo para la imagen */
.nexa-standard__inner{
  grid-template-columns: minmax(0,.76fr) minmax(0,1.24fr) !important;
  gap: 58px !important;
  align-items: center !important;
}

/* Título menos pesado */
.nexa-standard h2{
  font-size: clamp(40px, 4.05vw, 58px) !important;
  max-width: 470px !important;
  letter-spacing: -.05em !important;
}

/* Copy un poco más legible */
.nexa-standard__intro{
  max-width: 520px !important;
  font-size: 18px !important;
  line-height: 1.76 !important;
  color: rgba(247,250,252,.78) !important;
}

/* Lista más respirada */
.nexa-standard__points{
  margin-top: 34px !important;
  gap: 22px !important;
}

.nexa-standard__point h3{
  font-size: 16px !important;
}

.nexa-standard__point p{
  color: rgba(247,250,252,.68) !important;
  font-size: 14px !important;
  line-height: 1.58 !important;
}

/* Foto con más presencia y mejor encuadre */
.nexa-standard__media{
  max-width: 100% !important;
}

.nexa-standard__media img{
  aspect-ratio: 4 / 4.9 !important;
  object-fit: cover !important;
  object-position: center center !important;
}

/* Tablet */
@media (max-width: 900px){
  .nexa-standard__inner{
    grid-template-columns: 1fr !important;
    gap: 40px !important;
  }

  .nexa-standard h2{
    max-width: 560px !important;
  }

  .nexa-standard__intro{
    font-size: 16.5px !important;
    line-height: 1.7 !important;
  }

  .nexa-standard__media img{
    aspect-ratio: 16 / 10 !important;
  }
}

/* Mobile */
@media (max-width: 600px){
  .nexa-standard{
    padding-top: 58px !important;
    padding-bottom: 58px !important;
  }

  .nexa-standard h2{
    font-size: clamp(36px, 11.5vw, 46px) !important;
    max-width: 100% !important;
  }

  .nexa-standard__intro{
    font-size: 15.5px !important;
    line-height: 1.66 !important;
    color: rgba(247,250,252,.76) !important;
  }

  .nexa-standard__points{
    margin-top: 28px !important;
    gap: 20px !important;
  }

  .nexa-standard__media img{
    aspect-ratio: 4 / 5 !important;
  }
}
