:root{--fg:#1d2a2e;--muted:#5d6b70;--line:#dfe5e7;--accent:#1f6b5a;--bg:#fff}*{box-sizing:border-box}body{margin:0;font:16px/1.55 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--fg);background:var(--bg)}main{max-width:960px;margin:0 auto;padding:16px}a{color:var(--accent)}h1{font-size:1.9rem;line-height:1.2;margin:8px 0 4px}.muted{color:var(--muted)}footer.site,header.site{max-width:960px;margin:0 auto;padding:14px 16px;display:flex;gap:16px;align-items:center}header.site{border-bottom:1px solid var(--line);justify-content:space-between}header.site nav{display:flex;gap:16px}.brand{font-weight:700;text-decoration:none;color:var(--fg)}footer.site{border-top:1px solid var(--line);margin-top:40px;font-size:.9rem}.grid{list-style:none;padding:0;display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.card{border:1px solid var(--line);border-radius:10px;padding:12px 14px}.card h3{margin:0 0 2px;font-size:1.05rem}.card p{margin:0 0 6px;font-size:.92rem}.badges{list-style:none;padding:0;margin:6px 0 0;display:flex;flex-wrap:wrap;gap:6px}.badges li{font-size:.78rem;background:#eef5f3;color:var(--accent);border-radius:999px;padding:2px 9px}.chips{display:flex;flex-wrap:wrap;gap:8px;padding:0;list-style:none}.chips a{display:inline-block;border:1px solid var(--line);border-radius:999px;padding:4px 12px;text-decoration:none}.map iframe{width:100%;height:320px;border:0;border-radius:10px}.map figcaption{font-size:.85rem;color:var(--muted);margin-top:4px}.map{margin:16px 0}dl.facts{display:grid;grid-template-columns:max-content 1fr;grid-gap:6px 16px;gap:6px 16px}dl.facts dt{color:var(--muted)}dl.facts dd{margin:0}.status{display:inline-block;font-size:.8rem;font-weight:600;border-radius:999px;padding:2px 10px;margin-top:6px}.status-in_season,.status-open{background:#e3f4ea;color:#17643a}.status-closed,.status-off_season{background:#f1f3f4;color:var(--muted)}.status-temp_closed{background:#fdecea;color:#a12a1c}.notice{background:#fff8e6;border:1px solid #f1dfae;border-radius:8px;padding:10px 12px;font-size:.92rem}