:root{--bg:#f4f6f9;--ink:#10223a;--muted:#5b6b80;--accent:#2563eb;--accent-d:#1d4fd7;--line:#e3e8ef;--card:#fff}
*{box-sizing:border-box}body{margin:0;font:16px/1.6 "Inter",system-ui,-apple-system,Arial,sans-serif;background:linear-gradient(180deg,#e7eefb 0,var(--bg) 380px) no-repeat var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased}
header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);padding:12px 20px;display:flex;align-items:center;gap:10px}
.brand{color:var(--ink);text-decoration:none;font-weight:800;font-size:19px;letter-spacing:-.01em;display:flex;align-items:center;gap:8px}
.brand .logo{width:27px;height:27px;border-radius:8px;background:var(--accent);display:inline-flex;align-items:center;justify-content:center;box-shadow:0 2px 6px rgba(37,99,235,.35)}
.spacer{flex:1}.langlink{color:var(--accent);text-decoration:none;font-size:13px;font-weight:600;border:1px solid var(--line);padding:5px 12px;border-radius:8px}
main{max-width:900px;margin:0 auto;padding:26px 18px}h1{font-size:30px;line-height:1.2;letter-spacing:-.02em;margin:.1em 0}h2{font-size:20px}
.lead{color:#37485e;font-size:17px}.crumb{font-size:13px;color:var(--muted);margin-bottom:10px}.crumb a{color:var(--muted)}
.hero{background:linear-gradient(180deg,#ffffff 0%,#eaf1fd 68%,#e1ebfb 100%);border:1px solid var(--line);border-radius:18px;padding:30px 30px 128px;position:relative;overflow:hidden;box-shadow:0 10px 30px rgba(16,34,58,.07)}
.hero>*{position:relative;z-index:2}
.hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:120px;background:url(skyline.svg) center bottom/100% 120px no-repeat;z-index:1;pointer-events:none}
#q{width:100%;font:inherit;font-size:18px;padding:14px 16px;border:1px solid #d7e0ee;border-radius:12px;margin-top:10px;background:#fff;box-shadow:0 6px 18px rgba(16,34,58,.06)}
.results{margin-top:8px}.results:not(:empty){background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 10px 24px rgba(16,34,58,.12);overflow:hidden}
.results a{display:block;padding:10px 12px;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink)}
.results a:last-child{border-bottom:none}
.results a:hover{background:#eff4ff}.results b{color:var(--accent)}.results span{color:var(--muted);float:right}
.tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.tag{background:var(--card);border:1px solid var(--line);border-radius:999px;padding:6px 13px;text-decoration:none;color:var(--ink);font-size:14px;font-variant-numeric:tabular-nums}
.tag:hover{border-color:var(--accent);color:var(--accent)}
.pcards{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;margin-top:10px}
.pcard{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:13px 15px;text-decoration:none;color:var(--ink)}
.pcard:hover{box-shadow:0 4px 14px rgba(16,34,58,.08)}.pcard b{display:block}.pcard span{font-size:13px;color:var(--muted)}
.pclist{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:6px}
.pclist a{text-decoration:none;color:var(--ink);display:block;padding:8px 10px;border-radius:8px}.pclist a:hover{background:#eff4ff}.pclist b{color:var(--accent);font-variant-numeric:tabular-nums}
table.info{border-collapse:collapse;margin:14px 0;font-size:15px}table.info th{text-align:left;color:var(--muted);font-weight:600;padding:7px 18px 7px 0;vertical-align:top}table.info td{padding:7px 0}
#map{height:320px;border-radius:14px;border:1px solid var(--line);margin:14px 0}
.nearby{margin-top:24px}
.faq{margin-top:28px;border-top:1px solid var(--line);padding-top:6px}
.faqlist{margin:0}.faqlist dt{font-weight:700;margin-top:16px}.faqlist dd{margin:4px 0 0;color:#37485e}
.ad{margin:24px 0;text-align:center}.ad-l{display:block;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:5px}
.muni-allink{margin-top:14px}.muni-allink a{color:var(--accent);text-decoration:none;font-weight:600}
.muni-grid{columns:4 160px;column-gap:18px;margin:8px 0 18px}.muni-grid a{display:block;padding:3px 0;text-decoration:none;color:var(--ink);font-size:14px;break-inside:avoid}.muni-grid a:hover{color:var(--accent)}
section h2 small{color:var(--muted);font-weight:500;font-size:14px}
.skyline{max-width:900px;margin:34px auto -10px;height:60px;background:url(skyline.svg) center bottom/100% 60px no-repeat;opacity:.4;pointer-events:none}
footer{max-width:900px;margin:6px auto 26px;padding:18px;color:var(--muted);font-size:13px;border-top:1px solid var(--line)}
.foot-links a{color:var(--muted);text-decoration:none;font-weight:500}.foot-links a:hover{color:var(--accent)}