/* =========================================================
   VANTHEX SYSTEM WEB CORE 2.0
   Landing modular, responsive y aislada del tema.
   ========================================================= */

.tdb-standalone-page,
.tdb-standalone-page body,
body.tdb-standalone-page {
	margin: 0;
	background: #05060a;
}

.tdb-page-shell {
	min-height: 100vh;
}

.tdb-landing {
	--tdb-accent: #745cff;
	--tdb-accent-2: #2bc9ff;
	--tdb-bg: #05060a;
	--tdb-surface: #0b0d14;
	--tdb-text: #f5f7fb;
	--tdb-muted: #98a0b2;
	--tdb-border: rgba(255, 255, 255, 0.09);
	--tdb-border-strong: rgba(255, 255, 255, 0.16);
	--tdb-success: #55e6b1;
	--tdb-danger: #ff8296;
	--tdb-container: 1220px;
	--tdb-section-space: 112px;
	position: relative;
	isolation: isolate;
	min-height: 100vh;
	overflow: clip;
	background: var(--tdb-bg);
	color: var(--tdb-text);
	font-family: Inter, Manrope, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: 16px;
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

.tdb-landing *,
.tdb-landing *::before,
.tdb-landing *::after {
	box-sizing: border-box;
}

.tdb-landing a {
	color: inherit;
}

.tdb-landing button,
.tdb-landing input {
	font: inherit;
}

.tdb-container {
	position: relative;
	z-index: 2;
	width: min(calc(100% - 48px), var(--tdb-container));
	margin-inline: auto;
}

.tdb-main,
.tdb-site-header,
.tdb-footer {
	position: relative;
	z-index: 3;
}

.tdb-section {
	position: relative;
	padding: var(--tdb-section-space) 0;
	scroll-margin-top: 92px;
}

.tdb-section::before {
	content: "";
	position: absolute;
	left: 50%;
	top: 0;
	width: min(calc(100% - 48px), var(--tdb-container));
	height: 1px;
	transform: translateX(-50%);
	background: linear-gradient(90deg, transparent, rgba(255,255,255,.075), transparent);
}

.tdb-hero::before,
.tdb-final-cta::before {
	display: none;
}

/* Background engine */
.tdb-background {
	position: fixed;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	overflow: hidden;
	background:
		radial-gradient(circle at 72% 15%, color-mix(in srgb, var(--tdb-accent) 12%, transparent), transparent 34%),
		radial-gradient(circle at 18% 66%, color-mix(in srgb, var(--tdb-accent-2) 8%, transparent), transparent 31%),
		var(--tdb-bg);
}

.tdb-neural-canvas {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	opacity: 1;
}

.tdb-background-grid {
	position: absolute;
	inset: 0;
	background-image:
		linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px),
		linear-gradient(rgba(116,92,255,.03) 1px, transparent 1px),
		linear-gradient(90deg, rgba(43,201,255,.025) 1px, transparent 1px);
	background-size: 72px 72px, 72px 72px, 288px 288px, 288px 288px;
	mask-image: linear-gradient(to bottom, rgba(0,0,0,.9), rgba(0,0,0,.34) 70%, transparent 100%);
}

.tdb-background-orbs i {
	position: absolute;
	border-radius: 999px;
	filter: blur(70px);
	opacity: .18;
	animation: tdb-orb-float 18s ease-in-out infinite alternate;
}

.tdb-background-orbs i:nth-child(1) {
	width: 460px;
	height: 460px;
	top: -180px;
	right: -110px;
	background: var(--tdb-accent);
}

.tdb-background-orbs i:nth-child(2) {
	width: 340px;
	height: 340px;
	left: -180px;
	top: 42%;
	background: var(--tdb-accent-2);
	animation-delay: -7s;
}

.tdb-background-orbs i:nth-child(3) {
	width: 420px;
	height: 260px;
	right: 18%;
	bottom: -190px;
	background: #835cff;
	animation-delay: -12s;
}

.tdb-background-scanline {
	position: absolute;
	left: 0;
	top: -18vh;
	width: 100%;
	height: 18vh;
	background: linear-gradient(to bottom, transparent, rgba(43,201,255,.028), rgba(116,92,255,.065), transparent);
	animation: tdb-scanline 13s linear infinite;
}

.tdb-background-vignette {
	position: absolute;
	inset: 0;
	background: radial-gradient(ellipse at center, transparent 30%, rgba(1,2,5,.42) 100%);
}

.tdb-system-frame {
	position: fixed;
	inset: 14px;
	z-index: 1;
	pointer-events: none;
	border: 1px solid rgba(255,255,255,.025);
}

.tdb-system-corner {
	position: absolute;
	width: 42px;
	height: 42px;
}

.tdb-system-corner::before,
.tdb-system-corner::after {
	content: "";
	position: absolute;
	background: linear-gradient(90deg, var(--tdb-accent), var(--tdb-accent-2));
	opacity: .6;
	box-shadow: 0 0 12px color-mix(in srgb, var(--tdb-accent) 45%, transparent);
}

.tdb-system-corner::before { width: 42px; height: 1px; }
.tdb-system-corner::after { width: 1px; height: 42px; }
.tdb-system-corner--tl { top: 0; left: 0; }
.tdb-system-corner--tr { top: 0; right: 0; transform: rotate(90deg); }
.tdb-system-corner--br { right: 0; bottom: 0; transform: rotate(180deg); }
.tdb-system-corner--bl { left: 0; bottom: 0; transform: rotate(270deg); }

.tdb-system-label {
	position: absolute;
	bottom: 12px;
	font-size: 8px;
	font-weight: 700;
	letter-spacing: .24em;
	color: rgba(255,255,255,.25);
	writing-mode: vertical-rl;
}

.tdb-system-label--left { left: 8px; transform: rotate(180deg); }
.tdb-system-label--right { right: 8px; }

@keyframes tdb-orb-float {
	to { transform: translate3d(40px, 34px, 0) scale(1.08); }
}

@keyframes tdb-scanline {
	to { transform: translateY(118vh); }
}

/* Header */
.tdb-site-header {
	border-bottom: 1px solid transparent;
	background: transparent;
	opacity: 1;
	transform: translate3d(0, 0, 0);
	will-change: transform, opacity;
	transition:
		transform .42s cubic-bezier(.22,.75,.18,1),
		opacity .26s ease,
		background .3s ease,
		border-color .3s ease,
		box-shadow .3s ease;
}

.tdb-has-sticky-header .tdb-site-header {
	position: sticky;
	top: 0;
	z-index: 50;
}

/* El fondo neuronal de la landing continúa detrás del Header. */
.tdb-has-header-blur .tdb-site-header {
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
}

.tdb-site-header.is-scrolled {
	background: transparent;
	border-color: transparent;
	box-shadow: none;
}

/* Oculta todo el Header al avanzar hacia abajo y lo recupera al subir. */
.tdb-site-header.is-hidden {
	opacity: 0;
	pointer-events: none;
	transform: translate3d(0, calc(-100% - 10px), 0);
}

.tdb-site-header.is-menu-open {
	opacity: 1;
	pointer-events: auto;
	transform: translate3d(0, 0, 0);
}

.tdb-header-inner {
	display: grid;
	grid-template-columns: minmax(250px,1fr) auto minmax(250px,1fr);
	align-items: center;
	gap: 28px;
	min-height: 78px;
	transition: min-height .3s ease;
}

.tdb-header-compacts .tdb-site-header.is-scrolled .tdb-header-inner {
	min-height: 66px;
}

.tdb-brand {
	display: inline-flex;
	align-items: center;
	gap: 13px;
	width: max-content;
	text-decoration: none;
}

.tdb-brand-mark {
	position: relative;
	width: 36px;
	height: 34px;
	flex: 0 0 36px;
	transition: transform .35s cubic-bezier(.2,.8,.2,1), filter .35s ease;
}

