.emy-hero {
	position: relative;
	min-height: 100vh;
	display: flex;
	align-items: flex-start;
	justify-content: center;
	overflow: hidden;
	background: #e2e8f0;
	color: var(--tt-text);
}

[data-theme="dark"] .emy-hero {
	background: #07111f;
	color: #ffffff;
}

.emy-hero-bg {
	position: absolute;
	inset: 0;
	background-image: url('../img/desktop_1.jpg');
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	transform: scale(1.03);
}

.emy-hero-overlay {
	position: absolute;
	inset: 0;
	background:
		radial-gradient(circle at 15% 30%, rgba(34, 211, 238, 0.14), transparent 28%),
		radial-gradient(circle at 85% 35%, rgba(37, 99, 235, 0.14), transparent 30%),
		linear-gradient(180deg, rgba(248, 250, 252, 0.82), rgba(248, 250, 252, 0.92));
}

[data-theme="dark"] .emy-hero-overlay {
	background:
		radial-gradient(circle at 15% 30%, rgba(34, 211, 238, 0.28), transparent 28%),
		radial-gradient(circle at 85% 35%, rgba(37, 99, 235, 0.28), transparent 30%),
		linear-gradient(180deg, rgba(4, 12, 28, 0.84), rgba(4, 12, 28, 0.92));
}

.emy-hero-content {
	position: relative;
	z-index: 3;
	width: min(100% - 32px, 1120px);
	margin: 0 auto;
	padding: 95px 0 80px;
	text-align: center;
}

.emy-hero-badge {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 10px 22px;
	margin-bottom: 32px;
	border: 1px solid rgba(37, 99, 235, 0.18);
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.55);
	color: #0284c7;
	font-size: 0.95rem;
	font-weight: 600;
	backdrop-filter: blur(12px);
}

[data-theme="dark"] .emy-hero-badge {
	border: 1px solid rgba(34, 211, 238, 0.28);
	background: rgba(37, 99, 235, 0.12);
	color: #22d3ee;
}

.emy-hero-badge-dot {
	flex: 0 0 auto;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: currentColor;
	box-shadow: 0 0 18px currentColor;
}

.emy-hero-badge-text {
	width: auto;
	height: auto;
	line-height: 1.2;
}

.emy-hero-title {
	max-width: 980px;
	margin: 0 auto 24px;
	font-size: clamp(2.8rem, 6vw, 5.8rem);
	font-weight: 900;
	line-height: 0.98;
	letter-spacing: -0.06em;
	color: #0f172a;
}

[data-theme="dark"] .emy-hero-title {
	color: #ffffff;
}

.emy-hero-title span {
	display: block;
	margin-top: 10px;
	background: var(--emy-gradient-brand);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	-webkit-text-fill-color: transparent;
}

.emy-hero-text {
	max-width: 720px;
	margin: 0 auto 36px;
	color: rgba(15, 23, 42, 0.78);
	font-size: clamp(1.05rem, 2vw, 1.45rem);
	line-height: 1.65;
}

[data-theme="dark"] .emy-hero-text {
	color: rgba(226, 232, 240, 0.82);
}

.emy-hero-text strong {
	color: #0f172a;
}

[data-theme="dark"] .emy-hero-text strong {
	color: #ffffff;
}

.emy-hero-actions {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 18px;
	flex-wrap: wrap;
	margin-bottom: 70px;
}

.emy-hero-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-width: 190px;
	padding: 15px 28px;
	border-radius: 12px;
	text-decoration: none;
	font-weight: 800;
	transition: all 0.25s ease;
}

.emy-hero-btn-primary {
	color: #ffffff;
	background: var(--emy-gradient-cta);
	box-shadow: 0 16px 34px var(--emy-glow-blue);
}

.emy-hero-btn-primary:hover {
	color: #ffffff;
	transform: translateY(-3px);
	box-shadow:
		0 20px 44px var(--emy-glow-cyan),
		0 0 0 4px rgba(34, 211, 238, 0.16);
}

.emy-hero-btn-secondary {
	color: #0f172a;
	border: 1px solid rgba(15, 23, 42, 0.12);
	background: rgba(255, 255, 255, 0.58);
	backdrop-filter: blur(12px);
}

[data-theme="dark"] .emy-hero-btn-secondary {
	color: #e2e8f0;
	border: 1px solid rgba(148, 163, 184, 0.36);
	background: rgba(15, 23, 42, 0.38);
}

