.button-container {
	margin-top: 2em;
}

.button {
	cursor: pointer;
	background: #e7e7e7;
	border: 0;
	border-radius: 2px;
	padding: 1.5rem 3rem;
	font-family: inherit;
	font-variation-settings: "wght" 700;
	letter-spacing: -0.02em;
	font-size: 1em;
	position: relative;

	padding: 1rem 1.5rem;
	overflow: hidden;
	color: #fff;
	opacity: 0.5;
	transition: opacity 300ms;
}

.button:hover {
	opacity: 1.0;
}

.button-inner {
	display: grid;
	grid-auto-flow: column;
	align-items: center;
	grid-gap: 0.7em;
}

.button::before,
.button::after {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.button--hyperion > span {
	overflow: hidden;
}

.button--hyperion > span > span {
	overflow: hidden;
	mix-blend-mode: difference;
}

.button--hyperion:hover > span > span {
	animation: MoveUpInitial 0.2s forwards, MoveUpEnd 0.2s forwards 0.2s;
}
	
.button--hyperion::before {
	content: '';
	background: rgba(0, 0, 0, 1);
	transition: transform 0.3s cubic-bezier(0.7, 0, 0.2, 1);
	transform-origin: 100% 50%;
}

.button--hyperion:hover::before {
	transform: scale3d(0,1,1);
	transform-origin: 0% 50%;
}

@keyframes MoveUpInitial {
	to {
		transform: translate3d(0,-105%,0);
	}
}

@keyframes MoveUpEnd {
	from {
		transform: translate3d(0,100%,0);
	}
	to {
		transform: translate3d(0,0,0);
	}
}

.spotify-icon {
    position: relative;
    fill: currentColor;
	mix-blend-mode: difference;
}

.links-container {
	margin-top: 1.5em;
	display: grid;
	grid-auto-flow: column;
	grid-gap: 0.3em;
	justify-content: center;
	align-items: center;
}

.link {
	color: white;
	text-decoration: none;
	letter-spacing: -0.03em;
	font-variation-settings: "wght" 500;
	font-size: 1.1em;
	mix-blend-mode: overlay;
	opacity: 0.5;
	padding-bottom: 0.2em;
	padding-left: 0.5em;
	padding-right: 0.5em;
	border-bottom: solid 2px #FFFFFF00;
	transition: opacity 300ms, border-bottom 300ms;
}

.link:hover {
	opacity: 1.0;
	border-bottom: solid 2px #FFFFFF50;
}