.fade-animation-wrapper {
	font-family: SF Pro Display, SF Pro Icons, Helvetica Neue, Helvetica, Arial, sans-serif;
	font-weight: 700;
	background: hsl(0 0% 2%);
	color: hsl(0 0% 98%);
}

video {
	position: fixed;
	inset: 0;
	-o-object-fit: cover;
	   object-fit: cover;
	width: 100%;
	height: 100vh;
	z-index: 1;
	filter: saturate(0.1) brightness(0.5);
	opacity: 0;
	-webkit-animation: fade-in both linear, fade-out both linear;
	        animation: fade-in both linear, fade-out both linear;
	animation-timeline: --section;
	animation-range: entry 10% entry 15%, exit 10% exit 15%;
}

@-webkit-keyframes fade-in {
	to {
		opacity: 0.2;
	}
}

@keyframes fade-in {
	to {
		opacity: 0.2;
	}
}

@-webkit-keyframes fade-out {
	to {
		opacity: 0;
	}
}

@keyframes fade-out {
	to {
		opacity: 0;
	}
}

 .fade-animation {
	position: relative;
	min-height: 0 !important;
	display: grid;
	place-items: center;
	view-timeline: --section;
 }
 /* .fade-animation:nth-of-type(1) {
	height: 100vh;
} */

.fade-animation:nth-of-type(2) {
	height: 140vh;
}

.fade-animation:nth-of-type(3) {
	height: 200vh;
}

.fade-animation-h1 {
	display: grid;
}

:is(h1, h2) {
	font-size: clamp(2.5rem, 7vw + 1rem, 10rem) !important;
	text-align: center;
	line-height: 1;
	position: fixed;
	/* position: relative; */
	top: 50%;
	left: 50%;
	margin: 0;
	translate: -50% -50%;
	width: 100%;
}

@media only screen and (max-width: 768px) {
	:is(h1, h2) {
		position: relative;
	}
}

@-webkit-keyframes highlight {
	50% {
    opacity: 1;
	}
}

@keyframes highlight {
	50% {
    opacity: 1;
	}
}


/* .fade-animation-h1 span:first-of-type {
	display: inline-block;
	-webkit-animation: fade-away both linear;
	animation-timeline: --section;
	animation-range: exit 20% exit 90%;
	animation: fade-away 1s both linear;
} */
@media only screen and (min-width: 992px) {
	.fade-animation-h1 span:last-of-type {
		display: inline-block;
		-webkit-animation: scale-up both cubic-bezier(.1,.7,.9,1.3), fade-away both linear;
				animation: scale-up both cubic-bezier(.1,.7,.9,1.3), fade-away both linear;
		animation-timeline: --section;
		animation-range: exit 0% exit 100%, exit 50% exit 90%;	
		/* -webkit-animation: fade-away both linear;
		animation: fade-away both linear; */
	}
	.fade-animation-h2 {
		-webkit-animation: grow both ease-in, fade-away both linear;
				animation: grow both ease-in, fade-away both linear;
		animation-timeline: --section;
		animation-range: exit-crossing -10% exit-crossing 10%, exit 0% exit 50%;
	}
}

@media only screen and (max-width: 768px) {
	.fade-animation-h1 span:last-of-type {
		display: inline-block;
	}
	
	.fade-animation:nth-of-type(1) {
		height: 30vh;
	}
}

@-webkit-keyframes scale-up {
	to {
		scale: 1.5;
	}
}

@keyframes scale-up {
	to {
		scale: 1.5;
	}
}

/* .fade-animation-h2 {
	-webkit-animation: grow both ease-in, fade-away both linear;
	        animation: grow both ease-in, fade-away both linear;
	animation-timeline: --section;
	animation-range: exit-crossing -10% exit-crossing 10%, exit 0% exit 50%;
} */

.fade-animation-h1 span:first-of-type {
	color: hsl(0 100% 50%);
	font-size: 0.35em;
}

@-webkit-keyframes grow {
	0% {
		scale: 0.5;
		opacity: 0;
	}
}

@keyframes grow {
	0% {
		scale: 0.5;
		opacity: 0;
	}
}

@-webkit-keyframes fade-away {
	100% {
		opacity: 0;
	}
}

@keyframes fade-away {
	100% {
		opacity: 0;
	}
}

.fade-animation-h2 {
	font-size: clamp(2rem, 5vw + 1rem, 6rem);
	text-align: center;
}

.section__content {
	width: 800px;
	max-width: 100vw;
	padding: 0 1rem;
}
@media only screen and (min-width: 992px) {
	.keystroke-anim {
		top: 150px;
	}
	.reveal {
		font-size: 3.4rem;
	}
	.fade-animation:nth-of-type(1) {
		height: 100vh;
	}
}
@media only screen and (max-width: 992px) {
    .reveal {
		font-size: 2.4rem;
	}
}