* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	scroll-behavior: smooth;
}
body {
	font-family: sans-serif;
	font-size: 12px;
	--primary: black;
	--secondary: white;
}
.container {
	display: grid;
	grid-template-rows: 4rem 1fr;
	height: 100dvh;
	overflow: auto;
}

/* nav */
.nav {
	display: flex;
	position: sticky;
	top: 0;
	gap: 1px;
	overflow: auto;
	border-bottom: 1px solid var(--primary);
	z-index: 9;
	background-color: var(--secondary);
	transition: height .5s;
	height: 4rem;
}
.nav:hover {
	height: 8rem;
}
.nav a {
	text-decoration: none;
	color: var(--primary);
	outline: 1px solid var(--primary);
	transition: flex-grow .5s;
	display: flex;
	align-items: center;
	flex-grow: 1;
	padding: 5px;
	line-height: 1em;
	letter-spacing: -.3em;
	writing-mode: vertical-lr;
	text-orientation: upright;
	text-transform: lowercase;
	background-color: var(--secondary);
}
.nav a:hover {
	flex-grow: 5;
	background-color: var(--primary);
	color: var(--secondary);
}
.nav a[data-active="1"] {
	flex-grow: 5;
	background-color: var(--primary);
	color: var(--secondary);
}

/* content */
.content {
	display: grid;
	grid-template-rows: 2rem 1fr;
}
.home {
	grid-row: span 2;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 10vw;
}
.project-nav {
	display: flex;
	gap: 1px;
	border-bottom: 1px solid var(--primary);
	overflow: auto;
	white-space: nowrap;
	background-color: var(--secondary);
}
.project-nav a {
	text-transform: lowercase;
	color: var(--primary);
	text-decoration: none;
	flex-grow: 1;
	display: flex;
	padding: 5px;
	align-items: center;
	justify-content: center;
	text-align: center;
	outline: 1px solid var(--primary);
	flex-basis: 0;
	transition: flex-grow .5s;
	background-color: var(--secondary);
}
.project-nav a:hover {
	background-color: var(--primary);
	color: var(--secondary);
	flex-grow: 5;
}
.project-nav a[data-active="1"] {
	background-color: var(--primary);
	color: var(--secondary);
	flex-grow: 5;
}
.projects {
	display: grid;
	grid-template-columns: 100vw 100vw 100vw 100vw;
	gap: 1px;
	overflow: auto;
	scroll-snap-type: x mandatory;
}
.project {
	display: grid;
	grid-template-rows: 1fr 2rem;
}
.project iframe {
	border: unset;
	width: 100%;
	height: 100%;
	scroll-snap-align: start;
}
.project a {
	background-color: var(--secondary);
	color: var(--primary);
	border-top: 1px solid var(--primary);
	text-align: center;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}
.project a:hover {
	background-color: var(--primary);
	color: var(--secondary);
}