.tdb-brand-mark i {
	position: absolute;
	top: 2px;
	width: 7px;
	height: 29px;
	border-radius: 7px;
	background: linear-gradient(180deg, #a79aff 0%, var(--tdb-accent) 45%, var(--tdb-accent-2) 100%);
	box-shadow: inset 0 1px 1px rgba(255,255,255,.75), 0 0 16px color-mix(in srgb, var(--tdb-accent) 52%, transparent);
	transform-origin: 50% 100%;
}

.tdb-brand-mark i:first-child { left: 7px; transform: rotate(-25deg); }
.tdb-brand-mark i:nth-child(2) { right: 7px; transform: rotate(25deg); }
.tdb-brand-mark b {
	position: absolute;
	left: 50%;
	bottom: 1px;
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background: #fff;
	box-shadow: 0 0 12px var(--tdb-accent-2);
	transform: translateX(-50%);
}

.tdb-logo-glow .tdb-brand-mark {
	filter: drop-shadow(0 0 10px color-mix(in srgb, var(--tdb-accent) 46%, transparent));
}

.tdb-brand:hover .tdb-brand-mark {
	transform: translateY(-1px) scale(1.08);
	filter: drop-shadow(0 0 18px color-mix(in srgb, var(--tdb-accent) 70%, transparent));
}

.tdb-brand-copy {
	display: grid;
	line-height: 1.05;
}

.tdb-brand-copy strong {
	font-size: 19px;
	font-weight: 780;
	letter-spacing: -.04em;
}

.tdb-brand-copy small {
	margin-top: 6px;
	font-size: 7px;
	font-weight: 700;
	letter-spacing: .2em;
	color: rgba(255,255,255,.38);
}

.tdb-nav {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
}

.tdb-nav a {
	position: relative;
	isolation: isolate;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 10px 14px;
	border-radius: 10px;
	color: var(--tdb-muted);
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
	transition: color .24s ease, transform .24s ease, text-shadow .24s ease;
}

.tdb-nav a::before {
	content: "";
	position: absolute;
	inset: 3px 0;
	z-index: -1;
	border: 1px solid transparent;
	border-radius: 9px;
	background: linear-gradient(135deg, color-mix(in srgb, var(--tdb-accent) 13%, transparent), rgba(255,255,255,.02));
	opacity: 0;
	transform: scale(.82);
	transition: opacity .24s ease, transform .28s cubic-bezier(.2,.8,.2,1), border-color .24s ease;
}

.tdb-nav a::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: 2px;
	width: 0;
	height: 2px;
	border-radius: 99px;
	background: linear-gradient(90deg, var(--tdb-accent), var(--tdb-accent-2));
	box-shadow: 0 0 12px color-mix(in srgb, var(--tdb-accent) 70%, transparent);
	transform: translateX(-50%);
	transition: width .28s cubic-bezier(.2,.8,.2,1);
}

.tdb-nav a:hover,
.tdb-nav a.is-active {
	color: #fff;
	transform: translateY(-2px);
	text-shadow: 0 0 14px color-mix(in srgb, var(--tdb-accent) 32%, transparent);
}

.tdb-nav a:hover::before,
.tdb-nav a.is-active::before {
	opacity: 1;
	transform: scale(1);
	border-color: color-mix(in srgb, var(--tdb-accent) 20%, transparent);
}

.tdb-nav a:hover::after,
.tdb-nav a.is-active::after { width: 24px; }

.tdb-header-cta { justify-self: end; }

.tdb-menu-toggle {
	display: none;
	width: 44px;
	height: 44px;
	border: 1px solid var(--tdb-border);
	border-radius: 12px;
	background: rgba(255,255,255,.035);
	color: #fff;
	cursor: pointer;
}

.tdb-menu-toggle span {
	display: block;
	width: 18px;
	height: 1px;
	margin: 4px auto;
	background: currentColor;
	transition: transform .25s ease, opacity .25s ease;
}

.tdb-menu-toggle[aria-expanded="true"] span:first-child { transform: translateY(5px) rotate(45deg); }
.tdb-menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.tdb-menu-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-5px) rotate(-45deg); }

