*, *::before, *::after { box-sizing: border-box; }
html { color-scheme: light; scroll-behavior: smooth; }
body { margin: 0; line-height: 1.65; }
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; }
button, input, textarea, select { font: inherit; }
h1, h2, h3 { margin-block: 0 .65em; line-height: 1.08; text-wrap: balance; }
p { margin-block: 0 1em; }
ul, ol { padding-inline-start: 1.25rem; }
.container { width: min(100% - 2rem, 76rem); margin-inline: auto; }
.stack > * + * { margin-block-start: 1.5rem; }
.cluster { display: flex; flex-wrap: wrap; gap: .8rem; align-items: center; }
.grid, .card-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr)); gap: 1rem; }
.skip-link { position: fixed; z-index: 1000; top: .75rem; left: .75rem; padding: .65rem 1rem; background: #fff; color: #232323; transform: translateY(-150%); }
.skip-link:focus { transform: translateY(0); }
.visually-hidden { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
