/* Foundation Bustum 2.0: Atomic es la fuente principal; este archivo conserva
 * compatibilidad V3 y reglas que Elementor Atomic 4.2.4 no expresa por completo. */

:root {
	--bustum-grid-line: rgba(255, 255, 255, 0.055);
	--bustum-breakpoint-tablet: 1050px;
	--bustum-breakpoint-mobile: 760px;
	--bustum-header-height: 84px;
	--bustum-header-height-mobile: 70px;
	--bustum-section-x: 6vw;
	--bustum-section-x-mobile: 20px;
	--bustum-brand-gradient: linear-gradient(90deg, var(--bustum-yellow), var(--bustum-pink), var(--bustum-lilac));
	--bustum-focus-color: var(--bustum-yellow);

	/* Alias temporales para las utilidades del child theme 1.2.2. */
	--bustum-color-1: var(--bustum-yellow);
	--bustum-color-2: var(--bustum-pink);
	--bustum-color-3: var(--bustum-lilac);
}

body:has(#audio-hero) {
/* Producción audiovisual. Estructura Atomic; Video V3 solo porque Atomic 4.2.4
 * no ofrece un elemento de video editable equivalente. */
.bustum-audio-hero {
	position: relative;
	overflow: clip;
}

.bustum-audio-hero::after {
	position: absolute;
	inset: auto 0 0;
	height: 7px;
	background: var(--bustum-brand-gradient);
	content: "";
}

.bustum-audio-symbol {
	position: relative;
	border: 1px solid var(--bustum-line-dark);
}

.bustum-audio-symbol::before {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 130px;
	height: 130px;
	background: var(--bustum-brand-gradient);
	clip-path: polygon(12% 0, 100% 50%, 12% 100%);
	content: "";
	transform: translate(-50%, -50%);
}

.bustum-audio-media-frame {
	position: relative;
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	border: 1px solid var(--bustum-black);
	background: var(--bustum-black);
	box-shadow: 24px 24px 0 rgba(0, 0, 0, 0.1);
}

.bustum-audio-media-frame::before {
	position: absolute;
	z-index: 2;
	inset: 0 0 auto;
	height: 7px;
	background: var(--bustum-brand-gradient);
	content: "";
	pointer-events: none;
}

.bustum-audio-media-frame > .elementor-element,
.bustum-audio-video,
.bustum-audio-video iframe {
	display: block;
	width: 100%;
	height: 100%;
}

.bustum-audio-card-grid {
	border-top: 1px solid var(--bustum-line-dark);
	border-left: 1px solid var(--bustum-line-dark);
}

.bustum-audio-card {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
}

.bustum-audio-card,
.bustum-audio-process-card {
	border-right: 1px solid var(--bustum-line-dark);
	border-bottom: 1px solid var(--bustum-line-dark);
}

.bustum-audio-process-card {
	border-color: var(--bustum-line-light);
}

.bustum-audio-card-title,
.bustum-audio-switcher-title {
	margin: 0;
	overflow-wrap: anywhere;
}

.bustum-audio-process-grid {
	border-top: 1px solid var(--bustum-line-light);
	border-left: 1px solid var(--bustum-line-light);
}

.bustum-audio-quote {
	margin-top: -18px;
}

.bustum-audio-service-switcher {
	border-top: 1px solid var(--bustum-line-dark);
	border-bottom: 1px solid var(--bustum-line-dark);
}

.bustum-audio-switcher-item {
	border-right: 1px solid var(--bustum-line-dark);
	color: var(--bustum-white);
	text-decoration: none;
	transition: background-color 0.2s, color 0.2s;
}

.bustum-audio-switcher-item:first-child {
	border-left: 1px solid var(--bustum-line-dark);
}

.bustum-audio-switcher-item.is-active {
	background: var(--bustum-white);
	color: var(--bustum-black);
}

a.bustum-audio-switcher-item:hover {
	background: rgba(255, 255, 255, 0.06);
}

.bustum-audio-switcher-copy {
	grid-column: 2;
}

.bustum-audio-switcher-arrow {
	grid-column: 3;
	grid-row: 1 / span 2;
}

@media (max-width: 1050px) {
	.bustum-audio-media-frame {
		width: min(100%, 900px);
	}

	.bustum-audio-switcher-item {
		border-left: 1px solid var(--bustum-line-dark);
		border-bottom: 1px solid var(--bustum-line-dark);
	}
}

@media (max-width: 760px) {
	.bustum-audio-symbol::before {
		width: 86px;
		height: 86px;
	}

	.bustum-audio-media-frame {
		box-shadow: 12px 12px 0 rgba(0, 0, 0, 0.1);
	}

}
}

