.dlp-wave-text {
	display: block;
	width: 100%;
	white-space: normal;
	text-wrap: balance;
}

.dlp-wave-text--left {
	text-align: left;
}

.dlp-wave-text--center {
	text-align: center;
}

.dlp-wave-text--right {
	text-align: right;
}

.dlp-wave-text__char {
	display: inline-block;
	opacity: 0;
	transform: translateY(1.05em) rotateX(16deg);
	transform-origin: 50% 100%;
	animation-name: dlp-wave-text-reveal;
	animation-duration: var(--dlp-duration, 1.4s);
	animation-timing-function: cubic-bezier(0.16, 0.78, 0.22, 1);
	animation-delay: calc(var(--dlp-start-delay, 0s) + (var(--dlp-char-delay, 0s)));
	animation-fill-mode: forwards;
	will-change: transform, opacity, filter;
}

.dlp-wave-text__space {
	display: inline-block;
	width: 0.28em;
}

@keyframes dlp-wave-text-reveal {
	0% {
		opacity: 0;
		transform: translateY(1.05em) rotateX(16deg);
		filter: blur(7px);
	}

	42% {
		opacity: 1;
		transform: translateY(-0.18em) rotateX(-4deg);
		filter: blur(0);
	}

	68% {
		transform: translateY(0.08em) rotateX(2deg);
	}

	100% {
		opacity: 1;
		transform: translateY(0) rotateX(0deg);
		filter: blur(0);
	}
}

@media (prefers-reduced-motion: reduce) {
	.dlp-wave-text__char {
		animation: none !important;
		opacity: 1 !important;
		transform: none !important;
		filter: none !important;
	}
}

