:root{--bg:#f7f5ef;--card:#fff;--ink:#17261b;--muted:#556158;--line:#e2ddd1;--green:#1f5130;--green-2:#2f7a48;--leaf:#8fbf6a;--soft:#e7efe2;--r:12px}
@media (prefers-color-scheme:dark){:root{--bg:#121813;--card:#18211a;--ink:#e8efe6;--muted:#a7b5aa;--line:#2a362d;--green:#8fd19e;--green-2:#b6e3bf;--soft:#1e2c22}}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.6 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
a{color:var(--green-2)}a:hover{color:var(--green)}
.wrap{max-width:1100px;margin:0 auto;padding:0 16px}
.skip{position:absolute;left:-999px}.skip:focus{left:16px;top:8px;background:var(--card);padding:8px 12px;z-index:9}
.top{background:#1f5130;color:#fff}.top__in{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 20px;padding-top:12px;padding-bottom:12px}
.logo{color:#fff;text-decoration:none;font-weight:700;font-size:21px;display:flex;align-items:center;gap:8px}.logo b{color:#b9e39a;font-weight:700}
.logo__leaf{width:20px;height:20px;border-radius:0 60% 0 60%;background:#8fbf6a;display:inline-block}
.nav{display:flex;flex-wrap:wrap;gap:4px 16px;font-size:15px}.nav a{color:#e6f2e2;text-decoration:none;padding:4px 0}.nav a[aria-current]{border-bottom:2px solid #b9e39a}.nav a:hover{color:#fff}
main{padding:24px 16px 56px}
h1{font-size:clamp(28px,4.5vw,44px);line-height:1.12;margin:.3em 0 .35em;letter-spacing:-.01em}
h2{font-size:clamp(22px,2.6vw,28px);margin:1.8em 0 .5em}h3{font-size:18px;margin:1.2em 0 .3em}
.lead{font-size:19px;color:var(--muted);max-width:60ch}
.crumbs{font-size:14px;color:var(--muted)}.crumbs a{color:var(--muted)}
.cta{display:flex;flex-wrap:wrap;gap:10px}
.btn{display:inline-block;background:var(--green);color:#fff;text-decoration:none;padding:11px 18px;border-radius:999px;font-weight:600;font-size:15px}
.btn:hover{background:var(--green-2);color:#fff}.btn--ghost{background:transparent;color:var(--green);border:1.5px solid var(--green)}.btn--ghost:hover{background:var(--soft);color:var(--green)}
@media (prefers-color-scheme:dark){.btn{color:#10200f}.btn:hover{color:#10200f}}
.map{height:min(70vh,560px);border-radius:var(--r);border:1px solid var(--line);margin:20px 0 6px;background:var(--soft)}
.legend{font-size:14px;color:var(--muted);display:flex;gap:6px 14px;align-items:center;flex-wrap:wrap}
.dot{display:inline-block;width:12px;height:12px;border-radius:50%;background:#e2a73b;border:2px solid #fff;box-shadow:0 0 0 1px #9a7a3a;vertical-align:-1px}.dot--only{background:#1f7a3c;box-shadow:0 0 0 1px #12401f}
.arr-list{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px}
.arr-list li{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:10px 12px}.arr-list a{font-weight:600;text-decoration:none}.arr-list span{display:block;font-size:14px;color:var(--muted)}
.places{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}
.place{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:14px 16px}
.place h3{margin:0 0 6px;font-size:18px;line-height:1.3}
.place p{margin:4px 0;font-size:15px}.place__meta{color:var(--muted)}.place__oh span{display:block;font-size:13px;color:var(--muted)}.place__links{font-size:14px}
.badge{display:inline-block;font-size:12px;font-weight:600;padding:2px 8px;border-radius:999px;background:#f3e6c9;color:#6b4b10;vertical-align:2px;white-space:nowrap}.badge--only{background:#d9efd9;color:#14532d}
@media (prefers-color-scheme:dark){.badge{background:#3a3020;color:#f2d79b}.badge--only{background:#1d3b25;color:#b6e3bf}}
.table{overflow-x:auto}table{border-collapse:collapse;width:100%;max-width:640px}th,td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--line)}th{background:var(--soft)}
code{background:var(--soft);padding:1px 5px;border-radius:4px;font-size:.9em}
.foot{border-top:1px solid var(--line);color:var(--muted);font-size:14px;padding:22px 0 36px}.foot a{color:var(--muted)}
.near{margin-top:28px;color:var(--muted)}
.leaflet-popup-content{font:14px/1.45 system-ui,sans-serif}