body:has(#web-hero) {
/* Páginas web. Atomic administra la composición ordinaria; este bloque
 * conserva overlays, capas técnicas, estados y selectores internos. */
.bustum-web-section:not(.elementor-element-bwbenef1):not(.elementor-element-bwport01):not(.elementor-element-bwprocs1):not(.elementor-element-bwcollab):not(.elementor-element-bwmaint1),
.elementor-element-bwxintro,
.bustum-web-portfolio-card,
.bustum-web-testimonial,
.bustum-web-service-switcher,
.bustum-web-contact-band {
	grid-template-rows: none;
}

.bustum-web-section:not(.elementor-element-bwbenef1):not(.elementor-element-bwport01):not(.elementor-element-bwprocs1):not(.elementor-element-bwcollab):not(.elementor-element-bwmaint1) {
	grid-template-columns: minmax(0, 1fr);
	gap: 0;
}

.bustum-web-contact-actions,
.bustum-web-testimonial-content {
	padding: 0;
}

#web-hero::before {
	position: absolute;
	z-index: 1;
	inset: 0;
	background:
		linear-gradient(90deg, rgba(0, 0, 0, 0.35), rgba(0, 0, 0, 0.72)),
		linear-gradient(rgba(0, 0, 0, 0.08), rgba(0, 0, 0, 0.45));
	content: "";
}

#web-hero::after {
	position: absolute;
	z-index: 3;
	inset: auto 0 0;
	height: 7px;
	background: var(--bustum-brand-gradient);
	content: "";
}

[data-interaction-id="bwhimg01"],
[data-interaction-id="bwhimg01"] img {
	position: absolute;
	inset: 0;
	display: block;
}

[data-interaction-id="bwhimg01"] img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

[data-interaction-id="bwhcont1"] {
	position: relative;
	z-index: 2;
}

.elementor-element-bwconey1 {
	color: var(--bustum-pink);
}

.bustum-web-testimonial-author,
.bustum-web-switcher-meta,
.bustum-web-switcher-arrow {
	font-family: var(--bustum-font-accent, "JetBrains Mono"), monospace;
	font-weight: 700;
	text-transform: uppercase;
}

.bustum-web-contact-band .bustum-eyebrow {
	margin-bottom: 30px;
}

.elementor-element-bwconh21 {
	max-width: 1080px;
}

.bustum-web-benefit-grid,
.bustum-web-maintenance-grid {
	border-top: 1px solid var(--bustum-line-light);
	border-left: 1px solid var(--bustum-line-light);
}

.bustum-web-card {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	border-width: 0 1px 1px 0;
}

.bustum-web-switcher-title {
	font-family: var(--bustum-font-primary, "Montserrat"), Arial, sans-serif;
	font-weight: 400;
	line-height: 0.98;
	letter-spacing: -0.045em;
	text-transform: uppercase;
	overflow-wrap: anywhere;
}

.bustum-web-card-title,
.bustum-web-portfolio-title {
	overflow-wrap: anywhere;
}

.bustum-web-switcher-title {
	margin: 0;
}

.elementor-element-bwxintro {
	display: grid;
	grid-template-columns: minmax(0, 1.45fr) minmax(280px, 0.55fr);
	gap: 8vw;
	align-items: end;
}

.bustum-web-side-stack {
	display: flex;
	flex-direction: column;
}

.elementor-element-bwconcp1 {
	max-width: 500px;
}

.bustum-web-portfolio-grid {
	border-top: 1px solid var(--bustum-line-dark);
	border-left: 1px solid var(--bustum-line-dark);
}

