.homepage {
	align-items: flex-start;
	flex-direction: row;
	height: var(--wh);
	margin-bottom: 0;
	padding-bottom: var(--margin);
	overflow: hidden;
	scroll-snap-type: y proximity;
}

.homepage--nointeraction > * {
	pointer-events: none;
}

.homepage_logo,
.homepage_placeholder {
	padding-top: calc(0.5 * var(--descender-em));
	font-size: var(--size-title);
	line-height: 1;
	white-space: nowrap;
	transition: transform 0.5s cubic-bezier(.2, .6, .2, 1);
}

.homepage_logo > svg,
.homepage_placeholder > svg {
	width: auto;
	height: 0.744em;
	margin-right: 0.04em;
	margin-bottom: -0.02em;
}

.homepage_logo {
	position: fixed;
	top: 50%;
	left: var(--margin);
	transform: translateY(-50%);
}

.homepage_logo > svg,
.homepage_logo > span {
	opacity: 0;
	visibility: hidden;
}

.homepage_placeholder {
	visibility: hidden;
}

.homepage_filler {
	width: 1px;
	height: 100000px;
}

.homepage_links {
	flex: 1;
	position: relative;
}

.homepage_links > div {
	display: flex;
	align-items: flex-start;
	flex-direction: column;
	position: absolute;
	top: calc(-1 * var(--margin));
	left: 0;
}

.homepage_links .title,
.homepage_links .title > label {
	cursor: pointer;
}

.homepage_links .title,
.homepage_links .link {
	margin-bottom: 0;
	padding-top: calc(0.5 * var(--descender-em));
	opacity: 0;
	visibility: hidden;
	scroll-snap-align: center;
}

.homepage_links .link > span:not(.blink) {
	margin-right: 0;
}

@keyframes fadeIn {
	from {
		opacity: 0;
		visibility: hidden;
	}
	to {
		opacity: 1;
		visibility: visible;
	}
}

@media (max-width: 768px) {
	.homepage {
		--size-title: 6.666vw;
	}

	.homepage_logo,
	.homepage_placeholder,
	.homepage_links .link,
	.homepage_links .title {
		padding-top: var(--descender-em);
	}
}