/* reset.css — shared across all design-system options, no visual opinion */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body, h1, h2, h3, h4, p, ul, ol, li, figure { margin: 0; }
ul, ol { padding: 0; list-style: none; }
img { max-width: 100%; display: block; }
a { text-decoration: none; color: inherit; }
button, input, select, textarea { font: inherit; color: inherit; }
button { cursor: pointer; background: none; border: 0; }

:focus-visible {
	outline: 2px solid var(--color-accent, #009F62);
	outline-offset: 2px;
}

/* Visually-hidden but screen-reader/SEO-accessible text. Standard
   clip-to-1px technique — content stays in the accessibility tree and
   in the DOM (so it's real <h1> text, not an image alt substitute)
   while being visually invisible. Used for e.g. the giant sub-brand
   logo heroes (2026-07-21) where the logo image itself carries no
   real text. */
.sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after {
		animation-duration: 0.001ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.001ms !important;
		scroll-behavior: auto !important;
	}
}
