:root {
	--flavor-color-canvas: #f7f5f0;
	--flavor-color-surface: #fff;
	--flavor-color-text: #14213d;
	--flavor-color-text-soft: #334e68;
	--flavor-color-brand: #0b6e69;
	--flavor-color-brand-strong: #084c4a;
	--flavor-color-inverse: #f8fafc;
	--flavor-color-border: #bcccdc;
	--flavor-color-accent: #8d2b0b;
	--flavor-space-2xs: 0.25rem;
	--flavor-space-xs: 0.5rem;
	--flavor-space-s: 0.75rem;
	--flavor-space-m: 1rem;
	--flavor-space-l: 1.5rem;
	--flavor-space-xl: 2rem;
	--flavor-space-2xl: 3rem;
	--flavor-content-width: 48rem;
	--flavor-wide-width: 75rem;
	--flavor-focus-width: 0.1875rem;
	--flavor-focus-color: #8d2b0b;
	--flavor-shadow-soft: 0 0.5rem 1.5rem rgb(20 33 61 / 8%);
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

* {
	min-width: 0;
}

html {
	font-size: 100%;
	scroll-behavior: smooth;
}

body {
	margin: 0;
	min-width: 20rem;
	background: var(--flavor-color-canvas);
	color: var(--flavor-color-text);
	font-family: "Source Sans 3", system-ui, sans-serif;
	font-size: 1rem;
	line-height: 1.6;
	overflow-wrap: break-word;
}

img {
	display: block;
	max-width: 100%;
	height: auto;
}

a {
	color: var(--flavor-color-brand-strong);
	text-underline-offset: 0.12em;
	text-decoration-thickness: 0.12em;
}

button,
input,
select,
textarea {
	font: inherit;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
ul,
ol,
dl,
blockquote,
figure {
	margin-block: 0;
}

ul[role="list"],
ol[role="list"] {
	padding: 0;
	list-style: none;
}

button,
[type="button"],
[type="submit"],
[type="reset"],
a,
input,
select,
textarea,
summary {
	min-width: 1.5rem;
	min-height: 1.5rem;
}

button {
	cursor: pointer;
}

main {
	outline: none;
}

.site-header {
	position: relative;
	z-index: 10;
	padding-block: 1rem;
	background: var(--flavor-color-surface);
	box-shadow: var(--flavor-shadow-soft);
}

.site-header__inner {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	align-items: center;
	justify-content: space-between;
	width: min(100% - 2rem, var(--flavor-wide-width));
	margin-inline: auto;
}

.site-header .wp-block-navigation {
	align-items: center;
}

.site-header .wp-block-navigation__responsive-container-open,
.site-header .wp-block-navigation__responsive-container-close,
.site-header .wp-block-navigation .wp-block-navigation-submenu__toggle {
	min-width: 2.75rem;
	min-height: 2.75rem;
	padding: 0.5rem;
	color: var(--flavor-color-text);
	background: var(--flavor-color-surface);
	border: 0.0625rem solid var(--flavor-color-border);
	border-radius: 0.375rem;
}

.site-header .wp-block-navigation__responsive-container {
	background: var(--flavor-color-surface);
}

.site-header .wp-block-navigation-item__content {
	display: inline-flex;
	align-items: center;
	min-height: 2.75rem;
	padding-inline: 0.75rem;
}

.site-footer {
	padding-block: 2rem;
}