.bustum-web-portfolio-card {
	display: grid;
	grid-template-columns: 50px minmax(0, 1fr) auto;
	align-items: end;
	border-right: 1px solid var(--bustum-line-dark);
	border-bottom: 1px solid var(--bustum-line-dark);
	text-decoration: none;
	transition: background-color 0.2s, color 0.2s;
}

.bustum-web-portfolio-card:hover {
	background: rgba(255, 255, 255, 0.055);
}

.bustum-web-portfolio-card > .bustum-web-card-number {
	align-self: start;
}

.bustum-web-portfolio-link {
	border-bottom: 1px solid currentColor;
}

.bustum-web-process-grid {
	border-top: 1px solid var(--bustum-line-light);
	border-left: 1px solid var(--bustum-line-light);
}

.bustum-web-process-card,
.bustum-web-collab-card {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	border-right: 1px solid var(--bustum-line-light);
	border-bottom: 1px solid var(--bustum-line-light);
}

.bustum-web-collab-grid {
	border-top: 1px solid var(--bustum-line-dark);
	border-left: 1px solid var(--bustum-line-dark);
}

.bustum-web-collab-card {
	border-color: var(--bustum-line-dark);
}

.bustum-web-note,
.bustum-web-maintenance-note {
	border: 1px solid var(--bustum-line-dark);
}

.bustum-web-maintenance-note {
	background: var(--bustum-black);
}

.bustum-web-testimonial {
	display: grid;
	grid-template-columns: 120px minmax(0, 1fr);
	gap: 5vw;
	align-items: start;
}

.bustum-web-quote {
	margin-top: -18px;
	font-family: var(--bustum-font-primary, "Montserrat"), Arial, sans-serif;
	font-size: 180px;
	font-weight: 700;
	line-height: 0.8;
	color: var(--bustum-pink);
}

.bustum-web-testimonial-copy {
	max-width: 1100px;
	font-size: clamp(36px, 5.2vw, 76px);
	line-height: 1.03;
	letter-spacing: -0.045em;
}

.bustum-web-testimonial-author {
	margin-top: 42px;
	letter-spacing: 0.08em;
	color: rgba(255, 255, 255, 0.58);
}

.bustum-web-service-switcher {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	border-top: 1px solid var(--bustum-line-dark);
	border-bottom: 1px solid var(--bustum-line-dark);
}

.bustum-web-switcher-item {
	display: grid;
	grid-template-columns: 35px minmax(0, 1fr) 20px;
	gap: 18px;
	min-height: 190px;
	padding: 28px;
	align-items: center;
	border-right: 1px solid var(--bustum-line-dark);
	color: var(--bustum-white);
	text-decoration: none;
	transition: background-color 0.2s, color 0.2s;
}

.bustum-web-switcher-item:first-child {
	border-left: 1px solid var(--bustum-line-dark);
}

.bustum-web-switcher-item.is-active {
	background: var(--bustum-white);
	color: var(--bustum-black);
}

a.bustum-web-switcher-item:hover {
	background: rgba(255, 255, 255, 0.06);
}

.bustum-web-switcher-meta,
.bustum-web-switcher-arrow {
	letter-spacing: 0.08em;
}

.bustum-web-switcher-title {
	font-size: clamp(18px, 2vw, 28px);
	font-weight: 700;
}

.bustum-web-switcher-copy {
	grid-column: 2;
	font-size: 12px;
	line-height: 1.6;
	opacity: 0.58;
}

.bustum-web-switcher-arrow {
	grid-column: 3;
	grid-row: 1 / span 2;
}

.bustum-web-contact-band {
	align-items: end;
}

.bustum-web-contact-actions {
	display: flex;
	min-width: 0;
	flex-direction: column;
	align-items: flex-start;
	gap: 24px;
}

@media (max-width: 1050px) {
	.elementor-element-bwxintro {
		grid-template-columns: 1fr;
		gap: 44px;
	}

	.elementor-element-bwconcp1 {
		max-width: 650px;
	}

	.bustum-web-service-switcher {
		grid-template-columns: 1fr;
	}

	.bustum-web-switcher-item {
		border-left: 1px solid var(--bustum-line-dark);
		border-bottom: 1px solid var(--bustum-line-dark);
	}
}

