*{box-sizing:border-box}
body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:#17201a;background:#fbfcf8;line-height:1.55}
.site-header{position:sticky;top:0;z-index:5;display:flex;justify-content:space-between;align-items:center;padding:12px 5vw;background:#fff;border-bottom:1px solid #dde5d7}
.brand{display:inline-flex;align-items:center;gap:8px;font-weight:800;color:#17402a;text-decoration:none;font-size:1.15rem}
.brand img{display:block;width:32px;height:32px}
nav a{color:#31543d;text-decoration:none;margin-left:18px}
a{color:#1d6841}
.search-box{display:grid;gap:8px;max-width:760px;margin-bottom:14px}
.search-box label{font-weight:800;color:#244a33}
.search-box input,.search-box select{width:100%;font:inherit;padding:12px;border:1px solid #b9c8b0;border-radius:8px;background:#fff;color:#17201a}
main{max-width:1120px;margin:auto;padding:22px 5vw 56px}
.breadcrumbs ol{display:flex;gap:8px;flex-wrap:wrap;padding:0;margin:0 0 18px;list-style:none;font-size:.9rem}
.breadcrumbs li:after{content:'/';margin-left:8px;color:#81907d}.breadcrumbs li:last-child:after{content:''}
.breadcrumbs a{color:#286646}
.hero{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;align-items:center;padding:26px 0 18px}
.hero img,.village-map img{display:block;width:100%;height:auto;border-radius:8px;border:1px solid #d6e1cf;background:#eaf1e3}
.hero h1{font-size:clamp(2rem,4vw,3.4rem);line-height:1.08;margin:0 0 12px;color:#143b27;letter-spacing:0}
.hero p{font-size:1.05rem;max-width:760px}
.village-map{margin:4px 0 0}
.village-map figcaption{margin-top:8px;color:#66715f;font-size:.92rem}
.section-heading-row{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin:0 0 14px}
.section-heading-row h2{margin:0}
.map-link{font-weight:700;text-decoration:none}
.google-map-frame{display:block;width:100%;height:420px;border:1px solid #d6e1cf;border-radius:8px;background:#eaf1e3}
.map-note{margin:10px 0 0;color:#66715f;font-size:.94rem}
.data-source{margin-top:10px;color:#66715f;font-size:.94rem}
.page-toc{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 0}
.page-toc a{margin:0;padding:7px 10px;border:1px solid #d6e1cf;border-radius:8px;background:#fff;text-decoration:none;font-weight:700;font-size:.92rem}
.compact{padding-bottom:6px}
.eyebrow{text-transform:uppercase;font-size:.78rem;font-weight:800;letter-spacing:.08em;color:#7b4d12;margin:0 0 8px}
section{padding:20px 0;border-top:1px solid #e1e8dc;scroll-margin-top:86px}
h2{font-size:1.35rem;color:#173b28;margin:0 0 14px}
h3{margin:0 0 6px;color:#244a33;font-size:1rem}
.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:12px}
.card{min-width:0;background:#fff;border:1px solid #dce5d6;border-radius:8px;padding:14px;min-height:92px}
.card p{margin:0}
table{width:100%;border-collapse:collapse;background:#fff;border:1px solid #dce5d6;border-radius:8px;overflow:hidden}
caption{text-align:left;padding:10px 12px;color:#66715f;background:#fbfcf8;font-weight:700}
th,td{text-align:left;padding:11px 12px;border-bottom:1px solid #e8eee4;vertical-align:top}
th{width:34%;color:#36543e;background:#f3f7ee}
.link-list,.directory{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:10px}
.link-list.single-column{grid-template-columns:1fr}
.link-list li,.directory li{min-width:0;display:flex;justify-content:space-between;align-items:flex-start;gap:10px;padding:12px;background:#fff;border:1px solid #dce5d6;border-radius:8px}
.link-list a,.directory a{min-width:0;overflow-wrap:anywhere;font-weight:700;color:#1d6841;text-decoration:none}
.link-list span,.directory span{overflow-wrap:anywhere;color:#66715f;font-size:.92rem;text-align:right}
.card .link-list li{display:block}
.card .link-list span{display:block;text-align:left;margin-top:4px}
.ad-slot{overflow:hidden;display:grid;gap:6px;place-items:center;min-height:280px;margin:18px 0;padding:12px;border:1px solid #dce5d6;border-radius:8px;background:#f4f7ef;color:#6d7a65}
.ad-slot span{font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:#7a8672}
.adsbygoogle{width:100%;max-width:100%;min-height:250px;overflow:hidden}
.ad-slot,section:nth-of-type(n+4){content-visibility:auto;contain-intrinsic-size:auto 320px}
.faq-list{display:grid;gap:10px}
details{background:#fff;border:1px solid #dce5d6;border-radius:8px;padding:12px}
summary{cursor:pointer;font-weight:700;color:#244a33}
details p{margin:8px 0 0}
footer{padding:24px 5vw;background:#102f20;color:#eef7ec;font-size:.92rem;border-top:4px solid #d6a348}
footer p{max-width:1120px;margin:10px auto 0}
.footer-links{max-width:1120px;margin:0 auto 12px;display:flex;flex-wrap:wrap;gap:12px 18px}
footer a{color:#f7d77a;text-decoration:none;font-weight:700}
footer a:hover,footer a:focus{color:#fff4c2;text-decoration:underline;text-underline-offset:3px}
.footer-links a{color:#f7d77a}
@media(max-width:620px){.site-header{align-items:flex-start;gap:8px;flex-direction:column}nav a{margin:0 14px 0 0}th,td{display:block;width:100%}th{border-bottom:0}.link-list li,.directory li{display:block}.link-list span,.directory span{display:block;text-align:left;margin-top:4px}.google-map-frame{height:320px}}
@media(min-width:820px){.hero{grid-template-columns:minmax(0,1fr) 420px}.hero.compact{grid-template-columns:1fr}.site-header{padding-left:7vw;padding-right:7vw}main{padding-left:7vw;padding-right:7vw}}
