/* ==========================================================================
   VARDIS — estilos de componentes
   Los colores, tipografías y tamaños base viven en theme.json.
   Aquí: tokens derivados, layout de secciones, componentes e interacciones.
   ========================================================================== */

:root {
	--vd-night: var(--wp--preset--color--night, #0A1830);
	--vd-night-2: var(--wp--preset--color--night-2, #11264A);
	--vd-night-3: var(--wp--preset--color--night-3, #1B3561);
	--vd-deep: #071226;
	--vd-turq: var(--wp--preset--color--turquoise, #2FD4C0);
	--vd-turq-soft: #8BEADF;
	--vd-teal: #08716A;
	--vd-ink: var(--wp--preset--color--ink, #0E1726);
	--vd-muted: var(--wp--preset--color--muted, #4F5B6E);
	--vd-line: var(--wp--preset--color--line, #E2DFD7);
	--vd-paper: var(--wp--preset--color--paper, #F5F3EE);
	--vd-white: #fff;
	--vd-on-dark: rgba(255, 255, 255, .78);
	--vd-on-dark-2: rgba(255, 255, 255, .6);
	--vd-line-dark: rgba(255, 255, 255, .12);
	--vd-error: #B42318;

	--vd-display: var(--wp--preset--font-family--display);
	--vd-body: var(--wp--preset--font-family--body);

	--vd-max: 1240px;
	--vd-pad-x: clamp(1rem, 4vw, 2.5rem);
	--vd-header-h: 72px;
	--vd-r-sm: 10px;
	--vd-r: 18px;
	--vd-r-lg: 28px;
	--vd-ease: cubic-bezier(.2, .75, .2, 1);
	--vd-ease-out: cubic-bezier(.16, 1, .3, 1);
	--vd-shadow: 0 1px 2px rgba(10, 24, 48, .06), 0 18px 40px -18px rgba(10, 24, 48, .28);
	--vd-shadow-lg: 0 2px 4px rgba(10, 24, 48, .08), 0 40px 80px -30px rgba(10, 24, 48, .45);
	--vd-focus: 0 0 0 3px var(--vd-white), 0 0 0 6px var(--vd-teal);
}

/* ---------------------------------------------------------------- Base */
html { scroll-padding-top: calc(var(--vd-header-h) + 1.5rem); }
@media (prefers-reduced-motion: no-preference) { html { scroll-behavior: smooth; } }
body { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility; }
.wp-site-blocks { overflow-x: clip; }
.wp-site-blocks > * { margin-block: 0 !important; }
img { max-width: 100%; height: auto; }
::selection { background: var(--vd-turq); color: var(--vd-night); }

.screen-reader-text {
	border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); height: 1px; margin: -1px;
	overflow: hidden; padding: 0; position: absolute !important; width: 1px; word-wrap: normal !important;
}
.skip-link.screen-reader-text:focus {
	clip: auto; clip-path: none; height: auto; width: auto; z-index: 1000; left: 1rem; top: 1rem;
	padding: .75rem 1rem; background: var(--vd-white); color: var(--vd-night); border-radius: 8px; box-shadow: var(--vd-focus);
}

:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
	outline: 3px solid var(--vd-teal);
	outline-offset: 3px;
	border-radius: 6px;
}
.vd-dark :where(a, button, summary, [tabindex]):focus-visible,
.vd-footer :where(a, button):focus-visible,
.vd-site-header :where(a, button):focus-visible { outline-color: var(--vd-turq); }

/* Ritmo vertical: los grupos del contenido apilan con gap, sin márgenes sueltos. */
.vd-main .wp-block-group,
.vd-site-footer .wp-block-group {
	display: flex;
	flex-direction: column;
	gap: var(--vd-gap, 1.25rem);
}
.vd-main .wp-block-group > *,
.vd-site-footer .wp-block-group > * { margin-block: 0; }
.vd-main .wp-block-post-content > * { margin-block: 0 !important; }
.vd-main p, .vd-main h1, .vd-main h2, .vd-main h3, .vd-main ul, .vd-main ol { margin-block: 0; }
.vd-main h1, .vd-main h2, .vd-main h3 { text-wrap: balance; }
.vd-main p { text-wrap: pretty; }

/* ---------------------------------------------------------------- Secciones */
.vd-sec {
	position: relative;
	padding-block: clamp(4.5rem, 9vw, 8rem);
	isolation: isolate;
}
.vd-wrap {
	width: 100%;
	max-width: calc(var(--vd-max) + 2 * var(--vd-pad-x));
	margin-inline: auto;
	padding-inline: var(--vd-pad-x);
	--vd-gap: 0;
}
.vd-dark { background: var(--vd-night); color: var(--vd-white); }
.vd-paper { background: var(--vd-paper); }

.vd-head { --vd-gap: 1rem; max-width: 820px; margin-bottom: clamp(2.5rem, 5vw, 4rem) !important; }
.vd-head--sm { margin-bottom: 1.5rem !important; }

.vd-eyebrow {
	display: inline-flex; align-items: center; gap: .65rem;
	font: 700 .78rem/1.2 var(--vd-body);
	letter-spacing: .16em; text-transform: uppercase;
	color: var(--vd-teal);
}
.vd-eyebrow::before {
	content: ""; width: 1.6rem; height: 2px; background: currentColor; border-radius: 2px;
	transform-origin: left; transition: transform .6s var(--vd-ease);
}
.vd-dark .vd-eyebrow { color: var(--vd-turq); }

.vd-title {
	font-size: clamp(2.1rem, 4.6vw, 3.75rem);
	line-height: 1.02;
	letter-spacing: -.03em;
	font-weight: 680;
	max-width: 20ch;
}
.vd-main :where(h1, h2) em {
	font-style: normal;
	color: var(--vd-teal);
}
.vd-dark :where(h1, h2) em { color: var(--vd-turq); }

.vd-lead {
	font-size: clamp(1.075rem, 1.4vw, 1.25rem);
	line-height: 1.55;
	color: var(--vd-muted);
	max-width: 60ch;
}
.vd-dark .vd-lead { color: var(--vd-on-dark); }
.vd-lead a { color: var(--vd-teal); text-underline-offset: 3px; }
.vd-dark .vd-lead a { color: var(--vd-turq); }

.vd-note {
	position: relative;
	font-size: .9rem; color: var(--vd-muted); max-width: 72ch;
	padding-left: 1.6rem; margin-top: clamp(2rem, 4vw, 3rem) !important;
}
.vd-note::before {
	content: "i"; position: absolute; left: 0; top: .1em;
	width: 1.1rem; height: 1.1rem; border-radius: 50%;
	border: 1.5px solid currentColor; font: 700 .68rem/1 var(--vd-body);
	display: grid; place-items: center;
}
.vd-dark .vd-note { color: var(--vd-on-dark-2); }

/* ---------------------------------------------------------------- Botones */
.vd-main .wp-block-buttons, .vd-site-header .wp-block-buttons { gap: .75rem; }
.vd-actions { margin-top: .75rem !important; }

.wp-block-button__link {
	position: relative;
	display: inline-flex; align-items: center; gap: .55rem;
	transition: transform .25s var(--vd-ease), background-color .25s, color .25s, box-shadow .3s, border-color .25s;
	text-decoration: none !important;
	border: 1.5px solid transparent;
	-webkit-tap-highlight-color: transparent;
}
.wp-block-button__link:hover { transform: translateY(-2px); box-shadow: 0 12px 28px -14px rgba(10, 24, 48, .6); }
.wp-block-button__link:active { transform: translateY(0) scale(.97); transition-duration: .08s; }
.wp-block-button__link:focus-visible { outline: 3px solid var(--vd-teal); outline-offset: 3px; }
.vd-dark .wp-block-button__link:focus-visible { outline-color: var(--vd-turq); }

.is-style-accent .wp-block-button__link { background: var(--vd-turq); color: var(--vd-night); }
.is-style-accent .wp-block-button__link:hover { background: #5FE2D2; box-shadow: 0 14px 34px -14px rgba(47, 212, 192, .75); }
.wp-block-button__link::after {
	content: ""; width: 1em; height: 1em; flex: none;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M4 10h11m-4.5-4.5L15 10l-4.5 4.5' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M4 10h11m-4.5-4.5L15 10l-4.5 4.5' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
	transition: transform .3s var(--vd-ease);
}
.wp-block-button__link:hover::after { transform: translateX(4px); }
.is-style-ghost .wp-block-button__link::after { display: none; }

.is-style-ghost .wp-block-button__link { background: transparent; color: var(--vd-night); border-color: rgba(10, 24, 48, .25); }
.is-style-ghost .wp-block-button__link:hover { border-color: var(--vd-night); box-shadow: none; }
.vd-dark .is-style-ghost .wp-block-button__link { color: var(--vd-white); border-color: rgba(255, 255, 255, .35); }
.vd-dark .is-style-ghost .wp-block-button__link:hover { border-color: var(--vd-turq); color: var(--vd-turq); }

.is-style-arrow .wp-block-button__link {
	background: none; color: var(--vd-teal); padding: .5rem 0; border: 0; border-radius: 0;
	font-weight: 700;
	background-image: linear-gradient(currentColor, currentColor);
	background-size: 0 2px; background-position: 0 100%; background-repeat: no-repeat;
	transition: background-size .35s var(--vd-ease), color .2s;
}
.is-style-arrow .wp-block-button__link:hover { transform: none; box-shadow: none; background-size: 100% 2px; }
.vd-dark .is-style-arrow .wp-block-button__link { color: var(--vd-turq); }

/* ---------------------------------------------------------------- Encabezado */
.vd-site-header {
	position: fixed; z-index: 100;
	top: var(--wp-admin--admin-bar--height, 0px); left: 0; right: 0;
	margin: 0 !important;
	transition: transform .45s var(--vd-ease);
}
.vd-site-header.is-hidden { transform: translateY(calc(-100% - 2px)); }
.has-modal-open .vd-site-header { transform: none; }
@media (max-width: 600px) { .admin-bar .vd-site-header { top: 0; } }

.vd-header {
	position: relative;
	padding-block: 16px;
	color: var(--vd-ink);
	transition: padding .35s var(--vd-ease), color .3s;
}
/* Fondo en un pseudo-elemento: así el blur no rompe el menú móvil (position: fixed). */
.vd-header::before {
	content: ""; position: absolute; inset: 0; z-index: -1;
	background: rgba(255, 255, 255, .9);
	-webkit-backdrop-filter: saturate(1.5) blur(14px);
	backdrop-filter: saturate(1.5) blur(14px);
	box-shadow: 0 1px 0 rgba(10, 24, 48, .08), 0 10px 30px -20px rgba(10, 24, 48, .35);
	transition: opacity .35s;
}
.vd-has-dark-top .vd-site-header:not(.is-scrolled) .vd-header { color: var(--vd-white); }
.vd-has-dark-top .vd-site-header:not(.is-scrolled) .vd-header::before { opacity: 0; }
.vd-site-header.is-scrolled .vd-header { padding-block: 9px; }

.vd-header__inner {
	display: flex; flex-direction: row !important; align-items: center; justify-content: space-between;
	gap: 1.5rem !important;
	width: 100%; max-width: calc(var(--vd-max) + 2 * var(--vd-pad-x));
	margin-inline: auto; padding-inline: var(--vd-pad-x);
}
.vd-header__inner > * { margin-block: 0 !important; }
.vd-brand { display: flex; flex-direction: row !important; align-items: center; gap: .75rem !important; flex: none; }
.vd-brand .wp-block-site-logo img { height: 34px; width: auto; }
.vd-brand:has(.wp-block-site-logo img) .vd-brand__title { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.vd-brand__title, .vd-footer__title {
	margin: 0; font-family: var(--vd-display); font-weight: 760; font-size: 1.45rem;
	letter-spacing: .08em; text-transform: uppercase; line-height: 1;
}
.vd-brand__title a, .vd-footer__title a { text-decoration: none; color: inherit; }

/* Navegación (bloque Navegación de WordPress con menú superpuesto) */
.vd-nav { flex: 1; justify-content: flex-end; }
.vd-nav .wp-block-navigation-item__content {
	position: relative; text-decoration: none; font-weight: 600; font-size: .95rem; padding-block: .4rem;
}
.vd-nav .wp-block-navigation-item__content::after {
	content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 2px; border-radius: 2px;
	background: var(--vd-turq); transform: scaleX(0); transform-origin: right; transition: transform .35s var(--vd-ease);
}
.vd-nav .wp-block-navigation-item__content:hover::after,
.vd-nav .current-menu-item > .wp-block-navigation-item__content::after,
.vd-nav [aria-current="page"]::after { transform: scaleX(1); transform-origin: left; }

.vd-nav .wp-block-navigation__responsive-container-open {
	display: inline-flex; align-items: center; gap: .5rem; padding: .55rem .9rem; border-radius: 999px;
	border: 1.5px solid currentColor; font: 650 .9rem/1 var(--vd-body); color: inherit; background: none;
}
.vd-nav .wp-block-navigation__responsive-container-open::after { content: "Menú"; }
.vd-nav .wp-block-navigation__responsive-container-open svg { width: 20px; height: 20px; }

@media (min-width: 1080px) {
	.vd-nav .wp-block-navigation__responsive-container-open { display: none !important; }
	.vd-nav .wp-block-navigation__responsive-container:not(.is-menu-open) {
		display: block !important; position: static !important; background: none !important; padding: 0 !important; width: auto; height: auto;
	}
	.vd-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__responsive-container-close { display: none; }
	.vd-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__container { gap: 1.6rem; flex-direction: row; }
	.vd-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__responsive-dialog,
	.vd-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__responsive-container-content { display: block; padding: 0; margin: 0; }
	.vd-nav .vd-nav__contact { display: none !important; }
}

/* Menú móvil abierto */
.vd-nav .wp-block-navigation__responsive-container.is-menu-open {
	background: var(--vd-night) !important; color: var(--vd-white) !important;
	padding: calc(var(--wp-admin--admin-bar--height, 0px) + 1.1rem) var(--vd-pad-x) 2rem !important;
	animation: vd-menu-in .45s var(--vd-ease-out) both;
}
.vd-nav .is-menu-open::before {
	content: "VARDIS"; position: absolute; left: var(--vd-pad-x); top: calc(var(--wp-admin--admin-bar--height, 0px) + 1.45rem);
	font: 760 1.45rem/1 var(--vd-display); letter-spacing: .08em; color: var(--vd-white);
}
.vd-nav .is-menu-open .wp-block-navigation__responsive-container-close {
	position: fixed !important; z-index: 5; top: calc(var(--wp-admin--admin-bar--height, 0px) + 1rem); right: var(--vd-pad-x);
	width: 46px; height: 46px; display: grid; place-items: center; border-radius: 50%;
	border: 1.5px solid rgba(255, 255, 255, .3); color: var(--vd-white);
}
.vd-nav .is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 5.5rem !important; align-items: stretch !important; }
.vd-nav .is-menu-open .wp-block-navigation__container { gap: 0 !important; align-items: stretch !important; width: 100%; }
.vd-nav .is-menu-open .wp-block-navigation-item { width: 100%; border-bottom: 1px solid var(--vd-line-dark); animation: vd-rise .5s var(--vd-ease-out) both; }
.vd-nav .is-menu-open .wp-block-navigation-item:nth-child(1) { animation-delay: .06s; }
.vd-nav .is-menu-open .wp-block-navigation-item:nth-child(2) { animation-delay: .1s; }
.vd-nav .is-menu-open .wp-block-navigation-item:nth-child(3) { animation-delay: .14s; }
.vd-nav .is-menu-open .wp-block-navigation-item:nth-child(4) { animation-delay: .18s; }
.vd-nav .is-menu-open .wp-block-navigation-item:nth-child(5) { animation-delay: .22s; }
.vd-nav .is-menu-open .wp-block-navigation-item__content {
	display: flex !important; justify-content: space-between; align-items: center; width: 100%; box-sizing: border-box;
	padding: 1.1rem 0 !important; font: 650 clamp(1.5rem, 6.5vw, 2.1rem)/1.1 var(--vd-display); letter-spacing: -.02em;
}
.vd-nav .is-menu-open .wp-block-navigation-item__content::after {
	position: static; width: 1.2rem; height: 1.2rem; transform: none; background: var(--vd-turq);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M4 10h11m-4.5-4.5L15 10l-4.5 4.5' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M4 10h11m-4.5-4.5L15 10l-4.5 4.5' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
}
.vd-nav .is-menu-open .vd-nav__contact { border-bottom: 0; margin-top: 1.75rem; }
.vd-nav .is-menu-open .vd-nav__contact .wp-block-navigation-item__content {
	justify-content: center; gap: .6rem; background: var(--vd-turq); color: var(--vd-night); border-radius: 999px;
	font: 700 1.1rem/1 var(--vd-body) !important; padding: 1.1rem 1.5rem !important; letter-spacing: 0;
}
.vd-nav .is-menu-open .vd-nav__contact .wp-block-navigation-item__label { font-size: 0; }
.vd-nav .is-menu-open .vd-nav__contact .wp-block-navigation-item__label::before { content: "Cotizar mi proyecto"; font-size: 1.1rem; }
.vd-nav .is-menu-open .vd-nav__contact .wp-block-navigation-item__content::after { background: var(--vd-night); }

.vd-header__cta { flex: none; display: flex; margin: 0; }
.vd-header__cta .wp-block-button { margin: 0; }
.vd-header__cta .wp-block-button__link { padding: .7rem 1.15rem; font-size: .92rem; }
.vd-header__cta .wp-block-button__link::after { display: none; }
@media (max-width: 1079px) { .vd-header__inner { gap: .75rem !important; } }
@media (max-width: 520px) { .vd-header__cta { display: none !important; } }

/* ---------------------------------------------------------------- Hero */
.vd-hero {
	padding-top: calc(var(--vd-header-h) + clamp(2.75rem, 7vw, 6rem));
	padding-bottom: clamp(3.5rem, 8vw, 7rem);
	overflow: hidden;
	background:
		radial-gradient(60% 55% at 85% 20%, rgba(47, 212, 192, .16), transparent 70%),
		var(--vd-night);
}
.vd-hero::before, .vd-pagehero::before {
	content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
	background-image: radial-gradient(rgba(255, 255, 255, .11) 1px, transparent 1.2px);
	background-size: 28px 28px;
	-webkit-mask-image: radial-gradient(75% 80% at 70% 35%, #000 10%, transparent 75%);
	mask-image: radial-gradient(75% 80% at 70% 35%, #000 10%, transparent 75%);
}
.vd-hero__grid {
	display: grid !important;
	grid-template-columns: minmax(0, 1.02fr) minmax(0, 1fr);
	align-items: center;
	gap: clamp(2.5rem, 5vw, 5rem) !important;
}
.vd-hero__copy { --vd-gap: 1.4rem; }
.vd-hero__title {
	font-size: clamp(2.65rem, 6.3vw, 5.65rem);
	line-height: .98;
	letter-spacing: -.04em;
	font-weight: 720;
	max-width: 11.5ch;
}
.vd-hero__title em {
	background: linear-gradient(var(--vd-turq), var(--vd-turq)) 0 94% / 0 .07em no-repeat;
	padding-bottom: .04em;
	animation: vd-underline 1s .75s var(--vd-ease-out) forwards;
}
.vd-hero__lead { font-size: clamp(1.1rem, 1.5vw, 1.3rem); max-width: 34rem; }
.vd-hero__points {
	list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem 1.4rem;
	font-size: .9rem; color: var(--vd-on-dark-2); margin-top: .5rem !important;
}
.vd-hero__points li { display: inline-flex; align-items: center; gap: .5rem; }
.vd-hero__points li::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--vd-turq); }

/* Entrada escalonada del hero */
.vd-hero__copy > * { animation: vd-rise .8s var(--vd-ease-out) both; }
.vd-hero__copy > :nth-child(1) { animation-delay: .05s; }
.vd-hero__copy > :nth-child(2) { animation-delay: .12s; }
.vd-hero__copy > :nth-child(3) { animation-delay: .22s; }
.vd-hero__copy > :nth-child(4) { animation-delay: .32s; }
.vd-hero__copy > :nth-child(5) { animation-delay: .42s; }

/* Composición de interfaces */
.vd-hero__visual { --vd-gap: .75rem; }
.vd-stage {
	position: relative;
	aspect-ratio: 1 / .9;
	container-type: inline-size;
	font-family: var(--vd-body);
}
.vd-stage__note { font-size: .75rem; color: var(--vd-on-dark-2); letter-spacing: .08em; text-transform: uppercase; text-align: right; }
.vd-ui {
	position: absolute;
	background: var(--vd-white); color: var(--vd-ink);
	border-radius: 16px;
	box-shadow: 0 40px 70px -30px rgba(0, 0, 0, .65), 0 0 0 1px rgba(255, 255, 255, .06);
	overflow: hidden;
	font-size: clamp(10.5px, 2.45cqw, 14px);
	line-height: 1.35;
}
.vd-stage .vd-ui, .vd-stage .vd-toast { animation: vd-pop .9s var(--vd-ease-out) both, vd-float 8s ease-in-out infinite; animation-delay: calc(.35s + var(--d) * .14s), calc(1.3s + var(--d) * -2.1s); }
.vd-ui__bar {
	display: flex; align-items: center; gap: .38em; padding: .65em .85em; background: #F1EFEA; border-bottom: 1px solid #E7E4DD;
}
.vd-ui__bar span { width: .62em; height: .62em; border-radius: 50%; background: #D9D5CC; }
.vd-ui__bar em {
	margin-left: .6em; font-style: normal; font-size: .82em; color: #6B7587;
	background: var(--vd-white); border-radius: 99px; padding: .2em .8em; flex: 1; min-width: 0;
	white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.vd-ui__body { padding: 1.15em 1.2em 1.25em; display: grid; gap: .6em; }
.vd-ui__kicker { font-size: .78em; font-weight: 700; color: var(--vd-teal); text-transform: uppercase; letter-spacing: .08em; margin: 0; }
.vd-ui__title { font: 700 1.35em/1.1 var(--vd-display); letter-spacing: -.02em; margin: 0 0 .2em; }
.vd-field { display: grid; gap: .25em; }
.vd-field span { font-size: .78em; color: #6B7587; font-weight: 600; }
.vd-field b {
	display: flex; align-items: center; justify-content: space-between; font-weight: 500;
	border: 1px solid #DDD9D0; border-radius: 8px; padding: .55em .7em; min-height: 2.4em;
}
.vd-field--area b { min-height: 3.6em; align-items: flex-start; }
.vd-chev { width: .55em; height: .55em; border-right: 2px solid #8A93A3; border-bottom: 2px solid #8A93A3; transform: rotate(45deg) translate(-2px, -2px); }
.vd-type { position: relative; }
.vd-type::after { content: ""; display: inline-block; width: 1.5px; height: 1.1em; background: var(--vd-ink); margin-left: 2px; animation: vd-caret 1s steps(1) infinite; }
.vd-field--area .vd-type { justify-content: flex-start; }
.vd-ui__send {
	position: relative; display: grid; margin-top: .3em; border-radius: 99px; overflow: hidden;
	background: var(--vd-night); color: var(--vd-white); font-weight: 700; text-align: center;
}
.vd-ui__send > span { grid-area: 1 / 1; padding: .7em 1em; }
.vd-ui__ok { background: var(--vd-turq); color: var(--vd-night); opacity: 0; animation: vd-sent 7s 2s infinite; }

.vd-ui--web { left: 0; top: 7%; width: 57%; z-index: 2; }
.vd-ui--shop { right: 0; top: 0; width: 45%; z-index: 3; }
.vd-ui--admin { right: 5%; bottom: 3%; width: 58%; z-index: 4; }
.vd-toast { left: 3%; bottom: 7%; z-index: 5; }

.vd-prod__img { position: relative; aspect-ratio: 1.25; background: linear-gradient(160deg, #EFE7DA, #E1D3BD); display: grid; place-items: center; }
.vd-bag {
	width: 38%; aspect-ratio: .72; border-radius: 6px 6px 10px 10px; position: relative;
	background: linear-gradient(90deg, #1B3561 0 12%, #11264A 12% 100%);
	color: var(--vd-white); display: grid; align-content: center; justify-items: center; gap: .15em; text-align: center;
	box-shadow: 0 16px 24px -12px rgba(10, 24, 48, .55);
}
.vd-bag::before { content: ""; position: absolute; top: -6%; left: 8%; right: 8%; height: 9%; background: #0A1830; border-radius: 3px 3px 0 0; }
.vd-bag span { font-size: .55em; letter-spacing: .2em; color: var(--vd-turq); font-weight: 700; }
.vd-bag b { font: 700 1.25em/1 var(--vd-display); }
.vd-bag small { font-size: .55em; opacity: .7; }
.vd-prod__tag { position: absolute; left: .8em; top: .8em; font-style: normal; font-size: .72em; font-weight: 700; background: var(--vd-white); border-radius: 99px; padding: .25em .7em; }
.vd-prod__info { padding: .9em 1em 1em; display: grid; gap: .45em; }
.vd-prod__name { font: 700 1.05em/1.2 var(--vd-display); margin: 0; }
.vd-prod__meta { font-size: .78em; color: #6B7587; margin: 0; }
.vd-prod__row { display: flex; justify-content: space-between; align-items: center; }
.vd-prod__price { font-size: 1.15em; }
.vd-qty { display: inline-flex; align-items: center; gap: .6em; border: 1px solid #DDD9D0; border-radius: 99px; padding: .15em .55em; font-weight: 600; }
.vd-qty i { font-style: normal; color: #6B7587; }
.vd-prod__btn {
	display: flex; align-items: center; justify-content: space-between; gap: .5em;
	background: var(--vd-turq); color: var(--vd-night); font-weight: 700; border-radius: 99px; padding: .55em .6em .55em 1em;
}
.vd-cart { position: relative; width: 1.7em; height: 1.7em; border-radius: 50%; background: var(--vd-night); }
.vd-cart::before { content: ""; position: absolute; inset: 28%; border: 2px solid var(--vd-white); border-top: 0; border-radius: 0 0 4px 4px; }
.vd-cart__n {
	position: absolute; right: -.35em; top: -.35em; width: 1.3em; height: 1.3em; border-radius: 50%;
	background: var(--vd-white); color: var(--vd-night); font: 800 .7em/1.3em var(--vd-body); text-align: center; font-style: normal;
	animation: vd-badge 7s 3.2s infinite; transform: scale(0);
}

.vd-adm__head { display: flex; justify-content: space-between; align-items: center; padding: .9em 1.1em .6em; }
.vd-adm__head b { font: 700 1.05em/1 var(--vd-display); }
.vd-adm__head span { font-size: .78em; font-weight: 700; background: var(--vd-paper); border-radius: 99px; padding: .2em .65em; }
.vd-adm__list { list-style: none; margin: 0; padding: 0 .6em; display: grid; gap: .1em; }
.vd-adm__list li { display: grid; grid-template-columns: 3.4em 1fr auto; align-items: center; gap: .5em; padding: .55em .5em; border-top: 1px solid #EEEBE5; }
.vd-adm__list time { font-weight: 700; font-variant-numeric: tabular-nums; }
.vd-adm__list span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.vd-adm__new { animation: vd-newrow 7s 1.6s infinite; }
.vd-st { font-style: normal; font-size: .75em; font-weight: 700; border-radius: 99px; padding: .25em .65em; white-space: nowrap; }
.vd-st--ok { background: #DDF7F2; color: #0A5F58; }
.vd-st--wait { background: #FFF1D6; color: #8A5300; }
.vd-st--new { background: var(--vd-night); color: var(--vd-white); }
.vd-adm__auto { display: flex; align-items: center; gap: .55em; margin: .5em .7em .8em; padding: .6em .75em; border-radius: 10px; background: #EAFBF8; color: #0A5F58; font-weight: 600; font-size: .85em; }
.vd-bolt { width: 1.4em; height: 1.4em; border-radius: 50%; background: var(--vd-turq); position: relative; flex: none; }
.vd-bolt::before { content: ""; position: absolute; inset: 22%; background: var(--vd-night); clip-path: polygon(55% 0, 15% 58%, 46% 58%, 38% 100%, 85% 38%, 54% 38%); }

.vd-toast {
	position: absolute; display: flex; align-items: center; gap: .7em;
	background: var(--vd-night-2); color: var(--vd-white); border: 1px solid rgba(255, 255, 255, .12);
	border-radius: 99px; padding: .7em 1.1em; font-size: clamp(10.5px, 2.3cqw, 13.5px);
	box-shadow: 0 20px 40px -20px rgba(0, 0, 0, .7);
}
.vd-toast__dot { width: .65em; height: .65em; border-radius: 50%; background: var(--vd-turq); box-shadow: 0 0 0 0 rgba(47, 212, 192, .6); animation: vd-ping 2.4s infinite; }

@media (max-width: 960px) {
	.vd-hero__grid { grid-template-columns: 1fr; }
	.vd-hero__visual { max-width: 620px; width: 100%; margin-inline: auto; }
}
@media (max-width: 560px) {
	.vd-stage { aspect-ratio: 1 / 1.46; }
	.vd-ui { font-size: clamp(10.5px, 3.3cqw, 13px); }
	.vd-ui--web { width: 70%; top: 0; }
	.vd-ui--shop { width: 50%; top: 15%; }
	.vd-ui--admin { width: 92%; left: 4%; right: auto; bottom: 0; }
	.vd-toast { display: none; }
	.vd-stage .vd-prod__meta { display: none; }
}

/* ---------------------------------------------------------------- Selector de necesidades */
.vd-needs { background: var(--vd-paper); }
.vd-needs__ui { --vd-gap: 1.5rem; }
.vd-need { --vd-gap: 1rem; }
.vd-need__label { font: 700 1.35rem/1.2 var(--vd-display); }
.vd-need__hint { color: var(--vd-muted); }
.vd-need__body {
	display: grid !important; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(1.5rem, 3vw, 3rem) !important;
	background: var(--vd-white); border-radius: var(--vd-r-lg); padding: clamp(1.25rem, 3vw, 2.75rem);
	box-shadow: var(--vd-shadow);
}
.vd-need__info { --vd-gap: 1rem; justify-content: center; }
.vd-need__k { font-size: .78rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--vd-teal); }
.vd-need__title { font-size: clamp(1.75rem, 3vw, 2.5rem); line-height: 1.05; letter-spacing: -.03em; }
.vd-need__desc { color: var(--vd-muted); font-size: 1.05rem; }
.vd-need__demo { background: var(--vd-night); border-radius: var(--vd-r); min-height: 320px; position: relative; overflow: hidden; justify-content: center; padding: clamp(1rem, 3vw, 2rem); }
.vd-need__demo::before {
	content: ""; position: absolute; inset: 0; pointer-events: none;
	background-image: radial-gradient(rgba(255, 255, 255, .09) 1px, transparent 1.2px); background-size: 22px 22px;
}

/* Pestañas generadas por JS */
.vd-tabs { display: grid; gap: .75rem; }
.vd-tab {
	all: unset; box-sizing: border-box; cursor: pointer; position: relative;
	display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: .3rem 1rem;
	padding: 1.1rem 1.25rem; border-radius: var(--vd-r); background: var(--vd-white);
	border: 1.5px solid var(--vd-line); color: var(--vd-ink);
	transition: background-color .3s, border-color .3s, transform .3s var(--vd-ease), box-shadow .3s, color .3s;
	-webkit-tap-highlight-color: transparent;
}
.vd-tab:hover { border-color: var(--vd-night); transform: translateY(-2px); }
.vd-tab:active { transform: scale(.985); }
.vd-tab:focus-visible { outline: 3px solid var(--vd-teal); outline-offset: 3px; }
.vd-tab__n {
	grid-column: 1; grid-row: 1 / 3; width: 2.5rem; height: 2.5rem; border-radius: 50%; display: grid; place-items: center;
	background: var(--vd-paper); font: 700 .9rem/1 var(--vd-display); transition: background-color .3s, color .3s;
}
.vd-tab__l { grid-column: 2; grid-row: 1; font: 700 1.15rem/1.2 var(--vd-display); letter-spacing: -.01em; }
.vd-tab__h { grid-column: 2; grid-row: 2; font-size: .88rem; color: var(--vd-muted); transition: color .3s; }
.vd-tab__i { grid-column: 3; grid-row: 1 / 3; width: 1.25rem; height: 1.25rem; opacity: .35; transition: transform .35s var(--vd-ease), opacity .3s; }
.vd-tab[aria-selected="true"] { background: var(--vd-night); border-color: var(--vd-night); color: var(--vd-white); box-shadow: var(--vd-shadow); }
.vd-tab[aria-selected="true"] .vd-tab__n { background: var(--vd-turq); color: var(--vd-night); }
.vd-tab[aria-selected="true"] .vd-tab__h { color: var(--vd-on-dark); }
.vd-tab[aria-selected="true"] .vd-tab__i { opacity: 1; transform: translateX(4px); color: var(--vd-turq); }

.vd-needs__ui.is-ready { display: grid !important; grid-template-columns: minmax(250px, 340px) minmax(0, 1fr); align-items: start; gap: clamp(1rem, 2.5vw, 2rem) !important; }
.vd-needs__ui.is-ready .vd-need__label, .vd-needs__ui.is-ready .vd-need__hint { display: none; }
.vd-needs__ui.is-ready .vd-need { grid-column: 2; grid-row: 1; }
.vd-needs__ui.is-ready .vd-need[hidden] { display: none !important; }
.vd-needs__ui.is-ready .vd-need.is-entering .vd-need__info > * { animation: vd-rise .55s var(--vd-ease-out) both; }
.vd-needs__ui.is-ready .vd-need.is-entering .vd-need__info > :nth-child(2) { animation-delay: .05s; }
.vd-needs__ui.is-ready .vd-need.is-entering .vd-need__info > :nth-child(3) { animation-delay: .1s; }
.vd-needs__ui.is-ready .vd-need.is-entering .vd-need__info > :nth-child(4) { animation-delay: .15s; }
.vd-needs__ui.is-ready .vd-need.is-entering .vd-need__info > :nth-child(5) { animation-delay: .2s; }
.vd-needs__ui.is-ready .vd-need.is-entering .vd-need__demo { animation: vd-panel .6s var(--vd-ease-out) both; }
@media (max-width: 900px) {
	.vd-needs__ui.is-ready { grid-template-columns: 1fr; }
	.vd-needs__ui.is-ready .vd-need { grid-column: 1; grid-row: 2; }
	.vd-tabs { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .5rem; }
	.vd-tab { display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-start; padding: .85rem .75rem; text-align: left; gap: .5rem; height: auto; min-height: max-content; }
	.vd-tab > * { flex: none; }
	.vd-tab__l { grid-row: auto; grid-column: 1; }
	.vd-tab__n { grid-row: auto; grid-column: 1; width: 2rem; height: 2rem; font-size: .8rem; }
	.vd-tab__l { font-size: 1rem; }
	.vd-tab__h, .vd-tab__i { display: none; }
	.vd-need__body { grid-template-columns: 1fr; }
	.vd-need__demo { min-height: 260px; }
}
@media (max-width: 380px) { .vd-tab__l { font-size: .92rem; } }

/* Demos dentro del selector */
.vd-demo { position: relative; z-index: 1; width: 100%; font-size: clamp(11px, 1.1vw, 13.5px); }
.vd-ui--mini { position: relative; width: 84%; margin-block: 1.5rem 2.5rem; }
.vd-mini { padding: 1em; display: grid; gap: .8em; }
.vd-mini__nav { display: flex; align-items: center; gap: .6em; }
.vd-mini__nav b { font: 800 1em/1 var(--vd-display); margin-right: auto; }
.vd-mini__nav i { width: 2.4em; height: .45em; border-radius: 4px; background: #E3E0D8; }
.vd-mini__nav u, .vd-mini__form u { text-decoration: none; background: var(--vd-night); color: var(--vd-white); font-weight: 700; font-size: .85em; padding: .4em .85em; border-radius: 99px; }
.vd-mini__h { font: 700 1.45em/1.1 var(--vd-display); letter-spacing: -.02em; margin: 0; max-width: 16ch; }
.vd-mini__cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: .5em; }
.vd-mini__cards span { background: var(--vd-paper); border-radius: 8px; padding: 1.6em .6em .6em; font-size: .82em; font-weight: 600; }
.vd-mini__form { display: flex; gap: .5em; align-items: center; border: 1px solid #DDD9D0; border-radius: 99px; padding: .3em .3em .3em .9em; }
.vd-mini__form span { flex: 1; color: #8A93A3; font-size: .85em; }
.vd-pop {
	position: absolute; display: inline-flex; align-items: center; gap: .55em; font-weight: 700; font-size: .92em;
	border-radius: 99px; padding: .65em 1em; box-shadow: 0 16px 30px -14px rgba(0, 0, 0, .6);
}
.vd-pop--wa { right: 0; top: 4%; background: #fff; color: var(--vd-ink); }
.vd-wa { width: 1.3em; height: 1.3em; border-radius: 50%; background: #25D366; }
.vd-pop--ok { left: 10%; bottom: 3%; background: var(--vd-turq); color: var(--vd-night); }
.vd-need.is-active .vd-pop--wa { animation: vd-pop .6s .35s var(--vd-ease-out) both; }
.vd-need.is-active .vd-pop--ok { animation: vd-pop .6s .7s var(--vd-ease-out) both, vd-float 6s 1.4s ease-in-out infinite; }

.vd-steps { list-style: none; margin: 0; padding: 0; display: grid; gap: .55em; counter-reset: s; }
.vd-steps__i {
	counter-increment: s; position: relative; display: grid; grid-template-columns: 2.2em 1fr; column-gap: .8em; align-items: center;
	background: rgba(255, 255, 255, .06); border: 1px solid rgba(255, 255, 255, .1); color: var(--vd-white);
	border-radius: 12px; padding: .75em .9em;
}
.vd-steps__i::before {
	content: counter(s); grid-row: span 2; width: 2.2em; height: 2.2em; border-radius: 50%; display: grid; place-items: center;
	border: 1.5px solid rgba(255, 255, 255, .3); font-weight: 700;
}
.vd-steps__i b { font-family: var(--vd-display); }
.vd-steps__i span { color: var(--vd-on-dark-2); font-size: .88em; }
.vd-need.is-active .vd-steps__i { animation: vd-step 6s infinite; }
.vd-need.is-active .vd-steps__i:nth-child(2) { animation-delay: .9s; }
.vd-need.is-active .vd-steps__i:nth-child(3) { animation-delay: 1.8s; }
.vd-need.is-active .vd-steps__i:nth-child(4) { animation-delay: 2.7s; }
.vd-order {
	margin-top: .9em; display: flex; align-items: center; gap: .9em; flex-wrap: wrap;
	background: var(--vd-white); color: var(--vd-ink); border-radius: 12px; padding: .8em 1em; font-size: .95em;
}
.vd-order span { color: var(--vd-muted); margin-right: auto; }

.vd-ba { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: .8em; color: var(--vd-white); }
.vd-ba__col { display: grid; gap: .5em; }
.vd-ba__k { margin: 0 0 .2em; font-size: .78em; letter-spacing: .14em; text-transform: uppercase; font-weight: 700; color: var(--vd-on-dark-2); }
.vd-ba__col span { border-radius: 10px; padding: .65em .75em; font-size: .9em; line-height: 1.3; }
.vd-ba__col--before span { border: 1px dashed rgba(255, 255, 255, .28); color: var(--vd-on-dark); text-decoration: line-through; text-decoration-color: rgba(255, 255, 255, .35); }
.vd-ba__col--after .vd-ba__k { color: var(--vd-turq); }
.vd-ba__col--after span { background: rgba(47, 212, 192, .12); border: 1px solid rgba(47, 212, 192, .35); }
.vd-ba__col--after .vd-ba__file { background: var(--vd-turq); color: var(--vd-night); font-weight: 700; }
.vd-ba__arrow { width: 2em; height: 2px; background: var(--vd-turq); position: relative; }
.vd-ba__arrow::after { content: ""; position: absolute; right: -1px; top: -4px; border: 5px solid transparent; border-left: 7px solid var(--vd-turq); border-right: 0; }
.vd-need.is-active .vd-ba__col--after span { animation: vd-pop .5s var(--vd-ease-out) both; }
.vd-need.is-active .vd-ba__col--after span:nth-of-type(2) { animation-delay: .2s; }
.vd-need.is-active .vd-ba__col--after span:nth-of-type(3) { animation-delay: .4s; }
@media (max-width: 520px) {
	.vd-ba { grid-template-columns: 1fr; }
	.vd-ba__arrow { width: 2px; height: 1.6em; justify-self: center; }
	.vd-ba__arrow::after { right: -4px; top: auto; bottom: -2px; border: 5px solid transparent; border-top: 7px solid var(--vd-turq); border-bottom: 0; }
}

/* ---------------------------------------------------------------- Listas */
.vd-checks { list-style: none; padding: 0; display: grid; gap: .6rem; }
.vd-checks li { position: relative; padding-left: 1.85rem; }
.vd-checks li::before, .vd-feats li::before {
	content: ""; position: absolute; left: 0; top: .2em; width: 1.2rem; height: 1.2rem; border-radius: 50%;
	background: var(--vd-turq) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5.5 10.5l3 3 6-7' fill='none' stroke='%230A1830' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/80% no-repeat;
}
.vd-checks--lg { gap: .9rem; font-size: 1.08rem; }
.vd-checks--lg li { padding-bottom: .9rem; border-bottom: 1px solid var(--vd-line); }
.vd-chips { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem; }
.vd-chips li {
	border: 1.5px solid var(--vd-line-dark); border-radius: 99px; padding: .5rem 1rem; font-weight: 600; font-size: .95rem;
	transition: border-color .25s, color .25s, transform .25s var(--vd-ease);
}
.vd-chips li:hover { border-color: var(--vd-turq); color: var(--vd-turq); transform: translateY(-2px); }

/* ---------------------------------------------------------------- Servicios */
.vd-services .vd-head { margin-bottom: clamp(2rem, 4vw, 3rem) !important; }
.vd-svc {
	display: grid !important; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); align-items: center;
	gap: clamp(2rem, 5vw, 5rem) !important;
	padding-block: clamp(2.5rem, 5vw, 4.5rem); border-top: 1px solid var(--vd-line);
}
.vd-svc--shop { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); }
.vd-svc--shop .vd-svc__copy { order: 2; }
.vd-svc__copy { --vd-gap: 1.1rem; }
.vd-svc__num {
	font: 700 clamp(3.5rem, 7vw, 6rem)/.8 var(--vd-display); letter-spacing: -.05em;
	color: transparent; -webkit-text-stroke: 1.5px var(--vd-teal);
}
.vd-svc__title { font-size: clamp(2rem, 3.6vw, 3rem); line-height: 1; letter-spacing: -.035em; }
.vd-svc__desc { color: var(--vd-muted); font-size: 1.1rem; max-width: 46ch; }
.vd-feats { list-style: none; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: .7rem 1.5rem; margin-block: .5rem !important; }
.vd-feats li { position: relative; padding-left: 1.75rem; font-weight: 550; font-size: .98rem; }
.vd-feats li::before { width: 1.1rem; height: 1.1rem; top: .18em; }
@media (max-width: 960px) {
	.vd-svc, .vd-svc--shop { grid-template-columns: 1fr; }
	.vd-svc--shop .vd-svc__copy { order: 0; }
}
@media (max-width: 480px) { .vd-feats { grid-template-columns: 1fr; } }

.vd-svc__visual { --vd-gap: 0; }
.vd-svcvis {
	position: relative; border-radius: var(--vd-r-lg); background: var(--vd-paper); overflow: hidden;
	aspect-ratio: 1.22; container-type: inline-size; font-family: var(--vd-body);
}
.vd-svcvis::before { content: ""; position: absolute; inset: 0; background-image: linear-gradient(var(--vd-line) 1px, transparent 1px), linear-gradient(90deg, var(--vd-line) 1px, transparent 1px); background-size: 32px 32px; opacity: .55; }
.vd-svcvis .vd-ui { box-shadow: var(--vd-shadow-lg); font-size: clamp(10.5px, 2.2cqw, 13.5px); transition: transform .6s var(--vd-ease); }
.vd-ui--page { left: 9%; right: 9%; top: 11%; }
.vd-page { padding: 1em 1.2em 1.3em; display: grid; gap: .9em; }
.vd-page__nav { display: flex; align-items: center; gap: .7em; }
.vd-page__nav b { font: 800 1em/1 var(--vd-display); margin-right: auto; }
.vd-page__nav i { width: 2.6em; height: .45em; border-radius: 4px; background: #E3E0D8; }
.vd-page__nav u, .vd-page__hero u { text-decoration: none; background: var(--vd-night); color: var(--vd-white); font-weight: 700; font-size: .85em; padding: .45em .9em; border-radius: 99px; }
.vd-page__hero { background: var(--vd-night); color: var(--vd-white); border-radius: 12px; padding: 1.3em; display: grid; gap: .8em; justify-items: start; }
.vd-page__hero p { margin: 0; font: 700 1.4em/1.1 var(--vd-display); letter-spacing: -.02em; max-width: 18ch; }
.vd-page__hero u { background: var(--vd-turq); color: var(--vd-night); }
.vd-page__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: .6em; }
.vd-page__grid span { display: grid; gap: .2em; background: var(--vd-paper); border-radius: 10px; padding: .8em; font-size: .82em; color: #6B7587; }
.vd-page__grid b { color: var(--vd-ink); font-size: 1.1em; }
.vd-page__works { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: .6em; }
.vd-page__works i { height: 3.2em; border-radius: 8px; background: linear-gradient(135deg, #D7E9E6, #EFE7DA); }
.vd-tag {
	position: absolute; z-index: 3; display: inline-flex; align-items: center; gap: .5em;
	background: var(--vd-night); color: var(--vd-white); font-size: clamp(11px, 2cqw, 13px); font-weight: 700;
	border-radius: 99px; padding: .55em 1em; box-shadow: 0 14px 30px -14px rgba(10, 24, 48, .7);
	transition: transform .5s var(--vd-ease), background-color .3s, color .3s;
}
.vd-tag::before { content: ""; width: .55em; height: .55em; border-radius: 50%; background: var(--vd-turq); }
.vd-tag--1 { left: 5%; bottom: 16%; }
.vd-tag--2 { right: 5%; bottom: 16%; }
.vd-tag--3 { left: 30%; bottom: 4%; }
.vd-svc:hover .vd-tag, .vd-svc:focus-within .vd-tag { background: var(--vd-turq); color: var(--vd-night); }
.vd-svc:hover .vd-tag::before, .vd-svc:focus-within .vd-tag::before { background: var(--vd-night); }
.vd-svc:hover .vd-tag--1, .vd-svc:focus-within .vd-tag--1 { transform: translate(-4px, -6px); }
.vd-svc:hover .vd-tag--2, .vd-svc:focus-within .vd-tag--2 { transform: translate(6px, 4px); }
.vd-svc:hover .vd-tag--3, .vd-svc:focus-within .vd-tag--3 { transform: translate(-6px, 6px); }
.vd-svc:hover .vd-ui, .vd-svc:focus-within .vd-ui { transform: translateY(-6px); }

.vd-ui--orders { left: 7%; top: 9%; width: 70%; }
.vd-orders__head { display: flex; align-items: center; justify-content: space-between; gap: 1em; padding: 1em 1.1em .7em; }
.vd-orders__head b { font: 700 1.15em/1 var(--vd-display); }
.vd-orders__tabs { display: flex; gap: .3em; font-size: .78em; font-weight: 600; }
.vd-orders__tabs u, .vd-orders__tabs i { text-decoration: none; font-style: normal; padding: .3em .7em; border-radius: 99px; color: #6B7587; }
.vd-orders__tabs u { background: var(--vd-night); color: var(--vd-white); }
.vd-orders { list-style: none; margin: 0; padding: 0 .7em .8em; }
.vd-orders li { display: grid; grid-template-columns: 3.6em 1fr auto auto; gap: .7em; align-items: center; padding: .65em .4em; border-top: 1px solid #EEEBE5; }
.vd-orders em { font-style: normal; font-weight: 600; font-variant-numeric: tabular-nums; }
.vd-orders span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; color: #4F5B6E; }
.vd-ui--stock { right: 6%; bottom: 8%; width: 40%; padding: 1em 1.1em; display: grid; gap: .5em; }
.vd-stock__k { margin: 0; font-size: .75em; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--vd-teal); }
.vd-stock__n { margin: 0; font: 700 1.1em/1.15 var(--vd-display); }
.vd-stock__row { display: flex; justify-content: space-between; border-bottom: 1px solid #EEEBE5; padding-bottom: .4em; font-size: .9em; }
.vd-stock__row span { color: #6B7587; }
.vd-switch { display: flex; align-items: center; gap: .6em; font-size: .85em; font-weight: 600; }
.vd-switch i { width: 2.2em; height: 1.25em; border-radius: 99px; background: var(--vd-turq); position: relative; }
.vd-switch i::after { content: ""; position: absolute; right: .15em; top: .15em; width: .95em; height: .95em; border-radius: 50%; background: var(--vd-white); }
@media (max-width: 560px) {
	.vd-svcvis { aspect-ratio: .95; }
	.vd-ui--page { left: 5%; right: 5%; }
	.vd-ui--orders { left: 4%; width: 92%; }
	.vd-orders li { grid-template-columns: 3.4em 1fr auto; }
	.vd-orders em { display: none; }
	.vd-ui--stock { width: 58%; right: 4%; bottom: 5%; }
}

/* ---------------------------------------------------------------- Automatizaciones */
.vd-auto { padding-block: clamp(4rem, 7vw, 6.5rem); background: var(--vd-night-2); }
.vd-auto__grid { display: grid !important; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(2rem, 6vw, 6rem) !important; align-items: center; }
.vd-auto__copy { --vd-gap: 1.2rem; }
.vd-auto__visual { --vd-gap: .75rem; }
.vd-flow { display: grid; justify-items: stretch; max-width: 460px; width: 100%; margin-inline: auto; }
.vd-flow__node {
	position: relative; display: grid; gap: .3rem; padding: 1.1rem 1.25rem 1.15rem;
	background: rgba(255, 255, 255, .04); border: 1px solid var(--vd-line-dark); border-radius: var(--vd-r);
	animation: vd-node 6s infinite; animation-delay: calc(var(--i) * 1.6s);
}
.vd-flow__k { font-size: .75rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--vd-turq); }
.vd-flow__node b { font: 650 1.2rem/1.25 var(--vd-display); letter-spacing: -.01em; }
.vd-flow__node em { font-style: normal; color: var(--vd-on-dark-2); font-size: .9rem; }
.vd-flow__link { position: relative; height: 2.4rem; width: 2px; margin-left: 2rem; background: var(--vd-line-dark); overflow: visible; }
.vd-flow__link i {
	position: absolute; left: -4px; top: 0; width: 10px; height: 10px; border-radius: 50%; background: var(--vd-turq);
	box-shadow: 0 0 0 4px rgba(47, 212, 192, .18); opacity: 0;
	animation: vd-travel 6s infinite; animation-delay: calc(.9s + var(--i) * 1.6s);
}
.vd-flow__note { font-size: .82rem; color: var(--vd-on-dark-2); max-width: 460px; margin-inline: auto !important; width: 100%; }
.vd-auto--light { background: var(--vd-white); }
.vd-auto--light .vd-flow__node { background: var(--vd-paper); border-color: var(--vd-line); animation-name: vd-node-light; }
.vd-auto--light .vd-flow__k { color: var(--vd-teal); }
.vd-auto--light .vd-flow__node em, .vd-auto--light .vd-flow__note { color: var(--vd-muted); }
.vd-auto--light .vd-flow__link { background: var(--vd-line); }
@media (max-width: 860px) { .vd-auto__grid { grid-template-columns: 1fr; } }

/* ---------------------------------------------------------------- Proyectos */
.vd-work { background: var(--vd-paper); }
.vd-projects { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: clamp(3rem, 6vw, 5.5rem) clamp(1.25rem, 3vw, 2.5rem); }
.vd-proj { grid-column: 1 / -1; display: grid; gap: 1.5rem; align-content: start; }
.vd-proj__media { margin: 0; border-radius: 16px; overflow: hidden; background: var(--vd-white); box-shadow: var(--vd-shadow); transition: transform .5s var(--vd-ease), box-shadow .5s; position: relative; }
.vd-proj__bar { display: flex; align-items: center; gap: .4rem; padding: .6rem .85rem; background: #ECE9E2; }
.vd-proj__bar span { width: 9px; height: 9px; border-radius: 50%; background: #D3CEC4; }
.vd-proj__bar em { margin-left: .6rem; font: 600 .78rem/1 var(--vd-body); font-style: normal; color: #5D6778; background: var(--vd-white); border-radius: 99px; padding: .35rem .85rem; }
.vd-proj__shot { aspect-ratio: 1520 / 639; overflow: hidden; background: var(--vd-night); position: relative; }
.vd-proj__shot img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: top center; transition: transform 1.1s var(--vd-ease); }
.vd-proj__shot::after {
	content: "Captura del sitio publicado"; position: absolute; right: .8rem; bottom: .8rem;
	font: 700 .72rem/1 var(--vd-body); letter-spacing: .04em; color: var(--vd-night); background: var(--vd-turq);
	padding: .45rem .7rem; border-radius: 99px; opacity: 0; transform: translateY(6px); transition: opacity .35s, transform .35s var(--vd-ease);
}
.vd-proj:hover .vd-proj__media, .vd-proj:focus-within .vd-proj__media { transform: translateY(-6px); box-shadow: var(--vd-shadow-lg); }
.vd-proj:hover .vd-proj__shot img, .vd-proj:focus-within .vd-proj__shot img { transform: scale(1.035); }
.vd-proj:hover .vd-proj__shot::after, .vd-proj:focus-within .vd-proj__shot::after { opacity: 1; transform: none; }
.vd-proj__shot--type { display: grid; place-items: center; }
.vd-proj__shot--type span { font: 700 clamp(1.8rem, 4vw, 3.2rem)/1 var(--vd-display); color: var(--vd-white); letter-spacing: -.03em; }

.vd-proj__info { display: grid; gap: .7rem; align-content: start; }
.vd-proj__meta { display: flex; align-items: center; gap: .8rem; margin: 0; }
.vd-proj__n { font: 700 .85rem/1 var(--vd-display); color: var(--vd-teal); }
.vd-proj__tipo { font-size: .78rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; border: 1.5px solid var(--vd-line); border-radius: 99px; padding: .35rem .7rem; color: var(--vd-ink); background: var(--vd-white); }
.vd-proj__title { margin: 0; font-size: clamp(1.6rem, 2.6vw, 2.25rem); line-height: 1.05; letter-spacing: -.03em; }
.vd-proj__rubro { margin: 0; font-weight: 600; color: var(--vd-ink); }
.vd-proj__desc { margin: 0; color: var(--vd-muted); max-width: 52ch; }
.vd-proj__work { margin: .25rem 0 0; padding: 0; list-style: none; display: grid; gap: .45rem; font-size: .95rem; }
.vd-proj__work li { position: relative; padding-left: 1.2rem; }
.vd-proj__work li::before { content: ""; position: absolute; left: 0; top: .62em; width: .5rem; height: 2px; background: var(--vd-teal); }
.vd-proj__link {
	justify-self: start; display: inline-flex; align-items: center; gap: .45rem; margin-top: .35rem;
	font-weight: 700; color: var(--vd-teal); text-decoration: none;
	background: linear-gradient(currentColor, currentColor) 0 100% / 0 2px no-repeat; padding-bottom: 3px;
	transition: background-size .35s var(--vd-ease);
}
.vd-proj__link:hover, .vd-proj__link:focus-visible { background-size: 100% 2px; }
.vd-proj__link svg { transition: transform .3s var(--vd-ease); }
.vd-proj__link:hover svg { transform: translate(2px, -2px); }

@media (min-width: 900px) {
	.vd-projects--editorial .vd-proj--1, .vd-projects--editorial .vd-proj--4 { grid-template-columns: minmax(0, 8fr) minmax(0, 4fr); align-items: center; gap: clamp(1.5rem, 3vw, 3rem); }
	.vd-projects--editorial .vd-proj--4 .vd-proj__media { order: 2; }
	.vd-projects--editorial .vd-proj--2 { grid-column: 1 / 7; }
	.vd-projects--editorial .vd-proj--3 { grid-column: 7 / 13; margin-top: clamp(3rem, 8vw, 7rem); }
	.vd-projects--editorial.vd-projects--n2 .vd-proj--2, .vd-projects--editorial.vd-projects--n1 .vd-proj--1 { grid-column: 1 / -1; }
	.vd-projects--editorial.vd-projects--n2 .vd-proj--2 { grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); align-items: center; }
	.vd-projects--editorial.vd-projects--n2 .vd-proj--2 .vd-proj__media { order: 2; }
	.vd-projects--list .vd-proj { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); align-items: center; gap: clamp(1.5rem, 4vw, 4rem); }
	.vd-projects--list .vd-proj:nth-child(even) .vd-proj__media { order: 2; }
}
.vd-work .wp-block-buttons { margin-top: clamp(2.5rem, 5vw, 4rem) !important; }

/* ---------------------------------------------------------------- Proceso */
.vd-process { background: var(--vd-white); }
.vd-steps-grid { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(1.25rem, 2.5vw, 2rem) !important; position: relative; }
.vd-steps-grid::before {
	content: ""; position: absolute; left: 0; right: 0; top: 0; height: 2px; background: var(--vd-line);
}
.vd-steps-grid::after {
	content: ""; position: absolute; left: 0; right: 0; top: 0; height: 2px; background: var(--vd-turq);
	transform: scaleX(0); transform-origin: left; transition: transform 1.6s var(--vd-ease-out) .2s;
}
.vd-steps-grid.is-in::after, html:not(.vd-js) .vd-steps-grid::after { transform: scaleX(1); }
.vd-step { --vd-gap: .8rem; padding-top: 1.75rem; position: relative; }
.vd-step::before { content: ""; position: absolute; top: -5px; left: 0; width: 12px; height: 12px; border-radius: 50%; background: var(--vd-white); border: 2px solid var(--vd-teal); }
.vd-step__n { font: 700 2.75rem/1 var(--vd-display); color: transparent; -webkit-text-stroke: 1.5px var(--vd-teal); letter-spacing: -.04em; }
.vd-step__t { font-size: 1.3rem; line-height: 1.15; letter-spacing: -.02em; }
.vd-step__d { color: var(--vd-muted); font-size: .98rem; }
@media (max-width: 900px) {
	.vd-steps-grid { grid-template-columns: 1fr 1fr; row-gap: 2.5rem !important; }
	.vd-steps-grid::before, .vd-steps-grid::after { display: none; }
	.vd-step { border-top: 2px solid var(--vd-line); }
}
@media (max-width: 560px) { .vd-steps-grid { grid-template-columns: 1fr; } }

/* ---------------------------------------------------------------- Diferenciales */
.vd-diff { background: var(--vd-paper); }
.vd-diff .vd-wrap { display: grid !important; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(2rem, 6vw, 6rem) !important; align-items: start; }
.vd-diff__lead { --vd-gap: 1.1rem; position: sticky; top: calc(var(--vd-header-h) + 2rem); }
.vd-diff__grid { display: grid !important; grid-template-columns: 1fr 1fr; gap: 0 clamp(1.5rem, 3vw, 2.5rem) !important; }
.vd-diff__item { --vd-gap: .55rem; padding-block: 1.6rem; border-top: 1px solid #D9D5CB; position: relative; }
.vd-diff__item::before { content: ""; position: absolute; top: -1px; left: 0; width: 2.5rem; height: 2px; background: var(--vd-teal); transition: width .5s var(--vd-ease); }
.vd-diff__item:hover::before { width: 100%; }
.vd-diff__t { font-size: 1.25rem; letter-spacing: -.02em; }
.vd-diff__d { color: var(--vd-muted); font-size: .98rem; }
@media (max-width: 900px) {
	.vd-diff .vd-wrap { grid-template-columns: 1fr; }
	.vd-diff__lead { position: static; }
}
@media (max-width: 560px) { .vd-diff__grid { grid-template-columns: 1fr; } }

/* ---------------------------------------------------------------- Preguntas frecuentes */
.vd-faq { background: var(--vd-white); }
.vd-faq.vd-paper { background: var(--vd-paper); }
.vd-faq__grid { display: grid !important; grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); gap: clamp(2rem, 6vw, 6rem) !important; align-items: start; }
.vd-faq__head { --vd-gap: 1rem; position: sticky; top: calc(var(--vd-header-h) + 2rem); }
.vd-faq__list { --vd-gap: 0; border-top: 1px solid var(--vd-line); }
.vd-faq__item { border-bottom: 1px solid var(--vd-line); }
.vd-faq__item summary {
	list-style: none; cursor: pointer; position: relative;
	display: flex; justify-content: space-between; align-items: center; gap: 1.5rem;
	padding: 1.35rem 0; font: 650 clamp(1.08rem, 1.5vw, 1.25rem)/1.3 var(--vd-display); letter-spacing: -.01em;
	transition: color .2s;
}
.vd-faq__item summary::-webkit-details-marker { display: none; }
.vd-faq__item summary::after {
	content: ""; flex: none; width: 2.1rem; height: 2.1rem; border-radius: 50%; border: 1.5px solid var(--vd-line);
	background:
		linear-gradient(var(--vd-ink), var(--vd-ink)) center / 12px 2px no-repeat,
		linear-gradient(var(--vd-ink), var(--vd-ink)) center / 2px 12px no-repeat;
	transition: transform .35s var(--vd-ease), background-color .25s, border-color .25s;
}
.vd-faq__item summary:hover { color: var(--vd-teal); }
.vd-faq__item summary:hover::after { border-color: var(--vd-ink); }
.vd-faq__item[open] summary::after { transform: rotate(135deg); background-color: var(--vd-turq); border-color: var(--vd-turq); }
.vd-faq__item > p { color: var(--vd-muted); padding: 0 3.5rem 1.5rem 0; max-width: 68ch; margin: 0; }
.vd-faq__item[open] > p { animation: vd-rise .4s var(--vd-ease-out) both; }
@media (max-width: 900px) {
	.vd-faq__grid { grid-template-columns: 1fr; }
	.vd-faq__head { position: static; }
	.vd-faq__item > p { padding-right: 0; }
}

/* ---------------------------------------------------------------- Cierre + formulario */
.vd-close {
	background:
		radial-gradient(50% 60% at 0% 100%, rgba(47, 212, 192, .14), transparent 70%),
		var(--vd-night);
}
.vd-close__grid { display: grid !important; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(2rem, 6vw, 5.5rem) !important; align-items: start; }
.vd-close__copy { --vd-gap: 1.2rem; position: sticky; top: calc(var(--vd-header-h) + 2rem); }
.vd-close__title { font-size: clamp(2.4rem, 5vw, 4.25rem); line-height: .98; letter-spacing: -.04em; font-weight: 720; max-width: 12ch; }
.vd-close__h { font: 700 .8rem/1.2 var(--vd-body); letter-spacing: .14em; text-transform: uppercase; color: var(--vd-on-dark-2); margin-top: 1rem !important; }
.vd-close__list { list-style: none; padding: 0; counter-reset: c; display: grid; gap: .85rem; }
.vd-close__list li { counter-increment: c; display: grid; grid-template-columns: 2rem 1fr; gap: .8rem; align-items: baseline; color: var(--vd-on-dark); }
.vd-close__list li::before { content: counter(c, decimal-leading-zero); font: 700 .9rem/1 var(--vd-display); color: var(--vd-turq); }
.vd-close--page { padding-top: calc(var(--vd-header-h) + clamp(2.5rem, 6vw, 5rem)); }
@media (max-width: 960px) {
	.vd-close__grid { grid-template-columns: 1fr; }
	.vd-close__copy { position: static; }
}

.vd-contact { list-style: none; padding: 0; margin: 0; display: grid; gap: .5rem; }
.vd-contact a { color: inherit; text-underline-offset: 3px; }
.vd-contact a:hover { color: var(--vd-turq); }
.vd-contact__meta { font-size: .88rem; opacity: .7; }
.vd-contact--compact { display: flex; flex-wrap: wrap; gap: .4rem 1rem; color: var(--vd-on-dark); font-size: .95rem; margin-top: .5rem !important; }
.vd-contact__label { width: 100%; font-size: .85rem; color: var(--vd-on-dark-2); }
.vd-contact--compact a { color: var(--vd-turq); font-weight: 700; }

/* Formulario */
.vd-formbox {
	background: var(--vd-white); color: var(--vd-ink);
	border-radius: var(--vd-r-lg); padding: clamp(1.25rem, 3.5vw, 2.75rem);
	box-shadow: 0 50px 90px -40px rgba(0, 0, 0, .6);
	position: relative; scroll-margin-top: calc(var(--vd-header-h) + 1rem);
}
.vd-form__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.15rem 1.25rem; }
.vd-f { display: grid; gap: .45rem; align-content: start; min-width: 0; margin: 0; padding: 0; border: 0; }
.vd-f--full { grid-column: 1 / -1; }
.vd-f label, .vd-f legend { font-weight: 650; font-size: .95rem; padding: 0; }
.vd-f legend { margin-bottom: .45rem; }
.vd-opt { font-weight: 500; color: var(--vd-muted); font-size: .88em; }
.vd-f input:not([type="radio"]), .vd-f textarea, .vd-f select {
	width: 100%; box-sizing: border-box; font: 400 1rem/1.4 var(--vd-body); color: var(--vd-ink);
	background: #FBFAF7; border: 1.5px solid #D4D0C6; border-radius: 12px; padding: .85rem 1rem;
	transition: border-color .2s, box-shadow .2s, background-color .2s;
	-webkit-appearance: none; appearance: none;
}
.vd-f select {
	padding-right: 2.6rem;
	background: #FBFAF7 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 8l5 5 5-5' fill='none' stroke='%234F5B6E' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") right .9rem center / 1.1rem no-repeat;
}
.vd-f textarea { resize: vertical; min-height: 8rem; }
.vd-f input:hover, .vd-f textarea:hover, .vd-f select:hover { border-color: #A9A497; }
.vd-f input:focus, .vd-f textarea:focus, .vd-f select:focus { outline: none; border-color: var(--vd-teal); background-color: var(--vd-white); box-shadow: 0 0 0 4px rgba(47, 212, 192, .3); }
.vd-help { font-size: .85rem; color: var(--vd-muted); margin: 0; }
.vd-choices { display: flex; flex-wrap: wrap; gap: .5rem; }
.vd-choice { position: relative; }
.vd-choice input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
.vd-choice span {
	display: inline-flex; align-items: center; gap: .5rem; padding: .65rem 1rem; border-radius: 99px;
	border: 1.5px solid #D4D0C6; background: #FBFAF7; font-weight: 600; font-size: .95rem; cursor: pointer;
	transition: background-color .2s, border-color .2s, color .2s, transform .2s var(--vd-ease);
}
.vd-choice span::before { content: ""; width: .85rem; height: .85rem; border-radius: 50%; border: 1.5px solid #A9A497; transition: all .2s; }
.vd-choice:hover span { border-color: var(--vd-night); }
.vd-choice input:checked + span { background: var(--vd-night); border-color: var(--vd-night); color: var(--vd-white); }
.vd-choice input:checked + span::before { border-color: var(--vd-turq); background: var(--vd-turq); box-shadow: inset 0 0 0 2px var(--vd-night); }
.vd-choice input:focus-visible + span { outline: 3px solid var(--vd-teal); outline-offset: 2px; }
.vd-choice input:active + span { transform: scale(.97); }
.vd-f.is-invalid input, .vd-f.is-invalid textarea, .vd-f.is-invalid .vd-choice span { border-color: var(--vd-error); }
.vd-err { margin: 0; color: var(--vd-error); font-size: .88rem; font-weight: 600; display: flex; gap: .4rem; align-items: center; }
.vd-err::before { content: "!"; width: 1.05rem; height: 1.05rem; border-radius: 50%; background: var(--vd-error); color: #fff; font-size: .7rem; display: grid; place-items: center; flex: none; }
.vd-form__status:empty { display: none; }
.vd-form__status { margin: 0 0 1.25rem; padding: .85rem 1rem; border-radius: 12px; background: var(--vd-paper); font-weight: 600; }
.vd-form__status.is-error { background: #FDECEA; color: var(--vd-error); }
.vd-form__foot { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.5rem; margin-top: 1.6rem; }
.vd-submit {
	display: inline-flex; align-items: center; gap: .7rem; cursor: pointer;
	font: 700 1.05rem/1 var(--vd-body); color: var(--vd-white); background: var(--vd-night);
	border: 0; border-radius: 99px; padding: 1.05rem 1.7rem;
	transition: transform .25s var(--vd-ease), background-color .25s, box-shadow .3s;
}
.vd-submit:hover { transform: translateY(-2px); background: var(--vd-night-3); box-shadow: 0 14px 30px -14px rgba(10, 24, 48, .7); }
.vd-submit:active { transform: scale(.97); }
.vd-submit:disabled { cursor: progress; opacity: .85; }
.vd-submit__spin { width: 1rem; height: 1rem; border-radius: 50%; border: 2px solid rgba(255, 255, 255, .35); border-top-color: var(--vd-turq); display: none; animation: vd-spin .8s linear infinite; }
.is-sending .vd-submit__spin { display: block; }
.vd-form__legal { margin: 0; font-size: .85rem; color: var(--vd-muted); flex: 1; min-width: 14rem; }
.vd-form__legal a { color: var(--vd-teal); }
.vd-hp { position: absolute !important; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.vd-done { text-align: center; padding: clamp(1.5rem, 5vw, 3.5rem) 1rem; display: grid; justify-items: center; gap: 1rem; outline: none; }
.vd-done[hidden] { display: none; }
.vd-done__icon { color: var(--vd-teal); }
.vd-done__icon circle { stroke-dasharray: 140; stroke-dashoffset: 140; animation: vd-draw .8s .1s var(--vd-ease-out) forwards; }
.vd-done__icon path { stroke-dasharray: 40; stroke-dashoffset: 40; animation: vd-draw .5s .7s var(--vd-ease-out) forwards; }
.vd-done__title { font-size: clamp(1.6rem, 3vw, 2.1rem); margin: 0; letter-spacing: -.02em; }
.vd-done__text { color: var(--vd-muted); max-width: 42ch; margin: 0; }
.vd-done__again { all: unset; cursor: pointer; font-weight: 700; color: var(--vd-teal); text-decoration: underline; text-underline-offset: 3px; }
.vd-done__again:focus-visible { outline: 3px solid var(--vd-teal); outline-offset: 3px; }
@media (max-width: 600px) { .vd-form__grid { grid-template-columns: 1fr; } .vd-submit { width: 100%; justify-content: center; } }

/* ---------------------------------------------------------------- Páginas interiores */
.vd-pagehero {
	padding-top: calc(var(--vd-header-h) + clamp(3rem, 8vw, 7rem));
	padding-bottom: clamp(3.5rem, 7vw, 6rem);
	overflow: hidden;
	background: radial-gradient(55% 70% at 100% 0%, rgba(47, 212, 192, .14), transparent 70%), var(--vd-night);
}
.vd-pagehero .vd-wrap { --vd-gap: 1.4rem; }
.vd-pagehero__title { font-size: clamp(2.5rem, 5.6vw, 4.9rem); line-height: 1; letter-spacing: -.04em; font-weight: 720; max-width: 16ch; }
.vd-pagehero .vd-wrap > * { animation: vd-rise .8s var(--vd-ease-out) both; }
.vd-pagehero .vd-wrap > :nth-child(2) { animation-delay: .08s; }
.vd-pagehero .vd-wrap > :nth-child(3) { animation-delay: .16s; }
.vd-pagehero .vd-wrap > :nth-child(4) { animation-delay: .24s; }
.vd-close--page .vd-close__copy > * { animation: vd-rise .8s var(--vd-ease-out) both; }

.vd-split__grid { display: grid !important; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(2rem, 6vw, 6rem) !important; align-items: start; }
.vd-split__a, .vd-scope__a { --vd-gap: 1rem; }
.vd-split__b, .vd-scope__b { --vd-gap: 1.5rem; }
@media (max-width: 900px) { .vd-split__grid { grid-template-columns: 1fr; } }

.vd-solves__grid { display: grid !important; grid-template-columns: 1fr 1fr; gap: 1.25rem !important; }
.vd-solve {
	--vd-gap: .9rem; background: var(--vd-white); border-radius: var(--vd-r); padding: clamp(1.4rem, 3vw, 2.25rem);
	box-shadow: 0 1px 0 rgba(10, 24, 48, .04); border: 1px solid var(--vd-line);
	transition: transform .35s var(--vd-ease), box-shadow .35s, border-color .35s;
}
.vd-solve:hover { transform: translateY(-4px); box-shadow: var(--vd-shadow); border-color: transparent; }
.vd-solve__q { font: 650 clamp(1.2rem, 1.8vw, 1.45rem)/1.25 var(--vd-display); letter-spacing: -.015em; }
.vd-solve__a { color: var(--vd-muted); padding-left: 1.8rem; position: relative; }
.vd-solve__a::before { content: "→"; position: absolute; left: 0; color: var(--vd-teal); font-weight: 700; }
@media (max-width: 760px) { .vd-solves__grid { grid-template-columns: 1fr; } }

.vd-funcs__grid { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 2.25rem 1.75rem !important; }
.vd-func { --vd-gap: .6rem; padding-top: 1.25rem; border-top: 1px solid var(--vd-line); position: relative; }
.vd-func::before { content: ""; position: absolute; top: -1px; left: 0; width: 1.75rem; height: 2px; background: var(--vd-teal); transition: width .45s var(--vd-ease); }
.vd-func:hover::before { width: 100%; }
.vd-func__t { font-size: 1.15rem; letter-spacing: -.015em; }
.vd-func__d { color: var(--vd-muted); font-size: .95rem; }
@media (max-width: 1000px) { .vd-funcs__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 520px) { .vd-funcs__grid { grid-template-columns: 1fr; } }

.vd-scope__list { list-style: none; padding: 0; display: grid; }
.vd-scope__list li { padding: 1.1rem 0; border-bottom: 1px solid var(--vd-line); color: var(--vd-muted); }
.vd-scope__list li:first-child { border-top: 1px solid var(--vd-line); }
.vd-scope__list strong { color: var(--vd-ink); display: block; font-family: var(--vd-display); font-size: 1.12rem; font-weight: 650; margin-bottom: .2rem; }

.vd-examples__grid { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem !important; }
.vd-example {
	--vd-gap: .7rem; background: var(--vd-white); border-radius: var(--vd-r); padding: clamp(1.4rem, 3vw, 2rem);
	border: 1px solid var(--vd-line); transition: transform .35s var(--vd-ease), box-shadow .35s;
}
.vd-example:hover { transform: translateY(-4px); box-shadow: var(--vd-shadow); }
.vd-example:first-child { grid-row: span 2; background: var(--vd-night); color: var(--vd-white); border-color: var(--vd-night); justify-content: flex-end; }
.vd-example:first-child .vd-example__d { color: var(--vd-on-dark); }
.vd-example:first-child .vd-example__n { color: var(--vd-turq); -webkit-text-stroke-color: var(--vd-turq); }
.vd-example__n { font: 700 2.2rem/1 var(--vd-display); color: transparent; -webkit-text-stroke: 1.3px var(--vd-teal); }
.vd-example__t { font-size: 1.3rem; letter-spacing: -.02em; }
.vd-example__d { color: var(--vd-muted); }
@media (max-width: 900px) { .vd-examples__grid { grid-template-columns: 1fr 1fr; } .vd-example:first-child { grid-row: auto; grid-column: 1 / -1; } }
@media (max-width: 560px) { .vd-examples__grid { grid-template-columns: 1fr; } }

.vd-mini-faq .vd-wrap { max-width: calc(900px + 2 * var(--vd-pad-x)); }

/* Páginas de texto */
.vd-plain { padding-top: calc(var(--vd-header-h) + clamp(3rem, 7vw, 5rem)); padding-bottom: clamp(4rem, 8vw, 6rem); padding-inline: var(--vd-pad-x); }
.vd-plain__title { font-size: clamp(2.2rem, 5vw, 3.6rem); letter-spacing: -.035em; margin-bottom: 2rem !important; }
.vd-plain .wp-block-post-content > * + * { margin-top: 1.1rem !important; }
.vd-plain .wp-block-post-content > h2 { font-size: 1.5rem; margin-top: 2.75rem !important; }
.vd-plain p { color: #2E3A4D; }

/* ---------------------------------------------------------------- Pie de página */
.vd-site-footer { margin-top: 0 !important; }
.vd-footer {
	background: var(--vd-deep); color: var(--vd-on-dark); position: relative; overflow: hidden;
	padding-top: clamp(4rem, 8vw, 6rem); --vd-gap: 0;
}
.vd-footer::after {
	content: "VARDIS"; position: absolute; left: 50%; bottom: -.18em; transform: translateX(-50%);
	font: 800 clamp(6rem, 24vw, 22rem)/1 var(--vd-display); letter-spacing: -.02em;
	color: transparent; -webkit-text-stroke: 1px rgba(255, 255, 255, .07); pointer-events: none; white-space: nowrap;
}
.vd-footer__grid { display: grid !important; grid-template-columns: minmax(0, 2fr) repeat(3, minmax(0, 1fr)); gap: 2.5rem !important; padding-bottom: clamp(5rem, 14vw, 11rem); position: relative; z-index: 1; }
.vd-footer__brand { --vd-gap: 1rem; }
.vd-footer__title { font-size: 2rem; color: var(--vd-white); }
.vd-footer__claim { max-width: 30ch; }
.vd-footer__col { --vd-gap: 1rem; }
.vd-footer__h { font: 700 .78rem/1.2 var(--vd-body) !important; letter-spacing: .16em; text-transform: uppercase; color: var(--vd-turq); margin: 0; }
.vd-footer__links { list-style: none; padding: 0; margin: 0; display: grid; gap: .55rem; }
.vd-footer a { color: var(--vd-white); text-decoration: none; background: linear-gradient(var(--vd-turq), var(--vd-turq)) 0 100% / 0 1.5px no-repeat; transition: background-size .3s var(--vd-ease), color .2s; }
.vd-footer a:hover { color: var(--vd-turq); background-size: 100% 1.5px; }
.vd-footer__bottom { flex-direction: row !important; flex-wrap: wrap; justify-content: space-between; gap: .5rem 2rem !important; padding-block: 1.5rem; border-top: 1px solid var(--vd-line-dark); font-size: .88rem; position: relative; z-index: 1; }
.vd-footer__bottom p { margin: 0; }
@media (max-width: 860px) { .vd-footer__grid { grid-template-columns: 1fr 1fr; } .vd-footer__brand { grid-column: 1 / -1; } }
@media (max-width: 420px) { .vd-footer__grid { grid-template-columns: 1fr; } }

/* WhatsApp flotante (sólo si hay número configurado) */
.vd-wa-float {
	position: fixed; right: max(1rem, env(safe-area-inset-right)); bottom: max(1rem, env(safe-area-inset-bottom)); z-index: 90;
	display: inline-flex; align-items: center; gap: .55rem; padding: .8rem 1.1rem .8rem .85rem;
	background: var(--vd-night); color: var(--vd-white); border-radius: 99px; text-decoration: none; font-weight: 700;
	box-shadow: 0 16px 40px -14px rgba(10, 24, 48, .7), 0 0 0 1px rgba(255, 255, 255, .08);
	transition: transform .25s var(--vd-ease), background-color .25s;
}
.vd-wa-float svg { color: #25D366; }
.vd-wa-float:hover { transform: translateY(-3px); background: var(--vd-night-3); }
@media (max-width: 600px) { .vd-wa-float span { display: none; } .vd-wa-float { padding: .85rem; } }

/* ---------------------------------------------------------------- Logo (versión sin bajada; vectorizada desde el logo original) */
:root { --vd-logo-dark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='140 290 1496 316'%3E%3Cpath fill='%23093062' fill-rule='evenodd' d='M 157.7 296.3 C 150.4 298.6, 145.0 306.4, 146.3 312.8 C 146.6 314.3, 161.5 340.9, 179.5 372 C 220.6 442.8, 231.1 461.0, 246.9 488.5 C 307.2 593.3, 305.2 590.1, 310 593.6 C 318.2 599.7, 320.9 600.1, 349.6 599.8 L 375.5 599.5 380.6 596.6 C 383.5 595.0, 386.9 592.5, 388.3 591.1 C 390.2 589.0, 431.4 520.4, 436.8 510.2 C 438.1 507.9, 438.0 507.9, 433.1 508.5 C 427.4 509.3, 419.9 507.9, 413.2 504.7 C 403.9 500.3, 399.6 494.7, 377.4 457.5 C 366.0 438.2, 349.4 410.8, 340.6 396.5 C 331.8 382.2, 316.2 356.7, 305.9 340 C 282.6 302.0, 282.8 302.2, 275.5 298.5 L 269.6 295.5 215.5 295.3 C 175.8 295.1, 160.5 295.4, 157.7 296.3 M 989.3 335.9 C 984.9 337.7, 985 337.1, 985 431.4 C 985 520.6, 985.0 522.0, 987 524 C 990.2 527.2, 1031.1 527.0, 1033.4 523.7 C 1034.7 521.9, 1035 517.5, 1035 496.3 C 1035 469.5, 1035.3 467.0, 1039.6 465.1 C 1047.9 461.3, 1049.1 462.4, 1086.1 506.4 C 1104.0 527.6, 1101.1 526.4, 1132.8 526.8 C 1155.6 527.0, 1158.3 526.9, 1160.1 525.4 C 1163.0 522.7, 1162.3 520.4, 1156.7 514.1 C 1138.2 493.7, 1113.4 465.6, 1113.1 464.8 C 1112.4 463.0, 1115.3 460.9, 1124.6 456.5 C 1146.4 446.2, 1158.2 426.6, 1158.3 400.5 C 1158.5 369.1, 1141.2 346.1, 1111.3 337.7 C 1103.7 335.6, 1101.6 335.5, 1047.5 335.3 C 1015.5 335.1, 990.5 335.4, 989.3 335.9 M 1184.0 336.6 C 1182.5 337.2, 1181.0 338.8, 1180.6 340.1 C 1180.3 341.4, 1180.0 383.0, 1180.0 432.5 L 1180 522.6 1182.3 524.8 L 1184.7 527.1 1239.1 526.7 L 1293.5 526.4 1302.5 523.6 C 1337.7 513.0, 1360.7 489.0, 1368.6 454.5 C 1371.1 443.7, 1371.1 417.5, 1368.7 407.8 C 1359.5 370.8, 1334.1 346.2, 1296.5 337.6 C 1288.0 335.7, 1284.1 335.6, 1237.1 335.5 C 1201.5 335.5, 1185.9 335.8, 1184.0 336.6 M 1515.2 336.0 C 1500.8 338.3, 1488.0 344.9, 1478.8 354.9 C 1453.5 382.3, 1460.1 430.2, 1491.5 446.6 C 1504.4 453.4, 1508.6 454.1, 1539 454.8 C 1562.5 455.4, 1566.9 455.7, 1569.7 457.2 C 1577.8 461.6, 1579.9 473.9, 1573.6 480.8 C 1569.0 485.9, 1568.5 486, 1516.5 486 C 1469.3 486, 1467.9 486.0, 1466 488 C 1462.5 491.4, 1463.4 495.7, 1470.5 509.8 C 1481.0 530.9, 1479.1 530.3, 1532.4 530.7 C 1578.5 531.1, 1582.1 530.7, 1595.2 524.2 C 1615.4 514.2, 1627.4 493.7, 1627.3 469.5 C 1627.3 447.7, 1619.1 431.2, 1603.2 420.6 C 1589.0 411.2, 1578.4 409.0, 1547.6 408.9 C 1528.9 408.9, 1526.0 408.7, 1522.2 407.0 C 1511.5 402.1, 1511.0 387.6, 1521.3 381.7 C 1522.9 380.8, 1534.1 380.3, 1561.5 380 L 1599.5 379.5 1604.5 376.8 C 1611.7 372.9, 1615.1 368.8, 1621.4 356.2 C 1631.4 336.1, 1631.2 336.0, 1600.1 335.9 C 1587.1 335.9, 1564.1 335.7, 1549 335.5 C 1533.5 335.2, 1518.7 335.5, 1515.2 336.0 M 855.7 337.0 C 848.1 338.9, 836 348.0, 836 351.8 C 836 352.7, 803.2 420.9, 772.7 483.4 C 755.9 518.0, 754.5 521.5, 756.9 524.4 C 759.1 527.1, 801.9 526.6, 807.6 523.9 C 812.6 521.5, 811.1 524.2, 831.7 478 C 856.7 421.8, 865.0 404, 865.9 404 C 867.3 404, 880.5 432.9, 913.1 507.2 C 921.6 526.6, 920.4 526, 950.2 526 C 969.4 526, 973.0 525.7, 974.4 524.4 C 977.6 521.2, 981.1 529.3, 929.5 421 C 912.6 385.5, 897.9 354.6, 896.8 352.2 C 894.3 347.0, 888.2 341.4, 882.1 338.7 C 876.8 336.4, 862.0 335.4, 855.7 337.0 M 1393.5 337.5 C 1392.1 338.9, 1392 348.9, 1392 432.0 L 1392 524.8 1394.2 526.4 C 1398.0 529.1, 1437.2 528.7, 1440 526 C 1443.0 522.9, 1443.1 340.3, 1440.1 337.6 C 1437.4 335.2, 1395.9 335.1, 1393.5 337.5 M 587.0 339.6 C 585.6 341.3, 585.1 343.0, 585.6 344.4 C 586.2 346.3, 619.9 420.6, 641.4 467.5 C 646.7 479.0, 653.6 494.0, 656.7 500.7 C 666.3 521.7, 672.2 525.9, 691.8 526.1 C 705.0 526.2, 713.3 523.2, 718.8 516.2 C 721.6 512.5, 746.1 460.5, 774.7 397.5 C 782.6 379.9, 791.4 360.7, 794.1 354.9 C 799.6 343.0, 799.8 341.8, 797 339 C 794.0 336.0, 754.8 335.9, 748.3 338.9 C 742.7 341.4, 743.1 340.6, 726.1 381 C 701.9 438.3, 693.2 458, 692.0 458 C 690.6 458, 679.9 433.5, 654.4 372.3 C 641.3 340.8, 641.7 341.5, 636.4 338.9 C 632.7 337.1, 630.2 337, 610.7 337 L 589.1 337 587.0 339.6 M 1037.6 381.7 C 1035.0 384.7, 1035.1 416.9, 1037.8 419.3 C 1040.7 421.9, 1088.7 421.7, 1094.5 419.1 C 1108.2 412.8, 1109.8 391.6, 1097.2 382.9 C 1093.6 380.5, 1093.5 380.4, 1066.5 380.2 C 1041.0 379.9, 1039.2 380.0, 1037.6 381.7 M 1233.1 383.3 C 1231.0 385.6, 1231 385.7, 1231 432.2 L 1231 478.8 1233.2 480.4 C 1235.0 481.7, 1238.8 482, 1254.5 482 C 1276.1 482, 1281.7 481.2, 1290.7 477.0 C 1318.5 464.0, 1324.5 418.4, 1301.7 394.3 C 1291.6 383.6, 1282.0 381, 1253.9 381 C 1235.7 381, 1235.2 381.0, 1233.1 383.3'/%3E%3Cpath fill='%2300D4B5' fill-rule='evenodd' d='M 432.7 296.0 C 424.5 298.0, 414.3 305.3, 410.1 312.3 C 402.2 325.3, 364.3 387.0, 362.8 389.1 C 360.1 392.9, 360.4 394.4, 365.3 402.4 C 367.7 406.3, 379.0 425.2, 390.5 444.5 C 401.9 463.7, 412.3 480.6, 413.7 482.1 C 422.9 492.1, 439.0 493.1, 450.4 484.4 C 453.9 481.8, 469.7 456.0, 514.5 380 C 523.7 364.3, 537.5 341.0, 545.1 328.2 C 560.0 303.0, 560.9 300.6, 556.3 297.0 C 553.7 295.0, 552.9 295.0, 495.1 295.1 C 462.8 295.1, 434.8 295.6, 432.7 296.0'/%3E%3C/svg%3E"); --vd-logo-light: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='140 290 1496 316'%3E%3Cpath fill='%23FFFFFF' fill-rule='evenodd' d='M 157.7 296.3 C 150.4 298.6, 145.0 306.4, 146.3 312.8 C 146.6 314.3, 161.5 340.9, 179.5 372 C 220.6 442.8, 231.1 461.0, 246.9 488.5 C 307.2 593.3, 305.2 590.1, 310 593.6 C 318.2 599.7, 320.9 600.1, 349.6 599.8 L 375.5 599.5 380.6 596.6 C 383.5 595.0, 386.9 592.5, 388.3 591.1 C 390.2 589.0, 431.4 520.4, 436.8 510.2 C 438.1 507.9, 438.0 507.9, 433.1 508.5 C 427.4 509.3, 419.9 507.9, 413.2 504.7 C 403.9 500.3, 399.6 494.7, 377.4 457.5 C 366.0 438.2, 349.4 410.8, 340.6 396.5 C 331.8 382.2, 316.2 356.7, 305.9 340 C 282.6 302.0, 282.8 302.2, 275.5 298.5 L 269.6 295.5 215.5 295.3 C 175.8 295.1, 160.5 295.4, 157.7 296.3 M 989.3 335.9 C 984.9 337.7, 985 337.1, 985 431.4 C 985 520.6, 985.0 522.0, 987 524 C 990.2 527.2, 1031.1 527.0, 1033.4 523.7 C 1034.7 521.9, 1035 517.5, 1035 496.3 C 1035 469.5, 1035.3 467.0, 1039.6 465.1 C 1047.9 461.3, 1049.1 462.4, 1086.1 506.4 C 1104.0 527.6, 1101.1 526.4, 1132.8 526.8 C 1155.6 527.0, 1158.3 526.9, 1160.1 525.4 C 1163.0 522.7, 1162.3 520.4, 1156.7 514.1 C 1138.2 493.7, 1113.4 465.6, 1113.1 464.8 C 1112.4 463.0, 1115.3 460.9, 1124.6 456.5 C 1146.4 446.2, 1158.2 426.6, 1158.3 400.5 C 1158.5 369.1, 1141.2 346.1, 1111.3 337.7 C 1103.7 335.6, 1101.6 335.5, 1047.5 335.3 C 1015.5 335.1, 990.5 335.4, 989.3 335.9 M 1184.0 336.6 C 1182.5 337.2, 1181.0 338.8, 1180.6 340.1 C 1180.3 341.4, 1180.0 383.0, 1180.0 432.5 L 1180 522.6 1182.3 524.8 L 1184.7 527.1 1239.1 526.7 L 1293.5 526.4 1302.5 523.6 C 1337.7 513.0, 1360.7 489.0, 1368.6 454.5 C 1371.1 443.7, 1371.1 417.5, 1368.7 407.8 C 1359.5 370.8, 1334.1 346.2, 1296.5 337.6 C 1288.0 335.7, 1284.1 335.6, 1237.1 335.5 C 1201.5 335.5, 1185.9 335.8, 1184.0 336.6 M 1515.2 336.0 C 1500.8 338.3, 1488.0 344.9, 1478.8 354.9 C 1453.5 382.3, 1460.1 430.2, 1491.5 446.6 C 1504.4 453.4, 1508.6 454.1, 1539 454.8 C 1562.5 455.4, 1566.9 455.7, 1569.7 457.2 C 1577.8 461.6, 1579.9 473.9, 1573.6 480.8 C 1569.0 485.9, 1568.5 486, 1516.5 486 C 1469.3 486, 1467.9 486.0, 1466 488 C 1462.5 491.4, 1463.4 495.7, 1470.5 509.8 C 1481.0 530.9, 1479.1 530.3, 1532.4 530.7 C 1578.5 531.1, 1582.1 530.7, 1595.2 524.2 C 1615.4 514.2, 1627.4 493.7, 1627.3 469.5 C 1627.3 447.7, 1619.1 431.2, 1603.2 420.6 C 1589.0 411.2, 1578.4 409.0, 1547.6 408.9 C 1528.9 408.9, 1526.0 408.7, 1522.2 407.0 C 1511.5 402.1, 1511.0 387.6, 1521.3 381.7 C 1522.9 380.8, 1534.1 380.3, 1561.5 380 L 1599.5 379.5 1604.5 376.8 C 1611.7 372.9, 1615.1 368.8, 1621.4 356.2 C 1631.4 336.1, 1631.2 336.0, 1600.1 335.9 C 1587.1 335.9, 1564.1 335.7, 1549 335.5 C 1533.5 335.2, 1518.7 335.5, 1515.2 336.0 M 855.7 337.0 C 848.1 338.9, 836 348.0, 836 351.8 C 836 352.7, 803.2 420.9, 772.7 483.4 C 755.9 518.0, 754.5 521.5, 756.9 524.4 C 759.1 527.1, 801.9 526.6, 807.6 523.9 C 812.6 521.5, 811.1 524.2, 831.7 478 C 856.7 421.8, 865.0 404, 865.9 404 C 867.3 404, 880.5 432.9, 913.1 507.2 C 921.6 526.6, 920.4 526, 950.2 526 C 969.4 526, 973.0 525.7, 974.4 524.4 C 977.6 521.2, 981.1 529.3, 929.5 421 C 912.6 385.5, 897.9 354.6, 896.8 352.2 C 894.3 347.0, 888.2 341.4, 882.1 338.7 C 876.8 336.4, 862.0 335.4, 855.7 337.0 M 1393.5 337.5 C 1392.1 338.9, 1392 348.9, 1392 432.0 L 1392 524.8 1394.2 526.4 C 1398.0 529.1, 1437.2 528.7, 1440 526 C 1443.0 522.9, 1443.1 340.3, 1440.1 337.6 C 1437.4 335.2, 1395.9 335.1, 1393.5 337.5 M 587.0 339.6 C 585.6 341.3, 585.1 343.0, 585.6 344.4 C 586.2 346.3, 619.9 420.6, 641.4 467.5 C 646.7 479.0, 653.6 494.0, 656.7 500.7 C 666.3 521.7, 672.2 525.9, 691.8 526.1 C 705.0 526.2, 713.3 523.2, 718.8 516.2 C 721.6 512.5, 746.1 460.5, 774.7 397.5 C 782.6 379.9, 791.4 360.7, 794.1 354.9 C 799.6 343.0, 799.8 341.8, 797 339 C 794.0 336.0, 754.8 335.9, 748.3 338.9 C 742.7 341.4, 743.1 340.6, 726.1 381 C 701.9 438.3, 693.2 458, 692.0 458 C 690.6 458, 679.9 433.5, 654.4 372.3 C 641.3 340.8, 641.7 341.5, 636.4 338.9 C 632.7 337.1, 630.2 337, 610.7 337 L 589.1 337 587.0 339.6 M 1037.6 381.7 C 1035.0 384.7, 1035.1 416.9, 1037.8 419.3 C 1040.7 421.9, 1088.7 421.7, 1094.5 419.1 C 1108.2 412.8, 1109.8 391.6, 1097.2 382.9 C 1093.6 380.5, 1093.5 380.4, 1066.5 380.2 C 1041.0 379.9, 1039.2 380.0, 1037.6 381.7 M 1233.1 383.3 C 1231.0 385.6, 1231 385.7, 1231 432.2 L 1231 478.8 1233.2 480.4 C 1235.0 481.7, 1238.8 482, 1254.5 482 C 1276.1 482, 1281.7 481.2, 1290.7 477.0 C 1318.5 464.0, 1324.5 418.4, 1301.7 394.3 C 1291.6 383.6, 1282.0 381, 1253.9 381 C 1235.7 381, 1235.2 381.0, 1233.1 383.3'/%3E%3Cpath fill='%2300D4B5' fill-rule='evenodd' d='M 432.7 296.0 C 424.5 298.0, 414.3 305.3, 410.1 312.3 C 402.2 325.3, 364.3 387.0, 362.8 389.1 C 360.1 392.9, 360.4 394.4, 365.3 402.4 C 367.7 406.3, 379.0 425.2, 390.5 444.5 C 401.9 463.7, 412.3 480.6, 413.7 482.1 C 422.9 492.1, 439.0 493.1, 450.4 484.4 C 453.9 481.8, 469.7 456.0, 514.5 380 C 523.7 364.3, 537.5 341.0, 545.1 328.2 C 560.0 303.0, 560.9 300.6, 556.3 297.0 C 553.7 295.0, 552.9 295.0, 495.1 295.1 C 462.8 295.1, 434.8 295.6, 432.7 296.0'/%3E%3C/svg%3E"); }
.vd-brand__title a, .vd-footer__title a {
	position: relative; display: block; width: 152px; height: 32px; font-size: 0; color: transparent; letter-spacing: 0;
}
.vd-brand__title a::before, .vd-brand__title a::after, .vd-footer__title a::before {
	content: ""; position: absolute; inset: 0; background: center / contain no-repeat; transition: opacity .3s;
}
.vd-brand__title a::before { background-image: var(--vd-logo-dark); }
.vd-brand__title a::after { background-image: var(--vd-logo-light); opacity: 0; }
.vd-has-dark-top .vd-site-header:not(.is-scrolled) .vd-brand__title a::before { opacity: 0; }
.vd-has-dark-top .vd-site-header:not(.is-scrolled) .vd-brand__title a::after { opacity: 1; }
.vd-brand__title a { transition: width .35s var(--vd-ease), height .35s var(--vd-ease); }
.vd-site-header.is-scrolled .vd-brand__title a { height: 28px; width: 133px; }
.vd-footer__title a { width: 190px; height: 40px; }
.vd-footer__title a::before { background-image: var(--vd-logo-light); }
.vd-nav .is-menu-open::before { content: ""; width: 133px; height: 28px; background: var(--vd-logo-light) center / contain no-repeat; }
@media (max-width: 400px) { .vd-brand__title a { width: 133px; height: 28px; } }

/* ---------------------------------------------------------------- Aparición al hacer scroll */
.vd-js [data-reveal] { transition: opacity .8s var(--vd-ease-out), translate .8s var(--vd-ease-out); transition-delay: var(--rd, 0s); }
.vd-js [data-reveal]:not(.is-in) { opacity: 0; translate: 0 28px; }
.vd-js:not(.vd-ready) [data-reveal]:not(.is-in) { animation: vd-failsafe 0s 3s forwards; }

/* Animaciones fuera de pantalla en pausa */
.is-paused, .is-paused * { animation-play-state: paused !important; }

/* ---------------------------------------------------------------- Keyframes */
@keyframes vd-rise { from { opacity: 0; translate: 0 18px; } to { opacity: 1; translate: 0 0; } }
@keyframes vd-pop { from { opacity: 0; scale: .92; translate: 0 16px; } to { opacity: 1; scale: 1; translate: 0 0; } }
@keyframes vd-panel { from { opacity: 0; scale: .97; } to { opacity: 1; scale: 1; } }
@keyframes vd-float { 0%, 100% { translate: 0 0; } 50% { translate: 0 -9px; } }
@keyframes vd-underline { to { background-size: 100% .07em; } }
@keyframes vd-caret { 50% { opacity: 0; } }
@keyframes vd-sent { 0%, 8% { opacity: 0; } 12%, 40% { opacity: 1; } 46%, 100% { opacity: 0; } }
@keyframes vd-badge { 0%, 10% { transform: scale(0); } 14% { transform: scale(1.3); } 18%, 60% { transform: scale(1); } 66%, 100% { transform: scale(0); } }
@keyframes vd-newrow { 0%, 6% { opacity: 0; transform: translateX(-10px); background: transparent; } 12% { opacity: 1; transform: none; background: #EAFBF8; } 40%, 100% { opacity: 1; transform: none; background: transparent; } }
@keyframes vd-ping { 0% { box-shadow: 0 0 0 0 rgba(47, 212, 192, .55); } 70%, 100% { box-shadow: 0 0 0 10px rgba(47, 212, 192, 0); } }
@keyframes vd-step { 0%, 4% { border-color: rgba(255, 255, 255, .1); background: rgba(255, 255, 255, .06); } 10%, 22% { border-color: var(--vd-turq); background: rgba(47, 212, 192, .14); } 32%, 100% { border-color: rgba(255, 255, 255, .1); background: rgba(255, 255, 255, .06); } }
@keyframes vd-node { 0%, 4% { border-color: var(--vd-line-dark); box-shadow: none; } 9%, 26% { border-color: var(--vd-turq); box-shadow: 0 0 0 4px rgba(47, 212, 192, .12), 0 20px 40px -20px rgba(0, 0, 0, .6); } 36%, 100% { border-color: var(--vd-line-dark); box-shadow: none; } }
@keyframes vd-node-light { 0%, 4% { border-color: var(--vd-line); box-shadow: none; } 9%, 26% { border-color: var(--vd-teal); box-shadow: 0 0 0 4px rgba(47, 212, 192, .18), var(--vd-shadow); } 36%, 100% { border-color: var(--vd-line); box-shadow: none; } }
@keyframes vd-travel { 0% { top: 0; opacity: 0; } 4% { opacity: 1; } 14% { top: calc(100% - 10px); opacity: 1; } 18%, 100% { top: calc(100% - 10px); opacity: 0; } }
@keyframes vd-menu-in { from { opacity: 0; clip-path: inset(0 0 100% 0); } to { opacity: 1; clip-path: inset(0 0 0 0); } }
@keyframes vd-spin { to { transform: rotate(360deg); } }
@keyframes vd-draw { to { stroke-dashoffset: 0; } }
@keyframes vd-failsafe { to { opacity: 1; translate: 0 0; } }

/* ---------------------------------------------------------------- Movimiento reducido */
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after {
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
		animation-delay: 0s !important;
		transition-duration: .01ms !important;
		transition-delay: 0s !important;
		scroll-behavior: auto !important;
	}
	.vd-js [data-reveal]:not(.is-in) { opacity: 1; translate: none; }
	.vd-hero__title em { background-size: 100% .07em; }
	.vd-ui__ok, .vd-cart__n { animation: none !important; }
	.vd-cart__n { transform: scale(1); }
	.vd-flow__link i { display: none; }
	.vd-steps-grid::after { transform: scaleX(1); }
}

/* ---------------------------------------------------------------- Editor */
.editor-styles-wrapper .vd-js [data-reveal] { opacity: 1 !important; translate: none !important; }
.editor-styles-wrapper .vd-site-header { position: relative; }