@media (max-width: 760px) {
	.bustum-web-testimonial {
		grid-template-columns: 1fr;
	}

	.bustum-web-portfolio-card {
		grid-template-columns: 36px minmax(0, 1fr);
	}

	.bustum-web-portfolio-link {
		grid-column: 2;
	}

	.bustum-web-quote {
		font-size: 120px;
	}

	.bustum-web-testimonial {
		gap: 8px;
	}

	.bustum-web-testimonial-copy {
		font-size: clamp(30px, 9.5vw, 48px);
	}

	.bustum-web-contact-band {
		gap: 50px;
		padding: 88px 20px;
	}
}
}

.bustum-section:not(.elementor-element-bwbenef1):not(.elementor-element-bwport01):not(.elementor-element-bwprocs1):not(.elementor-element-bwcollab):not(.elementor-element-bwmaint1) {
	padding: clamp(88px, 10vw, 150px) var(--bustum-section-x);
}

.bustum-section {
	font-family: var(--bustum-font-primary, "Montserrat"), Arial, sans-serif;
}

.bustum-surface-dark,
.bustum-section--dark {
	background: var(--bustum-black);
	color: var(--bustum-white);
}

.bustum-surface-light,
.bustum-section--light {
	--bustum-focus-color: var(--bustum-black);
	background: var(--bustum-paper);
	color: var(--bustum-black);
}

.bustum-grid-surface,
[data-bustum-element="growth-hero"],
.elementor-element-bghero01 {
	background-image:
		linear-gradient(var(--bustum-grid-line) 1px, transparent 1px),
		linear-gradient(90deg, var(--bustum-grid-line) 1px, transparent 1px);
	background-size: 88px 88px;
}

