.hero-screen {
	position: relative;
}

.animation-users,
.animation-users-cta {
	position: absolute;
	inset: 0;
	z-index: 12;
	overflow-x: clip;
	overflow-y: visible;
	pointer-events: none;
}

.animation-users-cta.is-animation-users-cta-viewport {
	position: fixed;
	inset: 0;
	width: 100vw;
	height: 100vh;
}

.animation-users img,
.animation-users-cta img {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: auto;
	height: 68px;
	max-width: none;
	max-height: none;
	user-select: none;
	-webkit-user-drag: none;
	will-change: transform;
	transform: translate3d(-200vw, -200vh, 0);
	filter: drop-shadow(0 14px 30px rgba(0, 29, 57, 0.12));
}

@media (prefers-reduced-motion: reduce) {
	.animation-users img,
	.animation-users-cta img {
		transition: none !important;
	}
}

.hero-text .hero-text-line {
	display: inline-block;
}

.hero-text .hero-text-line--animated {
	display: inline-flex;
	align-items: flex-end;
}

.hero-text .hero-text-word {
	display: inline-block;
}

.hero-text .hero-text-cursor {
	display: inline-block;
	width: 0.16em;
	height: 0.9em;
	margin-left: 0.08em;
	border-radius: 0;
	background: currentColor;
	transform: translateY(-0.02em);
	animation: kopylov-hero-text-cursor-blink 1s steps(1, end) infinite;
}

.hero-text.is-hero-text-waiting .hero-text-cursor {
	opacity: 0;
	animation: none;
}

.hero-text.is-hero-text-complete .hero-text-cursor {
	opacity: 0;
	animation: none;
}

@keyframes kopylov-hero-text-cursor-blink {
	0%,
	49% {
		opacity: 1;
	}

	50%,
	100% {
		opacity: 0;
	}
}

@media (prefers-reduced-motion: reduce) {
	.hero-text .hero-text-cursor {
		animation: none;
		opacity: 0;
	}
}
