/* Viewport reveal only; route and pin motion are applied to original SVG elements. */
.cta-art[data-transportation-motion] {
	position: relative;
	isolation: isolate;
}

.transportation-stage {
	transform: translate3d(0, 0, 0);
	transform-origin: 50% 55%;
}

.transportation-svg,
.cta-art.is-transport-active .transportation-svg {
	opacity: 0;
	transform: translate3d(0, 8px, 0);
	filter: drop-shadow(0 18px 20px rgba(0, 0, 0, .16));
	animation: none;
	transition: opacity 400ms ease, transform 400ms cubic-bezier(.22, 1, .36, 1);
	will-change: opacity, transform;
}

.cta-art.is-sequence-visible .transportation-svg {
	opacity: 1;
	transform: translate3d(0, 0, 0);
}

.transportation-routes {
	display: none !important;
}

.transportation-svg .zayro-route-stroke {
	will-change: stroke-dashoffset, filter;
}

.transportation-svg #Route_x5F_01,
.transportation-svg #Route_x5F_02,
.transportation-svg #Route_x5F_03,
.transportation-svg #Route_x5F_04,
.transportation-svg #Route_x5F_05 {
	opacity: 0;
}

.transportation-svg .zayro-route-stroke.is-route-travelling {
	filter: drop-shadow(0 0 4px rgba(15, 186, 184, .68));
}

.transportation-svg .zayro-destination-dot {
	transform-box: fill-box;
	transform-origin: center;
	will-change: transform, filter;
}

.transportation-svg .zayro-destination-dot.is-dot-active {
	animation: zayro-inline-dot-pulse 480ms cubic-bezier(.22, 1, .36, 1) both;
}

.transportation-svg .zayro-location-pin,
.transportation-svg .zayro-location-shadow {
	transform-box: fill-box;
	transform-origin: center;
	will-change: transform, filter, opacity;
}

.transportation-svg .zayro-location-pin.is-location-active {
	animation: zayro-inline-location-pin 2.8s ease-in-out infinite;
}

.transportation-svg .zayro-location-shadow.is-location-active {
	animation: zayro-inline-location-shadow 2.8s ease-in-out infinite;
}

@keyframes zayro-inline-dot-pulse {
	0%, 100% {
		transform: scale(1);
		filter: drop-shadow(0 0 0 rgba(15, 186, 184, 0));
	}
	46% {
		transform: scale(1.2);
		filter: drop-shadow(0 0 7px rgba(15, 186, 184, .72));
	}
}

@keyframes zayro-inline-location-pin {
	0%, 100% {
		transform: translate3d(0, 0, 0) rotate(-1deg) scale(1);
		filter: drop-shadow(0 7px 5px rgba(0, 0, 0, .16));
	}
	50% {
		transform: translate3d(0, -12px, 0) rotate(1deg) scale(1.05);
		filter: drop-shadow(0 18px 11px rgba(15, 186, 184, .25));
	}
}

@keyframes zayro-inline-location-shadow {
	0%, 100% {
		transform: scale(1);
		opacity: 1;
	}
	50% {
		transform: scale(.84);
		opacity: .62;
	}
}

@media (prefers-reduced-motion: reduce) {
	.transportation-svg,
	.cta-art.is-transport-active .transportation-svg,
	.cta-art.is-sequence-visible .transportation-svg {
		opacity: 1;
		transform: none;
		transition: none;
	}

	.transportation-svg .zayro-route-stroke,
	.transportation-svg .zayro-destination-dot,
	.transportation-svg .zayro-location-pin,
	.transportation-svg .zayro-location-shadow {
		animation: none !important;
		transform: none !important;
		filter: none !important;
	}

	.transportation-svg #Route_x5F_01,
	.transportation-svg #Route_x5F_02,
	.transportation-svg #Route_x5F_03,
	.transportation-svg #Route_x5F_04,
	.transportation-svg #Route_x5F_05 {
		opacity: 1;
	}
}
