*,
*::before,
*::after {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

@media (prefers-reduced-motion: no-preference) {
	:has(:target) {
		scroll-behavior: smooth;
	}
}

@media (prefers-reduced-motion: reduce) {
	* {
		animation-duration: 0.001s !important;
		transition-duration: 0.001s !important;
	}
}

.sr-only:not(:focus):not(:active) {
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	height: 1px;
	overflow: hidden;
	position: absolute;
	white-space: nowrap;
	width: 1px;
}

[hidden] {
	display: none;
}

body {
	min-height: 100vh;
	min-height: 100dvh;
}

h1, h2, h3, h4, h5, h6 {
	line-height: 1;
	margin: 0.67em 0;
	text-wrap: balance;
}

p, li, figcaption {
	text-wrap: pretty;
}

h1 {
	font-size: 2rem;
}

h2 {
	font-size: 1.5rem;
}

h3 {
	font-size: 1.17rem;
}

h4 {
	font-size: 1.00rem;
}

h5 {
	font-size: 0.83rem;
}

h6 {
	font-size: 0.67rem;
}

p, ul, ol, dl, address {
	line-height: 1.5;
}

pre {
	white-space: pre-wrap;
}

hr {
	border-style: solid;
	border-width: 1px 0 0;
	height: 0;
	color: inherit;
}

img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
	display: block;
	vertical-align: middle;
	max-width: 100%;
}

img,
svg,
video,
canvas {
	height: auto;
}

img {
	vertical-align: middle;
	font-style: italic;
	border-style: none;
	background-repeat: no-repeat;
	background-size: cover;
}

svg {
	overflow: hidden;
}

picture {
	display: contents;
}

source {
	display: none;
}

audio {
	width: 100%;
}

audio:not([controls]) {
	display: none;
}

caption,
figcaption,
label,
legend {
	line-height: 1.375;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section {
	display: block;
}

nav ul {
	list-style: none;
}
