html * {box-sizing: border-box;}

body {
	font-family: system-ui, sans-serif;
	font-size: 100%
	line-height: 1.3em;
	margin: 0;
}

header {
	background-color: #eee;
	height: 50vh;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	align-items: center;
	padding-bottom: 18vh;
}

header>* {
	line-height: 1.3em;
	margin: 0;
	text-wrap: balance;
}
h1 {
	outline: 1px dotted #aaa;
	text-align: center;
	line-height: 1em;
}

h2 {
	font-size: 10vw;
}

nav {
	order: -1;
}

ul.toplinks {
	list-style: none;
	padding: 0;
	display: flex;
	flex-flow: row-reverse;
	gap: 1em;
}
.toplinks li {

}
.toplinks a {
	text-decoration: none;
	border: 2px solid #888;
	border-radius: 5px;
	padding: 0.15em .2em .25em;
}

main {
	margin: 1em;
	display: flex;
	flex-flow: column; /* flex-direction, plus flex-wrap */
	gap: 2em;
}

.primary {
	flex: 55;
}

.secondary {
	flex: 34;
}

/* wide screen layout */
@media screen and (min-width: 650px) {
	main {
		flex-flow: row;
		align-items: center;
	}
}

@media screen and (min-width: 960px) {
	body {
		width: 960px;
		margin: 0 auto;
		box-shadow: 0 0 .5em #0002;
	}
	h2 {
		font-size: 96px;
	}
}