/* Local reset and accessibility foundation */
html { line-height: 1.15; -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body { margin: 0; }
*, *::before, *::after { box-sizing: border-box; border-width: 0; border-style: solid; -webkit-font-smoothing: antialiased; }
p, li, ul, ol, pre, div, h1, h2, h3, h4, h5, h6, figure, blockquote, figcaption { margin: 0; padding: 0; }
button { background-color: transparent; }
button, input, optgroup, select, textarea { font: inherit; margin: 0; }
button, select { text-transform: none; }
button, [type="button"], [type="reset"], [type="submit"] { appearance: button; color: inherit; }
a { color: inherit; text-decoration: inherit; }
pre { white-space: pre-wrap; }
img { display: block; max-width: 100%; height: auto; }
details { display: block; margin: 0; padding: 0; }
summary { cursor: pointer; }
[hidden] { display: none !important; }
:focus-visible { outline: 3px solid var(--color-accent, #5c7f6a); outline-offset: 3px; }
.skip-link { position: fixed; top: .5rem; left: .5rem; z-index: 10000; transform: translateY(-180%); padding: .7rem 1rem; border-radius: .4rem; color: #fff; background: #1a4d2e; }
.skip-link:focus { transform: translateY(0); }