.bustum-eyebrow {
	display: flex;
	align-items: center;
	gap: 12px;
	font-family: var(--bustum-font-accent, "JetBrains Mono"), monospace;
	font-weight: 700;
	line-height: 1.45;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.bustum-eyebrow::before {
	width: 28px;
	height: 1px;
	flex: 0 0 28px;
	background: currentColor;
	content: "";
}

.bustum-heading-section,
.bustum-heading,
.bustum-heading-hero,
.bustum-heading--hero {
	margin-block: 0;
	font-family: var(--bustum-font-primary, "Montserrat"), Arial, sans-serif;
	font-weight: 700;
	text-transform: uppercase;
}

.bustum-heading-section,
.bustum-heading {
	font-size: clamp(48px, 6.2vw, 96px);
	line-height: 0.91;
	letter-spacing: -0.06em;
}

.bustum-heading-hero,
.bustum-heading--hero {
	font-size: clamp(60px, 7.3vw, 116px);
	line-height: 0.87;
	letter-spacing: -0.067em;
}

.bustum-hero-copy {
	font-family: var(--bustum-font-primary, "Montserrat"), Arial, sans-serif;
	font-weight: 400;
	font-size: clamp(16px, 1.4vw, 21px);
	line-height: 1.65;
}

.bustum-body {
	font-family: var(--bustum-font-primary, "Montserrat"), Arial, sans-serif;
	font-weight: 400;
}

.bustum-gradient-word,
.bustum-gradient-text {
	display: inline-block;
	color: var(--bustum-pink);
	background: var(--bustum-brand-gradient);
	background-clip: text;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}

.bustum-brand-stripe {
	height: 7px;
	background: var(--bustum-brand-gradient);
}

.bustum-button.elementor-button,
.bustum-button .elementor-button {
	display: inline-flex;
	width: max-content;
	min-height: 52px;
	align-self: start;
	align-items: center;
	justify-content: center;
	gap: 18px;
	padding: 0 24px;
	border: 1px solid currentColor;
	border-radius: 0;
	transition: transform 0.2s, background-color 0.2s, color 0.2s, border-color 0.2s;
}

.bustum-button-label {
	font-family: var(--bustum-font-accent, "JetBrains Mono"), monospace;
	font-size: 10px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

.bustum-button.elementor-button:hover,
.bustum-button .elementor-button:hover {
	transform: translateY(-2px);
}

.bustum-button-primary.elementor-button,
.bustum-button-primary .elementor-button,
.bustum-button--primary.elementor-button,
.bustum-button--primary .elementor-button {
	border-color: var(--bustum-white);
	background: var(--bustum-white);
	color: var(--bustum-black);
}

.bustum-button-dark.elementor-button,
.bustum-button-dark .elementor-button,
.bustum-button--dark.elementor-button,
.bustum-button--dark .elementor-button {
	border-color: var(--bustum-black);
	background: var(--bustum-black);
	color: var(--bustum-white);
}

.bustum-button-small.elementor-button,
.bustum-button-small .elementor-button,
.bustum-button--small.elementor-button,
.bustum-button--small .elementor-button {
	min-height: 40px;
	padding-inline: 18px;
}

a.bustum-mono-link,
.bustum-mono-link a {
	display: inline-flex;
	width: max-content;
	padding-bottom: 5px;
	border-bottom: 1px solid currentColor;
	font-family: var(--bustum-font-accent, "JetBrains Mono"), monospace;
	font-size: 10px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.07em;
	text-transform: uppercase;
}

.bustum-card {
	position: relative;
	min-height: 260px;
	padding: 28px;
	border: 1px solid var(--bustum-line-light);
}

.bustum-card-inverse,
.bustum-card--inverse {
	border-color: var(--bustum-line-dark);
	background: var(--bustum-black);
	color: var(--bustum-white);
}

.bustum-card--accent {
	padding-top: 35px;
}

.bustum-card--accent::before {
	position: absolute;
	inset: -1px -1px auto;
	/* Atomic pseudos inherit a fixed width; let both edge offsets resolve. */
	width: auto;
	height: 7px;
	background: var(--bustum-brand-gradient);
	content: "";
}

.bustum-process-grid {
	border-top: 1px solid var(--bustum-line-light);
	border-left: 1px solid var(--bustum-line-light);
}

.bustum-process-grid > * {
	min-height: 260px;
	padding: 28px;
	border-right: 1px solid var(--bustum-line-light);
	border-bottom: 1px solid var(--bustum-line-light);
}

.bustum-media-frame {
	position: relative;
	aspect-ratio: 16 / 9;
	border: 1px solid var(--bustum-line-light);
	box-shadow: 24px 24px 0 rgba(0, 0, 0, 0.1);
}

.bustum-media-frame iframe,
.bustum-media-frame img,
.bustum-media-frame video {
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
	object-fit: cover;
}

.bustum-testimonial {
	display: grid;
	grid-template-columns: 120px minmax(0, 1fr);
	gap: 5vw;
}

.bustum-service-switcher {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	border-top: 1px solid var(--bustum-line-dark);
	background: var(--bustum-black);
	color: var(--bustum-white);
}

/* Growth contact columns are administered by Local Atomic on bgcont01. */
.bustum-contact-band:not(.elementor-element-bacont01):not(.bustum-growth-contact-band) {
	grid-template-columns: 1.2fr 0.8fr;
}

.bustum-contact-band:not(.elementor-element-bacont01) {
	position: relative;
	display: grid;
	gap: 9vw;
	padding: 110px var(--bustum-section-x);
	background: var(--bustum-paper);
	color: var(--bustum-black);
}

.bustum-contact-band::before {
	position: absolute;
	inset: 0 0 auto;
	height: 7px;
	background: var(--bustum-brand-gradient);
	content: "";
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
[tabindex]:focus-visible {
	outline: 2px solid var(--bustum-focus-color);
	outline-offset: 4px;
}

.visually-hidden {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
}

@media (max-width: 760px) {
	.bustum-section {
		padding: 82px var(--bustum-section-x-mobile);
	}

	.bustum-heading-hero,
	.bustum-heading--hero {
		font-size: clamp(51px, 15vw, 74px);
	}

	.bustum-service-switcher,
	.bustum-contact-band:not(.elementor-element-bacont01):not(.bustum-growth-contact-band),
	.bustum-testimonial {
		grid-template-columns: 1fr;
	}

	.bustum-media-frame {
		box-shadow: 12px 12px 0 rgba(0, 0, 0, 0.1);
	}

	.hide-mobile {
		display: none !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}
}

/* Chrome global. La estructura, variables y estilos base viven en Atomic;
 * aquí quedan posicionamiento, pseudo-elementos, estados y relaciones. */
body.menu-open {
	overflow: hidden;
}

.bustum-site-header {
	position: fixed;
	z-index: 60;
	inset: 0 0 auto;
	border-bottom: 1px solid var(--bustum-line-dark);
	backdrop-filter: blur(16px);
	-webkit-backdrop-filter: blur(16px);
}

.bustum-brand-lottie {
	position: absolute;
	z-index: 62;
	overflow: visible;
}

.bustum-brand-lottie[aria-hidden="true"] {
	pointer-events: none;
}

.bustum-brand-lottie .e-lottie__container,
.bustum-brand-lottie .e-lottie__container__link,
.bustum-brand-lottie .e-lottie__animation,
.bustum-brand-lottie svg {
	display: block;
	width: 100%;
	height: 100%;
}

.bustum-brand-lottie .e-lottie__animation {
	width: 100%;
	height: 100%;
}

/* Header Lottie: keep the full 1068x780 canvas, anchored to the formed mark's
 * optical centre (35%). Native widget width owns size; no artwork is cropped. */
.bustum-site-header .bustum-brand-lottie--central {
	top: 50%;
	left: 50%;
	height: auto;
	aspect-ratio: 1068 / 780;
	opacity: var(--bustum-logo-central-opacity, 1);
	transform: translate(-50%, -35%) scale(calc(var(--bustum-logo-central-scale, 1) * var(--bustum-logo-central-fit, 1)));
	transform-origin: 50% 35%;
	transition: none;
}

.bustum-site-header .bustum-brand-lottie--compact {
	top: 50%;
	left: 4vw;
	height: auto;
	aspect-ratio: 1068 / 780;
	opacity: var(--bustum-logo-compact-opacity, 0);
	transform: translateY(-36%) scale(calc(var(--bustum-logo-compact-scale, 0.9) * var(--bustum-logo-compact-fit, 1)));
	transform-origin: left 36%;
	transition: none;
}

.bustum-header-actions {
	position: relative;
	z-index: 62;
	width: max-content;
	margin-left: auto;
}

.bustum-menu-trigger {
	font-size: 0;
	cursor: pointer;
}

.bustum-menu-trigger::before,
.bustum-menu-trigger::after {
	position: absolute;
	left: 12px;
	right: 12px;
	top: 17px;
	height: 1px;
	background: currentColor;
	content: "";
	transition: transform 0.25s, top 0.25s;
}

.bustum-menu-trigger::after {
	top: 25px;
}

.menu-is-open .bustum-menu-trigger::before {
	top: 21px;
	transform: rotate(45deg);
}

.menu-is-open .bustum-menu-trigger::after {
	top: 21px;
	transform: rotate(-45deg);
}

.bustum-fullscreen-nav {
	position: fixed;
	z-index: 61;
	inset: 0;
	overflow-y: auto;
	visibility: hidden;
	transform: translateX(100%);
	transition: transform 0.48s cubic-bezier(0.76, 0, 0.24, 1), visibility 0s linear 0.48s;
}

.bustum-fullscreen-nav.is-open {
	visibility: visible;
	transform: translateX(0);
	transition: transform 0.48s cubic-bezier(0.76, 0, 0.24, 1);
}

.bustum-fullscreen-nav::after {
	position: absolute;
	inset: 0;
	pointer-events: none;
	background-image:
		linear-gradient(rgba(255, 255, 255, 0.04) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, 0.04) 1px, transparent 1px);
	background-size: 88px 88px;
	content: "";
	mask-image: linear-gradient(90deg, #000, transparent 82%);
	-webkit-mask-image: linear-gradient(90deg, #000, transparent 82%);
}

.bustum-fullscreen-nav-inner {
	z-index: 1;
}

.bustum-nav-item:last-child {
	border-bottom: 1px solid var(--bustum-line-dark);
}

.bustum-nav-item:hover {
	background: rgba(255, 255, 255, 0.035);
}

.bustum-fullscreen-nav .bustum-nav-number {
	box-sizing: content-box;
	width: max-content;
	margin: -0.18em -0.04em;
	padding: 0.18em 0.04em;
}

.bustum-fullscreen-nav .bustum-nav-label {
	margin-block: -0.19em;
	padding-block: 0.19em;
}

@media (hover: hover) and (pointer: fine) {
	.bustum-fullscreen-nav .bustum-nav-item:hover :is(.bustum-nav-number, .bustum-nav-label) {
		color: var(--bustum-pink);
		background: var(--bustum-brand-gradient);
		background-clip: text;
		-webkit-background-clip: text;
		-webkit-text-fill-color: transparent;
	}
}

/* Atomic resets use greater specificity than the global focus rule. */
.elementor .bustum-site-footer a:focus-visible {
	outline: 2px solid var(--bustum-focus-color);
	outline-offset: 4px;
}

/* Atomic 4.3.0 stores but does not compile grid-column for these grid items. */
.bustum-footer-main {
	grid-column: auto;
}

.bustum-footer-legal {
	grid-column: 1 / -1;
}

@media (max-width: 1050px) {
	.bustum-brand-lottie--central {
		display: none;
	}

	.bustum-site-header .bustum-brand-lottie--compact {
		top: 50%;
		left: 4vw;
		height: auto;
	aspect-ratio: 1068 / 780;
		opacity: 1;
		pointer-events: auto;
		transform: translateY(-36%) scale(var(--bustum-logo-compact-fit, 1));
		transition: none;
	}

}

@media (max-width: 760px) {
	.bustum-site-header .bustum-brand-lottie--compact {
		left: 20px;
		height: auto;
		transform: translateY(-35%) scale(var(--bustum-logo-compact-fit, 1));
		transform-origin: left 35%;
	}

	.bustum-brand-lottie--compact .e-lottie__animation {
		width: 100%;
		height: 100%;
	}

	.bustum-footer-main,
	.bustum-footer-legal {
		grid-column: 1 / -1;
	}
}

@media (prefers-reduced-motion: reduce) {
	.bustum-site-header .bustum-brand-lottie--central {
		height: calc(100% - 40px);
		aspect-ratio: auto;
		transform: translate(-50%, -50%) scale(1);
	}

	.bustum-site-header .bustum-brand-lottie--compact {
		height: calc(100% - 20px);
		aspect-ratio: auto;
		transform: translateY(-50%) scale(1);
	}

	.bustum-brand-lottie .e-lottie__animation {
		background: var(--bustum-logo-fallback) center / contain no-repeat;
	}

	.bustum-brand-lottie .e-lottie__animation > * {
		 display: none !important;
	}
}

/* Growth inmobiliario. Estructura Atomic; CSS solo para composiciones propias
 * que Elementor Atomic 4.2.4 no expresa sin duplicar estilos por elemento. */
body:has(#growth-hero) {
/* Atomic 4.3.2 overflow enum excludes clip; preserve the existing hero paint behavior. */
[data-bustum-element="growth-hero"] { overflow: clip; }
}

/* Shared partial heading gradients: Atomic has no text-clip control. */
:is(.elementor-154, .elementor-163, .elementor-168) :is([data-interaction-id="bghh1001"], [data-interaction-id="bgih2001"], [data-interaction-id="bgsh2001"], [data-interaction-id="bgah2001"], [data-interaction-id="bgmh2001"], [data-interaction-id="bgswh201"], [data-interaction-id="bgconh21"], [data-interaction-id="bwhh1001"], [data-interaction-id="bwbh2001"], [data-interaction-id="bwph2001"], [data-interaction-id="bwxh2001"], [data-interaction-id="bwch2001"], [data-interaction-id="bwmh2001"], [data-interaction-id="bwconh21"], [data-interaction-id="bahh1001"], [data-interaction-id="bareelh2"], [data-interaction-id="badh2001"], [data-interaction-id="baph2001"], [data-interaction-id="baconh21"]) > span {
	color: var(--bustum-pink);
	background: var(--bustum-brand-gradient);
	background-clip: text;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}

/* Demo metric columns are now Local Atomic via the Core Elementor e-grid API. */

/* Keep glyph ink inside gradient paint bounds with negative tracking.
 * Compensating margins preserve advance widths; default slice preserves continuous gradient paint. */
.bustum-gradient-word,
.bustum-gradient-text,
.bustum-fullscreen-nav :is(.bustum-nav-number, .bustum-nav-label),
:is(.elementor-154, .elementor-163, .elementor-168) :is([data-interaction-id="bghh1001"], [data-interaction-id="bgih2001"], [data-interaction-id="bgsh2001"], [data-interaction-id="bgah2001"], [data-interaction-id="bgmh2001"], [data-interaction-id="bgswh201"], [data-interaction-id="bgconh21"], [data-interaction-id="bwhh1001"], [data-interaction-id="bwbh2001"], [data-interaction-id="bwph2001"], [data-interaction-id="bwxh2001"], [data-interaction-id="bwch2001"], [data-interaction-id="bwmh2001"], [data-interaction-id="bwconh21"], [data-interaction-id="bahh1001"], [data-interaction-id="bareelh2"], [data-interaction-id="badh2001"], [data-interaction-id="baph2001"], [data-interaction-id="baconh21"]) > span {
	padding-inline: 0.1em;
	margin-inline: -0.1em;
}

/* Growth text entrances: technical pre-paint exception; native styles resume at entry. */
html.bustum-growth-reveal-pending body.page-id-154 :is(
  [data-interaction-id="bglolab1"],
  [data-interaction-id="bgieye01"],
  [data-interaction-id="bgih2001"],
  [data-interaction-id="bgitit1"],
  [data-interaction-id="bgicop1"],
  [data-interaction-id="bgitit2"],
  [data-interaction-id="bgicop2"],
  [data-interaction-id="bgitit3"],
  [data-interaction-id="bgicop3"],
  [data-interaction-id="bgitit4"],
  [data-interaction-id="bgicop4"],
  [data-interaction-id="bgseye01"],
  [data-interaction-id="bgsh2001"],
  [data-interaction-id="bgscopy1"],
  [data-interaction-id="bgstit1"],
  [data-interaction-id="bgscop1"],
  [data-interaction-id="bgstag1"],
  [data-interaction-id="bgstit2"],
  [data-interaction-id="bgscop2"],
  [data-interaction-id="bgstag2"],
  [data-interaction-id="bgstit3"],
  [data-interaction-id="bgscop3"],
  [data-interaction-id="bgstag3"],
  [data-interaction-id="bgaeye01"],
  [data-interaction-id="bgah2001"],
  [data-interaction-id="bgacopy1"],
  [data-interaction-id="bgdmono1"],
  [data-interaction-id="bgdstat1"],
  [data-interaction-id="bgdemb01"],
  [data-interaction-id="bgdh3001"],
  [data-interaction-id="bgmlab1"],
  [data-interaction-id="bgmlab2"],
  [data-interaction-id="bgmlab3"],
  [data-interaction-id="bgmlab4"],
  [data-interaction-id="bgdflow1"],
  [data-interaction-id="bgdtime2"],
  [data-interaction-id="bgmeye01"],
  [data-interaction-id="bgmh2001"],
  [data-interaction-id="bgmcopy1"],
  [data-interaction-id="bgptit1"],
  [data-interaction-id="bgpcop1"],
  [data-interaction-id="bgptit2"],
  [data-interaction-id="bgpcop2"],
  [data-interaction-id="bgptit3"],
  [data-interaction-id="bgpcop3"],
  [data-interaction-id="bgptit4"],
  [data-interaction-id="bgpcop4"],
  [data-interaction-id="bgptit5"],
  [data-interaction-id="bgpcop5"],
  [data-interaction-id="bgptit6"],
  [data-interaction-id="bgpcop6"],
  [data-interaction-id="bgmnot01"],
  [data-interaction-id="bgmnot02"],
  [data-interaction-id="bgsweye1"],
  [data-interaction-id="bgswh201"],
  [data-interaction-id="bgswcop1"],
  [data-interaction-id="bgswgr03"],
  [data-interaction-id="bgswgr04"],
  [data-interaction-id="bgswgr05"],
  [data-interaction-id="bgconey1"],
  [data-interaction-id="bgconh21"],
  [data-interaction-id="bgconcp1"]
):not([data-bustum-reveal-started]) {
  opacity: 0;
}