.emy-hero-btn-secondary:hover {
	color: #0f172a;
	border-color: rgba(37, 99, 235, 0.58);
	background: rgba(255, 255, 255, 0.96);
	box-shadow:
		0 18px 38px rgba(37, 99, 235, 0.14),
		0 0 0 3px rgba(6, 182, 212, 0.16);
	transform: translateY(-3px);
}

[data-theme="dark"] .emy-hero-btn-secondary:hover {
	color: #ffffff;
	border-color: rgba(34, 211, 238, 0.48);
	background: rgba(255, 255, 255, 0.08);
}

.emy-hero-stats {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 26px;
	width: min(100%, 980px);
	margin: 0 auto;
}

.emy-hero-stat {
	min-height: 138px;
	padding: 24px 18px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	border-radius: 22px;
	background: rgba(255, 255, 255, 0.58);
	border: 1px solid rgba(37, 99, 235, 0.22);
	backdrop-filter: blur(14px);
	box-shadow: 0 18px 42px rgba(15, 23, 42, 0.08);
	transition: all 0.25s ease;
}

[data-theme="dark"] .emy-hero-stat {
	background: rgba(15, 23, 42, 0.38);
	border: 1px solid rgba(34, 211, 238, 0.14);
	box-shadow: 0 18px 42px rgba(0, 0, 0, 0.18);
}

.emy-hero-stat:hover {
	transform: translateY(-6px);
	border-color: rgba(34, 211, 238, 0.35);
}

html:not([data-theme="dark"]) .emy-hero-stat:hover {
	transform: translateY(-6px);
	border-color: rgba(37, 99, 235, 0.65);
	box-shadow:
		0 22px 48px rgba(37, 99, 235, 0.18),
		0 0 0 4px rgba(6, 182, 212, 0.22);
	background: rgba(255, 255, 255, 0.78);
}

.emy-hero-stat-value {
	font-size: clamp(1.25rem, 2vw, 1.65rem);
	font-weight: 900;
	line-height: 1.1;
	background: var(--emy-gradient-line);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	-webkit-text-fill-color: transparent;
}

.emy-hero-stat-label {
	margin-top: 12px;
	color: rgba(15, 23, 42, 0.72);
	font-size: 0.92rem;
	line-height: 1.45;
	text-transform: none;
}

[data-theme="dark"] .emy-hero-stat-label {
	color: rgba(203, 213, 225, 0.76);
}

.emy-hero-scroll {
	position: absolute;
	left: 50%;
	bottom: 24px;
	z-index: 4;
	transform: translateX(-50%);
	color: rgba(15, 23, 42, 0.55);
	font-size: 2rem;
	animation: emyHeroBounce 1.8s infinite;
	transition: color 0.25s ease;
}

[data-theme="dark"] .emy-hero-scroll {
	color: rgba(203, 213, 225, 0.72);
}

.emy-hero-scroll:hover {
	color: #22d3ee;
}

.emy-hero-particles {
	position: absolute;
	inset: 0;
	z-index: 2;
	pointer-events: none;
	overflow: hidden;
}

.emy-hero-particle {
	position: absolute;
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background: rgba(34, 211, 238, 0.55);
	box-shadow: 0 0 18px rgba(34, 211, 238, 0.6);
	animation: emyHeroPulse 3s infinite ease-in-out;
}

/* Mantén todas tus posiciones originales */
.emy-hero-particle-1 { left: 8%; top: 18%; animation-delay: 0.1s; }
.emy-hero-particle-2 { left: 16%; top: 72%; animation-delay: 0.4s; }
.emy-hero-particle-3 { left: 24%; top: 35%; animation-delay: 0.8s; }
.emy-hero-particle-4 { left: 32%; top: 82%; animation-delay: 1.2s; }
.emy-hero-particle-5 { left: 40%; top: 21%; animation-delay: 1.6s; }
.emy-hero-particle-6 { left: 48%; top: 68%; animation-delay: 2s; }
.emy-hero-particle-7 { left: 56%; top: 40%; animation-delay: 2.4s; }
.emy-hero-particle-8 { left: 64%; top: 76%; animation-delay: 2.8s; }
.emy-hero-particle-9 { left: 72%; top: 22%; animation-delay: 3.2s; }
.emy-hero-particle-10 { left: 80%; top: 62%; animation-delay: 3.6s; }
.emy-hero-particle-11 { left: 88%; top: 30%; animation-delay: 4s; }
.emy-hero-particle-12 { left: 92%; top: 84%; animation-delay: 4.4s; }
.emy-hero-particle-13 { left: 12%; top: 48%; animation-delay: 4.8s; }
.emy-hero-particle-14 { left: 28%; top: 12%; animation-delay: 5.2s; }
.emy-hero-particle-15 { left: 44%; top: 88%; animation-delay: 5.6s; }
.emy-hero-particle-16 { left: 60%; top: 14%; animation-delay: 6s; }
.emy-hero-particle-17 { left: 76%; top: 48%; animation-delay: 6.4s; }
.emy-hero-particle-18 { left: 86%; top: 12%; animation-delay: 6.8s; }
.emy-hero-particle-19 { left: 5%; top: 90%; animation-delay: 7.2s; }
.emy-hero-particle-20 { left: 52%; top: 52%; animation-delay: 7.6s; }

