/* =================================================================
   File:    00-reset.css
   Purpose: Modern CSS reset. Loaded first.
   Edits:   Don't add design here — that's 01-variables.css onward.
   ================================================================= */

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

html { -webkit-text-size-adjust: 100%; -moz-text-size-adjust: 100%; text-size-adjust: 100%; }

body, h1, h2, h3, h4, h5, h6, p, figure, blockquote, dl, dd { margin: 0; }

ul[role='list'], ol[role='list'] { list-style: none; }

html:focus-within { scroll-behavior: smooth; }

body {
	min-height: 100vh;
	min-height: 100dvh;
	text-rendering: optimizeSpeed;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

a:not([class]) { text-decoration-skip-ink: auto; }

img, picture, svg, video, canvas { max-width: 100%; height: auto; display: block; }

input, button, textarea, select { font: inherit; color: inherit; }

button { background: none; border: 0; padding: 0; cursor: pointer; }

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

:target { scroll-margin-block: 5ex; }

table { border-collapse: collapse; }

[hidden] { display: none !important; }

/* Respect users who don't want motion. */
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after {
		animation-duration: 0.001ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.001ms !important;
		scroll-behavior: auto !important;
	}
}
