/* Living motion for the existing layout.
   Reduced motion stays in linden-a11y.css and wins with !important. */

@keyframes v5Float {
	0%,
	100% {
		translate: 0 0;
	}
	50% {
		translate: 0 -18px;
	}
}

@keyframes lindenDrift {
	0%,
	100% {
		translate: 0 0;
	}
	50% {
		translate: 0 -14px;
	}
}

@keyframes lindenBreathe {
	0%,
	100% {
		scale: 1;
	}
	50% {
		scale: 1.045;
	}
}

@keyframes lindenListen {
	0%,
	100% {
		opacity: 0.45;
	}
	50% {
		opacity: 1;
	}
}

@keyframes lindenSpeak {
	from {
		opacity: 0.2;
		translate: 0 10px;
	}
	to {
		opacity: 1;
		translate: 0 0;
	}
}

@keyframes lindenRise {
	from {
		opacity: 0.2;
		translate: 0 26px;
	}
	to {
		opacity: 1;
		translate: 0 0;
	}
}

@media (prefers-reduced-motion: no-preference) {
	.v5-hero-ring {
		animation: lindenBreathe 9s ease-in-out infinite;
	}

	.v5-hero-secondary,
	.v5-floatcard-one,
	.v5-story-device,
	.v5-final-phone-back {
		animation: lindenDrift 7.5s ease-in-out infinite;
	}

	.v5-floatcard-two,
	.v5-final-phone-front {
		animation: lindenDrift 9s ease-in-out infinite;
		animation-delay: -2.2s;
	}

	.v5-bubble {
		animation: lindenDrift 6.5s ease-in-out infinite;
	}

	.v5-bubble-right {
		animation-delay: -1.6s;
	}

	.v5-status-dot,
	.v5-float-dot {
		animation: lindenListen 1.8s ease-in-out infinite;
	}

	#v5-demo-line.is-speaking,
	#v5-use-prompt.is-speaking {
		animation: lindenSpeak 0.42s ease;
	}

	.pricing-card,
	.scenario-tile,
	.journal-card,
	.how-step,
	.value-card {
		transition: transform 0.35s ease, box-shadow 0.35s ease;
	}

	.pricing-card:hover,
	.scenario-tile:hover,
	.journal-card:hover,
	.how-step:hover,
	.value-card:hover {
		transform: translateY(-6px);
		box-shadow: 0 16px 36px #1432241c;
	}

	@supports (animation-timeline: view()) {
		.v5-home .v5-section-head,
		.v5-home .v5-feature,
		.v5-home .v5-proof-inner > div,
		.v5-home .v5-table,
		.v5-sitewide .pricing-card,
		.v5-sitewide .how-step,
		.v5-sitewide .scenario-tile,
		.v5-sitewide .journal-card {
			animation: lindenRise linear both;
			animation-timeline: view();
			animation-range: entry 0% entry 42%;
		}
	}
}

@media (prefers-reduced-motion: no-preference) and (min-width: 701px) {
	.v5-gallery-phone {
		animation: lindenDrift 8s ease-in-out infinite;
	}
}
