body,
h1,
h2,
h3,
h4,
p {
	margin: 0;
	text-align: center;
	text-wrap: pretty;
}

* {
	box-sizing: border-box;
	margin: 0;
}

body {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
	font-family: system-ui, sans-serif;
	line-height: 1.5;
}

body > * {
	width: min(100%, 800px);
	margin: 0 auto;
}

:is(h1, h2, h3) {
	line-height: 1.2;
}

:root {
	color-scheme: dark light;
}

.logo-container {
	margin: 1rem auto auto auto;
	width: 120px;
}

svg path {
	fill: currentColor;
}

.stack-layout {
	display: grid;
	grid-template-areas: "stack";
	background-color: skyblue;
	margin: 1em auto;
}

.stack-layout > * {
	grid-area: stack;
}

.stack-layout img {
	width: 100%;
}

.stack-layout h3 {
	place-self: start center;
	font-size: 1.5em;
	line-height: 1.25;
	padding: 0 1.5vw 1vh;
	color: white;
	background-color: midnightblue;
	position: relative;
}

hr {
	margin: 2rem auto;
	width: min(80%, 800px);
}

.google-map {
	border: 0;
	width: 80%;
	max-width: 800px;
	height: 18rem;
	margin: 2rem auto;
}
