:root {
	--elastic: linear(0,0.029 1.6%,0.123 3.5%,0.651 10.6%,0.862 14.1%,1.002 17.7%,1.046 19.6%,1.074 21.6%,1.087 23.9%,1.086 26.6%,1.014 38.5%,0.994 46.3%,1);
	--outexpo: cubic-bezier(0.19, 1, 0.22, 1);
	font-size: 1rem;
	@media (min-width: 991px) {
		font-size: 1vw;
	}
	@media (min-width: 1440px) {
		font-size: 16px;
	}
}

body {
	position: relative;
	box-sizing: border-box;
	height: 100svh;
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-direction: column;
	text-align: center;
	padding: 1rem;
	@media (min-width: 991px) {
		padding: 2rem;
	}

	opacity: 0;
	animation: in 0.5s 0.2s forwards;
}

#compact {
	opacity: 0;
	translate: 0 12rem;
	animation: in 1s var(--outexpo) forwards;
}

section {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	gap: 0.75rem;
	margin-bottom: 1rem;
}

#symbol {
	aspect-ratio: 1/1;
	width: 3.8rem;
	opacity: 0;
	translate: 0 6rem;
	rotate: 360deg;
	animation: in 1s 0.1s var(--outexpo) forwards;
}

@keyframes spin {
	to {
		transform: rotate(1turn);
	}
}

h1 {
	font: 400 1.375rem/1 "STK Bureau";


	opacity: 0;
	translate: 0 6rem;
	animation: in 1s 0.2s var(--outexpo) forwards;
}

a {
	display: flex;
	padding: 0.9375rem 1.625rem;
	justify-content: center;
	align-items: center;
	background: black;
	color: white;
	text-decoration: none;
	font: 400 0.875rem/1 "Geist";
	border-radius: 0.625rem;


	opacity: 0;
	translate: 0 6rem;
	animation: in 1s 0.3s var(--outexpo) forwards;
}

p {
	font: 400 0.75rem/1.2 "Geist";
	max-width: 42ch;
	@media (min-width: 991px) {
		min-width: 65ch;
	}

	opacity: 0;
	animation: in 1s 0.4s var(--outexpo) forwards;
}

.r {
	color: #e53838;
}
.b {
	color: #347bde;
}
.g {
	color: #23ada2;
}


@keyframes in {
	to {
		translate: 0 0;
		opacity: 1;
		rotate: 0deg;
		scale: 1;
	}
}