﻿	/* CrÃ­tico: hero e iconos ocultos hasta fade / assets listos */
	.hero-header-main .mi-bg-object {
		background-color: #000;
	}
	.hero-bg-video {
		opacity: 0 !important;
		transition: opacity 1.2s ease;
		will-change: opacity;
	}
	.hero-bg-video.hero-video-visible {
		opacity: 0.5 !important;
	}
	/* Reserva hueco del scrollbar para que no “salte” el ancho al abrir overlays */
	html {
		scrollbar-gutter: stable;
	}

	/* Bootstrap pone scroll-behavior:smooth en :root; al abrir un modal el navegador anima el scroll hasta arriba. */
	html.vita-modal-scroll-hold,
	html.vita-modal-scroll-hold body,
	html.vita-mobile-menu-scroll-hold,
	html:has(body.modal-open),
	html:has(body.mobile-menu-open) {
		scroll-behavior: auto !important;
	}

	/* Portal: menú fuera del flujo de layoutDefault (overlay real) */
	.vita-mobile-menu-portal {
		position: fixed;
		inset: 0;
		z-index: 1095;
		pointer-events: none;
	}

	.vita-mobile-menu-backdrop {
		position: fixed;
		inset: 0;
		z-index: 1090;
		border: 0;
		margin: 0;
		padding: 0;
		background: rgba(0, 0, 0, 0.58);
		opacity: 0;
		pointer-events: none;
		touch-action: none;
		transition: opacity 0.28s ease;
		-webkit-tap-highlight-color: transparent;
	}

	.vita-mobile-menu-backdrop.is-visible {
		opacity: 1;
		pointer-events: auto;
	}

	.vita-mobile-menu-portal .offcanvas,
	.vita-mobile-menu-portal .offcanvas.show,
	.vita-mobile-menu-portal .offcanvas.showing {
		position: fixed;
		z-index: 1100 !important;
		pointer-events: auto;
	}

	/*
	 * Menú mobile: mantener scrollbar visible (sin overflow:hidden de Bootstrap)
	 * y bloquear scroll del fondo vía JS (vita-mobile-menu.js).
	 */
	html:has(body.mobile-menu-open) {
		overflow-y: scroll !important;
		overscroll-behavior: none;
	}

	body.mobile-menu-open,
	body.mobile-menu-open.overflow-hidden {
		overflow: visible !important;
		padding-right: 0 !important;
		margin-right: 0 !important;
	}

	body.mobile-menu-open .fixed-top,
	body.mobile-menu-open .fixed-bottom,
	body.mobile-menu-open .sticky-top {
		padding-right: 0 !important;
		margin-right: 0 !important;
	}

	body.modal-open {
		overflow: visible !important;
		padding-right: 0 !important;
	}

	body.modal-open .fixed-top,
	body.modal-open .fixed-bottom,
	body.modal-open .sticky-top {
		padding-right: 0 !important;
		margin-right: 0 !important;
	}

	:root {
		--vita-font-body: "Roboto", Arial, Helvetica, sans-serif;
		--vita-font-condensed: "Roboto Condensed", Arial, Helvetica, sans-serif;
		--vita-font-sans: var(--vita-font-condensed);
		--vita-font-scale: 1.1;
		--vita-form-textarea-max-height-inicio: 238px;
		--vita-form-textarea-max-height-contacto: 181px;
		--bs-font-sans-serif: var(--vita-font-condensed);
		--bs-body-font-family: var(--vita-font-body);
		--bs-btn-font-family: var(--vita-font-condensed);
		--bs-font-monospace: var(--vita-font-condensed);

		/* Paleta Vita Studio */
		--vita-color-yellow: #e8c31e;
		--vita-color-beige: #c18729;
		--vita-color-brown: #563c07;
		--vita-color-black: #0c0c0c;
		--vita-color-plomo: #202020;

		--vita-chrome-surface: var(--vita-color-plomo);
		--vita-servicio-surface: var(--vita-color-black);

		--vita-gold-text: var(--vita-color-yellow);
		--vita-gold-text-rgb: 232, 195, 30;
		--vita-gold-text-on-dark: #f0d04a;
		--vita-gold-text-on-dark-rgb: 240, 208, 74;

		--bs-primary: var(--vita-color-yellow);
		--bs-primary-rgb: 232, 195, 30;
		--bs-primary-soft: #f3e8b8;
		--bs-primary-soft-rgb: 243, 232, 184;
		--bs-primary-strong: var(--vita-color-brown);
		--bs-primary-strong-rgb: 86, 60, 7;

		--bs-secondary: var(--vita-color-beige);
		--bs-secondary-rgb: 193, 135, 41;
		--bs-secondary-strong: #8a5f1e;
		--bs-secondary-strong-rgb: 138, 95, 30;

		--bs-dark: var(--vita-color-plomo);
		--bs-dark-rgb: 32, 32, 32;
		--bs-gray-900: var(--vita-color-plomo);

		--bs-warning: var(--vita-color-yellow);
		--bs-warning-rgb: 232, 195, 30;

		--bs-link-color: var(--vita-color-beige);
		--bs-link-hover-color: var(--vita-color-brown);

		--vita-gold-luxury-gradient: linear-gradient(135deg, #f5d84a 0%, #e8c31e 40%, #c18729 75%, #e8c31e 100%);
		--vita-gold-luxury-gradient-hover: linear-gradient(135deg, #fff0a0 0%, #e8c31e 40%, #c18729 75%, #f0d04a 100%);
		--vita-gold-luxury-btn-text-shadow:
			0 1px 0 rgba(38, 26, 0, 0.78),
			0 2px 0 rgba(38, 26, 0, 0.42),
			1px 0 0 rgba(38, 26, 0, 0.32),
			0 0 1px rgba(0, 0, 0, 0.95);
		--vita-gold-luxury-text-gradient: linear-gradient(
			112deg,
			#c18729 0%,
			#e8c31e 32%,
			#efcf45 47%,
			#f0d55a 50%,
			#efcf45 53%,
			#e8c31e 68%,
			#c18729 100%
		);
		--vita-title-gold-on-light: #8a6500;
		--vita-title-gold-on-dark: #f2d450;
	}

	@property --vita-gold-shine-strength {
		syntax: '<number>';
		inherits: false;
		initial-value: 0;
	}

	@property --vita-gold-shine-x {
		syntax: '<percentage>';
		inherits: false;
		initial-value: 50%;
	}

	@property --vita-gold-shine-y {
		syntax: '<percentage>';
		inherits: false;
		initial-value: 50%;
	}

	.text-bg-primary-soft {
		color: var(--vita-color-yellow) !important;
	}

	.bg-gradient-primary-to-secondary {
		background-color: var(--bs-primary) !important;
		background-image: linear-gradient(
			135deg,
			var(--vita-color-yellow) 0%,
			rgba(var(--bs-secondary-rgb), 0.85) 100%
		) !important;
	}

	.navbar-marketing.navbar-dark.navbar-scrolled,
	#mainNavbar.navbar-marketing.navbar-dark.navbar-scrolled {
		background-color: var(--vita-chrome-surface) !important;
	}

	@media (max-width: 991.98px) {
		.navbar-marketing.bg-transparent.navbar-dark,
		#mainNavbar.navbar-marketing.bg-transparent.navbar-dark {
			background-color: var(--vita-chrome-surface) !important;
		}
	}

	#layoutDefault_footer .footer.footer-dark,
	#layoutDefault_footer .footer.footer-dark.bg-dark {
		background-color: var(--vita-chrome-surface) !important;
	}

	.text-bg-primary {
		color: var(--vita-color-black) !important;
		background-color: var(--vita-color-yellow) !important;
		background-image: none !important;
	}

	.servicio-section .badge.text-bg-primary,
	body.servicio-detail-page .badge.text-bg-primary {
		background-color: var(--vita-color-yellow) !important;
		background-image: none !important;
		color: var(--vita-color-black) !important;
	}

	.servicio-section .badge[class*="bg-gradient"],
	body.servicio-detail-page .badge[class*="bg-gradient"] {
		background-image: none !important;
	}

	.servicio-section .badge strong,
	.servicio-section .badge small,
	.vita-servicio-quicknav__price,
	.vita-servicio-quicknav__price strong {
		font-family: var(--vita-font-condensed) !important;
		font-variant-numeric: tabular-nums;
	}

	html .font-monospace {
		font-family: var(--vita-font-condensed) !important;
	}

	.contacto-gracias-modal__content {
		border-radius: 1rem;
		overflow: hidden;
	}

	.contacto-gracias-modal__icon img {
		max-width: 120px;
		margin-inline: auto;
	}

	.contacto-gracias-modal .btn-gold-luxury {
		animation: none;
	}

	/* Rótulos de sección solo en fondos oscuros (en claro se mantiene --bs-primary + opacity) */
	.text-light h6.text-primary.opacity-75,
	[style*="background-color: #444"] h6.text-primary,
	[style*="background-color:#444"] h6.text-primary {
		color: var(--vita-gold-text-on-dark) !important;
		opacity: 1 !important;
	}

	/* Teléfono del header: oro de marca (no el tono claro del menú móvil) */
	#mainNavbar .navbar-phone-btn.text-primary,
	#mainNavbar .navbar-phone-btn.text-primary .navbar-phone-btn-icon {
		color: var(--bs-primary) !important;
	}

	.navbar-phone-btn-icon-cycle {
		position: relative;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 1.05em;
		height: 1em;
		flex-shrink: 0;
	}

	.navbar-phone-btn-icon-cycle .navbar-phone-btn-icon {
		position: absolute;
		inset: 0;
		display: flex;
		align-items: center;
		justify-content: center;
		opacity: 0;
		animation: navbar-phone-btn-icon-cycle 6s ease-in-out infinite;
	}

	.navbar-phone-btn-icon-cycle .navbar-phone-btn-icon:nth-child(1) {
		animation-delay: 0s;
	}

	.navbar-phone-btn-icon-cycle .navbar-phone-btn-icon:nth-child(2) {
		animation-delay: 2s;
	}

	.navbar-phone-btn-icon-cycle .navbar-phone-btn-icon:nth-child(3) {
		animation-delay: 4s;
	}

	@keyframes navbar-phone-btn-icon-cycle {
		0%,
		4% {
			opacity: 0;
			transform: scale(0.88);
		}
		8%,
		28% {
			opacity: 1;
			transform: scale(1);
		}
		33%,
		100% {
			opacity: 0;
			transform: scale(0.88);
		}
	}

	@media (prefers-reduced-motion: reduce) {
		.navbar-phone-btn-icon-cycle .navbar-phone-btn-icon {
			animation: none;
			opacity: 0;
		}

		.navbar-phone-btn-icon-cycle .navbar-phone-btn-icon:first-child {
			opacity: 1;
		}
	}

	html body {
		font-family: var(--vita-font-body) !important;
	}

	html .btn,
	html .navbar-marketing,
	html .navbar-marketing .nav-link,
	html .font-title,
	html h1,
	html h2,
	html h3,
	html h4,
	html h5,
	html h6,
	html .badge,
	html .dropdown-menu,
	html .offcanvas,
	html .text-uppercase-expanded {
		font-family: var(--vita-font-condensed) !important;
	}

	html .font-title {
		font-style: normal;
	}

	.fancybox__slide{
		padding-top: 3rem;
	}
	/* Ocultar badge flotante de reCAPTCHA v3 (requiere aviso legal en cada formulario) */
	.grecaptcha-badge {
		visibility: hidden !important;
		opacity: 0 !important;
		pointer-events: none !important;
	}
	.recaptcha-disclaimer {
		margin-top: .5rem;
		font-size: .8rem;
		line-height: 1.45;
		color: #6c757d;
	}
	.recaptcha-disclaimer a {
		color: inherit;
		text-decoration: underline;
	}
	.recaptcha-disclaimer-check .form-check-label {
		font-size: .8rem;
		line-height: 1.45;
		color: #6c757d;
	}
	.recaptcha-disclaimer-check .form-check-input {
		margin-top: 0.2em;
	}
	@media (min-width: 1200px) {
		.navbar-marketing .offcanvas {
			background-color: transparent !important;
		}
		.navbar-marketing .offcanvas .offcanvas-body {
			background-color: transparent !important;
		}
	}
	/* AnimaciÃ³n deslizante para el logo del header y desplazamiento del telÃ©fono */
	.navbar-brand-wrapper {
		max-width: 280px;
		opacity: 1;
		visibility: visible;
		transform: translateX(0);
		transition: max-width 0.5s cubic-bezier(0.25, 1, 0.5, 1), transform 0.5s cubic-bezier(0.25, 1, 0.5, 1), opacity 0.4s ease, visibility 0.4s ease;
		will-change: max-width, transform, opacity;
	}
	.navbar-marketing.bg-transparent:not(.navbar-scrolled) .navbar-brand-wrapper {
		max-width: 0px;
		opacity: 0;
		visibility: hidden;
		transform: translateX(-100%);
		pointer-events: none;
	}
	.navbar-phone-wrapper {
		transition: transform 0.5s cubic-bezier(0.25, 1, 0.5, 1);
		will-change: transform;
	}
	/* Fondos de menÃº y telÃ©fono: Efecto Glossy Glassmorphism de alta legibilidad */
	.navbar-nav-capsule,
	.navbar-phone-btn {
		background: linear-gradient(135deg, rgba(25, 25, 25, 0.65) 0%, rgba(10, 10, 10, 0.75) 100%) !important;
		border: none !important;
		-webkit-backdrop-filter: blur(12px) saturate(180%);
		backdrop-filter: blur(12px) saturate(180%);
		box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.45);
		transition: background 0.35s ease, border-radius 0.32s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.35s ease, backdrop-filter 0.35s ease;
	}
	.navbar-nav-capsule .nav-link {
		text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8);
	}
	.navbar-scrolled .navbar-nav-capsule,
	.navbar-scrolled .navbar-phone-btn {
		background: transparent !important;
		border: none !important;
		-webkit-backdrop-filter: none !important;
		backdrop-filter: none !important;
		box-shadow: none !important;
	}

	/* Dropdown telÃ©fono: oculto salvo al abrir */
	.navbar-phone-wrapper .dropdown-menu:not(.show) {
		display: none !important;
	}

	/* ==========================================================================
	   DESKTOP: Panel Servicios â€” integrado a la cÃ¡psula / header
	   ========================================================================== */
	@media (min-width: 1200px) {
		.navbar-nav-capsule-desktop {
			position: relative;
			overflow: visible;
		}

		.servicios-dropdown-trigger {
			display: inline-flex !important;
			align-items: center;
			justify-content: center;
			gap: 0.35rem;
			width: auto;
			background: none;
			border: none;
			cursor: pointer;
			text-align: inherit;
			white-space: nowrap;
			padding-right: var(--bs-navbar-nav-link-padding-x);
			padding-left: var(--bs-navbar-nav-link-padding-x);
		}

		.servicios-dropdown-arrow {
			flex-shrink: 0;
			font-size: 0.65em;
			opacity: 0.75;
			transition: transform 0.28s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.2s ease;
			margin: 0 !important;
		}

		.servicios-dropdown-trigger.show .servicios-dropdown-arrow,
		.servicios-dropdown-trigger[aria-expanded="true"] .servicios-dropdown-arrow {
			transform: rotate(180deg);
			opacity: 1;
		}

		.servicios-dropdown-panel {
			--servicios-panel-bg: linear-gradient(160deg, rgba(28, 28, 28, 0.96) 0%, rgba(8, 8, 8, 0.98) 100%);
			--servicios-thumb-fade: rgba(20, 20, 20, 0.97);
			--servicios-panel-width: 17.5rem;
			position: fixed;
			top: -9999px;
			left: -9999px;
			width: var(--servicios-panel-width);
			max-width: calc(100vw - 1.5rem);
			height: auto;
			padding: 0.25rem;
			margin: 0;
			border: none;
			border-radius: 0 0 1rem 1rem;
			background: var(--servicios-panel-bg);
			-webkit-backdrop-filter: blur(14px) saturate(180%);
			backdrop-filter: blur(14px) saturate(180%);
			box-shadow: 0 16px 34px rgba(0, 0, 0, 0.42);
			overflow: hidden;
			z-index: 1040;
			opacity: 1;
			visibility: hidden;
			pointer-events: none;
			transform: none;
			clip-path: inset(0 0 100% 0);
			transition:
				clip-path 0.3s cubic-bezier(0.4, 0, 0.2, 1),
				visibility 0s step-end 0.3s,
				border-radius 0.32s ease,
				box-shadow 0.32s ease,
				background 0.32s ease;
		}

		.servicios-dropdown-panel.is-open {
			visibility: visible;
			pointer-events: auto;
			clip-path: inset(0 0 0 0);
			transition:
				clip-path 0.36s cubic-bezier(0.16, 1, 0.3, 1),
				visibility 0s,
				border-radius 0.32s ease,
				box-shadow 0.32s ease,
				background 0.32s ease;
		}

		.servicios-dropdown-panel.is-open.is-tracking {
			transition:
				clip-path 0.36s cubic-bezier(0.16, 1, 0.3, 1),
				visibility 0s,
				top 0.38s cubic-bezier(0.16, 1, 0.3, 1),
				left 0.38s cubic-bezier(0.16, 1, 0.3, 1),
				border-radius 0.32s ease,
				box-shadow 0.32s ease,
				background 0.32s ease;
		}

		.servicios-dropdown-panel[hidden] {
			display: none !important;
		}

		.servicios-dropdown-panel.servicios-dropdown-panel--header {
			border-radius: 0 0 0.85rem 0.85rem;
			background: rgba(18, 18, 18, 0.98);
			box-shadow: 0 10px 28px rgba(0, 0, 0, 0.55);
		}

		.servicios-dropdown-panel.servicios-dropdown-panel--capsule {
			border-radius: 0 0 0.85rem 0.85rem;
			background: linear-gradient(160deg, rgba(28, 28, 28, 0.96) 0%, rgba(8, 8, 8, 0.98) 100%) !important;
			box-shadow: 0 16px 34px rgba(0, 0, 0, 0.42);
		}

		#mainNavbar.servicios-dropdown-open:not(.navbar-scrolled) .navbar-nav-capsule {
			border-bottom-left-radius: 0;
			border-bottom-right-radius: 0;
		}

		.servicios-dropdown-panel.is-portaled {
			z-index: 1065;
		}

		@keyframes serviciosDropdownItemIn {
			from {
				opacity: 0;
			}
			to {
				opacity: 1;
			}
		}

		.servicios-dropdown-panel.is-open .servicios-dropdown-item {
			animation: serviciosDropdownItemIn 0.34s cubic-bezier(0.16, 1, 0.3, 1) backwards;
		}

		.servicios-dropdown-panel.is-open .servicios-dropdown-item:nth-child(2) {
			animation-delay: 0.07s;
		}

		@media (prefers-reduced-motion: reduce) {
			.servicios-dropdown-panel,
			.servicios-dropdown-panel.is-open,
			.servicios-dropdown-arrow,
			.navbar-nav-capsule,
			.servicios-dropdown-item {
				transition: none !important;
				animation: none !important;
			}
		}

		.servicios-dropdown-item {
			display: flex;
			align-items: center;
			gap: 0;
			padding: 0;
			border-radius: 0.55rem;
			overflow: hidden;
			color: rgba(255, 255, 255, 0.92);
			text-decoration: none;
			transition: background-color 0.22s ease, color 0.22s ease, transform 0.22s ease;
		}

		.servicios-dropdown-item + .servicios-dropdown-item {
			margin-top: 0.1rem;
		}

		.servicios-dropdown-item:hover,
		.servicios-dropdown-item:focus,
		.servicios-dropdown-item.active {
			background: rgba(255, 255, 255, 0.06);
			color: var(--vita-gold-text-on-dark);
		}

		.servicios-dropdown-item-media {
			position: relative;
			flex: 0 0 4.5rem;
			width: 4.5rem;
			height: 3.25rem;
			overflow: hidden;
		}

		.servicios-dropdown-item-media picture,
		.servicios-dropdown-item-media img {
			display: block;
			width: 100%;
			height: 100%;
			object-fit: cover;
		}

		.servicios-dropdown-item-media::after {
			content: "";
			position: absolute;
			inset: 0;
			background: linear-gradient(
				90deg,
				rgba(0, 0, 0, 0.05) 0%,
				rgba(0, 0, 0, 0.3) 45%,
				var(--servicios-thumb-fade) 90%
			);
			pointer-events: none;
		}

		.servicios-dropdown-item-label {
			flex: 1 1 auto;
			min-width: 0;
			padding: 0.75rem 1rem 0.75rem 0.75rem;
			font-size: calc(0.95rem * var(--vita-font-scale));
			line-height: 1.2;
			white-space: nowrap;
			overflow: hidden;
			text-overflow: ellipsis;
		}
	}

	@media (max-width: 1199.98px) {
		.servicios-dropdown-panel {
			display: none !important;
		}
	}


	/* Logo responsive */
	.navbar-logo-img {
		max-height: 44px;
		width: auto;
		transition: max-height 0.3s ease;
	}

	/* ==========================================================================
	   MOBILE: sin scroll horizontal + menÃº por encima del contenido
	   ========================================================================== */
	html {
		font-size: calc(100% * var(--vita-font-scale));
		overflow-x: hidden;
		overflow-x: clip;
		max-width: 100%;
	}

	body {
		overflow-x: hidden;
		overflow-x: clip;
		max-width: 100%;
	}

	/* Header y footer: tamaÃ±os propios en rem/!important â€” escala explÃ­cita */
	#layoutDefault_footer .footer {
		font-size: calc(0.875rem * var(--vita-font-scale));
	}
	#layoutDefault_footer .footer .footer-brand {
		font-size: calc(1.2rem * var(--vita-font-scale));
	}
	#layoutDefault_footer .text-xs {
		font-size: calc(0.75rem * var(--vita-font-scale)) !important;
	}
	#layoutDefault_footer .fs-4 {
		font-size: calc(1.5rem * var(--vita-font-scale)) !important;
	}
	#layoutDefault_footer .small,
	#layoutDefault_footer small {
		font-size: calc(0.875em * var(--vita-font-scale));
	}
	#layoutDefault_footer a,
	#layoutDefault_footer .list-unstyled li {
		font-size: inherit;
	}

	.vita-footer .vita-footer__inner {
		max-width: min(1720px, calc(100% - clamp(1.25rem, 3vw, 2.5rem)));
		padding-inline: clamp(1rem, 2.25vw, 2rem);
	}

	@media (min-width: 992px) {
		.vita-footer .vita-footer__inner {
			--bs-gutter-x: clamp(1.5rem, 2.5vw, 2.25rem);
		}

		.vita-footer__main {
			--bs-gutter-x: clamp(1.75rem, 3vw, 2.75rem);
		}
	}

	.vita-footer__main {
		align-items: flex-start;
	}

	.vita-footer__brand-col {
		display: flex;
		flex-direction: column;
		gap: 1.25rem;
	}

	.vita-footer__brand-lockup {
		display: inline-flex;
		flex-direction: column;
		align-items: center;
		max-width: 100%;
	}

	.vita-footer__brand-link {
		line-height: 0;
		width: 100%;
	}

	.vita-footer__wordmark {
		display: block;
		width: 100%;
		max-width: min(100%, 20.5rem);
		height: auto;
		margin-inline: auto;
	}

	.vita-footer__brand-desc {
		margin-top: 0.85rem;
		max-width: min(100%, 22rem);
		font-size: calc(0.88rem * var(--vita-font-scale, 1.1));
		line-height: 1.5;
		min-height: calc(3 * 1.5 * 1em);
		color: rgba(255, 255, 255, 0.72);
		text-wrap: normal;
	}

	@media (min-width: 992px) {
		.vita-footer__wordmark {
			max-width: min(100%, 22.5rem);
		}

		.vita-footer__brand-desc {
			max-width: min(100%, 30rem);
		}
	}

	.vita-footer__tagline-band {
		display: block;
		width: max-content;
		max-width: 100%;
		margin-top: 0.3rem;
		align-self: center;
		padding: 0.22em 0.65em 0.24em;
		background-color: #fff;
		color: #3a3a3a;
		font-size: clamp(0.5rem, 0.72vw, 0.68rem);
		font-weight: 600;
		line-height: 1;
		letter-spacing: 0.045em;
		white-space: nowrap;
		box-shadow: 0 0.2rem 0.75rem rgba(0, 0, 0, 0.13);
	}

	@media (max-width: 991.98px) {
		.vita-footer__tagline-band {
			font-size: clamp(0.46rem, 2.15vw, 0.62rem);
			padding: 0.2em 0.45em 0.22em;
			letter-spacing: 0.035em;
		}
	}

	.vita-footer__social {
		margin-bottom: 0 !important;
	}

	.vita-footer__social-bar {
		display: flex;
		align-items: center;
		gap: clamp(0.75rem, 2vw, 1.35rem);
		width: 100%;
	}

	.vita-footer__divider-segment {
		flex: 1 1 0;
		min-width: 0;
		height: 0;
		border: 0;
		border-top: 1px solid rgba(255, 255, 255, 0.12);
	}

	.vita-footer__social--on-divider {
		flex: 0 0 auto;
		margin: 0 !important;
		padding: 0;
		background: none;
	}

	.vita-footer__cta-row {
		--vita-footer-cta-height: 2.625rem;
		display: inline-flex;
		flex-wrap: wrap;
		align-items: stretch;
		justify-content: center;
		gap: 0.55rem;
	}

	.vita-footer__cta {
		margin-top: 0.15rem;
	}

	.vita-footer__cta-postula {
		display: inline-flex;
		align-items: stretch;
		gap: 0.55rem;
	}

	.vita-footer__role-action {
		display: inline-grid;
		place-items: center;
		width: var(--vita-footer-cta-height);
		height: var(--vita-footer-cta-height);
		flex-shrink: 0;
		padding: 0;
		font-size: 1.28rem;
		line-height: 1;
		color: var(--bs-primary);
		background: transparent;
		border: 1.5px solid var(--bs-primary);
		border-radius: 999px;
		box-shadow: none;
		text-decoration: none;
		transition:
			background-color 0.2s ease,
			border-color 0.2s ease,
			color 0.2s ease,
			box-shadow 0.2s ease,
			outline-color 0.2s ease;
	}

	.vita-footer__role-action > [class*="fa-"] {
		display: block;
		width: 1em;
		height: 1em;
		line-height: 1;
		text-align: center;
		color: inherit;
		filter: none;
		transition: color 0.2s ease;
	}

	.vita-footer__role-action--mail > [class*="fa-"] {
		font-size: 1.12em;
		transform: translateY(0.06em);
	}

	.vita-footer__role-action--wa > [class*="fa-"] {
		font-size: 1.22em;
		transform: translateY(0.04em);
	}

	.vita-footer__cta .btn-gold-luxury {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		height: var(--vita-footer-cta-height);
		min-height: var(--vita-footer-cta-height);
		max-height: var(--vita-footer-cta-height);
		--bs-btn-padding-y: 0;
		padding-block: 0;
		line-height: 1;
		box-shadow: 0 2px 10px rgba(var(--bs-primary-rgb), 0.32);
		animation: none;
		color: var(--vita-color-black, #0c0c0c) !important;
		text-shadow: none;
	}

	.vita-footer__cta .btn-gold-luxury:hover,
	.vita-footer__cta .btn-gold-luxury:focus,
	.vita-footer__cta .btn-gold-luxury:focus-visible,
	.vita-footer__cta .btn-gold-luxury:active {
		transform: none;
		box-shadow: 0 3px 12px rgba(var(--bs-primary-rgb), 0.4);
		color: var(--vita-color-black, #0c0c0c) !important;
		text-shadow: none;
	}

	.vita-footer__cta .btn-gold-luxury i,
	.vita-footer__cta .btn-gold-luxury [class*="fa-"] {
		text-shadow: none;
	}

	@keyframes vita-footer-gold-pulse {
		0%,
		100% {
			box-shadow:
				0 0 4px rgba(255, 255, 255, 0.08),
				0 2px 6px rgba(225, 184, 32, 0.18);
		}

		50% {
			box-shadow:
				0 0 7px rgba(255, 255, 255, 0.14),
				0 3px 9px rgba(225, 184, 32, 0.26);
		}
	}

	.vita-footer__role-action--wa,
	.vita-footer__role-action--mail {
		background: transparent;
	}

	.vita-footer__role-action--wa:hover,
	.vita-footer__role-action--wa:focus-visible,
	.vita-footer__role-action--wa:active,
	.vita-footer__role-action--mail:hover,
	.vita-footer__role-action--mail:focus-visible,
	.vita-footer__role-action--mail:active {
		background: transparent;
		border-color: var(--bs-primary);
		color: var(--vita-gold-text-on-dark, var(--bs-primary));
		outline: none;
		box-shadow: none;
	}

	.tooltip.vita-footer__role-tooltip {
		--bs-tooltip-max-width: 14rem;
		--bs-tooltip-font-size: 0.8125rem;
		--bs-tooltip-bg: #141414;
		--bs-tooltip-opacity: 1;
		pointer-events: none;
	}

	.vita-footer__nav-title {
		margin: 0 0 1rem;
		letter-spacing: 0.1em;
	}

	.vita-footer__nav-subtitle {
		margin: 0;
		letter-spacing: 0.1em;
		color: var(--bs-primary);
	}

	.vita-footer__address {
		font-style: normal;
		line-height: 1.55;
		color: rgba(255, 255, 255, 0.88);
	}

	.vita-footer__hours li {
		line-height: 1.5;
		color: rgba(255, 255, 255, 0.82);
	}

	.vita-footer__inline-link {
		text-decoration: none;
		color: rgba(255, 255, 255, 0.92);
		transition: color 0.2s ease;
	}

	.vita-footer__inline-link--loc {
		display: inline-flex;
		align-items: center;
		gap: 0.55rem;
		max-width: 100%;
	}

	.vita-footer__inline-link:hover,
	.vita-footer__inline-link:focus-visible,
	.vita-footer__inline-link--loc:hover,
	.vita-footer__inline-link--loc:focus-visible {
		color: var(--bs-primary);
		text-decoration: none;
		outline: none;
		box-shadow: none;
	}

	.vita-footer__trabaja-link {
		display: inline-block;
		text-decoration: none;
		font-weight: 500;
		background-image: linear-gradient(
			100deg,
			#c9a84a 0%,
			#e8c31e 28%,
			#f5e6a8 42%,
			#f0d55a 50%,
			#f5e6a8 58%,
			#e8c31e 72%,
			#c18729 100%
		);
		background-size: 240% 100%;
		background-position: 0% 50%;
		-webkit-background-clip: text;
		background-clip: text;
		-webkit-text-fill-color: transparent;
		color: transparent;
	}

	.vita-footer__trabaja-link:hover,
	.vita-footer__trabaja-link:focus-visible {
		text-decoration: none;
		opacity: 0.92;
	}

	@keyframes vita-footer-trabaja-gradient {
		0%,
		100% {
			background-position: 0% 50%;
		}

		50% {
			background-position: 100% 50%;
		}
	}

	@media (prefers-reduced-motion: no-preference) {
		.vita-footer__trabaja-link {
			animation: vita-footer-trabaja-gradient 6s ease-in-out infinite;
		}
	}

	@media (prefers-reduced-motion: reduce) {
		.vita-footer__trabaja-link {
			background: none;
			-webkit-text-fill-color: var(--vita-gold-text-on-dark);
			color: var(--vita-gold-text-on-dark);
		}
	}

	.vita-footer__contact a {
		color: rgba(255, 255, 255, 0.92);
	}

	.vita-footer__contact a.vita-footer__contact-link {
		display: inline-flex;
		align-items: center;
		gap: 0.55rem;
		max-width: 100%;
		text-decoration: none;
		transition: color 0.2s ease;
	}

	.vita-footer__contact-link-icon {
		flex-shrink: 0;
		width: 1.05em;
		text-align: center;
		font-size: 0.95em;
		color: var(--vita-gold-text-on-dark, var(--bs-primary));
		transition: color 0.2s ease;
	}

	.vita-footer__contact a:hover,
	.vita-footer__contact a:focus-visible {
		color: var(--bs-primary);
		text-decoration: none;
		outline: none;
		box-shadow: none;
	}

	.vita-footer__links {
		display: flex;
		flex-direction: column;
		gap: 0.0625rem;
	}

	.vita-footer__links > li {
		margin-bottom: 0 !important;
	}

	.vita-footer__links a {
		color: rgba(255, 255, 255, 0.92);
		line-height: 1.18;
		text-decoration: none;
		transition: color 0.2s ease;
	}

	.vita-footer__links a:hover,
	.vita-footer__links a:focus-visible {
		color: var(--bs-primary);
		text-decoration: none;
		outline: none;
		box-shadow: none;
	}

	.vita-footer__social .icon-list-social-link {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		color: var(--vita-gold-text-on-dark, var(--bs-primary));
		text-decoration: none;
		transition: color 0.2s ease, opacity 0.2s ease;
	}

	.vita-footer__social .icon-list-social-link:hover,
	.vita-footer__social .icon-list-social-link:focus-visible {
		color: var(--vita-gold-text-on-dark, var(--bs-primary));
		opacity: 0.88;
		text-decoration: none;
		outline: none;
		box-shadow: none;
	}

	/*
	 * styles.css: .footer a { color: inherit !important } anula hover sin !important.
	 * Íconos (.vita-footer__contact-link-icon, redes, postulación): siempre amarillo.
	 */
	#layoutDefault_footer .vita-footer a.vita-footer__inline-link,
	#layoutDefault_footer .vita-footer a.vita-footer__contact-link,
	#layoutDefault_footer .vita-footer__links a {
		color: rgba(255, 255, 255, 0.92) !important;
	}

	#layoutDefault_footer .vita-footer a.vita-footer__inline-link:hover,
	#layoutDefault_footer .vita-footer a.vita-footer__inline-link:focus-visible,
	#layoutDefault_footer .vita-footer a.vita-footer__contact-link:hover,
	#layoutDefault_footer .vita-footer a.vita-footer__contact-link:focus-visible,
	#layoutDefault_footer .vita-footer__links a:hover,
	#layoutDefault_footer .vita-footer__links a:focus-visible {
		color: var(--bs-primary) !important;
	}

	#layoutDefault_footer .vita-footer .vita-footer__contact-link-icon,
	#layoutDefault_footer .vita-footer a:hover .vita-footer__contact-link-icon,
	#layoutDefault_footer .vita-footer a:focus-visible .vita-footer__contact-link-icon {
		color: var(--vita-gold-text-on-dark, var(--bs-primary)) !important;
	}

	#layoutDefault_footer .vita-footer__social .icon-list-social-link,
	#layoutDefault_footer .vita-footer__social .icon-list-social-link:hover,
	#layoutDefault_footer .vita-footer__social .icon-list-social-link:focus-visible {
		color: var(--vita-gold-text-on-dark, var(--bs-primary)) !important;
	}

	#layoutDefault_footer .vita-footer a.vita-footer__role-action,
	#layoutDefault_footer .vita-footer a.vita-footer__role-action:hover,
	#layoutDefault_footer .vita-footer a.vita-footer__role-action:focus-visible,
	#layoutDefault_footer .vita-footer a.vita-footer__role-action:active {
		color: var(--vita-gold-text-on-dark, var(--bs-primary)) !important;
	}

	.vita-footer__divider {
		border-color: rgba(255, 255, 255, 0.12);
		opacity: 1;
	}

	.vita-footer__legal {
		max-width: 36rem;
		margin-inline: auto;
	}

	@media (min-width: 992px) {
		.vita-footer__brand-col {
			padding-right: 1.5rem;
			border-right: 1px solid rgba(255, 255, 255, 0.1);
		}
	}

	#layoutDefault,
	#layoutDefault_content,
	main {
		max-width: 100%;
		overflow-x: clip;
	}

	@media (max-width: 1199.98px) {
		#mainNavbar {
			height: 64px;
			z-index: 1030;
			overflow: hidden;
			transition: background-color 0.4s ease, backdrop-filter 0.4s ease, box-shadow 0.4s ease;
		}

		#mainNavbar .container-fluid,
		.navbar-header-row {
			max-width: 100%;
			min-width: 0;
			height: 100%;
			overflow: hidden;
		}

		.navbar-mobile-actions {
			min-width: 0;
			flex-shrink: 0;
		}

		#navbarSupportedContent.navbar-mobile-menu {
			position: fixed !important;
			top: 0 !important;
			right: 0 !important;
			bottom: 0 !important;
			height: 100dvh !important;
			max-height: 100dvh !important;
			--bs-offcanvas-zindex: 1100;
			z-index: 1100 !important;
			width: min(320px, 100%) !important;
			margin: 0 !important;
			border: none;
		}

		body.mobile-menu-open .agenda-iframe {
			pointer-events: none;
		}

		/* Logo siempre visible en mobile (incluso en home sin scroll) */
		.navbar-marketing.bg-transparent:not(.navbar-scrolled) .navbar-brand-wrapper {
			max-width: 200px;
			opacity: 1;
			visibility: visible;
			transform: translateX(0);
			pointer-events: auto;
		}

		.navbar-logo-img {
			max-height: 30px;
		}

		.navbar-logo-img--menu {
			max-height: 34px;
		}

		/* BotÃ³n Agendar compacto en header */
		.btn-agendar-mobile {
			height: 34px;
			padding: 0 0.8rem;
			font-size: calc(0.78rem * var(--vita-font-scale));
			animation: none;
			box-shadow: 0 2px 10px rgba(225, 184, 32, 0.35);
			white-space: nowrap;
		}

		.btn-agendar-mobile .fa-calendar-clock {
			font-size: 0.9em;
		}

		.navbar-toggler-mobile {
			width: 40px;
			height: 40px;
			display: inline-flex;
			align-items: center;
			justify-content: center;
			border-radius: 50%;
			background: rgba(var(--vita-gold-text-on-dark-rgb), 0.14);
			border: 1px solid rgba(var(--vita-gold-text-on-dark-rgb), 0.45);
			color: var(--vita-gold-text-on-dark);
		}

		.navbar-toggler-mobile svg {
			width: 1.25rem;
			height: 1.25rem;
			stroke: currentColor;
		}

		/* Offcanvas menÃº mobile rediseÃ±ado */
		.navbar-mobile-menu {
			width: min(320px, 100%);
			background: linear-gradient(180deg, var(--vita-color-plomo) 0%, var(--vita-color-black) 100%) !important;
			border-left: 1px solid rgba(255, 255, 255, 0.08);
		}

		.navbar-mobile-menu .offcanvas-header {
			padding: 1rem 1.15rem;
			border-bottom: 1px solid rgba(255, 255, 255, 0.08);
			background: transparent;
		}

		.navbar-mobile-menu .offcanvas-body {
			display: flex;
			flex-direction: column;
			padding: 0;
			background: transparent !important;
		}

		.navbar-nav-capsule-desktop {
			background: transparent !important;
			border: none !important;
			box-shadow: none !important;
			-webkit-backdrop-filter: none !important;
			backdrop-filter: none !important;
			border-radius: 0 !important;
			width: 100%;
			height: auto !important;
			padding: 0 !important;
		}

		.navbar-mobile-menu .navbar-nav {
			padding: 0.35rem 0 0;
			width: 100%;
		}

		.navbar-mobile-menu .navbar-nav .nav-item .nav-link,
		.navbar-mobile-menu .navbar-nav .nav-item .mobile-nav-toggle {
			display: flex;
			align-items: center;
			justify-content: space-between;
			padding: 0.75rem 1.1rem;
			font-size: calc(0.92rem * var(--vita-font-scale)) !important;
			color: rgba(255, 255, 255, 0.92);
			border-bottom: 1px solid rgba(255, 255, 255, 0.07);
			text-shadow: none;
			transition: background-color 0.2s ease, color 0.2s ease;
		}

		.navbar-mobile-menu .navbar-nav .nav-item .nav-link:hover,
		.navbar-mobile-menu .navbar-nav .nav-item .nav-link.active,
		.navbar-mobile-menu .navbar-nav .nav-item .mobile-nav-toggle:hover {
			background-color: rgba(255, 255, 255, 0.04);
			color: var(--vita-gold-text-on-dark);
		}

		.navbar-mobile-menu .navbar-nav .nav-item .nav-link.active {
			box-shadow: inset 3px 0 0 var(--vita-gold-text-on-dark);
		}

		.mobile-nav-toggle {
			background: none;
			border: none;
			width: 100%;
		}

		.mobile-nav-chevron {
			font-size: calc(0.75rem * var(--vita-font-scale));
			opacity: 0.6;
			transition: transform 0.25s ease;
		}

		.mobile-nav-toggle[aria-expanded="true"] .mobile-nav-chevron {
			transform: rotate(180deg);
		}

		.mobile-subnav a {
			display: block;
			padding: 0.8rem 1.25rem 0.8rem 2rem;
			color: rgba(255, 255, 255, 0.72);
			font-size: calc(0.9rem * var(--vita-font-scale));
			text-decoration: none;
			border-bottom: 1px solid rgba(255, 255, 255, 0.05);
			transition: color 0.2s ease, background-color 0.2s ease;
		}

		.mobile-subnav a:hover,
		.mobile-subnav a.active {
			color: var(--bs-primary);
			background-color: rgba(255, 255, 255, 0.03);
		}

		.mobile-menu-footer {
			margin-top: auto;
			padding: 1.15rem 1.25rem 1.35rem;
			border-top: 1px solid rgba(255, 255, 255, 0.08);
			background: rgba(0, 0, 0, 0.25);
		}

		.mobile-menu-contacts {
			display: flex;
			flex-wrap: nowrap;
			gap: 0.5rem;
			margin-bottom: 0.85rem;
		}

		.mobile-menu-contact {
			flex: 1 1 0;
			min-width: 0;
			display: inline-flex;
			align-items: center;
			justify-content: center;
			gap: 0.35rem;
			padding: 0.55rem 0.4rem;
			border-radius: 999px;
			background: rgba(255, 255, 255, 0.06);
			border: 1px solid rgba(255, 255, 255, 0.1);
			color: rgba(255, 255, 255, 0.85);
			font-size: calc(0.7rem * var(--vita-font-scale));
			line-height: 1;
			white-space: nowrap;
			text-decoration: none;
			transition: background-color 0.2s ease, border-color 0.2s ease;
		}

		.mobile-menu-contact i {
			flex-shrink: 0;
			font-size: 0.95em;
		}

		.mobile-menu-contact span {
			overflow: hidden;
			text-overflow: ellipsis;
		}

		.mobile-menu-contact:hover {
			background: rgba(255, 255, 255, 0.1);
			color: var(--vita-gold-text-on-dark);
		}

		.mobile-menu-agendar-btn {
			height: 40px;
			font-size: calc(0.88rem * var(--vita-font-scale));
		}
	}

	@media (min-width: 1200px) {
		#mainNavbar {
			height: 80px;
			overflow: visible;
			transition: background-color 0.4s ease, backdrop-filter 0.4s ease, box-shadow 0.4s ease;
		}

		#mainNavbar .container-fluid,
		.navbar-header-row,
		.navbar-mobile-menu,
		.navbar-mobile-menu .offcanvas-body,
		.navbar-nav-capsule-desktop {
			overflow: visible !important;
		}

		.navbar-header-row {
			min-height: 80px;
		}

		.navbar-mobile-menu .offcanvas-body {
			display: flex;
			flex-direction: row;
			align-items: center;
			justify-content: flex-end;
			width: 100%;
		}
	}

	/* MenÃº compacto: tipografÃ­a alineada con botÃ³n Agendar */
	#mainNavbar {
		--vita-nav-font-size: calc(0.8rem * var(--vita-font-scale));
		--vita-nav-link-px: 0.48rem;
		--vita-nav-item-gap: 0.05rem;
		--vita-btn-agendar-font-size: calc(0.8rem * var(--vita-font-scale));
		--vita-btn-agendar-height: 36px;
		--vita-btn-agendar-px: 1rem;
	}

	#mainNavbar .navbar-nav-capsule .nav-item .nav-link,
	#mainNavbar .servicios-dropdown-trigger,
	#mainNavbar .servicios-dropdown-item-label,
	#mainNavbar .navbar-mobile-menu .navbar-nav .nav-item .nav-link,
	#mainNavbar .navbar-mobile-menu .navbar-nav .nav-item .mobile-nav-toggle,
	#mainNavbar .navbar-mobile-menu .mobile-subnav-servicio,
	#mainNavbar .navbar-phone-wrapper .dropdown-menu .dropdown-item,
	#mainNavbar .mobile-menu-contact {
		font-weight: 300;
		text-transform: uppercase;
		letter-spacing: 0.035em;
	}

	#mainNavbar .navbar-phone-btn {
		font-size: var(--vita-nav-font-size) !important;
	}

	#mainNavbar .navbar-phone-wrapper .dropdown-menu .dropdown-item {
		font-size: calc(0.875rem * var(--vita-font-scale));
	}

	@media (min-width: 1200px) {
		/* Misma altura que Agendar / telÃ©fono (pÃ­ldoras del header) */
		#mainNavbar .navbar-nav-capsule-desktop.navbar-nav-capsule {
			height: var(--vita-btn-agendar-height);
			min-height: var(--vita-btn-agendar-height);
			max-height: var(--vita-btn-agendar-height);
			box-sizing: border-box;
			align-self: center;
		}

		#mainNavbar .navbar-nav-capsule .navbar-nav {
			padding-top: 0 !important;
			padding-bottom: 0 !important;
			gap: var(--vita-nav-item-gap);
			height: 100%;
			align-items: center !important;
		}

		#mainNavbar .navbar-nav-capsule .nav-item {
			margin-right: 0 !important;
			display: flex;
			align-items: center;
			height: 100%;
		}

		#mainNavbar .navbar-nav-capsule .nav-item .nav-link,
		#mainNavbar .navbar-nav-capsule .servicios-dropdown-trigger {
			font-size: var(--vita-nav-font-size) !important;
			padding: 0 var(--vita-nav-link-px) !important;
			line-height: 1;
			display: inline-flex;
			align-items: center;
			height: 100%;
			position: relative;
			transition: color 0.25s ease;
		}

	#mainNavbar .navbar-nav-capsule .nav-item .nav-link.active,
	#mainNavbar .navbar-nav-capsule .servicios-dropdown-trigger.active {
			color: var(--vita-gold-text-on-dark) !important;
		}

		#mainNavbar .navbar-nav-capsule .nav-item .nav-link.active::after,
		#mainNavbar .navbar-nav-capsule .servicios-dropdown-trigger.active::after {
			content: "";
			position: absolute;
			left: 18%;
			right: 18%;
			bottom: 0.28rem;
			height: 1px;
			border-radius: 999px;
			background: linear-gradient(
				90deg,
				transparent,
				rgba(var(--vita-gold-text-on-dark-rgb), 0.95),
				transparent
			);
			opacity: 0.95;
			pointer-events: none;
		}

		#mainNavbar .servicios-dropdown-item.active {
			box-shadow: inset 0 0 0 1px rgba(var(--vita-gold-text-on-dark-rgb), 0.4);
		}

		#mainNavbar .mobile-subnav-servicio.active,
		#navbarSupportedContent .mobile-subnav-servicio.active {
			color: var(--vita-gold-text-on-dark);
			background: rgba(255, 255, 255, 0.04);
			box-shadow: inset 3px 0 0 rgba(var(--vita-gold-text-on-dark-rgb), 0.9);
		}

		#mainNavbar .btn-agendar-desktop {
			height: var(--vita-btn-agendar-height);
			min-height: var(--vita-btn-agendar-height);
			padding: 0 var(--vita-btn-agendar-px);
			font-size: var(--vita-btn-agendar-font-size) !important;
			line-height: 1;
			white-space: nowrap;
			box-sizing: border-box;
			align-self: center;
			border: none !important;
		}

		#mainNavbar .btn-agendar-desktop:hover,
		#mainNavbar .btn-agendar-desktop:focus-visible {
			border: none !important;
		}

		#mainNavbar .btn-agendar-desktop.btn-gold-luxury,
		#mainNavbar .btn-agendar-desktop.btn-gold-luxury:hover,
		#mainNavbar .btn-agendar-desktop.btn-gold-luxury:focus,
		#mainNavbar .btn-agendar-desktop.btn-gold-luxury:focus-visible,
		#mainNavbar .btn-agendar-desktop.btn-gold-luxury:active {
			color: var(--vita-color-black, #0c0c0c) !important;
			text-shadow: none;
		}

		#mainNavbar .btn-agendar-desktop.btn-gold-luxury .fa-calendar-clock,
		#mainNavbar .btn-agendar-desktop.btn-gold-luxury [class*="fa-"] {
			text-shadow: none;
		}

		#mainNavbar .btn-agendar-desktop .fa-calendar-clock {
			font-size: 0.95em;
		}

		#mainNavbar .navbar-phone-btn {
			height: var(--vita-btn-agendar-height);
			padding-left: 0.75rem !important;
			padding-right: 0.75rem !important;
			font-size: var(--vita-nav-font-size) !important;
		}

		#mainNavbar .navbar-phone-btn-icon {
			font-size: 1.05em;
			line-height: 1;
		}
	}

	.navbar-marketing .offcanvas.show,
	.navbar-marketing .offcanvas.showing,
	.navbar-marketing .offcanvas.show .btn,
	.navbar-marketing .offcanvas.showing .btn {
		--mi-font-size: calc(0.92rem * var(--vita-font-scale));
		--bs-btn-font-size: var(--mi-font-size);
		--bs-nav-link-font-size: var(--mi-font-size);
		font-size: var(--mi-font-size);
	}

	/* Texto oro de lujo (degradado; no usar en títulos de servicio-detail) */
	.vita-text-gold-luxury {
		--vita-gold-shine-strength: 0;
		--vita-gold-shine-x: 50%;
		--vita-gold-shine-y: 50%;
		letter-spacing: -0.02em;
		background-image: var(--vita-gold-luxury-text-gradient);
		background-size: calc(100% + var(--vita-gold-shine-strength) * 120%) calc(100% + var(--vita-gold-shine-strength) * 120%);
		background-position: var(--vita-gold-shine-x) var(--vita-gold-shine-y);
		background-repeat: no-repeat;
		-webkit-background-clip: text;
		background-clip: text;
		-webkit-text-fill-color: transparent;
		color: transparent !important;
	}

	/* Títulos split: una pastilla blanca por palabra */
	body.servicio-detail-page .vita-servicio-split__title {
		display: flex;
		flex-wrap: wrap;
		align-items: flex-start;
		gap: 0.28rem 0.34rem;
		max-width: 100%;
		margin: 0;
		padding: 0;
		background: none !important;
		color: inherit !important;
		line-height: 1.12;
	}

	body.servicio-detail-page .vita-servicio-split__title-chip {
		display: inline-block;
		padding: 0.1em 0.38em 0.14em;
		background-color: #fff;
		color: #1a1a1a !important;
		border-radius: 0.18rem;
		line-height: 1.12;
		box-decoration-break: clone;
		-webkit-box-decoration-break: clone;
	}

	/* Flecha decorativa en títulos de sección (split), como Trabaja con nosotros */
	body.servicio-detail-page .vita-servicio-split__title:not(.vita-servicio-hero__title) > .vita-servicio-split__title-chip:first-child {
		position: relative;
		z-index: 0;
		isolation: isolate;
	}

	body.servicio-detail-page .vita-servicio-split__title:not(.vita-servicio-hero__title) > .vita-servicio-split__title-chip:first-child::before {
		content: "▶";
		position: absolute;
		left: 0;
		top: 50%;
		z-index: -1;
		font-size: clamp(2rem, 4.4vw, 2.85rem);
		font-weight: 700;
		line-height: 1;
		color: rgba(var(--vita-gold-text-rgb, 232, 195, 30), 0.22);
		transform: translate(-58%, -50%);
		pointer-events: none;
		user-select: none;
	}

	body.servicio-detail-page .vita-servicio-hero__title.vita-servicio-split__title {
		margin: 0 0 0.65rem;
		text-transform: uppercase;
		text-shadow: none;
	}

	.vita-gold-title-shine--static {
		--vita-gold-shine-strength: 0 !important;
		background-image: var(--vita-gold-luxury-gradient);
		background-size: 100% 100%;
		background-position: 50% 50%;
	}

	body.servicio-detail-page .vita-gold-title-shine--static {
		background-image: none !important;
		-webkit-text-fill-color: currentColor;
	}

	.btn-gold-luxury {
		position: relative;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		--bs-btn-border-width: 0;
		--bs-btn-border-color: transparent;
		--bs-btn-hover-border-color: transparent;
		background: var(--bs-primary);
		background-image: none;
		color: var(--vita-color-black, #0c0c0c) !important;
		font-weight: 400;
		text-transform: uppercase;
		letter-spacing: 0.035em;
		text-shadow: none;
		border: none !important;
		box-shadow: 0 2px 10px rgba(var(--bs-primary-rgb), 0.35);
		overflow: hidden;
		transition:
			background-color 0.25s ease,
			box-shadow 0.25s ease,
			transform 0.25s ease,
			color 0.25s ease;
		animation: none;
		z-index: 1;
	}
	.btn-gold-luxury i,
	.btn-gold-luxury [class*="fa-"] {
		text-shadow: none;
	}

	.btn-gold-luxury::before {
		content: none;
		display: none;
	}
	.btn-gold-luxury:hover,
	.btn-gold-luxury:focus,
	.btn-gold-luxury:focus-visible,
	.btn-gold-luxury:active {
		color: var(--vita-color-black, #0c0c0c) !important;
		text-shadow: none;
		background: #d4ad1a;
		background-image: none;
		transform: translateY(-1px);
		box-shadow: 0 4px 14px rgba(var(--bs-primary-rgb), 0.42);
		border: none !important;
	}

	textarea.vita-form-textarea {
		resize: none;
		overflow-y: auto;
		max-height: var(--vita-form-textarea-max-height-inicio);
	}

	body.contacto-page textarea.vita-form-textarea {
		max-height: var(--vita-form-textarea-max-height-contacto);
	}

	/* Outline primary: misma marca que títulos (--bs-primary / #e8c31e), no el #c59b2d del tema compilado */
	.btn-outline-primary {
		--bs-btn-color: var(--bs-primary);
		--bs-btn-border-color: var(--bs-primary);
		--bs-btn-hover-color: var(--vita-color-black, #0c0c0c);
		--bs-btn-hover-bg: var(--bs-primary);
		--bs-btn-hover-border-color: var(--bs-primary);
		--bs-btn-focus-shadow-rgb: var(--bs-primary-rgb);
		--bs-btn-active-color: var(--vita-color-black, #0c0c0c);
		--bs-btn-active-bg: var(--bs-primary);
		--bs-btn-active-border-color: var(--bs-primary);
		--bs-btn-disabled-color: var(--bs-primary);
		--bs-btn-disabled-border-color: var(--bs-primary);
	}

	/* Sólido primary: amarillo marca + texto oscuro (p. ej. modal «Gracias», contacto) */
	.btn-primary {
		--bs-btn-color: var(--vita-color-black, #0c0c0c);
		--bs-btn-bg: var(--bs-primary);
		--bs-btn-border-color: var(--bs-primary);
		--bs-btn-hover-color: var(--vita-color-black, #0c0c0c);
		--bs-btn-hover-bg: #d4ad1a;
		--bs-btn-hover-border-color: #d4ad1a;
		--bs-btn-focus-shadow-rgb: var(--bs-primary-rgb);
		--bs-btn-active-color: var(--vita-color-black, #0c0c0c);
		--bs-btn-active-bg: #c9a018;
		--bs-btn-active-border-color: #c9a018;
		--bs-btn-disabled-color: var(--vita-color-black, #0c0c0c);
		--bs-btn-disabled-bg: var(--bs-primary);
		--bs-btn-disabled-border-color: var(--bs-primary);
	}

	.modal-backdrop {
		--bs-backdrop-bg: var(--vita-color-plomo, #202020);
		--bs-backdrop-opacity: 0.82;
	}

	.btn-close:focus {
		box-shadow: 0 0 0 0.25rem rgba(var(--bs-primary-rgb), 0.28);
	}

	body.servicio-detail-page .servicio-section .btn-secondary.vita-servicio-agenda-cta {
		position: relative;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		isolation: isolate;
		background: transparent !important;
		background-image: none !important;
		color: #1a1a1a !important;
		font-weight: 400;
		border: 1px solid #1a1a1a !important;
		box-shadow: none !important;
		overflow: hidden;
		animation: none !important;
		transition:
			color 0.55s cubic-bezier(0.22, 1, 0.36, 1),
			border-color 0.55s cubic-bezier(0.22, 1, 0.36, 1),
			box-shadow 0.55s cubic-bezier(0.22, 1, 0.36, 1);
		z-index: 1;
	}

	body.servicio-detail-page .servicio-section .btn-secondary.vita-servicio-agenda-cta::after {
		content: "";
		position: absolute;
		inset: 0;
		border-radius: inherit;
		background: var(--bs-primary);
		opacity: 0;
		transition: opacity 0.55s cubic-bezier(0.22, 1, 0.36, 1);
		z-index: -1;
		pointer-events: none;
	}

	body.servicio-detail-page .servicio-section .btn-secondary.vita-servicio-agenda-cta::before {
		content: "";
		position: absolute;
		top: -50%;
		left: -100%;
		width: 60%;
		height: 200%;
		background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.7), transparent);
		transform: rotate(25deg);
		opacity: 0;
		transition: opacity 0.55s cubic-bezier(0.22, 1, 0.36, 1);
		animation: none;
		pointer-events: none;
		z-index: 0;
	}

	body.servicio-detail-page .servicio-section.bg-dark .btn-secondary.vita-servicio-agenda-cta,
	body.servicio-detail-page .servicio-section.text-light .btn-secondary.vita-servicio-agenda-cta {
		color: #fff !important;
		border-color: rgba(255, 255, 255, 0.85) !important;
	}

	body.servicio-detail-page .servicio-section:hover .btn-secondary.vita-servicio-agenda-cta:not(.vita-servicio-agenda-cta--disabled),
	body.servicio-detail-page .servicio-section:focus-within .btn-secondary.vita-servicio-agenda-cta:not(.vita-servicio-agenda-cta--disabled) {
		color: #1a1a1a !important;
		border-color: rgba(255, 255, 255, 0.55) !important;
		box-shadow:
			0 0 15px rgba(255, 255, 255, 0.35),
			0 4px 15px rgba(225, 184, 32, 0.4) !important;
		background: transparent !important;
		background-image: none !important;
		animation: none !important;
	}

	body.servicio-detail-page .servicio-section:hover .btn-secondary.vita-servicio-agenda-cta:not(.vita-servicio-agenda-cta--disabled)::after,
	body.servicio-detail-page .servicio-section:focus-within .btn-secondary.vita-servicio-agenda-cta:not(.vita-servicio-agenda-cta--disabled)::after {
		opacity: 1;
	}

	body.servicio-detail-page .servicio-section:hover .btn-secondary.vita-servicio-agenda-cta:not(.vita-servicio-agenda-cta--disabled)::before,
	body.servicio-detail-page .servicio-section:focus-within .btn-secondary.vita-servicio-agenda-cta:not(.vita-servicio-agenda-cta--disabled)::before {
		opacity: 1;
		animation: gold-sheen 4s infinite cubic-bezier(0.4, 0, 0.2, 1);
	}

	@media (prefers-reduced-motion: reduce) {
		body.servicio-detail-page .servicio-section .btn-secondary.vita-servicio-agenda-cta,
		body.servicio-detail-page .servicio-section .btn-secondary.vita-servicio-agenda-cta::after,
		body.servicio-detail-page .servicio-section .btn-secondary.vita-servicio-agenda-cta::before {
			transition-duration: 0.01ms;
		}

		body.servicio-detail-page .servicio-section:hover .btn-secondary.vita-servicio-agenda-cta:not(.vita-servicio-agenda-cta--disabled)::before,
		body.servicio-detail-page .servicio-section:focus-within .btn-secondary.vita-servicio-agenda-cta:not(.vita-servicio-agenda-cta--disabled)::before {
			animation: none;
		}
	}
	@keyframes gold-sheen {
		0% { left: -100%; opacity: 0; }
		15% { opacity: 1; }
		35% { left: 160%; opacity: 0; }
		100% { left: 160%; opacity: 0; }
	}
	/* ==========================================================================
	   VITA INTRO CURTAIN & LIQUID LOGO MASK (SOLO PRIMER ACCESO EN INICIO)
	   ========================================================================== */
	.intro-skipped #vita-intro-curtain {
		display: none !important;
	}
	.vita-intro-curtain {
		position: fixed;
		inset: 0;
		width: 100%;
		height: 100%;
		height: 100dvh;
		background: radial-gradient(circle at center, #1e1e1e 0%, #0d0d0d 100%);
		z-index: 999999;
		display: flex;
		align-items: center;
		justify-content: center;
		overflow: hidden;
		transform: translateY(0);
		will-change: transform;
		pointer-events: auto;
	}
	.vita-intro-curtain.slide-up {
		transform: translateY(-100%);
		transition: transform 0.85s cubic-bezier(0.77, 0, 0.175, 1);
	}
	.vita-intro-curtain.hidden-complete {
		display: none !important;
	}
	.vita-intro-inner {
		position: relative;
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100%;
	}
	.vita-liquid-logo-box {
		position: relative;
		width: 85vw;
		max-width: 480px;
		height: auto;
		display: flex;
		align-items: center;
		justify-content: center;
	}
	.vita-intro-logo-base {
		width: 100%;
		height: auto;
		display: block;
		opacity: 0.38;
		filter: drop-shadow(0 0 1px rgba(255, 255, 255, 0.2));
	}
	.vita-liquid-wave-wrapper {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		overflow: hidden;
		-webkit-mask-image: url('../assets/img/logo-vita-color-blanco.png?v1');
		mask-image: url('../assets/img/logo-vita-color-blanco.png?v1');
		-webkit-mask-size: contain;
		mask-size: contain;
		-webkit-mask-repeat: no-repeat;
		mask-repeat: no-repeat;
		-webkit-mask-position: center;
		mask-position: center;
	}
	.vita-liquid-svg-waves {
		position: absolute;
		left: 0;
		width: 200%;
		height: 220%;
		top: 100%;
		animation: vita-wave-rise 1.35s cubic-bezier(0.45, 0.05, 0.55, 0.95) forwards,
		           vita-wave-flow 2s linear infinite;
		will-change: top, transform;
	}
	@keyframes vita-wave-rise {
		0% {
			top: 100%;
		}
		100% {
			top: -65%;
		}
	}
	@keyframes vita-wave-flow {
		0% {
			transform: translateX(0);
		}
		100% {
			transform: translateX(-50%);
		}
	}
	.vita-liquid-shimmer {
		position: absolute;
		inset: 0;
		z-index: 2;
		opacity: 0;
		pointer-events: none;
		-webkit-mask-image: url('../assets/img/logo-vita-color-blanco.png?v1');
		mask-image: url('../assets/img/logo-vita-color-blanco.png?v1');
		-webkit-mask-size: contain;
		mask-size: contain;
		-webkit-mask-repeat: no-repeat;
		mask-repeat: no-repeat;
		-webkit-mask-position: center;
		mask-position: center;
		background-image: linear-gradient(
			90deg,
			rgba(255, 255, 255, 0.82) 0%,
			rgba(255, 255, 255, 0.82) 24%,
			#ffffff 34%,
			rgba(255, 255, 255, 0.2) 48%,
			rgba(255, 255, 255, 0) 60%,
			rgba(255, 255, 255, 0) 100%
		);
		background-repeat: no-repeat;
		background-size: 320% 100%;
		background-position: 100% 0;
	}
	.vita-liquid-shimmer.active {
		opacity: 1;
		animation: vita-logo-sheen-sweep 0.9s cubic-bezier(0.22, 1, 0.36, 1) forwards;
	}
	@keyframes vita-logo-sheen-sweep {
		from {
			background-position: 100% 0;
		}
		to {
			background-position: 0% 0;
		}
	}

	/* ==========================================================================
	   ESPACIADO Y POSICIÃ“N DEL CONTENIDO DEBAJO DEL HEADER COMPARTIDO
	   ========================================================================== */
	/* Debe coincidir con #mainNavbar: 64px < xl, 80px desktop (ver reglas mÃ¡s arriba) */
	:root {
		--vita-navbar-offset: 64px;
	}
	@media (min-width: 1200px) {
		:root {
			--vita-navbar-offset: 80px;
		}
	}

	body:not(.is-home):not(.agenda-page) {
		padding-top: var(--vita-navbar-offset) !important;
	}

	body:not(.is-home):not(.agenda-page) section iframe {
		height: calc(100vh - var(--vita-navbar-offset)) !important;
	}

	/* ==========================================================================
	   AGENDA PAGE (iframe AgendaPro) â€” ocupa el viewport bajo el header
	   ========================================================================== */
	html.agenda-html,
	body.agenda-page {
		height: 100%;
		overflow: hidden;
	}

	body.agenda-page {
		box-sizing: border-box;
		height: 100dvh;
		padding-top: var(--vita-navbar-offset) !important;
		touch-action: manipulation;
	}

	body.agenda-page #layoutDefault,
	body.agenda-page #layoutDefault_content,
	body.agenda-page main,
	body.agenda-page .agenda-section {
		display: flex;
		flex-direction: column;
		flex: 1 1 auto;
		width: 100%;
		max-width: 100%;
		min-width: 0;
		min-height: 0;
		height: 100%;
		margin: 0;
		padding: 0;
		overflow: hidden;
	}

	body.agenda-page #layoutDefault {
		flex: 1 1 auto;
	}

	body.agenda-page .agenda-section {
		background: #fff;
	}

	body.agenda-page .agenda-iframe {
		display: block;
		width: 100%;
		flex: 1 1 auto;
		height: 100%;
		min-height: 0;
		border: 0;
	}

	/* Recorte del banner de empresa (solo iframes site.agendapro.com con .agenda-iframe-clip) */
	body.agenda-page .agenda-iframe-clip {
		--agenda-banner-crop: 19.5rem;
		flex: 1 1 auto;
		width: 100%;
		min-height: 0;
		height: 100%;
		overflow: hidden;
		background: #fff;
	}

	body.agenda-page .agenda-iframe-clip .agenda-iframe {
		flex: none;
		height: calc(100% + var(--agenda-banner-crop));
		margin-top: calc(-1 * var(--agenda-banner-crop));
	}

	@media (max-width: 767.98px) {
		body.agenda-page .agenda-iframe-clip {
			--agenda-banner-crop: 15.5rem;
		}
	}

	body.agenda-page #layoutDefault_footer,
	body.agenda-page .floating-menu-right {
		display: none !important;
	}

	body.agenda-page #vita-intro-curtain {
		display: none !important;
		pointer-events: none !important;
	}

	body.agenda-page .agenda-section,
	body.agenda-page .agenda-section.page-fade-in {
		transition: none !important;
		transform: none !important;
		will-change: auto !important;
		animation: none !important;
		opacity: 1 !important;
		pointer-events: auto !important;
	}

	/* ==========================================================================
	   HERO ENTRANCE CHOREOGRAPHY
	   ========================================================================== */
	.hero-logo-wrap {
		opacity: 0;
		transform: translateY(45px) scale(0.95);
		transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1), transform 0.9s cubic-bezier(0.16, 1, 0.3, 1);
		will-change: opacity, transform;
	}

	.hero-header-main .hero-logo-wrap {
		display: block;
		width: 100%;
		max-width: min(94vw, 52rem);
		margin-inline: auto;
		margin-bottom: clamp(0.5rem, 1.2vw, 0.85rem);
		line-height: 0;
	}

	.hero-header-main .hero-logo-img {
		display: block;
		width: 100%;
		max-width: min(94vw, 52rem);
		height: auto;
	}

	.hero-header-main .hero-elements-wrap {
		margin-top: 0;
	}

	.hero-header-main .mi-bg-object > .hero-content-stage {
		position: relative;
		z-index: 2;
	}

	.hero-header-main .hero-content-glow {
		position: absolute;
		left: 50%;
		top: 50%;
		z-index: 1;
		width: min(98%, 48rem);
		height: min(88%, 32rem);
		transform: translate(-50%, -50%);
		pointer-events: none;
		overflow: visible;
	}

	.hero-header-main .hero-content-glow__gas {
		position: absolute;
		display: block;
		border-radius: 50%;
		background: radial-gradient(
			circle at var(--gas-hotspot-x, 50%) var(--gas-hotspot-y, 50%),
			var(--gas-core, rgba(255, 255, 255, 0.42)) 0%,
			var(--gas-inner, rgba(255, 244, 210, 0.24)) 20%,
			var(--gas-mid, rgba(232, 195, 30, 0.14)) 38%,
			rgba(232, 195, 30, 0.04) 52%,
			transparent 68%
		);
		filter: blur(var(--gas-blur, 44px));
		mix-blend-mode: soft-light;
		will-change: transform, opacity;
	}

	.hero-header-main .hero-content-glow__gas--ambient {
		inset: 0;
		width: auto;
		height: auto;
		border-radius: 0;
		background: radial-gradient(
			ellipse 78% 68% at 50% 46%,
			rgba(255, 255, 255, 0.2) 0%,
			rgba(255, 236, 190, 0.1) 32%,
			rgba(232, 195, 30, 0.05) 48%,
			transparent 72%
		);
		filter: blur(36px);
		opacity: 0.85;
		mix-blend-mode: soft-light;
		animation: none;
	}

	.hero-header-main .hero-content-glow__gas--1 {
		--gas-blur: 56px;
		width: 58%;
		height: 52%;
		left: 18%;
		top: 16%;
		animation: hero-gas-wisp-1 19s cubic-bezier(0.45, 0.05, 0.25, 1) infinite;
	}

	.hero-header-main .hero-content-glow__gas--2 {
		--gas-blur: 48px;
		--gas-core: rgba(255, 255, 255, 0.2);
		width: 44%;
		height: 40%;
		left: 46%;
		top: 24%;
		animation: hero-gas-wisp-2 23s cubic-bezier(0.42, 0, 0.28, 1) infinite;
		animation-delay: -4s;
	}

	.hero-header-main .hero-content-glow__gas--3 {
		--gas-blur: 62px;
		--gas-core: rgba(240, 208, 74, 0.22);
		width: 52%;
		height: 48%;
		left: 28%;
		top: 38%;
		animation: hero-gas-wisp-3 17s cubic-bezier(0.38, 0.02, 0.24, 1) infinite;
		animation-delay: -9s;
	}

	.hero-header-main .hero-content-glow__gas--4 {
		--gas-blur: 54px;
		width: 36%;
		height: 34%;
		left: 8%;
		top: 42%;
		animation: hero-gas-wisp-4 21s cubic-bezier(0.46, 0.04, 0.22, 1) infinite;
		animation-delay: -6s;
	}

	.hero-header-main .hero-content-glow__gas--5 {
		--gas-blur: 50px;
		--gas-hotspot-x: 44%;
		--gas-hotspot-y: 56%;
		width: 40%;
		height: 36%;
		left: 54%;
		top: 12%;
		animation: hero-gas-wisp-5 15s cubic-bezier(0.4, 0.05, 0.3, 1) infinite;
		animation-delay: -11s;
	}

	.hero-header-main .hero-content-glow__gas--6 {
		--gas-blur: 58px;
		--gas-core: rgba(255, 255, 255, 0.18);
		width: 64%;
		height: 56%;
		left: 22%;
		top: 28%;
		animation: hero-gas-wisp-6 26s cubic-bezier(0.44, 0.02, 0.26, 1) infinite;
		animation-delay: -14s;
	}

	.hero-header-main .hero-content-box {
		position: relative;
		z-index: 1;
		max-width: min(100%, 72rem);
	}

	@keyframes hero-gas-wisp-1 {
		0%,
		100% {
			transform: translate(0, 0) scale(0.94);
			opacity: 0.48;
		}

		28% {
			transform: translate(10%, -7%) scale(1.08);
			opacity: 0.82;
		}

		52% {
			transform: translate(-8%, 5%) scale(1.02);
			opacity: 0.62;
		}

		76% {
			transform: translate(-12%, -3%) scale(1.12);
			opacity: 0.74;
		}
	}

	@keyframes hero-gas-wisp-2 {
		0%,
		100% {
			transform: translate(0, 0) scale(1);
			opacity: 0.42;
		}

		22% {
			transform: translate(-9%, 8%) scale(1.14);
			opacity: 0.76;
		}

		48% {
			transform: translate(6%, 12%) scale(0.96);
			opacity: 0.55;
		}

		74% {
			transform: translate(11%, -5%) scale(1.06);
			opacity: 0.68;
		}
	}

	@keyframes hero-gas-wisp-3 {
		0%,
		100% {
			transform: translate(0, 0) scale(1.02);
			opacity: 0.5;
		}

		35% {
			transform: translate(7%, -10%) scale(1.1);
			opacity: 0.85;
		}

		62% {
			transform: translate(-11%, 4%) scale(0.92);
			opacity: 0.58;
		}

		84% {
			transform: translate(4%, 9%) scale(1.08);
			opacity: 0.7;
		}
	}

	@keyframes hero-gas-wisp-4 {
		0%,
		100% {
			transform: translate(0, 0) scale(0.98);
			opacity: 0.38;
		}

		30% {
			transform: translate(14%, 6%) scale(1.16);
			opacity: 0.72;
		}

		58% {
			transform: translate(-5%, -8%) scale(1.04);
			opacity: 0.52;
		}

		82% {
			transform: translate(-10%, 3%) scale(0.9);
			opacity: 0.6;
		}
	}

	@keyframes hero-gas-wisp-5 {
		0%,
		100% {
			transform: translate(0, 0) scale(1);
			opacity: 0.44;
		}

		26% {
			transform: translate(-7%, -6%) scale(1.12);
			opacity: 0.78;
		}

		54% {
			transform: translate(9%, 4%) scale(0.94);
			opacity: 0.56;
		}

		78% {
			transform: translate(3%, 11%) scale(1.08);
			opacity: 0.66;
		}
	}

	@keyframes hero-gas-wisp-6 {
		0%,
		100% {
			transform: translate(0, 0) scale(1.04);
			opacity: 0.36;
		}

		32% {
			transform: translate(-6%, 7%) scale(1.06);
			opacity: 0.68;
		}

		60% {
			transform: translate(8%, -6%) scale(0.96);
			opacity: 0.5;
		}

		86% {
			transform: translate(-9%, -4%) scale(1.1);
			opacity: 0.62;
		}
	}

	@media (prefers-reduced-motion: reduce) {
		.hero-header-main .hero-content-glow__gas:not(.hero-content-glow__gas--ambient) {
			animation: none !important;
			opacity: 0.58;
		}

		.hero-header-main .hero-content-glow__gas--ambient {
			opacity: 0.72;
		}
	}

	.hero-header-main .hero-elements-wrap .hero-anim-title {
		white-space: nowrap;
	}

	.hero-header-main .hero-tagline-band {
		display: inline-block;
		max-width: 100%;
		margin-bottom: 0.35rem;
		padding: 0.28em 0.82em 0.3em;
		background-color: #fff;
		color: #3a3a3a;
		font-size: clamp(1rem, 1.68vw, 1.48rem);
		font-weight: 600;
		line-height: 1.05;
		letter-spacing: 0.058em;
		border-radius: 0;
		box-shadow: 0 0.2rem 0.75rem rgba(0, 0, 0, 0.13);
	}
	.hero-anim-item {
		opacity: 0;
		transform: translateY(30px);
		transition: opacity 0.7s cubic-bezier(0.16, 1, 0.3, 1), transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
		will-change: opacity, transform;
	}
	/* Cuando el Hero estÃ¡ activo */
	.hero-active .hero-logo-wrap {
		opacity: 1;
		transform: translateY(0) scale(1);
	}
	.hero-active .hero-anim-title {
		opacity: 1;
		transform: translateY(0);
		transition-delay: 0.28s;
	}
	.hero-active .hero-anim-certifications {
		opacity: 1;
		transform: translateY(0);
		transition-delay: 0.42s;
	}
	.hero-active .hero-anim-cta {
		opacity: 1;
		transform: translateY(0);
		transition-delay: 0.56s;
	}

	@media (max-width: 767.98px) {
		.hero-header-main .hero-tagline-band {
			white-space: normal;
			font-size: clamp(0.9rem, 3.75vw, 1.18rem);
			padding: 0.26em 0.55em 0.28em;
			line-height: 1.08;
		}

		.hero-header-main .hero-anim-certifications {
			font-size: clamp(0.62rem, 2.65vw, 0.72rem);
			line-height: 1.4;
		}

		.hero-header-main .hero-anim-certifications small {
			font-size: inherit;
		}

		.hero-header-main .hero-logo-wrap {
			max-width: min(92vw, 22.5rem);
			margin-bottom: 0.45rem;
		}

		.hero-header-main .hero-logo-img {
			max-width: 100% !important;
		}

		.hero-header-main .mi-bg-object > .container-xxl {
			padding-top: clamp(1rem, 3.5vw, 1.75rem) !important;
			padding-bottom: clamp(1rem, 3.5vw, 1.75rem) !important;
		}
	}

	.intro-skipped .hero-bg-video.hero-video-visible {
		transition: opacity 1s ease !important;
	}

	/* ==========================================================================
	   PAGE TRANSITIONS & SHARED HEADER
	   ========================================================================== */
	#page-main-body,
	.page-content-wrapper,
	#layoutDefault_content main > :not(nav):not(.agenda-section):not(header.vita-page-header) {
		transition: opacity 0.25s cubic-bezier(0.4, 0, 0.2, 1);
		will-change: opacity;
	}
	.page-fade-out {
		opacity: 0 !important;
	}
	.page-fade-in {
		animation: vitaPageFadeIn 0.32s cubic-bezier(0.16, 1, 0.3, 1) forwards;
	}
	@media (prefers-reduced-motion: reduce) {
		.page-fade-in {
			animation: none;
		}
	}
	@keyframes vitaPageFadeIn {
		0% {
			opacity: 0;
			transform: translateY(10px);
		}
		100% {
			opacity: 1;
			transform: translateY(0);
		}
	}

	/* Escenario de tÃ­tulo: capas apiladas al centro (nunca en fila flex) */
	body:not(.is-home) header.vita-page-header .vita-page-header-inner {
		position: absolute;
		inset: 0;
		display: block;
		z-index: 2;
	}
	body:not(.is-home) header.vita-page-header .vita-page-header-text-stage {
		position: absolute;
		inset: 0;
		z-index: 2;
		overflow: hidden;
		pointer-events: none;
	}
	body:not(.is-home) header.vita-page-header.page-header-ui-compact .page-header-ui-content {
		position: absolute;
		inset: 0;
		left: 0;
		right: 0;
		top: 0;
		bottom: 0;
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		max-width: 100%;
		z-index: 2;
		padding: 0 !important;
		margin: 0 !important;
		box-sizing: border-box;
	}
	body:not(.is-home) header.vita-page-header .page-header-ui-content .container {
		width: 100%;
		max-width: 100%;
		flex: 0 1 auto;
	}
	body:not(.is-home) header.vita-page-header .page-header-text-layer--enter {
		z-index: 3;
		opacity: 1;
	}
	body:not(.is-home) header.vita-page-header .page-header-text-layer--leave {
		opacity: 1;
		z-index: 4;
	}
	body:not(.is-home) header.vita-page-header .page-header-text-layer--leave.page-header-text-layer--leave-active {
		opacity: 0;
		transition: opacity 0.24s cubic-bezier(0.4, 0, 0.2, 1);
	}
	/* Entrada: banda (fondo + tÃ­tulo) desliza desde arriba; opacidad 1 â†’ color final desde el inicio */
	body:not(.is-home) header.vita-page-header.page-header-band-slide-in .vita-page-header-bg,
	body:not(.is-home) header.vita-page-header.page-header-band-slide-in .vita-page-header-frost,
	body:not(.is-home) header.vita-page-header.page-header-band-slide-in .page-header-text-layer--enter {
		transform: translate3d(0, -100%, 0);
	}
	body:not(.is-home) header.vita-page-header.page-header-band-slide-in.page-header-band-slide-in-active .vita-page-header-bg,
	body:not(.is-home) header.vita-page-header.page-header-band-slide-in.page-header-band-slide-in-active .vita-page-header-frost,
	body:not(.is-home) header.vita-page-header.page-header-band-slide-in.page-header-band-slide-in-active .page-header-text-layer--enter {
		transform: translate3d(0, 0, 0);
		transition: transform 0.52s cubic-bezier(0.16, 1, 0.3, 1);
	}
	@media (prefers-reduced-motion: reduce) {
		body:not(.is-home) header.vita-page-header .page-header-text-layer--leave.page-header-text-layer--leave-active {
			transition: none;
		}
		body:not(.is-home) header.vita-page-header.page-header-band-slide-in.page-header-band-slide-in-active .vita-page-header-bg,
		body:not(.is-home) header.vita-page-header.page-header-band-slide-in.page-header-band-slide-in-active .vita-page-header-frost,
		body:not(.is-home) header.vita-page-header.page-header-band-slide-in.page-header-band-slide-in-active .page-header-text-layer--enter {
			transition: none;
			transform: none;
		}
	}

	/* Cabecera compacta compartida (pÃ¡ginas internas; el body ya reserva el navbar fijo) */
	:root {
		--vita-page-header-h: 8.5rem;
	}
	@media (min-width: 1200px) {
		:root {
			--vita-page-header-h: 10rem;
		}
	}
	body:not(.is-home) header.vita-page-header.page-header-ui.page-header-ui-compact {
		display: block !important;
		box-sizing: border-box;
		height: var(--vita-page-header-h) !important;
		min-height: var(--vita-page-header-h) !important;
		max-height: var(--vita-page-header-h) !important;
		padding: 0 !important;
		margin: 0 !important;
		overflow: hidden;
		position: relative;
		z-index: 3;
		isolation: isolate;
		background-color: var(--vita-chrome-surface);
		background-image: none !important;
	}

	/* Misma franja clara que en servicio-detail: border-top tras header oscuro */
	body:not(.is-home) header.vita-page-header + .border-top,
	body:not(.is-home) header.vita-page-header + section.border-top {
		border-top: none !important;
	}
	body:not(.is-home) header.vita-page-header.page-header-ui-compact.vita-page-header--extended .vita-page-header-inner {
		position: relative;
		inset: auto;
		min-height: var(--vita-page-header-h);
		padding: 1.35rem 0;
	}
	body:not(.is-home) #vitaSharedPageHeader[hidden] {
		display: none !important;
	}
	body:not(.is-home) header.vita-page-header.page-header-ui-compact.vita-page-header--extended {
		height: auto !important;
		min-height: var(--vita-page-header-h) !important;
		max-height: none !important;
		padding: 0 !important;
	}
	body:not(.is-home) .vita-page-header-bg {
		position: absolute;
		inset: -28px;
		z-index: 0;
		background-size: cover;
		background-position: center;
		background-repeat: no-repeat;
		background-image: var(--vita-page-header-bg);
		filter: blur(14px);
		transform: translateZ(0);
		pointer-events: none;
	}
	body:not(.is-home) header.vita-page-header.overlay::before {
		display: none !important;
		content: none !important;
	}
	body:not(.is-home) .vita-page-header-frost {
		position: absolute;
		inset: 0;
		z-index: 1;
		pointer-events: none;
		background: rgba(8, 8, 10, 0.38);
	}
	body:not(.is-home) header.vita-page-header .page-header-ui-content .container {
		padding-top: 0 !important;
		padding-bottom: 0 !important;
	}
	body:not(.is-home) .page-header-ui-compact .page-header-ui-text {
		margin-bottom: 0.4rem;
		font-size: clamp(0.8rem, 1.6vw, 0.95rem);
		color: #fff !important;
		-webkit-text-fill-color: #fff;
		text-shadow:
			0 2px 14px rgba(0, 0, 0, 0.75),
			0 1px 3px rgba(0, 0, 0, 0.9);
	}
	body:not(.is-home) .page-header-ui-compact h1 {
		font-size: clamp(2.1rem, 5.2vw, 3.15rem);
		line-height: 1.05;
		margin-bottom: 0 !important;
		text-shadow:
			0 3px 18px rgba(0, 0, 0, 0.8),
			0 1px 4px rgba(0, 0, 0, 0.95),
			0 0 40px rgba(0, 0, 0, 0.45);
	}
	body:not(.is-home) header.vita-page-header .page-header-ui-content h1.text-primary {
		color: rgba(var(--bs-primary-rgb), 1) !important;
		-webkit-text-fill-color: rgba(var(--bs-primary-rgb), 1);
	}
	body:not(.is-home) .page-header-ui-compact.vita-page-header--extended h1 {
		margin-bottom: 0.75rem !important;
	}
	body:not(.is-home) .page-header-ui-compact.vita-page-header--extended .lead {
		text-shadow: 0 1px 10px rgba(0, 0, 0, 0.65);
	}

	/* Header global fluido y compartido */
	.navbar-marketing.fixed-top {
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		z-index: 1030;
		transition: background-color 0.4s ease, backdrop-filter 0.4s ease, box-shadow 0.4s ease;
	}
	.navbar-marketing.navbar-scrolled {
		background-color: rgba(32, 32, 32, 0.96) !important;
		-webkit-backdrop-filter: blur(16px) saturate(180%);
		backdrop-filter: blur(16px) saturate(180%);
		box-shadow: 0 4px 20px rgba(0, 0, 0, 0.5) !important;
	}

	/* Sección contacto — inicio: split a altura completa, como Nosotros */
	#contacto.contacto-split {
		display: flex;
		flex-direction: column;
		background: #111;
	}

	#contacto .contacto-split__layout {
		display: grid;
		grid-template-columns: minmax(0, 1fr);
		width: 100%;
		align-items: stretch;
	}

	#contacto .contacto-split__media {
		position: relative;
		display: flex;
		align-items: center;
		justify-content: center;
		min-height: 22rem;
		overflow: hidden;
		background: #111;
	}

	#contacto .contacto-split__video {
		position: absolute;
		inset: 0;
		width: 100%;
		height: 100%;
		object-fit: cover;
		object-position: center;
		z-index: 0;
		filter: blur(12px);
		transform: scale(1.06);
	}

	#contacto .contacto-split__scrim {
		position: absolute;
		inset: 0;
		z-index: 1;
		background: linear-gradient(180deg, rgba(0, 0, 0, 0.42) 0%, rgba(0, 0, 0, 0.62) 100%);
	}

	#contacto .contacto-split__brand {
		position: relative;
		z-index: 2;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		width: 100%;
		padding: 2.75rem 1.5rem;
		text-align: center;
	}

	#contacto .contacto-split__form {
		display: flex;
		flex-direction: column;
		justify-content: center;
		min-width: 0;
		background: #161616;
		padding: 1.85rem 1.35rem 2.15rem;
	}

	#contacto .contacto-logo {
		width: clamp(220px, 42vw, 320px);
		height: auto;
		max-width: 100%;
	}

	#contacto .contacto-form-card {
		width: 100%;
		max-width: 38rem;
		margin-inline: auto;
		color: rgba(255, 255, 255, 0.9) !important;
	}

	#contacto .contacto-form-card label,
	#contacto .contacto-form-card .recaptcha-disclaimer {
		color: rgba(255, 255, 255, 0.82) !important;
	}

	#contacto .contacto-form-card .recaptcha-disclaimer a {
		color: var(--vita-gold-text-on-dark);
	}

	#contacto .contacto-form-card .recaptcha-disclaimer-check .form-check-label {
		color: rgba(255, 255, 255, 0.82) !important;
	}

	#contacto .contacto-form-card h4.text-primary {
		color: var(--vita-gold-text-on-dark) !important;
	}

	#contacto .contacto-form-card .form-control,
	#contacto .contacto-form-card .input-group-text {
		color: #f2f2f2;
		border-color: rgba(var(--vita-gold-text-on-dark-rgb), 0.35);
	}

	#contacto .contacto-form-card .form-control::placeholder {
		color: rgba(255, 255, 255, 0.45);
	}

	#contacto .contacto-form-card .form-control:focus {
		border-color: rgba(var(--vita-gold-text-on-dark-rgb), 0.65);
		box-shadow: 0 0 0 0.2rem rgba(var(--vita-gold-text-on-dark-rgb), 0.15);
		color: #fff;
	}

	#contacto .contacto-form-card #envia.contacto-form__envia {
		--bs-btn-color: var(--vita-gold-text-on-dark, var(--bs-primary));
		--bs-btn-border-color: rgba(var(--vita-gold-text-on-dark-rgb, var(--bs-primary-rgb)), 0.55);
		--bs-btn-bg: transparent;
		--bs-btn-hover-color: #fff;
		--bs-btn-hover-bg: transparent;
		--bs-btn-hover-border-color: var(--vita-gold-text-on-dark, var(--bs-primary));
		--bs-btn-active-color: #fff;
		--bs-btn-active-bg: transparent;
		--bs-btn-active-border-color: var(--vita-gold-text-on-dark, var(--bs-primary));
		background: transparent !important;
		border-width: 1px !important;
		box-shadow: none;
		text-shadow: none;
		animation: none;
		transform: none;
	}

	#contacto .contacto-form-card #envia.contacto-form__envia::before {
		content: none;
		display: none;
	}

	#contacto .contacto-form-card #envia.contacto-form__envia:hover,
	#contacto .contacto-form-card #envia.contacto-form__envia:focus,
	#contacto .contacto-form-card #envia.contacto-form__envia:focus-visible,
	#contacto .contacto-form-card #envia.contacto-form__envia:active {
		background: transparent !important;
		box-shadow: none;
		text-shadow: none;
		animation: none;
		transform: none;
	}

	@media (min-width: 992px) {
		#contacto .contacto-split__layout {
			grid-template-columns: minmax(18rem, 0.92fr) minmax(0, 1.08fr);
			min-height: min(42rem, calc(100dvh - var(--vita-sticky-offset, 114px)));
		}

		#contacto .contacto-split__media {
			min-height: 100%;
			height: auto;
		}

		#contacto .contacto-split__form {
			min-height: 100%;
			padding: 2.5rem clamp(2rem, 4vw, 3.75rem);
		}

		#contacto .contacto-logo {
			width: clamp(240px, 22vw, 320px);
		}
	}

	/* Franja de marcas â€” contacto (inicio) */
	#contacto .contacto-marcas-strip {
		padding: 0.35rem 0;
		overflow: hidden;
	}

	#contacto .contacto-marcas-marquee {
		width: 100%;
		overflow: hidden;
		-webkit-mask-image: linear-gradient(to right, transparent 0%, #000 6%, #000 94%, transparent 100%);
		mask-image: linear-gradient(to right, transparent 0%, #000 6%, #000 94%, transparent 100%);
	}

	#contacto .contacto-marca-item {
		flex: 0 0 auto;
		padding: 0 0.75rem;
		display: flex;
		align-items: center;
		justify-content: center;
	}

	#contacto .contacto-marca-item img,
	#contacto .contacto-marca-logo {
		display: block;
		height: 28px !important;
		max-height: 28px !important;
		max-width: 88px !important;
		width: auto !important;
		object-fit: contain !important;
		opacity: 0.88;
	}

	#contacto .contacto-marcas-marquee--css .contacto-marcas-marquee__viewport {
		width: 100%;
		overflow: hidden;
	}

	#contacto .contacto-marcas-marquee--css .contacto-marcas-marquee__track {
		display: flex;
		flex-wrap: nowrap;
		align-items: center;
		width: max-content;
		min-width: max-content;
		transform: translate3d(0, 0, 0);
		will-change: transform;
	}

	#contacto .contacto-marcas-marquee--css.contacto-marcas-marquee--ready .contacto-marcas-marquee__track {
		animation: vita-contacto-marcas-marquee var(--contacto-marquee-duration, 38s) linear infinite;
		animation-play-state: running !important;
	}

	#contacto .contacto-marcas-marquee--css.contacto-marcas-marquee--ready:hover .contacto-marcas-marquee__track,
	#contacto .contacto-marcas-marquee--css.contacto-marcas-marquee--ready:focus-within .contacto-marcas-marquee__track {
		animation-play-state: running !important;
	}

	#contacto .contacto-marcas-marquee__group {
		display: flex;
		flex: 0 0 auto;
		flex-shrink: 0;
		align-items: center;
		flex-wrap: nowrap;
		width: max-content;
		min-width: max-content;
		gap: 0.15rem;
	}

	@keyframes vita-contacto-marcas-marquee {
		from {
			transform: translate3d(0, 0, 0);
		}
		to {
			transform: translate3d(calc(var(--contacto-marquee-shift, 0px) * -1), 0, 0);
		}
	}

	#contacto .contacto-marcas-marquee--css .contacto-marca-item img,
	#contacto .contacto-marcas-marquee--css .contacto-marca-logo,
	.swiper-marquee-marcas img {
		user-select: none;
		-webkit-user-select: none;
		-webkit-user-drag: none;
		user-drag: none;
		pointer-events: none;
	}

	@media (prefers-reduced-motion: reduce) {
		#contacto .contacto-marcas-marquee--css .contacto-marcas-marquee__track {
			animation: none;
			transform: none;
		}

		#contacto .contacto-marcas-marquee--css .contacto-marcas-marquee__viewport {
			overflow-x: auto;
			scrollbar-width: none;
		}

		#contacto .contacto-marcas-marquee--css .contacto-marcas-marquee__viewport::-webkit-scrollbar {
			display: none;
		}
	}

	.vita-home-intro-section {
		background: linear-gradient(180deg, #f3f4f6 0%, #fff 55%);
		border-bottom: 1px solid rgba(0, 0, 0, 0.06);
	}

	.vita-home-intro-section .vita-servicio-intro-panel__eyebrow {
		text-shadow:
			0 1px 1px rgba(255, 255, 255, 0.92),
			0 0 14px rgba(255, 255, 255, 0.55),
			0 1px 3px rgba(0, 0, 0, 0.07);
	}

	.vita-home-intro-section .vita-servicio-intro-panel__title {
		text-shadow:
			0 1px 2px rgba(255, 255, 255, 0.95),
			0 0 22px rgba(255, 255, 255, 0.5),
			0 2px 10px rgba(0, 0, 0, 0.09);
	}

	/* Inicio: acordeón horizontal «Nuestros servicios» */
	.vita-home-servicios-acc-wrap {
		width: 100%;
		background: #fff;
	}

	.vita-home-servicios-acc-wrap__head {
		padding: clamp(2rem, 4vw, 2.75rem) 1rem clamp(1.15rem, 2.5vw, 1.5rem);
	}

	.vita-home-servicios-acc-wrap__title {
		margin: 0;
		font-size: clamp(1.5rem, 3.5vw, 2.1rem);
		line-height: 1.12;
		letter-spacing: 0.12em;
		color: var(--bs-primary-strong);
	}

	.vita-home-servicios-acc-wrap__title::after {
		content: "";
		display: block;
		width: 3.5rem;
		height: 3px;
		margin: 0.65rem auto 0;
		border-radius: 2px;
		background: linear-gradient(90deg, transparent, var(--bs-primary), transparent);
	}

	.vita-home-servicios-acc {
		--vita-home-servicios-acc-h: clamp(18rem, 48vh, 32rem);
		--vita-home-servicios-acc-open: 4.25;
		--vita-home-servicios-acc-rest: 4;
		--vita-home-servicios-acc-title-ease: cubic-bezier(0.22, 1, 0.36, 1);
		--vita-home-servicios-acc-title-out: 0.34s;
		--vita-home-servicios-acc-title-in: 0.48s;
		container-type: inline-size;
		display: flex;
		flex-direction: row;
		align-items: stretch;
		width: 100%;
		height: var(--vita-home-servicios-acc-h);
		min-height: var(--vita-home-servicios-acc-h);
		max-height: var(--vita-home-servicios-acc-h);
		border-top: 1px solid rgba(0, 0, 0, 0.08);
	}

	.vita-home-servicios-acc__item {
		flex: 1 1 0%;
		min-width: 0;
		height: 100%;
		display: flex;
		flex-direction: column;
		position: relative;
		overflow: hidden;
		border-right: 1px solid rgba(0, 0, 0, 0.1);
		transition: flex 0.72s cubic-bezier(0.4, 0, 0.2, 1);
	}

	.vita-home-servicios-acc__item:last-child {
		border-right: none;
	}

	.vita-home-servicios-acc__item.is-open {
		flex: var(--vita-home-servicios-acc-open) 1 0%;
	}

	.vita-home-servicios-acc__trigger {
		flex: 1 1 auto;
		display: block;
		width: 100%;
		height: 100%;
		min-height: 0;
		margin: 0;
		padding: 0;
		border: 0;
		cursor: pointer;
		text-align: left;
		background: #141414;
	}

	.vita-home-servicios-acc__trigger:focus-visible {
		outline: 2px solid rgba(var(--bs-primary-rgb), 0.85);
		outline-offset: -3px;
	}

	.vita-home-servicios-acc__trigger-card {
		position: relative;
		display: flex;
		flex-direction: column;
		justify-content: flex-start;
		width: 100%;
		height: 100%;
		min-height: 0;
		overflow: hidden;
	}

	.vita-home-servicios-acc__trigger-media {
		position: absolute;
		inset: 0;
		z-index: 0;
		background-image: var(--vita-home-servicios-acc-thumb);
		background-size: cover;
		background-position: center top;
		background-repeat: no-repeat;
		transform: scale(1);
		transition: transform 0.55s cubic-bezier(0.25, 0.46, 0.45, 0.94);
	}

	.vita-home-servicios-acc__trigger-scrim {
		position: absolute;
		inset: 0;
		z-index: 1;
		background: linear-gradient(
			180deg,
			rgba(8, 8, 8, 0.82) 0%,
			rgba(8, 8, 8, 0.45) 38%,
			rgba(8, 8, 8, 0.12) 72%,
			rgba(8, 8, 8, 0.35) 100%
		);
		pointer-events: none;
		transition: opacity 0.32s ease;
	}

	.vita-home-servicios-acc__trigger-title-wrap {
		position: relative;
		z-index: 2;
		flex: 0 0 auto;
		padding: clamp(0.9rem, 1.7vw, 1.3rem) clamp(0.7rem, 1.25vw, 1rem);
		overflow: hidden;
	}

	.vita-home-servicios-acc__trigger-label {
		display: block;
		width: auto;
		max-width: min(100%, 17rem);
		margin: 0;
		font-size: clamp(1.05rem, 1.85vw, 1.38rem);
		line-height: 1.16;
		letter-spacing: 0.065em;
		text-wrap: pretty;
		opacity: 1;
		transform: translate3d(0, 0, 0);
		transition:
			opacity var(--vita-home-servicios-acc-title-out) ease,
			transform var(--vita-home-servicios-acc-title-out) var(--vita-home-servicios-acc-title-ease);
	}

	.vita-home-servicios-acc__item:not(.is-open) .vita-home-servicios-acc__trigger-label {
		transition-delay: 0.14s;
	}

	.vita-home-servicios-acc__item.is-open .vita-home-servicios-acc__trigger-label {
		opacity: 0;
		transform: translate3d(-0.55rem, -1.15rem, 0);
		transition-delay: 0s;
	}

	.vita-home-servicios-acc__trigger-chip {
		display: inline;
		padding: 0.36em 0.54em 0.4em;
		background-color: #fff;
		color: #1a1a1a;
		border-radius: 0.16rem;
		box-decoration-break: clone;
		-webkit-box-decoration-break: clone;
		line-height: 1.22;
		box-shadow: 0 4px 18px rgba(0, 0, 0, 0.28);
	}

	.vita-home-servicios-acc__item:not(.is-open) .vita-home-servicios-acc__trigger:hover .vita-home-servicios-acc__trigger-media {
		transform: scale(1.05);
	}

	.vita-home-servicios-acc__item:not(.is-open) .vita-home-servicios-acc__trigger:hover .vita-home-servicios-acc__trigger-scrim {
		opacity: 0.92;
	}

	.vita-home-servicios-acc__item.is-open .vita-home-servicios-acc__trigger {
		pointer-events: none;
	}

	.vita-home-servicios-acc__item.is-open .vita-home-servicios-acc__trigger-card {
		opacity: 0;
		visibility: hidden;
		transition:
			opacity 0.28s ease 0.08s,
			visibility 0s linear 0.36s;
	}

	.vita-home-servicios-acc__panel {
		position: absolute;
		top: 0;
		left: 0;
		bottom: 0;
		z-index: 1;
		width: calc(100cqw * var(--vita-home-servicios-acc-open) / (var(--vita-home-servicios-acc-open) + var(--vita-home-servicios-acc-rest)));
		height: 100%;
		overflow: hidden;
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		transition:
			opacity 0.48s ease,
			visibility 0s linear 0.48s;
	}

	.vita-home-servicios-acc__item.is-open .vita-home-servicios-acc__panel {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
		transition:
			opacity 0.55s ease 0.12s,
			visibility 0s linear 0s;
	}

	.vita-home-servicios-acc__panel-grid {
		display: grid;
		grid-template-columns: 1fr;
		width: 100%;
		height: 100%;
		min-height: 0;
	}

	@media (min-width: 992px) {
		.vita-home-servicios-acc__panel-grid {
			grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
		}
	}

	.vita-home-servicios-acc__copy {
		display: flex;
		flex-direction: column;
		justify-content: flex-start;
		gap: 0.65rem;
		min-height: 0;
		padding: clamp(1.45rem, 3.2vw, 2.15rem) clamp(1.15rem, 3vw, 2rem) clamp(1.25rem, 3vw, 2rem);
		background: #2c2c2c;
		color: #fff;
		overflow: hidden;
	}

	.vita-home-servicios-acc__title-wrap {
		overflow: hidden;
		flex: 0 0 auto;
	}

	.vita-home-servicios-acc__title {
		opacity: 0;
		transform: translate3d(0, -1.35rem, 0);
		transition:
			opacity var(--vita-home-servicios-acc-title-in) ease,
			transform var(--vita-home-servicios-acc-title-in) var(--vita-home-servicios-acc-title-ease);
		transition-delay: 0s;
	}

	.vita-home-servicios-acc__item.is-open .vita-home-servicios-acc__title {
		opacity: 1;
		transform: translate3d(0, 0, 0);
		transition-delay: 0.16s;
	}

	.vita-home-servicios-acc__body,
	.vita-home-servicios-acc__actions {
		opacity: 0;
		transform: translate3d(0, 0.85rem, 0);
		transition:
			opacity 0.4s ease,
			transform 0.45s var(--vita-home-servicios-acc-title-ease);
		transition-delay: 0s;
	}

	.vita-home-servicios-acc__item.is-open .vita-home-servicios-acc__body,
	.vita-home-servicios-acc__item.is-open .vita-home-servicios-acc__actions {
		opacity: 1;
		transform: translate3d(0, 0, 0);
	}

	.vita-home-servicios-acc__item.is-open .vita-home-servicios-acc__body {
		transition-delay: 0.28s;
	}

	.vita-home-servicios-acc__item.is-open .vita-home-servicios-acc__actions {
		transition-delay: 0.36s;
	}

	.vita-home-servicios-acc__media {
		position: relative;
		height: 100%;
		min-height: 0;
		background-size: cover;
		background-position: center;
		background-repeat: no-repeat;
	}

	.vita-home-servicios-acc__media::after {
		content: "";
		position: absolute;
		inset: 0;
		background: linear-gradient(90deg, #2c2c2c 0%, rgba(44, 44, 44, 0.35) 28%, transparent 55%);
		pointer-events: none;
	}

	@media (max-width: 991.98px) {
		.vita-home-servicios-acc__media::after {
			background: linear-gradient(180deg, transparent 40%, rgba(44, 44, 44, 0.25) 100%);
		}
	}

	.vita-home-servicios-acc__title {
		display: flex;
		flex-wrap: wrap;
		gap: 0.22rem 0.3rem;
		margin: 0;
		font-size: clamp(1.15rem, 2.4vw, 1.45rem);
		line-height: 1.15;
		text-transform: uppercase;
	}

	.vita-home-servicios-acc__title .vita-servicio-split__title-chip {
		display: inline-block;
		padding: 0.08em 0.32em 0.12em;
		background-color: #fff;
		color: #1a1a1a !important;
		border-radius: 0.16rem;
		line-height: 1.1;
		box-decoration-break: clone;
		-webkit-box-decoration-break: clone;
	}

	.vita-home-servicios-acc__text {
		margin: 0;
		font-size: calc(0.95rem * var(--vita-font-scale, 1.1));
		line-height: 1.55;
		color: rgba(255, 255, 255, 0.9);
	}

	.vita-home-servicios-acc__body .vita-home-servicios-acc__text + .vita-home-servicios-acc__text {
		margin-top: 0.55rem;
	}

	.vita-home-servicios-acc__highlights {
		display: flex;
		flex-wrap: wrap;
		gap: 0.4rem 0.55rem;
		margin-top: 0.85rem;
	}

	.vita-home-servicios-acc__highlights-item {
		display: inline-flex;
		flex-wrap: wrap;
		align-items: baseline;
		gap: 0.2rem 0.35rem;
		padding: 0.32rem 0.6rem;
		border-radius: 999px;
		background: rgba(255, 255, 255, 0.08);
		border: 1px solid rgba(255, 255, 255, 0.14);
		font-size: 0.74rem;
		line-height: 1.25;
	}

	.vita-home-servicios-acc__highlights-label {
		font-weight: 600;
		text-transform: uppercase;
		letter-spacing: 0.04em;
	}

	.vita-home-servicios-acc__highlights-price {
		color: var(--bs-primary);
		font-weight: 600;
		white-space: nowrap;
	}

	.vita-home-servicios-acc__actions {
		margin-top: 1rem;
	}

	@media (max-width: 991.98px) {
		.vita-home-servicios-acc {
			flex-direction: column;
			height: auto;
			min-height: 0;
			max-height: none;
		}

		.vita-home-servicios-acc__item {
			flex: none;
			width: 100%;
			height: auto;
			border-right: none;
			border-bottom: 1px solid rgba(0, 0, 0, 0.1);
		}

		.vita-home-servicios-acc__item.is-open {
			flex: none;
			min-width: 0;
			flex-direction: column;
		}

		.vita-home-servicios-acc__trigger {
			height: 5.25rem;
			min-height: 5.25rem;
			max-height: 5.25rem;
		}

		.vita-home-servicios-acc__trigger-title-wrap {
			padding: 0.7rem 0.85rem;
		}

		.vita-home-servicios-acc__trigger-label {
			max-width: min(92%, 20rem);
			font-size: clamp(0.95rem, 3.8vw, 1.12rem);
		}

		.vita-home-servicios-acc__item.is-open .vita-home-servicios-acc__trigger {
			position: static;
			width: 100%;
			height: 5.25rem;
			min-height: 5.25rem;
			max-height: 5.25rem;
			margin: 0;
			padding: 0;
			overflow: visible;
			clip: auto;
			white-space: normal;
		}

		.vita-home-servicios-acc__item.is-open .vita-home-servicios-acc__panel {
			position: relative;
			inset: auto;
			width: 100%;
			height: var(--vita-home-servicios-acc-h);
			max-height: var(--vita-home-servicios-acc-h);
		}

		.vita-home-servicios-acc__item:not(.is-open) .vita-home-servicios-acc__panel {
			position: absolute;
			height: 0;
			overflow: hidden;
		}

		.vita-home-servicios-acc__panel-grid {
			display: flex;
			flex-direction: column;
			height: 100%;
		}

		.vita-home-servicios-acc__media {
			flex: 0 0 42%;
			height: auto;
			min-height: 0;
			order: -1;
		}
	}

	@media (prefers-reduced-motion: reduce) {
		.vita-home-servicios-acc__item,
		.vita-home-servicios-acc__panel,
		.vita-home-servicios-acc__trigger-label,
		.vita-home-servicios-acc__title,
		.vita-home-servicios-acc__body,
		.vita-home-servicios-acc__actions,
		.vita-home-servicios-acc__trigger-media {
			transition: none !important;
		}

		.vita-home-servicios-acc__item:not(.is-open) .vita-home-servicios-acc__trigger-label,
		.vita-home-servicios-acc__item.is-open .vita-home-servicios-acc__title,
		.vita-home-servicios-acc__item.is-open .vita-home-servicios-acc__body,
		.vita-home-servicios-acc__item.is-open .vita-home-servicios-acc__actions {
			opacity: 1;
			transform: none;
		}
	}

	/* Nuestros servicios: pestañas fijas + contenido lineal por slide */
	.servicios-showcase-tabs {
		display: grid;
		grid-template-columns: repeat(5, minmax(0, 1fr));
		gap: 0.75rem;
		margin-bottom: 1.75rem;
	}

	.servicios-tab {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		justify-content: flex-start;
		width: 100%;
		min-height: 100%;
		padding: 0;
		border: 2px solid rgba(0, 0, 0, 0.08);
		border-radius: 0.75rem;
		background: #fff;
		color: var(--bs-body-color);
		text-align: center;
		cursor: pointer;
		overflow: hidden;
		transition: border-color 0.22s ease, box-shadow 0.22s ease, color 0.22s ease;
	}

	.servicios-tab-inner {
		display: flex;
		flex: 1 1 auto;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 0.5rem;
		padding: 0.65rem 0.5rem 0.55rem;
	}

	.servicios-tab-progress {
		display: block;
		flex: 0 0 auto;
		height: 4px;
		width: 100%;
		background: rgba(var(--bs-primary-rgb), 0.14);
	}

	.servicios-tab-progress-fill {
		display: block;
		height: 100%;
		width: 0%;
		background: linear-gradient(90deg, var(--bs-primary) 0%, rgba(var(--bs-primary-rgb), 0.85) 100%);
		will-change: width;
	}

	.servicios-tab .servicios-tab-icon {
		color: var(--bs-body-color) !important;
		-webkit-text-stroke: 0.5px var(--bs-body-color);
		-webkit-text-fill-color: var(--bs-body-color);
		line-height: 1;
	}

	.servicios-tab .servicios-tab-label {
		font-size: 0.95rem;
		line-height: 1.15;
		color: var(--bs-primary) !important;
	}

	.servicios-tab:hover,
	.servicios-tab:focus-visible {
		border-color: rgba(var(--bs-primary-rgb), 0.45);
		outline: none;
	}

	.servicios-tab.is-active {
		border-color: rgba(var(--bs-primary-rgb, 232, 195, 30), 0.65);
		box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08), 0 0 0 1px rgba(var(--bs-primary-rgb, 232, 195, 30), 0.25);
		color: var(--bs-body-color);
	}

	.servicios-tab.is-active .servicios-tab-icon {
		color: var(--bs-primary) !important;
		-webkit-text-stroke: 0.5px var(--bs-primary);
		-webkit-text-fill-color: var(--bs-primary);
	}

	.servicios-tab.is-active .servicios-tab-label {
		color: var(--bs-body-color) !important;
	}

	.servicios-showcase-panel {
		position: relative;
		padding: 0;
	}

	.servicios-showcase-panel .swiper-servicios-info {
		overflow: hidden;
	}

	.servicio-slide {
		padding: 0.25rem 0 0.5rem;
	}

	.servicio-slide-actions .btn {
		min-width: 9.5rem;
	}

	@media (max-width: 991.98px) {
		.servicios-showcase-tabs {
			display: flex;
			flex-wrap: nowrap;
			overflow-x: auto;
			-webkit-overflow-scrolling: touch;
			scroll-snap-type: x mandatory;
			gap: 0.65rem;
			padding-bottom: 0.35rem;
			margin-bottom: 1.25rem;
		}

		.servicios-tab {
			flex: 0 0 42%;
			max-width: 11.5rem;
			scroll-snap-align: start;
		}

		.servicios-tab .servicios-tab-label {
			font-size: 0.85rem;
		}
	}

	@media (max-width: 559.98px) {
		.servicios-tab {
			flex-basis: 46%;
		}
	}

	/* Banner de consentimiento de cookies (entrada desde abajo) */
	.vita-cookie-consent {
		position: fixed;
		left: 50%;
		bottom: 0;
		z-index: 1000001;
		width: auto;
		max-width: calc(100% - 1.5rem);
		padding: 0;
		pointer-events: none;
		transform: translate(-50%, 100%);
		transition: transform 0.55s cubic-bezier(0.16, 1, 0.3, 1);
		will-change: transform;
	}
	.vita-cookie-consent.is-visible {
		transform: translate(-50%, 0);
		pointer-events: auto;
	}
	.vita-cookie-consent.is-dismissed {
		transform: translate(-50%, 100%);
		pointer-events: none;
	}
	.vita-cookie-consent__panel {
		display: inline-flex;
		flex-direction: row;
		flex-wrap: nowrap;
		align-items: center;
		justify-content: flex-start;
		gap: 0.75rem;
		width: auto;
		max-width: 100%;
		margin: 0;
		padding: 0.65rem 1.25rem max(0.65rem, env(safe-area-inset-bottom));
		border-radius: 0.65rem 0.65rem 0 0;
		background: linear-gradient(135deg, rgba(25, 25, 25, 0.92) 0%, rgba(10, 10, 10, 0.96) 100%);
		border: 1px solid rgba(255, 255, 255, 0.14);
		border-bottom: none;
		-webkit-backdrop-filter: blur(14px) saturate(160%);
		backdrop-filter: blur(14px) saturate(160%);
		box-shadow: 0 -8px 28px rgba(0, 0, 0, 0.4);
		color: rgba(255, 255, 255, 0.92);
		font-size: calc(0.8125rem * var(--vita-font-scale));
		line-height: 1.4;
		text-align: left;
	}
	.vita-cookie-consent__text {
		flex: 1 1 auto;
		min-width: 0;
	}
	.vita-cookie-consent__gap {
		display: block;
		flex: 0 0 3.5rem;
		width: 3.5rem;
		min-width: 3.5rem;
		height: 1px;
	}
	.vita-cookie-consent__message {
		margin: 0;
	}
	.vita-cookie-consent__link {
		display: inline-block;
		margin-top: 0.15rem;
		color: #F8E27A;
		font-size: calc(0.78rem * var(--vita-font-scale));
		text-decoration: underline;
		text-underline-offset: 2px;
	}
	.vita-cookie-consent__link:hover {
		color: #fff;
	}
	.vita-cookie-consent__actions {
		display: flex;
		flex-wrap: nowrap;
		flex: 0 0 auto;
		align-items: center;
		justify-content: flex-end;
		gap: 0.55rem;
	}
	.navbar-toggler-icon-svg {
		display: block;
		flex-shrink: 0;
	}

	.vita-cookie-consent__btn {
		min-width: 0;
		white-space: nowrap;
	}

	@media (min-width: 768px) {
		.vita-cookie-consent__text {
			display: flex;
			flex-wrap: nowrap;
			align-items: center;
			gap: 0.35rem;
		}
		.vita-cookie-consent__message {
			white-space: nowrap;
		}
		.vita-cookie-consent__link {
			margin-top: 0;
			white-space: nowrap;
		}
	}

	@media (max-width: 767.98px) {
		.vita-cookie-consent {
			left: 0;
			right: 0;
			width: 100%;
			max-width: none;
			transform: translate3d(0, 100%, 0);
		}
		.vita-cookie-consent.is-visible {
			transform: translate3d(0, 0, 0);
		}
		.vita-cookie-consent.is-dismissed {
			transform: translate3d(0, 100%, 0);
		}
		.vita-cookie-consent__panel {
			display: flex;
			flex-direction: column;
			align-items: stretch;
			width: 100%;
			padding: 0.85rem max(1rem, env(safe-area-inset-right)) max(0.85rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left));
			border-radius: 0.85rem 0.85rem 0 0;
			font-size: calc(0.84rem * var(--vita-font-scale));
			line-height: 1.45;
		}
		.vita-cookie-consent__gap {
			display: none;
		}
		.vita-cookie-consent__text {
			text-align: left;
		}
		.vita-cookie-consent__message {
			white-space: normal;
		}
		.vita-cookie-consent__link {
			margin-top: 0.35rem;
			font-size: calc(0.82rem * var(--vita-font-scale));
		}
		.vita-cookie-consent__actions {
			display: grid;
			grid-template-columns: 1fr 1fr;
			width: 100%;
			margin-top: 0.75rem;
			gap: 0.55rem;
		}
		.vita-cookie-consent__btn {
			width: 100%;
			min-height: 2.75rem;
			padding-inline: 0.75rem;
			font-size: calc(0.82rem * var(--vita-font-scale)) !important;
			white-space: nowrap;
		}
	}

	@media (max-width: 359.98px) {
		.vita-cookie-consent__actions {
			grid-template-columns: 1fr;
		}
	}

	/* Franja flotante inferior derecha (WhatsApp + volver arriba) */
	.floating-menu-right.floating-dock {
		flex-direction: row;
		align-items: center;
		gap: 0;
		bottom: max(0.75rem, env(safe-area-inset-bottom, 0px));
		right: max(0.65rem, env(safe-area-inset-right, 0px));
		padding: 0;
		background: transparent;
		border: none;
		box-shadow: none;
		z-index: 1095;
		isolation: isolate;
		pointer-events: none;
	}
	.floating-menu-right.floating-dock > a {
		filter: drop-shadow(1px 2px 4px rgba(0, 0, 0, 0.3));
		margin-top: 0;
		pointer-events: auto;
	}
	@keyframes floatingDockWhatsappEnter {
		from {
			opacity: 0;
			transform: translate3d(0, 3rem, 0);
		}
		to {
			opacity: 1;
			transform: translate3d(0, 0, 0);
		}
	}
	.floating-dock__whatsapp {
		display: flex;
		align-items: center;
		justify-content: flex-end;
		flex-shrink: 0;
		text-decoration: none;
		color: #fff;
		overflow: visible;
		transition: transform 0.45s cubic-bezier(0.16, 1, 0.3, 1);
	}
	.floating-dock__whatsapp:hover,
	.floating-dock__whatsapp:focus,
	.floating-dock__whatsapp:focus-visible,
	.floating-dock__whatsapp:visited,
	.floating-dock__whatsapp:active {
		text-decoration: none;
		color: #fff;
	}
	.floating-dock__whatsapp.floating-dock__whatsapp--enter {
		transform: translate3d(0, 3rem, 0);
		opacity: 0;
		animation: floatingDockWhatsappEnter 0.72s cubic-bezier(0.16, 1, 0.3, 1) 0.45s forwards;
		will-change: transform, opacity;
	}
	.floating-dock__pill {
		--floating-dock-photo: 2.5rem;
		font-family: var(--vita-font-condensed);
		text-decoration: none;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		flex-direction: row;
		box-sizing: border-box;
		min-width: calc(var(--floating-dock-photo) + 0.375rem);
		min-height: calc(var(--floating-dock-photo) + 0.375rem);
		padding: 0.1875rem;
		border-radius: 999px;
		background-color: #25d366;
		box-shadow: 0 2px 10px rgba(37, 211, 102, 0.35);
		overflow: visible;
		transition:
			box-shadow 0.35s ease,
			padding 0.5s cubic-bezier(0.16, 1, 0.3, 1),
			min-width 0.5s cubic-bezier(0.16, 1, 0.3, 1);
	}
	.floating-dock__whatsapp:hover .floating-dock__pill,
	.floating-dock__whatsapp:focus-visible .floating-dock__pill {
		box-shadow: 0 4px 14px rgba(37, 211, 102, 0.45);
	}
	.floating-dock__label-wrap {
		display: flex;
		align-items: center;
		flex: 0 0 auto;
		width: 0;
		max-width: 0;
		opacity: 0;
		overflow: hidden;
		white-space: nowrap;
		transition:
			max-width 0.5s cubic-bezier(0.16, 1, 0.3, 1) 0.06s,
			width 0.5s cubic-bezier(0.16, 1, 0.3, 1) 0.06s,
			opacity 0.35s ease 0.1s;
	}
	.floating-dock__label {
		display: block;
		padding: 0 0.65rem 0 0.4rem;
		font-family: inherit;
		font-weight: 700;
		font-size: 0.9375rem;
		letter-spacing: 0.03em;
		line-height: 1.1;
		color: #fff;
		text-decoration: none;
		text-shadow:
			0 1px 2px rgba(0, 0, 0, 0.45),
			0 2px 8px rgba(0, 0, 0, 0.35);
		-webkit-font-smoothing: antialiased;
		transform: translateX(-0.5rem);
		transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1) 0.1s;
	}
	.floating-dock__photo {
		position: relative;
		flex: 0 0 var(--floating-dock-photo);
		width: var(--floating-dock-photo);
		height: var(--floating-dock-photo);
		overflow: visible;
		z-index: 1;
		transform: translateX(0);
		transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1);
	}
	.floating-dock__photo-stack {
		position: absolute;
		inset: 0;
		border-radius: 50%;
		overflow: hidden;
		border: 2px solid rgba(255, 255, 255, 0.95);
		box-sizing: border-box;
		background: #2a2a2a;
	}
	.floating-dock__photo-layer {
		display: block;
		width: 100%;
		height: 100%;
		object-fit: cover;
		object-position: center top;
	}
	.photo-rotator-layer {
		position: absolute;
		inset: 0;
		opacity: 0;
		transition: opacity 0.55s ease-in-out;
		z-index: 0;
		pointer-events: none;
	}
	.photo-rotator-layer.is-visible {
		opacity: 1;
		z-index: 1;
	}
	.floating-dock__wa-badge {
		position: absolute;
		top: -0.35rem;
		right: -0.35rem;
		z-index: 3;
		width: 1.2rem;
		height: 1.2rem;
		border-radius: 50%;
		background: #25d366;
		border: 2px solid #fff;
		display: flex;
		align-items: center;
		justify-content: center;
		font-size: 0.58rem;
		color: #fff;
		box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
		pointer-events: none;
	}
	.floating-menu-right.floating-dock .floating-dock__top.btn-circle {
		--floating-dock-top-size: 2.75rem;
		--floating-dock-top-gap: 0.5rem;
		--floating-dock-top-ring: 119.38;
		--scroll-progress: 0;
		position: relative;
		flex: 0 0 auto;
		box-sizing: border-box;
		min-width: var(--floating-dock-top-size) !important;
		min-height: var(--floating-dock-top-size) !important;
		width: var(--floating-dock-top-size);
		max-width: var(--floating-dock-top-size);
		height: var(--floating-dock-top-size);
		margin-top: 0 !important;
		margin-left: var(--floating-dock-top-gap);
		padding: 0;
		font-size: 0.95rem;
		opacity: 1;
		transform: scale(1);
		overflow: visible;
		visibility: visible;
		transition:
			max-width 0.48s cubic-bezier(0.16, 1, 0.3, 1),
			min-width 0.48s cubic-bezier(0.16, 1, 0.3, 1),
			width 0.48s cubic-bezier(0.16, 1, 0.3, 1),
			margin-left 0.48s cubic-bezier(0.16, 1, 0.3, 1),
			opacity 0.38s ease,
			transform 0.48s cubic-bezier(0.16, 1, 0.3, 1),
			visibility 0s linear 0s;
	}
	.floating-menu-right.floating-dock .floating-dock__top.floating-dock__top--hidden {
		min-width: 0 !important;
		width: 0;
		max-width: 0;
		margin-left: 0;
		opacity: 0;
		transform: scale(0.55);
		pointer-events: none;
		visibility: hidden;
		transition:
			max-width 0.48s cubic-bezier(0.16, 1, 0.3, 1),
			min-width 0.48s cubic-bezier(0.16, 1, 0.3, 1),
			width 0.48s cubic-bezier(0.16, 1, 0.3, 1),
			margin-left 0.48s cubic-bezier(0.16, 1, 0.3, 1),
			opacity 0.32s ease,
			transform 0.48s cubic-bezier(0.16, 1, 0.3, 1),
			visibility 0s linear 0.48s;
	}
	.floating-menu-right.floating-dock .floating-dock__top.floating-dock__top--hidden i,
	.floating-menu-right.floating-dock .floating-dock__top.floating-dock__top--hidden .floating-dock__top-ring {
		opacity: 0;
	}
	.floating-menu-right.floating-dock .floating-dock__top i {
		position: relative;
		z-index: 1;
		transition: opacity 0.28s ease;
	}
	.floating-dock__top-ring {
		position: absolute;
		inset: 0;
		width: 100%;
		height: 100%;
		transform: rotate(-90deg);
		pointer-events: none;
		transition: opacity 0.28s ease;
	}
	.floating-dock__top-ring-track {
		fill: none;
		stroke: rgba(255, 255, 255, 0.22);
		stroke-width: 2.5;
	}
	.floating-dock__top-ring-progress {
		fill: none;
		stroke: var(--bs-primary, #c59b2d);
		stroke-width: 2.5;
		stroke-linecap: round;
		stroke-dasharray: var(--floating-dock-top-ring);
		stroke-dashoffset: calc(var(--floating-dock-top-ring) * (1 - var(--scroll-progress, 0)));
		transition: stroke-dashoffset 0.15s linear;
	}
	@media (hover: hover) {
		.floating-dock__whatsapp:hover .floating-dock__pill,
		.floating-dock__whatsapp:focus-visible .floating-dock__pill {
			padding-right: 0.5rem;
		}
		.floating-dock__whatsapp:hover .floating-dock__photo,
		.floating-dock__whatsapp:focus-visible .floating-dock__photo {
			transform: translateX(-0.45rem);
		}
		.floating-dock__whatsapp:hover .floating-dock__label-wrap,
		.floating-dock__whatsapp:focus-visible .floating-dock__label-wrap {
			width: auto;
			max-width: 8rem;
			opacity: 1;
		}
		.floating-dock__whatsapp:hover .floating-dock__label,
		.floating-dock__whatsapp:focus-visible .floating-dock__label {
			transform: translateX(0);
		}
	}
	@media (prefers-reduced-motion: reduce) {
		.floating-dock__whatsapp {
			animation: none !important;
			opacity: 1 !important;
			transform: none !important;
		}
		.floating-dock__pill,
		.floating-dock__label-wrap,
		.floating-dock__label,
		.floating-dock__photo,
		.floating-menu-right.floating-dock .floating-dock__top.btn-circle {
			transition: none !important;
		}
		.floating-menu-right.floating-dock .floating-dock__top.floating-dock__top--hidden {
			transition: none !important;
		}
	}
