
:root{
  --bg:#eceee6; --paper:#ffffff; --ink:#1c2a20; --muted:#55645a;
  --green:#2f5136; --green2:#406c49; --green-dark:#1e3823;
  --gold:#a9852f; --gold-bright:#c9a44e; --gold-soft:#f4ecd2; --line:#d7ddd0; --soft:#f3f6f0; --soft2:#e8eee1;
  --link:#2c5c34; --heading:#1e3823;
  --shadow:0 1px 3px rgba(28,48,32,.08),0 12px 32px rgba(28,48,32,.08);
  --shadow-lg:0 2px 6px rgba(28,48,32,.10),0 20px 44px rgba(28,48,32,.14);
}
@media (prefers-color-scheme: dark){
  :root{ --bg:#11160f; --paper:#1d2620; --ink:#e9f0e8; --muted:#a9baab; --line:#354236; --soft:#232d24; --soft2:#27332a; --gold-soft:#38300f; --link:#93d29e; --heading:#d3e8d6; --shadow:0 1px 3px rgba(0,0,0,.35),0 12px 32px rgba(0,0,0,.35); --shadow-lg:0 2px 6px rgba(0,0,0,.4),0 20px 44px rgba(0,0,0,.45); }
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:"Source Sans 3",system-ui,-apple-system,Segoe UI,sans-serif;font-size:17px;line-height:1.62;-webkit-font-smoothing:antialiased}
a{color:var(--link)}
a:hover{text-decoration-thickness:2px}
::selection{background:var(--gold-bright);color:#1c1503}
:focus-visible{outline:2px solid var(--gold-bright);outline-offset:2px;border-radius:3px}
img{max-width:100%;display:block}
.wrap{max-width:1120px;margin:0 auto;padding:0 18px 44px}
.topstrip{background:var(--green-dark);color:#d8e6d6;font-size:13.5px;letter-spacing:.01em}
.topstrip .inner{max-width:1120px;margin:0 auto;padding:8px 18px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.topstrip a{color:#fff;text-decoration:none;font-weight:700}
.topstrip a:hover{text-decoration:underline}
.masthead{background:var(--paper);box-shadow:var(--shadow)}
.hero{position:relative;background:#223c27;overflow:hidden}
.hero img{width:100%;height:340px;object-fit:cover;object-position:center 42%}
@media(max-width:640px){.hero img{height:250px}}
.hero .overlay{position:absolute;inset:0;background:linear-gradient(100deg,rgba(16,30,19,.88) 0%,rgba(16,30,19,.58) 52%,rgba(16,30,19,.12) 100%),linear-gradient(to top,rgba(16,30,19,.45),transparent 45%);display:flex;align-items:center}
.hero .titlebox{max-width:1120px;margin:0 auto;padding:30px 18px;width:100%;color:#fff}
.hero h1{font-family:"Source Serif 4",Georgia,serif;font-size:clamp(34px,5.6vw,56px);line-height:1.04;margin:0;font-weight:700;letter-spacing:.2px;text-shadow:0 2px 14px rgba(0,0,0,.35)}
.hero p{margin:10px 0 0;font-size:clamp(15.5px,2.4vw,20px);color:#e9f2e6;max-width:580px;text-shadow:0 1px 8px rgba(0,0,0,.3)}
.hero .domain{margin:0 0 10px;font-size:13px;letter-spacing:.22em;text-transform:uppercase;color:#f2d67c;font-weight:700}
.hero .domain::after{content:"";display:block;width:64px;height:3px;background:var(--gold-bright);border-radius:2px;margin-top:12px}
.nonprofit{background:linear-gradient(180deg,var(--gold-bright),var(--gold));color:#221a04;text-align:center;font-weight:700;font-size:16.5px;padding:12px 18px;line-height:1.45;box-shadow:inset 0 -2px 0 rgba(60,45,5,.35)}
.nonprofit span{font-weight:400}
nav.main{background:var(--green-dark);position:sticky;top:0;z-index:20;box-shadow:0 4px 14px rgba(10,20,12,.28)}
nav.main .inner{max-width:1120px;margin:0 auto;padding:6px 10px;display:flex;flex-wrap:wrap;gap:2px}
nav.main button{appearance:none;border:0;background:transparent;color:#dfece0;font:inherit;font-size:15.5px;font-weight:600;padding:10px 14px;cursor:pointer;border-radius:8px;position:relative;transition:background .18s ease,color .18s ease}
nav.main button:hover{background:rgba(255,255,255,.10);color:#fff}
nav.main button[aria-selected="true"]{background:rgba(0,0,0,.30);color:#fff;box-shadow:inset 0 -3px 0 var(--gold-bright)}
@media(max-width:640px){nav.main button{flex:1 1 40%;text-align:center;font-size:14.5px;padding:10px 6px}}
.layout{display:grid;grid-template-columns:262px 1fr;gap:22px;margin-top:22px;align-items:start}
@media(max-width:820px){.layout{grid-template-columns:1fr}}
.card{background:var(--paper);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}
.side{padding:0;overflow:hidden}
.side h3{background:linear-gradient(180deg,var(--green2),var(--green));color:#fff;margin:0;padding:12px 18px;font-family:"Source Serif 4",Georgia,serif;font-size:17.5px;letter-spacing:.01em;box-shadow:inset 0 -3px 0 var(--gold)}
.side .body{padding:16px 18px 18px}
.side ul{margin:0;padding-left:18px}
.side li{margin:7px 0}
.side li a{text-decoration:none}
.side li a:hover{text-decoration:underline}
.searchbox{display:flex;gap:7px}
.searchbox input{flex:1;min-width:0;padding:10px 12px;border:1px solid var(--line);border-radius:8px;font:inherit;font-size:15px;background:var(--paper);color:var(--ink);transition:border-color .15s ease,box-shadow .15s ease}
.searchbox input:focus{outline:none;border-color:var(--green2);box-shadow:0 0 0 3px rgba(201,164,78,.35)}
.searchbox button{background:var(--green);color:#fff;border:0;border-radius:8px;padding:10px 15px;font-weight:700;cursor:pointer;transition:background .15s ease}
.searchbox button:hover{background:var(--green2)}
.contact-mini{font-size:15px;line-height:1.6}
.contact-mini a{overflow-wrap:anywhere}
.maincol{min-width:0}
.panel{display:none;padding:32px 36px 36px}
.panel.active{display:block;animation:panelIn .38s ease both}
@keyframes panelIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(max-width:560px){.panel{padding:22px 18px 26px}}
.panel h2{font-family:"Source Serif 4",Georgia,serif;font-size:clamp(27px,3.6vw,33px);line-height:1.15;margin:2px 0 6px;color:var(--heading)}
.panel h2 + .lede{color:var(--muted);font-size:18.5px;margin-top:0;line-height:1.5}
.panel h3{font-family:"Source Serif 4",Georgia,serif;font-size:21.5px;margin:30px 0 8px;color:var(--heading)}
.rule{height:4px;background:linear-gradient(90deg,var(--gold-bright),var(--gold));width:64px;border-radius:2px;margin:12px 0 18px}
figure.photo{margin:24px 0}
figure.photo img{border-radius:10px;width:100%;height:320px;object-fit:cover;box-shadow:var(--shadow)}
figure.photo figcaption{font-size:13.5px;color:var(--muted);margin-top:8px}
table.info{width:100%;border-collapse:collapse;margin-top:12px;font-size:15.5px}
table.info th,table.info td{border-bottom:1px solid var(--line);padding:11px 10px;text-align:left;vertical-align:top}
table.info tbody tr,table.info tr{transition:background .12s ease}
table.info tr:hover{background:var(--soft)}
table.info th{width:34%;color:var(--muted);font-weight:600}
address{font-style:normal;background:var(--soft);border:1px solid var(--line);border-radius:10px;padding:20px 22px;margin:16px 0;line-height:1.65}
.btnrow{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.btn{display:inline-block;background:var(--green);color:#fff !important;text-decoration:none;font-weight:700;padding:12px 22px;border-radius:999px;box-shadow:0 4px 12px rgba(30,56,35,.25);transition:transform .15s ease,background .15s ease,box-shadow .15s ease}
.btn:hover{background:var(--green2);transform:translateY(-1px);box-shadow:0 7px 16px rgba(30,56,35,.28);text-decoration:none}
.btn.ghost{background:transparent;color:var(--link) !important;border:1.5px solid var(--green);box-shadow:none}
.btn.ghost:hover{background:var(--soft2)}
.ownernote{background:var(--soft2);border:1px solid var(--line);border-radius:10px;padding:12px 16px;font-size:14.5px;color:var(--muted);margin:20px 0 0;line-height:1.55}
.didyouknow{background:var(--gold-soft);border:1px solid var(--gold-bright);border-radius:10px;padding:15px 17px;font-size:15.5px;margin:18px 0;line-height:1.6}
.dir-cat{margin-top:26px;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(255px,100%),1fr));gap:10px}
.dir-cat h3{margin:0;grid-column:1/-1}
.dir-cat .catmeta{color:var(--muted);font-size:14px;margin:0;grid-column:1/-1}
.dir-cat > p:not(.catmeta){grid-column:1/-1}
.biz{background:var(--soft);border:1px solid var(--line);border-radius:9px;padding:12px 14px;transition:border-color .15s ease,box-shadow .15s ease}
.biz:hover{border-color:var(--gold-bright);box-shadow:var(--shadow)}
.biz b{font-size:16px;line-height:1.35;display:block}
.biz .addr{color:var(--muted);font-size:14.5px;margin-top:3px;line-height:1.45}
.biz .ph{font-size:14.5px;font-weight:600;color:var(--green);margin-top:4px}
@media (prefers-color-scheme: dark){.biz .ph{color:#a8d5ae}}
.prop{border:1px solid var(--line);border-radius:12px;padding:20px 22px;margin:14px 0;background:var(--paper);box-shadow:var(--shadow);transition:box-shadow .18s ease,transform .18s ease}
.prop:hover{box-shadow:var(--shadow-lg)}
.prop h4{margin:0 0 4px;font-family:"Source Serif 4",Georgia,serif;font-size:20.5px;color:var(--heading);line-height:1.25}
.prop p{margin:5px 0;font-size:15.5px}
.prop .facts{display:inline-block;font-weight:700;background:var(--gold-soft);border:1px solid var(--gold-bright);color:#4a3a08;border-radius:999px;padding:4px 13px;font-size:14.5px;margin:8px 0 4px}
@media (prefers-color-scheme: dark){.prop .facts{color:#f0d48a}}
.prop .contactline{color:var(--muted);font-size:14.5px}
.doclist{list-style:none;margin:12px 0;padding:0}
.doclist li{border-top:1px solid var(--line);padding:13px 4px;transition:background .12s ease}
.doclist li:hover{background:var(--soft)}
.doclist .date{color:var(--muted);font-size:14px;font-variant-numeric:tabular-nums;letter-spacing:.02em}
.newspost{border-top:1px solid var(--line);padding:20px 0 8px}
.newspost .date{color:var(--muted);font-size:14.5px}
.newspost h3{margin-top:4px}
.board{width:100%;border-collapse:collapse;font-size:15.5px;margin-top:10px}
.board th,.board td{border-bottom:1px solid var(--line);padding:10px;padding-left:8px;text-align:left;vertical-align:top}
.board tr:hover{background:var(--soft)}
.board th{color:var(--heading);font-weight:700;width:30%}
footer{margin-top:26px;background:linear-gradient(180deg,var(--green),var(--green-dark));color:#dce8dc;border-radius:12px;padding:26px 28px;font-size:14.5px;box-shadow:var(--shadow);border-top:4px solid var(--gold)}
footer a{color:#fff;overflow-wrap:anywhere}
footer .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:20px;line-height:1.65}
@media(max-width:700px){footer .cols{grid-template-columns:1fr}}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  .panel.active{animation:none}
  .btn,.prop,.biz,nav.main button,.searchbox input,.doclist li,table.info tr,.board tr{transition:none}
  .btn:hover{transform:none}
}

/* multi-page overrides: panels always visible; nav uses links */
.panel{display:block !important;}

nav.main a{appearance:none;border:0;background:transparent;color:#dfece0;font:inherit;font-size:15.5px;font-weight:600;padding:10px 14px;cursor:pointer;border-radius:8px;position:relative;transition:background .18s ease,color .18s ease}

nav.main a:hover{background:rgba(255,255,255,.10);color:#fff}

nav.main a[aria-selected="true"]{background:rgba(0,0,0,.30);color:#fff;box-shadow:inset 0 -3px 0 var(--gold-bright)}
nav.main a{flex:1 1 40%;text-align:center;font-size:14.5px;padding:10px 6px}

  .btn,.prop,.biz,nav.main a,.searchbox input,.doclist li,table.info tr,.board tr{transition:none}