@keyframes emyHeroPulse {
	0%, 100% { opacity: 0.25; transform: scale(1); }
	50% { opacity: 1; transform: scale(1.8); }
}

@keyframes emyHeroBounce {
	0%, 100% { transform: translateX(-50%) translateY(0); }
	50% { transform: translateX(-50%) translateY(8px); }
}

@media (max-width: 991px) {
	.emy-hero-content {
		padding: 95px 0 70px;
	}

	.emy-hero-stats {
		grid-template-columns: repeat(2, 1fr);
		gap: 18px;
	}
}

@media (max-width: 575px) {
	.emy-hero {
		min-height: auto;
	}

	.emy-hero-content {
		padding: 92px 0 60px;
	}

	.emy-hero-actions {
		margin-bottom: 44px;
	}

	.emy-hero-btn {
		width: 100%;
	}

	.emy-hero-stats {
		grid-template-columns: 1fr;
		gap: 14px;
	}

	.emy-hero-stat {
		min-height: auto;
		padding: 22px 18px;
	}

	.emy-hero-scroll {
		display: none;
	}
}

.emy-reveal-item {
	opacity: 0;
	transform: translateY(34px);
	filter: blur(8px);
	transition:
		opacity 1.8s cubic-bezier(0.22, 1, 0.36, 1),
		transform 1.8s cubic-bezier(0.22, 1, 0.36, 1),
		filter 1.8s cubic-bezier(0.22, 1, 0.36, 1);
	transition-delay: var(--emy-delay, 0s);
	will-change: opacity, transform, filter;
}

.emy-reveal-group.emy-reveal-active .emy-reveal-item {
	opacity: 1;
	transform: translateY(0);
	filter: blur(0);
}

.emy-hero-bg {
	transition: transform 1.1s ease;
}

.emy-hero.emy-hero-visible .emy-hero-bg {
	transform: scale(1);
}

@media (prefers-reduced-motion: reduce) {
	.emy-reveal-item {
		opacity: 1;
		transform: none;
		filter: none;
		transition: none;
	}

	.emy-hero-bg {
		transition: none;
	}
}

/* ===== HERO CTA PREMIUM EFFECT ===== */
.emy-hero-btn-primary {
	position: relative;
	overflow: hidden;
	isolation: isolate;
}

.emy-hero-btn-primary::before {
	content: '';
	position: absolute;
	top: 0;
	left: -130%;
	width: 70%;
	height: 100%;
	background: linear-gradient(
		90deg,
		transparent,
		rgba(255, 255, 255, 0.34),
		transparent
	);
	transform: skewX(-18deg);
	transition: left 0.6s ease;
	z-index: 1;
}

.emy-hero-btn-primary:hover::before {
	left: 140%;
}

.emy-hero-btn-primary span,
.emy-hero-btn-primary i {
	position: relative;
	z-index: 2;
}

.emy-hero-btn-primary:hover {
	color: #ffffff;
	transform: translateY(-4px) scale(1.015);
	box-shadow:
		0 22px 48px var(--emy-glow-cyan),
		0 0 0 4px rgba(34, 211, 238, 0.16);
}

/* Movimiento del icono */
.emy-hero-btn-primary i {
	transition: transform 0.28s ease;
}

.emy-hero-btn-primary:hover i {
	transform: translateX(4px) rotate(-8deg);
}

[data-theme="dark"] .emy-hero-btn-primary:hover {
	box-shadow:
		0 24px 54px var(--emy-glow-cyan),
		0 0 0 4px rgba(34, 211, 238, 0.12);
}