/* Buttons */
.tdb-button {
	position: relative;
	isolation: isolate;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	min-height: 54px;
	padding: 0 24px;
	overflow: hidden;
	border: 1px solid color-mix(in srgb, var(--tdb-accent) 72%, #fff 8%);
	border-radius: 14px;
	background: linear-gradient(135deg, color-mix(in srgb, var(--tdb-accent) 92%, #fff 8%), color-mix(in srgb, var(--tdb-accent) 65%, var(--tdb-accent-2) 35%));
	box-shadow: 0 14px 34px color-mix(in srgb, var(--tdb-accent) 22%, transparent), inset 0 1px 0 rgba(255,255,255,.28);
	color: #fff !important;
	font-size: 14px;
	font-weight: 750;
	text-decoration: none;
	transition: transform .25s ease, filter .25s ease, box-shadow .25s ease;
}

.tdb-button::before {
	content: "";
	position: absolute;
	top: -110%;
	left: -55%;
	width: 38%;
	height: 320%;
	background: linear-gradient(90deg, transparent, rgba(255,255,255,.34), transparent);
	transform: rotate(22deg);
	transition: left .58s ease;
}

.tdb-button:hover {
	transform: translateY(-2px) scale(1.012);
	filter: brightness(1.08);
	box-shadow: 0 20px 48px color-mix(in srgb, var(--tdb-accent) 34%, transparent), inset 0 1px 0 rgba(255,255,255,.34);
}

.tdb-button:hover::before { left: 125%; }
.tdb-button--small { min-height: 44px; padding-inline: 20px; border-radius: 12px; }
.tdb-button--ghost {
	border-color: var(--tdb-border-strong);
	background: rgba(255,255,255,.035);
	box-shadow: none;
	color: #e8ebf2 !important;
	backdrop-filter: blur(12px);
}

.tdb-button--ghost:hover { border-color: color-mix(in srgb, var(--tdb-accent) 50%, #fff 10%); background: color-mix(in srgb, var(--tdb-accent) 10%, rgba(255,255,255,.03)); }

/* Typography */
.tdb-kicker {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .19em;
	color: color-mix(in srgb, var(--tdb-accent-2) 68%, #fff 32%);
}

.tdb-hero .tdb-kicker i {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--tdb-success);
	box-shadow: 0 0 12px var(--tdb-success);
	animation: tdb-pulse 2.2s ease-in-out infinite;
}

.tdb-section-heading {
	max-width: 800px;
	margin: 0 auto 56px;
	text-align: center;
}

.tdb-section-heading--left {
	margin-inline: 0;
	text-align: left;
}

.tdb-section-heading h2,
.tdb-offer h2,
.tdb-audience h2,
.tdb-final-panel h2 {
	margin: 16px 0 0;
	font-size: clamp(38px, 5vw, 68px);
	line-height: 1.02;
	letter-spacing: -.052em;
	text-wrap: balance;
}

.tdb-section-heading p {
	max-width: 720px;
	margin: 21px auto 0;
	color: var(--tdb-muted);
	font-size: 18px;
}

.tdb-section-heading--left p { margin-inline: 0; }

/* Hero */
.tdb-hero {
	min-height: calc(100vh - 78px);
	display: flex;
	align-items: center;
	padding: 86px 0 92px;
}

.tdb-hero-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.02fr) minmax(470px, .98fr);
	align-items: center;
	gap: clamp(54px, 7vw, 104px);
}

.tdb-hero-copy h1 {
	max-width: 760px;
	margin: 20px 0 0;
	font-size: clamp(52px, 6.2vw, 92px);
	line-height: .96;
	letter-spacing: -.064em;
	text-wrap: balance;
	background: linear-gradient(105deg, #fff 0%, #fff 57%, #b9c3db 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

.tdb-lead {
	max-width: 700px;
	margin: 28px 0 0;
	color: #a5adbd;
	font-size: 19px;
	line-height: 1.72;
}

.tdb-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 13px;
	margin-top: 34px;
}

.tdb-trust-row {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 18px;
	margin-top: 30px;
}

.tdb-trust-row span {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 12px;
	color: #7f899b;
}

.tdb-trust-row i {
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: var(--tdb-accent-2);
	box-shadow: 0 0 9px var(--tdb-accent-2);
}

.tdb-system-visual {
	position: relative;
	min-width: 0;
	perspective: 1200px;
}

.tdb-terminal-glow {
	position: absolute;
	inset: 12% 8%;
	border-radius: 50%;
	background: color-mix(in srgb, var(--tdb-accent) 32%, transparent);
	filter: blur(75px);
	opacity: .65;
}

.tdb-terminal {
	position: relative;
	overflow: hidden;
	border: 1px solid rgba(255,255,255,.13);
	border-radius: 26px;
	background:
		linear-gradient(155deg, rgba(255,255,255,.075), transparent 25%),
		linear-gradient(180deg, rgba(10,12,21,.96), rgba(5,7,13,.95));
	box-shadow: 0 40px 100px rgba(0,0,0,.46), inset 0 1px 0 rgba(255,255,255,.08);
	transform: rotateY(-3deg) rotateX(1deg);
	backdrop-filter: blur(16px);
}

.tdb-terminal::before {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background-image: linear-gradient(rgba(255,255,255,.02) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.02) 1px, transparent 1px);
	background-size: 28px 28px;
	mask-image: linear-gradient(to bottom, rgba(0,0,0,.9), transparent 90%);
}

.tdb-terminal-head,
.tdb-terminal-foot {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	padding: 17px 20px;
	border-bottom: 1px solid var(--tdb-border);
	font-size: 11px;
	letter-spacing: .08em;
}

.tdb-terminal-head > div { display: flex; align-items: center; gap: 10px; }
.tdb-terminal-head small { color: var(--tdb-success); font-weight: 750; }
.tdb-terminal-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--tdb-success); box-shadow: 0 0 12px var(--tdb-success); }

.tdb-terminal-core {
	position: relative;
	display: flex;
	align-items: center;
	gap: 20px;
	padding: 25px 24px 8px;
}

.tdb-core-ring {
	position: relative;
	width: 82px;
	height: 82px;
	flex: 0 0 82px;
	border: 1px solid color-mix(in srgb, var(--tdb-accent) 44%, transparent);
	border-radius: 50%;
	box-shadow: inset 0 0 22px color-mix(in srgb, var(--tdb-accent) 10%, transparent), 0 0 28px color-mix(in srgb, var(--tdb-accent) 10%, transparent);
}

.tdb-core-ring b,
.tdb-core-ring em {
	position: absolute;
	inset: 7px;
	border: 1px dashed color-mix(in srgb, var(--tdb-accent-2) 34%, transparent);
	border-radius: 50%;
	animation: tdb-spin 13s linear infinite;
}

.tdb-core-ring em { inset: -6px; border-style: solid; border-color: transparent var(--tdb-accent) transparent var(--tdb-accent-2); animation-direction: reverse; animation-duration: 8s; }
.tdb-core-v { position: absolute; inset: 0; }
.tdb-core-v i { position: absolute; top: 22px; width: 7px; height: 34px; border-radius: 6px; background: linear-gradient(var(--tdb-accent), var(--tdb-accent-2)); }
.tdb-core-v i:first-child { left: 29px; transform: rotate(-24deg); }
.tdb-core-v i:last-child { right: 29px; transform: rotate(24deg); }

.tdb-core-copy { display: grid; gap: 4px; }
.tdb-core-copy span { font-size: 9px; letter-spacing: .2em; color: rgba(255,255,255,.42); }
.tdb-core-copy strong { font-size: 16px; letter-spacing: .04em; }

.tdb-chart {
	position: relative;
	height: 210px;
	margin: 8px 20px 0;
	overflow: hidden;
	border: 1px solid rgba(255,255,255,.06);
	border-radius: 16px;
	background: rgba(0,0,0,.18);
}

.tdb-chart-grid {
	position: absolute;
	inset: 0;
	background-image: linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
	background-size: 44px 44px;
}

.tdb-chart svg { position: absolute; inset: 16px 0 0; width: 100%; height: calc(100% - 16px); overflow: visible; }
.tdb-chart-line { filter: drop-shadow(0 0 8px var(--tdb-accent-2)); stroke-dasharray: 1100; stroke-dashoffset: 1100; animation: tdb-chart-draw 3.4s ease forwards .35s; }
.tdb-chart-area { opacity: 0; animation: tdb-fade 1.4s ease forwards 1.2s; }
.tdb-chart-pulse { position: absolute; right: 1.5%; top: 18%; width: 9px; height: 9px; border-radius: 50%; background: #fff; box-shadow: 0 0 0 6px color-mix(in srgb, var(--tdb-accent-2) 18%, transparent), 0 0 24px var(--tdb-accent-2); animation: tdb-pulse 1.8s ease-in-out infinite; }

.tdb-terminal-stats {
	display: grid;
	grid-template-columns: repeat(3,1fr);
	gap: 1px;
	margin-top: 18px;
	border-top: 1px solid var(--tdb-border);
	background: var(--tdb-border);
}

.tdb-terminal-stats div { display: grid; gap: 6px; padding: 17px 18px; background: rgba(7,9,15,.95); }
.tdb-terminal-stats span { font-size: 9px; letter-spacing: .14em; text-transform: uppercase; color: #697286; }
.tdb-terminal-stats strong { font-size: 14px; color: #dfe5ef; }

.tdb-terminal-foot { border-top: 0; border-bottom: 0; color: #697286; }
.tdb-terminal-foot > span { width: 6px; height: 6px; border-radius: 50%; background: var(--tdb-success); box-shadow: 0 0 9px var(--tdb-success); }
.tdb-terminal-foot b { margin-left: auto; color: rgba(255,255,255,.32); }

.tdb-floating-chip {
	position: absolute;
	display: flex;
	align-items: center;
	gap: 9px;
	padding: 10px 13px;
	border: 1px solid rgba(255,255,255,.1);
	border-radius: 10px;
	background: rgba(8,10,17,.88);
	box-shadow: 0 15px 35px rgba(0,0,0,.34);
	backdrop-filter: blur(12px);
	font-size: 8px;
	font-weight: 750;
	letter-spacing: .15em;
	color: #abb3c2;
	animation: tdb-chip-float 4.5s ease-in-out infinite alternate;
}

.tdb-floating-chip span { color: var(--tdb-accent-2); }
.tdb-floating-chip--one { left: -35px; bottom: 24%; }
.tdb-floating-chip--two { right: -28px; top: 25%; animation-delay: -2s; }

/* Cards / problem */
.tdb-card-grid { display: grid; gap: 18px; }
.tdb-card-grid--3 { grid-template-columns: repeat(3,1fr); }
.tdb-card {
	position: relative;
	min-height: 300px;
	padding: 30px;
	overflow: hidden;
	border: 1px solid var(--tdb-border);
	border-radius: 24px;
	background: linear-gradient(160deg, rgba(255,255,255,.045), rgba(255,255,255,.012));
	box-shadow: inset 0 1px 0 rgba(255,255,255,.03);
	transition: transform .3s ease, border-color .3s ease, background .3s ease, box-shadow .3s ease;
}

.tdb-card::after {
	content: "";
	position: absolute;
	left: -20%;
	bottom: -65%;
	width: 130%;
	height: 90%;
	border-radius: 50%;
	background: color-mix(in srgb, var(--tdb-accent) 10%, transparent);
	filter: blur(55px);
	opacity: 0;
	transition: opacity .35s ease;
}

.tdb-card:hover { transform: translateY(-7px); border-color: color-mix(in srgb, var(--tdb-accent) 36%, var(--tdb-border)); box-shadow: 0 24px 60px rgba(0,0,0,.23); }
.tdb-card:hover::after { opacity: 1; }
.tdb-card-index { font-size: 10px; letter-spacing: .16em; color: rgba(255,255,255,.32); }
.tdb-card-icon { position: relative; width: 52px; height: 52px; margin: 36px 0 34px; border: 1px solid color-mix(in srgb, var(--tdb-accent) 32%, transparent); border-radius: 16px; background: color-mix(in srgb, var(--tdb-accent) 8%, transparent); }
.tdb-card-icon i { position: absolute; left: 13px; right: 13px; height: 1px; background: linear-gradient(90deg,var(--tdb-accent),var(--tdb-accent-2)); box-shadow: 0 0 10px var(--tdb-accent); }
.tdb-card-icon i:first-child { top: 20px; transform: rotate(22deg); }
.tdb-card-icon i:last-child { top: 30px; transform: rotate(-22deg); }
.tdb-card h3 { position: relative; z-index: 1; margin: 0; font-size: 25px; line-height: 1.2; letter-spacing: -.035em; }
.tdb-card p { position: relative; z-index: 1; margin: 13px 0 0; color: var(--tdb-muted); }

.tdb-problem-statement {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 22px;
	margin-top: 22px;
	padding: 19px 24px;
	border: 1px solid rgba(255,255,255,.07);
	border-radius: 16px;
	background: rgba(255,255,255,.018);
}
.tdb-problem-statement span { font-size: 9px; letter-spacing: .17em; color: var(--tdb-accent-2); }
.tdb-problem-statement strong { font-size: 14px; color: #d5dbe6; }

/* How */
.tdb-steps {
	display: grid;
	grid-template-columns: repeat(4,1fr);
	border: 1px solid var(--tdb-border);
	border-radius: 24px;
	overflow: hidden;
	background: rgba(8,10,16,.72);
}

.tdb-steps article {
	position: relative;
	min-height: 310px;
	padding: 29px;
	border-right: 1px solid var(--tdb-border);
	transition: background .3s ease;
}
.tdb-steps article:last-child { border-right: 0; }
.tdb-steps article:hover { background: linear-gradient(180deg,color-mix(in srgb,var(--tdb-accent) 9%,transparent),transparent); }
.tdb-step-top { display: flex; align-items: center; justify-content: space-between; }
.tdb-step-top span { color: var(--tdb-accent-2); font-size: 11px; letter-spacing: .15em; }
.tdb-step-top i { width: 7px; height: 7px; border: 1px solid var(--tdb-accent); transform: rotate(45deg); }
.tdb-steps h3 { margin: 112px 0 0; font-size: 26px; letter-spacing: -.035em; }
.tdb-steps p { margin: 12px 0 0; color: var(--tdb-muted); }

/* Benefits */
.tdb-split { display: grid; grid-template-columns: .82fr 1.18fr; gap: clamp(58px,8vw,118px); align-items: start; }
.tdb-benefit-list { border-top: 1px solid var(--tdb-border); }
.tdb-benefit-list article { display: grid; grid-template-columns: 44px 1fr 26px; gap: 18px; align-items: start; padding: 27px 4px; border-bottom: 1px solid var(--tdb-border); transition: padding .28s ease, background .28s ease; }
.tdb-benefit-list article:hover { padding-inline: 16px; background: linear-gradient(90deg,color-mix(in srgb,var(--tdb-accent) 8%,transparent),transparent); }
.tdb-benefit-list > article > strong { color: var(--tdb-accent-2); font-size: 10px; letter-spacing: .16em; }
.tdb-benefit-list h3 { margin: 0; font-size: 24px; letter-spacing: -.035em; }
.tdb-benefit-list p { margin: 7px 0 0; color: var(--tdb-muted); }
.tdb-benefit-arrow { color: rgba(255,255,255,.3); transition: color .25s ease, transform .25s ease; }
.tdb-benefit-list article:hover .tdb-benefit-arrow { color: var(--tdb-accent-2); transform: translate(3px,-3px); }

.tdb-orbit-visual { position: relative; width: 220px; height: 220px; margin: 48px 0 0; opacity: .7; }
.tdb-orbit-visual span,.tdb-orbit-visual i,.tdb-orbit-visual b { position: absolute; inset: 0; border: 1px solid color-mix(in srgb,var(--tdb-accent) 28%,transparent); border-radius: 50%; animation: tdb-spin 18s linear infinite; }
.tdb-orbit-visual i { inset: 28px; border-style: dashed; border-color: color-mix(in srgb,var(--tdb-accent-2) 32%,transparent); animation-direction: reverse; animation-duration: 11s; }
.tdb-orbit-visual b { inset: 62px; border-color: color-mix(in srgb,var(--tdb-accent) 42%,transparent); animation-duration: 8s; }
.tdb-orbit-visual span::before,.tdb-orbit-visual i::before,.tdb-orbit-visual b::before { content:""; position:absolute; top:50%; left:-4px; width:7px; height:7px; border-radius:50%; background:var(--tdb-accent-2); box-shadow:0 0 12px var(--tdb-accent-2); }
.tdb-orbit-visual em { position:absolute; inset:82px; display:grid; place-items:center; border-radius:50%; background:color-mix(in srgb,var(--tdb-accent) 12%,transparent); color:#fff; font-size:32px; font-style:normal; font-weight:800; box-shadow:0 0 36px color-mix(in srgb,var(--tdb-accent) 20%,transparent); }

/* Results */
.tdb-metrics { display: grid; grid-template-columns: repeat(4,1fr); overflow: hidden; border: 1px solid var(--tdb-border); border-radius: 22px; background: rgba(8,10,16,.78); }
.tdb-metrics > div { position: relative; min-height: 172px; padding: 28px; border-right: 1px solid var(--tdb-border); }
.tdb-metrics > div:last-child { border-right: 0; }
.tdb-metrics span { display: block; color: #788194; font-size: 11px; letter-spacing: .04em; }
.tdb-metrics strong { display: block; margin-top: 33px; font-size: clamp(22px,2.3vw,34px); line-height: 1.1; letter-spacing: -.045em; }
.tdb-metrics i { position: absolute; right: 18px; bottom: 18px; width: 7px; height: 7px; border-radius: 50%; background: var(--tdb-accent-2); box-shadow: 0 0 12px var(--tdb-accent-2); opacity: .6; }
.tdb-data-ribbon { display: flex; justify-content: center; flex-wrap: wrap; gap: 18px 36px; padding: 21px; border-bottom: 1px solid var(--tdb-border); color: rgba(255,255,255,.27); font-size: 8px; font-weight: 700; letter-spacing: .18em; }
.tdb-risk-note { max-width: 880px; margin: 25px auto 0; color: #697285; font-size: 12px; text-align: center; }

/* Offer */
.tdb-offer-card { position: relative; display: grid; grid-template-columns: 1.2fr .8fr; gap: 70px; padding: clamp(36px,5vw,68px); overflow: hidden; border: 1px solid color-mix(in srgb,var(--tdb-accent) 28%,var(--tdb-border)); border-radius: 30px; background: radial-gradient(circle at 88% 10%,color-mix(in srgb,var(--tdb-accent) 17%,transparent),transparent 35%), linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.012)); box-shadow: 0 38px 90px rgba(0,0,0,.28); }
.tdb-offer-card::before { content:""; position:absolute; inset:18px; border:1px solid rgba(255,255,255,.035); border-radius:22px; pointer-events:none; }
.tdb-offer-copy h2 { max-width: 760px; }
.tdb-offer-copy > p { max-width: 720px; margin: 22px 0 0; color: var(--tdb-muted); font-size: 18px; }
.tdb-offer-copy ul,.tdb-audience-card ul { padding: 0; margin: 28px 0 0; list-style: none; }
.tdb-offer-copy li,.tdb-audience-card li { position: relative; padding: 9px 0 9px 28px; color: #c8ced9; }
.tdb-offer-copy li::before,.tdb-audience-card--yes li::before { content:"✓"; position:absolute; left:0; color:var(--tdb-success); font-weight:800; }
.tdb-price-box { position:relative; align-self:stretch; display:flex; flex-direction:column; justify-content:center; padding:34px; border:1px solid rgba(255,255,255,.1); border-radius:24px; background:rgba(3,4,8,.48); box-shadow:inset 0 1px 0 rgba(255,255,255,.04); }
.tdb-price-badge { display:flex; align-items:center; gap:8px; margin-bottom:28px; font-size:8px; letter-spacing:.17em; color:#7f899a; }
.tdb-price-badge span { width:6px; height:6px; border-radius:50%; background:var(--tdb-success); box-shadow:0 0 10px var(--tdb-success); }
.tdb-price-box > span { color:var(--tdb-muted); }
.tdb-price-box > strong { margin:11px 0 5px; font-size:clamp(34px,4vw,54px); line-height:1.05; letter-spacing:-.05em; }
.tdb-price-box > em { margin-bottom:28px; color:#6f788a; font-size:12px; font-style:normal; }
.tdb-price-box small { margin-top:18px; color:#7f899b; line-height:1.6; }

/* Audience */
.tdb-audience-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:20px; }
.tdb-audience-card { position:relative; overflow:hidden; padding:42px; border:1px solid var(--tdb-border); border-radius:28px; background:linear-gradient(160deg,rgba(255,255,255,.04),rgba(255,255,255,.012)); }
.tdb-audience-card::after { content:""; position:absolute; right:-90px; bottom:-110px; width:240px; height:240px; border-radius:50%; background:color-mix(in srgb,var(--tdb-danger) 8%,transparent); filter:blur(40px); }
.tdb-audience-card--yes { background:linear-gradient(160deg,color-mix(in srgb,var(--tdb-accent) 12%,var(--tdb-surface)),rgba(8,10,16,.9)); }
.tdb-audience-card--yes::after { background:color-mix(in srgb,var(--tdb-accent) 15%,transparent); }
.tdb-audience-card > span { font-size:10px; letter-spacing:.17em; color:var(--tdb-accent-2); font-weight:800; }
.tdb-audience-card h2 { position:relative; z-index:1; margin-top:15px; font-size:clamp(31px,3.2vw,44px); }
.tdb-audience-card ul { position:relative; z-index:1; }
.tdb-audience-card:not(.tdb-audience-card--yes) li::before { content:"×"; position:absolute; left:0; color:var(--tdb-danger); font-weight:800; }

/* FAQ */
.tdb-faq-grid { display:grid; grid-template-columns:.78fr 1.22fr; gap:90px; align-items:start; }
.tdb-accordion { border-top:1px solid var(--tdb-border); }
.tdb-faq-item { border-bottom:1px solid var(--tdb-border); }
.tdb-faq-item button { width:100%; display:grid; grid-template-columns:38px 1fr 24px; align-items:center; gap:18px; padding:24px 0; border:0; background:none; color:#fff; text-align:left; cursor:pointer; }
.tdb-faq-item button small { color:var(--tdb-accent-2); font-size:9px; letter-spacing:.14em; }
.tdb-faq-item button span { font-size:18px; font-weight:700; }
.tdb-faq-item button > i { position:relative; width:22px; height:22px; }
.tdb-faq-item button > i::before,.tdb-faq-item button > i::after { content:""; position:absolute; top:10px; left:2px; width:18px; height:1px; background:#fff; transition:transform .2s ease; }
.tdb-faq-item button > i::after { transform:rotate(90deg); }
.tdb-faq-item.is-open button > i::after { transform:rotate(0); }
.tdb-faq-answer { display:grid; grid-template-rows:0fr; transition:grid-template-rows .28s ease; }
.tdb-faq-answer > p { overflow:hidden; margin:0 0 0 56px; color:var(--tdb-muted); }
.tdb-faq-item.is-open .tdb-faq-answer { grid-template-rows:1fr; }
.tdb-faq-item.is-open .tdb-faq-answer > p { padding-bottom:24px; }
.tdb-faq-code { display:flex; align-items:center; gap:13px; margin-top:42px; color:rgba(255,255,255,.3); font-size:9px; letter-spacing:.18em; }
.tdb-faq-code b { color:var(--tdb-accent-2); }
.tdb-faq-code i { flex:1; height:1px; background:linear-gradient(90deg,var(--tdb-accent),transparent); }

/* Final CTA / footer */
.tdb-final-cta { padding-top:72px; }
.tdb-final-panel { position:relative; max-width:1000px; margin:0 auto; padding:78px 60px; overflow:hidden; text-align:center; border:1px solid color-mix(in srgb,var(--tdb-accent) 30%,var(--tdb-border)); border-radius:32px; background:radial-gradient(circle at 50% 0,color-mix(in srgb,var(--tdb-accent) 24%,transparent),transparent 48%),linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.015)); box-shadow:0 36px 100px rgba(0,0,0,.3); }
.tdb-final-panel::before { content:""; position:absolute; inset:16px; border:1px solid rgba(255,255,255,.04); border-radius:24px; }
.tdb-final-panel h2 { position:relative; z-index:1; font-size:clamp(42px,5.7vw,76px); }
.tdb-final-panel p { position:relative; z-index:1; max-width:720px; margin:22px auto 30px; color:var(--tdb-muted); font-size:18px; }
.tdb-final-panel .tdb-button,.tdb-final-panel .tdb-kicker { position:relative; z-index:1; }
.tdb-final-v { position:absolute; left:50%; top:-72px; width:160px; height:150px; transform:translateX(-50%); opacity:.14; filter:blur(.2px); }
.tdb-final-v i { position:absolute; top:0; width:28px; height:140px; border-radius:20px; background:linear-gradient(var(--tdb-accent),var(--tdb-accent-2)); box-shadow:0 0 60px var(--tdb-accent); }
.tdb-final-v i:first-child { left:38px; transform:rotate(-25deg); }
.tdb-final-v i:last-child { right:38px; transform:rotate(25deg); }
.tdb-risk-note--footer { margin-top:30px; }
.tdb-footer { padding:31px 0; border-top:1px solid var(--tdb-border); color:#757f90; font-size:12px; }
.tdb-footer-inner { display:grid; grid-template-columns:1fr auto auto; align-items:center; gap:24px; }
.tdb-footer-brand { display:flex; align-items:center; gap:10px; }
.tdb-footer-brand > div { display:grid; line-height:1.1; }
.tdb-footer-brand strong { color:#d7dbe4; font-size:13px; }
.tdb-footer-brand small { margin-top:4px; font-size:6px; letter-spacing:.16em; color:#626b7b; }
.tdb-footer-v { position:relative; width:24px; height:23px; }
.tdb-footer-v i { position:absolute; top:1px; width:4px; height:20px; border-radius:4px; background:linear-gradient(var(--tdb-accent),var(--tdb-accent-2)); }
.tdb-footer-v i:first-child { left:6px; transform:rotate(-24deg); }
.tdb-footer-v i:last-child { right:6px; transform:rotate(24deg); }

/* Reveals and animation */
[data-tdb-reveal] { opacity:0; transform:translateY(24px); transition:opacity .68s ease,transform .68s cubic-bezier(.2,.8,.2,1); }
[data-tdb-reveal].is-visible { opacity:1; transform:none; }

@keyframes tdb-pulse { 0%,100%{opacity:.65;transform:scale(.9)} 50%{opacity:1;transform:scale(1.15)} }
@keyframes tdb-spin { to{transform:rotate(360deg)} }
@keyframes tdb-chart-draw { to{stroke-dashoffset:0} }
@keyframes tdb-fade { to{opacity:1} }
@keyframes tdb-chip-float { to{transform:translateY(-10px)} }

/* Accessibility */
.screen-reader-text { 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; }
.tdb-landing :focus-visible { outline:2px solid var(--tdb-accent-2); outline-offset:4px; }

/* Responsive */
@media (max-width: 1100px) {
	.tdb-header-inner { grid-template-columns: 1fr auto auto; }
	.tdb-nav { gap: 2px; }
	.tdb-nav a { padding-inline: 10px; }
	.tdb-hero-grid { grid-template-columns: 1fr; }
	.tdb-hero-copy { max-width: 860px; }
	.tdb-system-visual { max-width: 760px; width: 100%; }
	.tdb-terminal { transform: none; }
	.tdb-floating-chip--one { left: -12px; }
	.tdb-floating-chip--two { right: -10px; }
}

@media (max-width: 900px) {
	.tdb-system-frame { display:none; }
	.tdb-header-inner { grid-template-columns: 1fr auto; }
	.tdb-menu-toggle { display:block; justify-self:end; }
	.tdb-header-cta { display:none; }
	.tdb-nav { position:absolute; left:24px; right:24px; top:calc(100% + 10px); display:grid; gap:4px; padding:12px; border:1px solid var(--tdb-border); border-radius:16px; background:rgba(7,8,13,.97); box-shadow:0 28px 70px rgba(0,0,0,.45); backdrop-filter:blur(18px); opacity:0; visibility:hidden; transform:translateY(-10px); transition:opacity .22s ease,visibility .22s ease,transform .22s ease; }
	.tdb-nav.is-open { opacity:1; visibility:visible; transform:none; }
	.tdb-nav a { justify-content:flex-start; padding:13px 14px; }
	.tdb-card-grid--3 { grid-template-columns:1fr; }
	.tdb-card { min-height:auto; }
	.tdb-steps { grid-template-columns:repeat(2,1fr); }
	.tdb-steps article:nth-child(2) { border-right:0; }
	.tdb-steps article:nth-child(-n+2) { border-bottom:1px solid var(--tdb-border); }
	.tdb-split,.tdb-offer-card,.tdb-faq-grid { grid-template-columns:1fr; }
	.tdb-split { gap:56px; }
	.tdb-orbit-visual { display:none; }
	.tdb-metrics { grid-template-columns:repeat(2,1fr); }
	.tdb-metrics > div:nth-child(2) { border-right:0; }
	.tdb-metrics > div:nth-child(-n+2) { border-bottom:1px solid var(--tdb-border); }
	.tdb-audience-grid { grid-template-columns:1fr; }
	.tdb-faq-grid { gap:48px; }
	.tdb-footer-inner { grid-template-columns:1fr; text-align:center; }
	.tdb-footer-brand { justify-content:center; }
}

@media (max-width: 640px) {
	.tdb-container { width:min(calc(100% - 28px),var(--tdb-container)); }
	.tdb-section { padding:82px 0; }
	.tdb-header-inner { min-height:68px; }
	.tdb-brand-copy strong { font-size:17px; }
	.tdb-brand-copy small { display:none; }
	.tdb-brand-mark { width:31px;height:30px;flex-basis:31px; }
	.tdb-brand-mark i { height:26px;width:6px; }
	.tdb-brand-mark i:first-child { left:6px; }
	.tdb-brand-mark i:nth-child(2) { right:6px; }
	.tdb-nav { left:14px; right:14px; }
	.tdb-hero { min-height:auto; padding:76px 0 68px; }
	.tdb-hero-grid { gap:54px; }
	.tdb-hero-copy h1 { font-size:46px; }
	.tdb-lead { font-size:17px; }
	.tdb-actions { display:grid; grid-template-columns:1fr; }
	.tdb-button { width:100%; }
	.tdb-trust-row { display:grid; gap:10px; }
	.tdb-terminal { border-radius:20px; }
	.tdb-terminal-core { padding-inline:16px; }
	.tdb-core-ring { width:66px;height:66px;flex-basis:66px; }
	.tdb-core-v i { top:17px;height:29px;width:6px; }
	.tdb-core-v i:first-child { left:23px; }
	.tdb-core-v i:last-child { right:23px; }
	.tdb-chart { height:178px; margin-inline:12px; }
	.tdb-terminal-stats { grid-template-columns:1fr; }
	.tdb-terminal-stats div { border-bottom:1px solid var(--tdb-border); }
	.tdb-floating-chip { display:none; }
	.tdb-section-heading { margin-bottom:38px; }
	.tdb-section-heading h2 { font-size:38px; }
	.tdb-section-heading p { font-size:16px; }
	.tdb-card { padding:25px; border-radius:20px; }
	.tdb-problem-statement { align-items:flex-start; flex-direction:column; gap:8px; }
	.tdb-steps { grid-template-columns:1fr; }
	.tdb-steps article { min-height:auto; border-right:0!important; border-bottom:1px solid var(--tdb-border)!important; }
	.tdb-steps article:last-child { border-bottom:0!important; }
	.tdb-steps h3 { margin-top:58px; }
	.tdb-benefit-list article { grid-template-columns:38px 1fr; }
	.tdb-benefit-arrow { display:none; }
	.tdb-metrics { grid-template-columns:1fr; }
	.tdb-metrics > div { border-right:0!important; border-bottom:1px solid var(--tdb-border); }
	.tdb-metrics > div:last-child { border-bottom:0; }
	.tdb-offer-card,.tdb-audience-card,.tdb-final-panel { padding:30px 22px; border-radius:22px; }
	.tdb-offer-card { gap:38px; }
	.tdb-audience-card h2 { font-size:30px; }
	.tdb-faq-item button { grid-template-columns:30px 1fr 22px; gap:10px; }
	.tdb-faq-answer > p { margin-left:40px; }
	.tdb-final-panel h2 { font-size:40px; }
}

@media (prefers-reduced-motion: reduce) {
	.tdb-background-orbs i,
	.tdb-background-scanline,
	.tdb-core-ring b,
	.tdb-core-ring em,
	.tdb-chart-line,
	.tdb-chart-area,
	.tdb-chart-pulse,
	.tdb-floating-chip,
	.tdb-orbit-visual span,
	.tdb-orbit-visual i,
	.tdb-orbit-visual b,
	.tdb-hero .tdb-kicker i {
		animation: none!important;
	}
	[data-tdb-reveal] { opacity:1; transform:none; transition:none; }
	.tdb-button,.tdb-nav a,.tdb-card { transition:none; }
}


/* =========================================================
   VANTHEX SYSTEM — MOBILE FIRST PAINT FIX 2.3.1
   Corrige carga inicial en móvil: fondo visible sin contenido,
   header que aparece tarde y menú flotante en posición extraña.
   ========================================================= */

@media (max-width: 900px) {
	.tdb-landing,
	.tdb-page-shell {
		min-height: calc(var(--tdb-vh, 1vh) * 100) !important;
		overflow-x: hidden !important;
		overflow-y: visible !important;
	}

	.tdb-background {
		position: fixed !important;
		inset: 0 !important;
		min-height: calc(var(--tdb-vh, 1vh) * 100) !important;
	}

	.tdb-site-header,
	.tdb-has-sticky-header .tdb-site-header,
	.tdb-site-header.is-hidden,
	.tdb-site-header.is-scrolled,
	.tdb-site-header.is-menu-open {
		position: fixed !important;
		top: calc(env(safe-area-inset-top, 0px) + 14px) !important;
		left: 0 !important;
		right: 0 !important;
		z-index: 1000 !important;
		width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
		background: transparent !important;
		border: 0 !important;
		box-shadow: none !important;
		opacity: 1 !important;
		visibility: visible !important;
		transform: none !important;
		pointer-events: none !important;
		will-change: auto !important;
	}

	.tdb-header-inner {
		width: min(calc(100% - 28px), var(--tdb-container)) !important;
		min-height: 58px !important;
		height: 58px !important;
		margin: 0 auto !important;
		padding: 0 !important;
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) 52px !important;
		align-items: center !important;
		gap: 12px !important;
		pointer-events: auto !important;
	}

	.tdb-brand {
		width: min(100%, 288px) !important;
		min-width: 0 !important;
		height: 58px !important;
		padding: 0 16px !important;
		gap: 11px !important;
		border: 1px solid color-mix(in srgb, var(--tdb-accent-2) 26%, transparent) !important;
		border-radius: 19px !important;
		background:
			radial-gradient(circle at 14% 8%, color-mix(in srgb, var(--tdb-accent) 19%, transparent), transparent 42%),
			linear-gradient(135deg, rgba(255,255,255,.075), rgba(255,255,255,.025)) !important;
		box-shadow:
			0 16px 42px rgba(0,0,0,.34),
			inset 0 1px 0 rgba(255,255,255,.08) !important;
		backdrop-filter: blur(18px) saturate(140%) !important;
		-webkit-backdrop-filter: blur(18px) saturate(140%) !important;
		overflow: hidden !important;
	}

	.tdb-brand-mark {
		width: 33px !important;
		height: 32px !important;
		flex: 0 0 33px !important;
	}

	.tdb-brand-copy {
		min-width: 0 !important;
	}

	.tdb-brand-copy strong {
		max-width: 100% !important;
		overflow: hidden !important;
		text-overflow: ellipsis !important;
		white-space: nowrap !important;
		font-size: clamp(17px, 5vw, 22px) !important;
		letter-spacing: -.045em !important;
	}

	.tdb-brand-copy small {
		display: none !important;
	}

	.tdb-menu-toggle {
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		flex-direction: column !important;
		justify-self: end !important;
		width: 52px !important;
		height: 52px !important;
		min-width: 52px !important;
		min-height: 52px !important;
		max-width: 52px !important;
		max-height: 52px !important;
		padding: 0 !important;
		border: 1px solid color-mix(in srgb, var(--tdb-accent-2) 34%, transparent) !important;
		border-radius: 17px !important;
		background:
			radial-gradient(circle at 68% 12%, rgba(255,255,255,.16), transparent 36%),
			linear-gradient(135deg, color-mix(in srgb, var(--tdb-accent-2) 34%, #0b1021), color-mix(in srgb, var(--tdb-accent) 18%, #050812)) !important;
		box-shadow:
			0 16px 42px rgba(0,0,0,.36),
			0 0 24px color-mix(in srgb, var(--tdb-accent-2) 18%, transparent),
			inset 0 1px 0 rgba(255,255,255,.16) !important;
		color: #fff !important;
		backdrop-filter: blur(18px) saturate(150%) !important;
		-webkit-backdrop-filter: blur(18px) saturate(150%) !important;
		pointer-events: auto !important;
	}

	.tdb-menu-toggle span {
		width: 22px !important;
		height: 2px !important;
		margin: 3px auto !important;
		border-radius: 999px !important;
		background: linear-gradient(90deg, rgba(255,255,255,.94), color-mix(in srgb, var(--tdb-accent-2) 80%, #fff)) !important;
		box-shadow: 0 0 14px color-mix(in srgb, var(--tdb-accent-2) 30%, transparent) !important;
	}

	.tdb-nav {
		position: fixed !important;
		left: 14px !important;
		right: 14px !important;
		top: calc(env(safe-area-inset-top, 0px) + 82px) !important;
		z-index: 1001 !important;
		pointer-events: auto !important;
	}

	.tdb-hero [data-tdb-reveal],
	.tdb-hero-copy,
	.tdb-system-visual {
		opacity: 1 !important;
		visibility: visible !important;
		transform: none !important;
		transition-delay: 0ms !important;
	}
}

@media (max-width: 420px) {
	.tdb-header-inner {
		width: min(calc(100% - 22px), var(--tdb-container)) !important;
		grid-template-columns: minmax(0, 1fr) 50px !important;
	}

	.tdb-brand {
		height: 56px !important;
		padding-inline: 14px !important;
		border-radius: 18px !important;
	}

	.tdb-menu-toggle {
		width: 50px !important;
		height: 50px !important;
		min-width: 50px !important;
		min-height: 50px !important;
		max-width: 50px !important;
		max-height: 50px !important;
		border-radius: 16px !important;
	}
}

/* =========================================================
   VANTHEX SYSTEM — MOBILE HERO TOP LOCK + HEADER HIDE 2.3.2
   Corrige espacio vacío inicial y permite ocultar el menú al bajar.
   Debe quedar al final de frontend.css.
   ========================================================= */

@media (max-width: 900px) {
	body.tdb-standalone-page,
	body.tdb-standalone-page .tdb-page-shell,
	body.tdb-standalone-page .tdb-landing {
		margin-top: 0 !important;
		padding-top: 0 !important;
		overflow-x: hidden !important;
	}

	.tdb-main {
		margin-top: 0 !important;
		padding-top: 0 !important;
	}

	.tdb-landing .tdb-site-header,
	.tdb-landing.tdb-has-sticky-header .tdb-site-header,
	.tdb-landing .tdb-site-header.is-scrolled,
	.tdb-landing .tdb-site-header.is-menu-open {
		position: fixed !important;
		top: calc(env(safe-area-inset-top, 0px) + 14px) !important;
		left: 0 !important;
		right: 0 !important;
		z-index: 1000 !important;
		width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
		opacity: 1 !important;
		visibility: visible !important;
		transform: translate3d(0, 0, 0) !important;
		pointer-events: none !important;
		transition: opacity .24s ease, transform .34s cubic-bezier(.22,.75,.18,1) !important;
	}

	.tdb-landing .tdb-site-header.is-hidden:not(.is-menu-open) {
		opacity: 0 !important;
		visibility: hidden !important;
		transform: translate3d(0, calc(-100% - 22px), 0) !important;
		pointer-events: none !important;
	}

	.tdb-landing .tdb-site-header.is-hidden:not(.is-menu-open) .tdb-header-inner {
		pointer-events: none !important;
	}

	.tdb-landing .tdb-header-inner {
		pointer-events: auto !important;
	}

	/* El hero ya no depende de un alto de pantalla completo en móvil. */
	.tdb-landing #inicio.tdb-hero,
	.tdb-landing .tdb-hero#inicio,
	body.admin-bar .tdb-landing #inicio.tdb-hero {
		display: block !important;
		height: auto !important;
		min-height: 0 !important;
		max-height: none !important;
		margin: 0 !important;
		padding-top: calc(env(safe-area-inset-top, 0px) + 94px) !important;
		padding-bottom: 54px !important;
		overflow: visible !important;
		contain: none !important;
	}

	.tdb-landing #inicio .tdb-hero-grid {
		display: flex !important;
		flex-direction: column !important;
		align-items: stretch !important;
		justify-content: flex-start !important;
		height: auto !important;
		min-height: 0 !important;
		max-height: none !important;
		gap: 38px !important;
	}

	.tdb-landing #inicio .tdb-hero-copy {
		order: 1 !important;
		display: block !important;
		align-self: stretch !important;
		max-width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
		opacity: 1 !important;
		visibility: visible !important;
		transform: none !important;
	}

	.tdb-landing #inicio .tdb-system-visual {
		order: 2 !important;
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
		opacity: 1 !important;
		visibility: visible !important;
		transform: none !important;
	}

	.tdb-landing #inicio [data-tdb-reveal] {
		opacity: 1 !important;
		visibility: visible !important;
		transform: none !important;
		transition-delay: 0ms !important;
	}

	.tdb-landing #inicio .tdb-kicker {
		margin-top: 0 !important;
	}
}

@media (max-width: 480px) {
	.tdb-landing #inicio.tdb-hero,
	.tdb-landing .tdb-hero#inicio,
	body.admin-bar .tdb-landing #inicio.tdb-hero {
		padding-top: calc(env(safe-area-inset-top, 0px) + 88px) !important;
		padding-bottom: 50px !important;
	}

	.tdb-landing #inicio .tdb-hero-grid {
		gap: 34px !important;
	}
}



/* =========================================================
   VANTHEX SYSTEM — MOBILE HERO STRUCTURAL FIX 2.3.5
   Corrección definitiva sin posicionamiento absoluto:
   - El copy móvil se renderiza fuera del grid principal.
   - En móvil se muestra primero el texto y luego el panel visual.
   - Se elimina el espacio vacío inicial y se evita superposición.
   ========================================================= */

.tdb-hero-mobile-copy {
	display: none;
}

@media (max-width: 900px) {
	.tdb-landing #inicio.tdb-hero,
	.tdb-landing .tdb-hero#inicio,
	.tdb-hero#inicio {
		display: block !important;
		height: auto !important;
		min-height: 0 !important;
		max-height: none !important;
		margin: 0 !important;
		padding-top: calc(env(safe-area-inset-top, 0px) + 92px) !important;
		padding-bottom: 62px !important;
		overflow: visible !important;
		contain: none !important;
	}

	body.admin-bar .tdb-landing #inicio.tdb-hero,
	body.admin-bar .tdb-hero#inicio {
		padding-top: calc(env(safe-area-inset-top, 0px) + 92px) !important;
	}

	.tdb-hero-mobile-copy {
		position: relative !important;
		z-index: 5 !important;
		display: block !important;
		width: min(calc(100% - 36px), var(--tdb-container)) !important;
		max-width: var(--tdb-container) !important;
		margin: 0 auto !important;
		padding: 0 !important;
		opacity: 1 !important;
		visibility: visible !important;
		transform: none !important;
	}

	.tdb-hero-mobile-copy *,
	.tdb-landing #inicio .tdb-hero-mobile-copy * {
		opacity: 1 !important;
		visibility: visible !important;
		transform: none !important;
		transition: none !important;
	}

	.tdb-landing #inicio .tdb-hero-grid,
	.tdb-hero#inicio .tdb-hero-grid {
		position: relative !important;
		z-index: 3 !important;
		display: block !important;
		width: min(calc(100% - 36px), var(--tdb-container)) !important;
		max-width: var(--tdb-container) !important;
		height: auto !important;
		min-height: 0 !important;
		max-height: none !important;
		margin: 38px auto 0 !important;
		padding: 0 !important;
		transform: none !important;
		translate: none !important;
	}

	/* Oculta solo el copy original del grid en móvil para evitar duplicados. */
	.tdb-landing #inicio .tdb-hero-grid > .tdb-hero-copy,
	.tdb-hero#inicio .tdb-hero-grid > .tdb-hero-copy {
		display: none !important;
	}

	.tdb-landing #inicio .tdb-system-visual,
	.tdb-hero#inicio .tdb-system-visual {
		position: relative !important;
		inset: auto !important;
		top: auto !important;
		right: auto !important;
		bottom: auto !important;
		left: auto !important;
		z-index: 3 !important;
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		min-height: 0 !important;
		margin: 0 !important;
		opacity: 1 !important;
		visibility: visible !important;
		transform: none !important;
		translate: none !important;
		transition: none !important;
	}

	.tdb-hero-mobile-copy .tdb-kicker {
		margin: 0 !important;
		gap: 10px !important;
		font-size: 10px !important;
		line-height: 1.22 !important;
		letter-spacing: .18em !important;
		color: color-mix(in srgb, var(--tdb-accent-2) 78%, #ffffff) !important;
	}

	.tdb-hero-mobile-copy .tdb-hero-title {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		margin: 18px 0 0 !important;
		font-size: clamp(50px, 13.1vw, 64px) !important;
		line-height: .94 !important;
		letter-spacing: -.07em !important;
		overflow: visible !important;
		background: linear-gradient(105deg, #fff 0%, #fff 60%, #b8c3d9 100%) !important;
		-webkit-background-clip: text !important;
		background-clip: text !important;
		color: transparent !important;
	}

	.tdb-hero-mobile-copy .tdb-hero-title span {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		white-space: normal !important;
		overflow: visible !important;
	}

	.tdb-hero-mobile-copy .tdb-lead {
		max-width: 34ch !important;
		margin: 22px 0 0 !important;
		color: rgba(213, 220, 238, .74) !important;
		font-size: clamp(18px, 5vw, 22px) !important;
		line-height: 1.44 !important;
	}

	.tdb-hero-mobile-copy .tdb-actions {
		display: grid !important;
		grid-template-columns: 1fr !important;
		gap: 14px !important;
		width: 100% !important;
		margin: 30px 0 0 !important;
	}

	.tdb-hero-mobile-copy .tdb-actions .tdb-button {
		width: 100% !important;
		min-height: 58px !important;
		justify-content: center !important;
		border-radius: 16px !important;
		text-align: center !important;
	}

	.tdb-hero-mobile-copy .tdb-trust-row {
		display: grid !important;
		grid-template-columns: 1fr !important;
		gap: 11px !important;
		margin: 24px 0 0 !important;
	}

	.tdb-hero-mobile-copy .tdb-trust-row span,
	.tdb-hero-mobile-copy .tdb-trust-row span:last-child {
		grid-column: auto !important;
		font-size: 13px !important;
		line-height: 1.35 !important;
	}

	.tdb-terminal {
		transform: none !important;
	}

	.tdb-floating-chip {
		display: none !important;
	}
}

@media (max-width: 480px) {
	.tdb-landing #inicio.tdb-hero,
	.tdb-landing .tdb-hero#inicio,
	.tdb-hero#inicio {
		padding-top: calc(env(safe-area-inset-top, 0px) + 84px) !important;
		padding-bottom: 54px !important;
	}

	.tdb-hero-mobile-copy,
	.tdb-landing #inicio .tdb-hero-grid,
	.tdb-hero#inicio .tdb-hero-grid {
		width: calc(100% - 32px) !important;
	}

	.tdb-landing #inicio .tdb-hero-grid,
	.tdb-hero#inicio .tdb-hero-grid {
		margin-top: 34px !important;
	}

	.tdb-hero-mobile-copy .tdb-hero-title {
		font-size: clamp(46px, 12.4vw, 58px) !important;
		line-height: .95 !important;
	}

	.tdb-hero-mobile-copy .tdb-lead {
		font-size: clamp(17px, 4.75vw, 20px) !important;
	}
}

@media (max-width: 380px) {
	.tdb-landing #inicio.tdb-hero,
	.tdb-landing .tdb-hero#inicio,
	.tdb-hero#inicio {
		padding-top: calc(env(safe-area-inset-top, 0px) + 78px) !important;
	}

	.tdb-hero-mobile-copy .tdb-hero-title {
		font-size: 41px !important;
		letter-spacing: -.064em !important;
	}

	.tdb-hero-mobile-copy .tdb-lead {
		font-size: 16px !important;
	}
}



