/* reset.css — minimal modern reset. No CSS frameworks; we own everything. */
*, *::before, *::after { box-sizing: border-box; }
* { margin: 0; }

html, body { height: 100%; }
body {
    font-family: var(--font-body);
    font-size: var(--fs-base);
    line-height: var(--lh-body);
    color: var(--text-body);
    background: var(--bg-page);
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

img, picture, video, canvas, svg { display: block; max-width: 100%; height: auto; }
input, button, textarea, select { font: inherit; color: inherit; }

p, h1, h2, h3, h4, h5, h6 { overflow-wrap: break-word; }
h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-heading);
    color: var(--text-strong);
    line-height: var(--lh-tight);
    font-weight: var(--fw-bold);
}

a { color: var(--text-link); text-decoration: none; transition: color var(--transition); }
a:hover { color: var(--brand-primary); }

ul, ol { list-style: none; padding: 0; }

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

:where(:focus-visible) {
    outline: 3px solid var(--brand-primary);
    outline-offset: 2px;
}
