/* Animated VC row background. */
.magic-animated-bg-host > .l-section-overlay.magic-animated-background-source {
	background: transparent !important;
}


.magic-animated-background {
	position: absolute;
	z-index: 0;
	inset: 0;
	display: grid;
	width: 100%;
	height: 100%;
	grid-template-columns: repeat(var(--magic-animated-background-columns), minmax(0, 1fr));
	grid-template-rows: repeat(var(--magic-animated-background-rows), minmax(0, 1fr));
	overflow: hidden;
	pointer-events: none;
}

.magic-animated-background__tile {
	display: block;
	width: calc(100% + 0.08vw);
	height: calc(100% + 0.08vw);
	margin: -0.04vw;
	min-width: 0;
	min-height: 0;
	will-change: transform, opacity;
}

/* Dedicated GSAP target for Design > Animation directional movement. */
.mt-animation_motion {
	position: relative;
	display: inherit;
	flex-flow: inherit;
	align-items: inherit;
	justify-content: inherit;
	grid-template-columns: inherit;
	grid-template-rows: inherit;
	gap: inherit;
	box-sizing: inherit;
	width: 100%;
	height: 100%;
	min-width: 0;
	min-height: 0;
	color: inherit;
	will-change: transform, opacity;
}

/* Keep enabled typing targets in flow while preventing a pre-runtime text flash. */
.mt-type_animation:not(.mt-type_animation_ready).mt-type_target_button .w-btn-label,
.mt-type_animation:not(.mt-type_animation_ready).mt-type_target_h1:is(h1),
.mt-type_animation:not(.mt-type_animation_ready).mt-type_target_h1 h1,
.mt-type_animation:not(.mt-type_animation_ready).mt-type_target_h2:is(h2),
.mt-type_animation:not(.mt-type_animation_ready).mt-type_target_h2 h2,
.mt-type_animation:not(.mt-type_animation_ready).mt-type_target_h3:is(h3),
.mt-type_animation:not(.mt-type_animation_ready).mt-type_target_h3 h3,
.mt-type_animation:not(.mt-type_animation_ready).mt-type_target_p:is(p),
.mt-type_animation:not(.mt-type_animation_ready).mt-type_target_p p {
	opacity: 0;
}

/* The invisible source owns layout/accessibility; the clone fades in visually. */
.mt-type_animation_target {
	position: relative;
	font-kerning: none;
	font-variant-ligatures: none;
}

.mt-type_animation_source {
	opacity: 0;
}

.mt-type_animation_visual {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	pointer-events: none;
}

.mt-type_target_button .mt-type_animation_visual {
	white-space: nowrap;
}

.mt-type_character {
	opacity: 0;
	visibility: hidden;
}

.mt-type_word {
	display: inline-block;
	white-space: nowrap;
}

/* GSAP typing cursor shared by Button, Text Block, and IconBox. */
.mt-type_cursor {
	--mt-type_cursor-size: 0.7em;
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: var(--mt-type_cursor-size);
	height: var(--mt-type_cursor-size);
	background: currentColor;
	color: inherit;
	transform-origin: center;
	pointer-events: none;
	will-change: opacity;
}

@media (max-width: 800px) {
	.magic-animated-background__tile {
		width: calc(100% + 2px);
		height: calc(100% + 2px);
		margin: -1px;
	}

}