/* =========================================================
   VANTHEX SYSTEM — WOO COMING SOON BYPASS 2.3.7
   El diagnóstico móvil mostró que WooCommerce Coming Soon
   estaba inyectando .wp-site-blocks de 798px antes del Hero.
   Esta regla elimina ese bloque únicamente en la plantilla
   standalone del plugin.
   ========================================================= */

body.tdb-standalone-page > .wp-site-blocks,
body.tdb-standalone-page .wp-block-woocommerce-coming-soon,
body.tdb-standalone-page .woocommerce-coming-soon-default,
body.tdb-standalone-page .coming-soon-cover,
body.tdb-standalone-page .woocommerce-coming-soon-banner-container {
	display: none !important;
	visibility: hidden !important;
	height: 0 !important;
	min-height: 0 !important;
	max-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	pointer-events: none !important;
}
.tdb-footer a{color:color-mix(in srgb,var(--tdb-accent-2) 82%,#fff);text-decoration:none;font-weight:750}.tdb-footer a:hover{text-decoration:underline;text-underline-offset:3px}
/* =========================================================
   VANTHEX SYSTEM — Mobile User Zone Link v2.7.3
   Agrega “Zona de usuario” dentro del menú móvil sin duplicarlo en desktop.
   ========================================================= */

.tdb-nav .tdb-mobile-user-zone-link {
	display: none;
}

@media (max-width: 900px) {
	.tdb-nav .tdb-mobile-user-zone-link {
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		min-height: 52px !important;
		margin-top: 8px !important;
		padding: 0 18px !important;
		border: 1px solid color-mix(in srgb, var(--tdb-accent) 58%, #ffffff 8%) !important;
		border-radius: 14px !important;
		background:
			radial-gradient(circle at 78% 12%, rgba(255,255,255,.18), transparent 34%),
			linear-gradient(135deg, color-mix(in srgb, var(--tdb-accent) 92%, #fff 8%), color-mix(in srgb, var(--tdb-accent) 58%, var(--tdb-accent-2) 42%)) !important;
		box-shadow:
			0 14px 34px color-mix(in srgb, var(--tdb-accent) 22%, transparent),
			inset 0 1px 0 rgba(255,255,255,.25) !important;
		color: #ffffff !important;
		font-size: 14px !important;
		font-weight: 850 !important;
		letter-spacing: -.01em !important;
		text-align: center !important;
		text-decoration: none !important;
		text-shadow: none !important;
		transform: none !important;
	}

	.tdb-nav .tdb-mobile-user-zone-link::before,
	.tdb-nav .tdb-mobile-user-zone-link::after {
		display: none !important;
	}

	.tdb-nav .tdb-mobile-user-zone-link:hover,
	.tdb-nav .tdb-mobile-user-zone-link:focus-visible {
		color: #ffffff !important;
		filter: brightness(1.08) saturate(1.05);
		transform: translateY(-1px) !important;
	}
}