*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--kq-ink); background: var(--kq-white); font-family: var(--kq-font-sans); font-size: var(--kq-text-base); line-height: 1.65; }
body.has-open-navigation { overflow: hidden; }
body.has-open-filter { overflow: hidden; }
img, svg { display: block; max-width: 100%; height: auto; }
button, input, select, textarea { font: inherit; }
a { color: inherit; text-underline-offset: 0.18em; }
h1, h2, h3, p { margin-block-start: 0; }
h1, h2 { font-family: var(--kq-font-display); color: var(--kq-green-950); line-height: 1.08; }
h1 { font-size: var(--kq-title-1); }
h2 { font-size: var(--kq-title-2); }
:focus-visible { outline: 3px solid var(--kq-green-600); outline-offset: 3px; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.screen-reader-text:focus { z-index: 100000; top: 0.5rem; left: 0.5rem; width: auto; height: auto; padding: 0.75rem 1rem; clip: auto; color: var(--kq-ink); background: var(--kq-white); }
