/* Static, self-hosted styling. No external fonts, trackers or scripts. */
:root { color-scheme: light; --ink:#20332b; --muted:#50645a; --green:#245b43; --line:#cedbd2; --paper:#fff; --wash:#f3f7f3; }
* { box-sizing:border-box; }
html { scroll-padding-top:1rem; }
body { margin:0; background:var(--wash); color:var(--ink); font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; font-size:1rem; line-height:1.7; }
a { color:var(--green); text-underline-offset:.18em; overflow-wrap:anywhere; }
a:hover { text-decoration-thickness:.14em; }
a:focus-visible { outline:3px solid #96631b; outline-offset:4px; border-radius:2px; }
.skip-link { position:fixed; top:.5rem; left:.5rem; transform:translateY(-200%); padding:.7rem; background:var(--paper); border:2px solid var(--green); }
.skip-link:focus { transform:none; }
.site-header,.site-footer,main { width:min(100% - 2rem,54rem); margin-inline:auto; }
.site-header { padding:2rem 0 1.25rem; border-bottom:1px solid var(--line); }
.brand { font-size:1.3rem; font-weight:750; text-decoration:none; }
nav { display:flex; flex-wrap:wrap; gap:.5rem 1.25rem; margin-top:.8rem; }
nav a { display:inline-flex; align-items:center; min-height:44px; }
nav a[aria-current="page"] { font-weight:750; }
main { padding:2rem clamp(1rem,4vw,3rem); margin-block:1.5rem; background:var(--paper); border:1px solid var(--line); border-radius:.75rem; }
h1,h2,h3 { line-height:1.25; color:var(--ink); overflow-wrap:anywhere; }
h1 { font-size:clamp(1.8rem,5vw,2.7rem); margin-top:0; }
h2 { font-size:1.4rem; margin-top:2rem; }
h3 { font-size:1.1rem; margin-top:1.5rem; }
p,li { overflow-wrap:anywhere; }
ul,ol { padding-left:1.5rem; }
li + li { margin-top:.5rem; }
.eyebrow,.updated,.site-footer { color:var(--muted); }
.eyebrow { margin:0 0 .5rem; font-weight:650; }
.notice { padding:1rem; border-left:4px solid var(--green); background:var(--wash); }
.document-links { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr)); gap:1rem; margin-top:1.5rem; }
.document-links a { display:block; padding:1.25rem; border:1px solid var(--line); border-radius:.5rem; text-decoration:none; min-height:100px; }
.document-links strong { display:block; text-decoration:underline; }
.document-links span { color:var(--muted); }
.site-footer { padding:.25rem 0 2rem; font-size:.9rem; }
@media print { body { background:white; } main { border:0; margin-block:0; padding:1rem 0; } .skip-link { display:none; } }
