/**
 * Base element resets and accessibility-focused defaults.
 * Color, font, and spacing values come from theme.json — this file only
 * covers what theme.json cannot express.
 */

/**
 * Mulish (self-hosted) — see assets/fonts/mulish/README.md for source/
 * license. One variable-font file covers the whole weight range this
 * theme uses (400 body text, 600 headings/nav, 700 hero H1) — the
 * `font-weight: 400 1000` range tells the browser it can pick any exact
 * weight from this one file rather than needing a separate file per
 * weight. `font-display: swap` avoids invisible text while it loads.
 * No italic — nothing on this site renders italic text.
 */
@font-face {
	font-family: 'Mulish';
	font-style: normal;
	font-weight: 400 1000;
	font-display: swap;
	src: url('../fonts/mulish/mulish-latin-variable.woff2') format('woff2');
}

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

/*
 * Safety net against horizontal page overflow from long unbroken strings
 * (URLs, monospace code, etc.) — only breaks a word if it would otherwise
 * overflow its container; normal wrapping is untouched. `overflow-wrap`
 * inherits, so this one rule covers every heading/paragraph/code/list
 * item in the theme.
 */
body {
	overflow-wrap: break-word;
}

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

a {
	text-decoration-thickness: 1px;
	text-underline-offset: 0.15em;
}

:focus-visible {
	outline: 2px solid var(--wp--preset--color--primary);
	outline-offset: 2px;
}

label {
	display: inline-block;
	margin-bottom: 0.25em;
}

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