/* Resets */
*,
*::before,
*::after {
	box-sizing: border-box;
	/* outline: 1px solid red; */
}

:target {
	scroll-margin-block: 2rem; /* Firefox fallback */
	scroll-margin-block: 5rlh;
}

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

html {
	font-family: system-ui, sans-serif;
	-moz-text-size-adjust: none;
	-webkit-text-size-adjust: none;
	text-size-adjust: none;
	interpolate-size: allow-keywords;
}

body {
	margin: 0;
}

h1,
.h1,
h2,
.h2,
h3,
.h3,
button,
input,
label {
	line-height: 1.2;
	text-wrap: balance;
}

p,
li,
figcaption,
blockquote,
hr {
	max-width: var(--text-max-width);
	text-wrap: pretty;
}

hr {
	margin-block: var(--size-2);
	margin-inline-start: 0;
	margin-inline-end: auto;
	border: none;
  border-top: 1px solid var(--border);
}

.full-width {
	max-width: initial;
}

img,
picture {
	inline-size: 100%;
	height: auto;
	display: block;
	font-style: italic;
	background-repeat: no-repeat;
	background-size: cover;
	shape-margin: var(--size);
}

img[src$='.svg'] {
	inline-size: auto;
	height: 1em;
	display: inline-block;
	font-style: normal;
}

input,
button,
textarea,
select {
	min-inline-size: 0;
	font-family: inherit;
	font-size: inherit;
}

input,
textarea {
	padding: var(--size-0-5);
}

textarea:not([rows]) {
	min-height: 10em;
}

.details summary::marker {
	content: '\002b';
}

.details[open] summary::marker {
	content: '\2212';
}

summary {
	cursor: pointer;
}

pre,
code,
kbd,
samp {
	font-family: monospace;
	font-size: 1em;
}

table {
	border-collapse: collapse;
}

td,
math,
time[datetime*=':'] {
	font-variant-numeric: tabular-nums lining-nums;
}

sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}