/* Base design system. System fonts only. Contrast (on #fff / #fffdf8):
   green #0b4f3c 9.4:1, text #1c2420 15.6:1, muted #4a5550 7.6:1, amber-dark #8a4a00 6.8:1.
   Amber #f2b134 is a fill only, always with green text (6.9:1). */
:root{--green:#0b4f3c;--green-2:#08382a;--amber:#f2b134;--amber-dark:#8a4a00;--ink:#1c2420;--muted:#4a5550;--bg:#fffdf8;--card:#fff;--line:#d6d9d2;--tint:#eef5f1;--focus:#0b4f3c;--r:10px;--s:1rem}
*,*::before,*::after{box-sizing:border-box}
html{font-size:112.5%;-webkit-text-size-adjust:100%}
body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;line-height:1.6;color:var(--ink);background:var(--bg)}
.wrap{max-width:70rem;margin:0 auto;padding:0 var(--s)}
main{padding-top:1.5rem;padding-bottom:3rem;min-height:60vh}
main p,main li,main dd,main blockquote{max-width:70ch}
h1,h2,h3{line-height:1.2;color:var(--green);margin:1.5em 0 .5em}
h1{font-size:2rem;margin-top:.5em}h2{font-size:1.5rem}h3{font-size:1.2rem}
a{color:var(--green);text-underline-offset:.15em}
a:hover{color:var(--green-2)}
img,svg{max-width:100%;height:auto}
:focus-visible{outline:3px solid var(--focus);outline-offset:2px;box-shadow:0 0 0 5px var(--amber)}
.small{font-size:.85rem;color:var(--muted)}
.skip{position:absolute;left:.5rem;top:-4rem;background:var(--green);color:#fff;padding:.6rem 1rem;border-radius:0 0 var(--r) var(--r);z-index:10}
.skip:focus{top:0}
/* header */
.site-header{background:var(--green);color:#fff}
.site-header a{color:#fff}
.bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-top:.6rem;padding-bottom:.6rem;position:relative}
.brand{display:flex;align-items:center;gap:.6rem;font-weight:700;font-size:1.2rem;text-decoration:none}
.menu summary{list-style:none;cursor:pointer;padding:.5rem .9rem;border:1px solid rgba(255,255,255,.6);border-radius:var(--r);min-height:44px;display:flex;align-items:center}
.menu summary::-webkit-details-marker{display:none}
.menu nav{position:absolute;right:var(--s);left:var(--s);top:100%;background:var(--green-2);border-radius:0 0 var(--r) var(--r);z-index:5}
.menu ul{list-style:none;margin:0;padding:.5rem}
.menu li a{display:block;padding:.8rem 1rem;text-decoration:none;min-height:44px}
.menu li a:hover{background:rgba(255,255,255,.12)}
.site-header :focus-visible{outline-color:#fff;box-shadow:0 0 0 5px var(--green-2)}
@media(min-width:48em){
.menu summary{display:none}
.menu::details-content{content-visibility:visible;display:block}
.menu nav{position:static;background:none;display:block}
.menu ul{display:flex;gap:.25rem;padding:0}
.menu li a{padding:.6rem .9rem;border-radius:var(--r)}
}
/* footer */
.site-footer{background:var(--tint);border-top:1px solid var(--line);padding:1.5rem 0;color:var(--ink)}
.site-footer p{margin:.3rem 0}
/* components */
.btn{display:inline-block;min-height:44px;padding:.65rem 1.2rem;background:var(--green);color:#fff;border:2px solid var(--green);border-radius:var(--r);font:inherit;font-weight:600;text-decoration:none;cursor:pointer}
.btn:hover{background:var(--green-2);color:#fff}
.btn-accent{background:var(--amber);border-color:var(--amber);color:var(--green-2)}
.btn-accent:hover{background:#e0a020;color:var(--green-2)}
.btn-ghost{background:transparent;color:var(--green)}
.btn-ghost:hover{background:var(--tint);color:var(--green-2)}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:1.2rem;margin:1rem 0}
.grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr))}
.pill{display:inline-block;padding:.2rem .8rem;border-radius:999px;background:var(--amber);color:var(--green-2);font-size:.85rem;font-weight:700}
.pill-muted{background:var(--tint);color:var(--green);border:1px solid var(--line)}
label{display:block;font-weight:600;margin:1rem 0 .3rem}
input,select,textarea{display:block;width:100%;max-width:32rem;min-height:44px;padding:.6rem .8rem;font:inherit;color:var(--ink);background:#fff;border:2px solid var(--muted);border-radius:var(--r)}
input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-color:var(--green)}
.cite{font-size:.85rem;color:var(--muted)}
.cite a{color:var(--amber-dark)}
sup.cite a{text-decoration:none}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{
.skip,.site-header,.menu,.btn{display:none}
body{background:#fff;color:#000;font-size:12pt}
a{color:#000;text-decoration:underline}
main a[href^="http"]::after{content:" (" attr(href) ")";font-size:.8em}
.card{border:1px solid #999;break-inside:avoid}
}
