
:root{--cream:#f7f4eb;--green:#304d3b;--sage:#e8eee5;--ink:#27332b;--muted:#617466}*{box-sizing:border-box}
body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.6 system-ui,-apple-system,Arial,sans-serif}
a{color:#31573e}a:focus-visible,button:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid #94ba9e;outline-offset:3px}
nav.top{background:#fffdf8;border-bottom:1px solid #e1e6db;padding:15px max(4vw,16px);display:flex;justify-content:space-between;gap:16px;align-items:center;flex-wrap:wrap}
nav .brand{font:bold 22px Georgia,serif;text-decoration:none;color:var(--green)}nav .links{display:flex;gap:14px;flex-wrap:wrap}nav .links a{text-decoration:none;font-size:14px;font-weight:700}
main{max-width:890px;padding:34px 18px 80px;margin:0 auto}h1,h2,h3{font-family:Georgia,serif;color:var(--green);line-height:1.2}h1{font-size:clamp(31px,5vw,52px);margin:7px 0 12px}h2{font-size:24px}
.eyebrow{font-size:12px;font-weight:bold;letter-spacing:.11em;text-transform:uppercase;color:#60765f}.muted{color:var(--muted)}.panel{background:white;border:1px solid #e2e7dd;border-radius:16px;padding:22px;margin:18px 0;box-shadow:0 5px 15px #2435260a}
.btn{display:inline-block;cursor:pointer;border:0;border-radius:9px;padding:11px 16px;background:var(--green);text-decoration:none;color:white;font:700 14px/1.3 system-ui,-apple-system,Arial,sans-serif;text-align:center;min-height:42px}.btn.alt{background:#e6eee3;color:var(--green)}.btn.outline{background:white;border:1px solid #cbdcc8;color:var(--green)}.btn:disabled{opacity:.55;cursor:default}
.action-row{display:flex;flex-wrap:wrap;gap:9px;align-items:center;margin:16px 0}select,input,textarea{padding:11px;border:1px solid #bacbb9;border-radius:8px;font:inherit;max-width:100%;background:white}label{display:block;font-weight:650;margin:10px 0 6px}
input[type=radio]{accent-color:#304d3b}.choices{display:flex;flex-wrap:wrap;gap:14px}.choices label{font-size:14px;display:flex;align-items:center;gap:5px;font-weight:500}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.notice{border-left:4px solid #92ac8c;background:#eaf0e5;padding:13px;border-radius:7px;font-size:14px}
footer{background:#253b2e;color:#eaf3ec;padding:22px;text-align:center;font-size:13px}
@media(max-width:600px){.grid{grid-template-columns:1fr}.panel{padding:16px}nav.top{padding:13px}nav .brand{font-size:19px}}
