*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:#17233b;background:#f6f7fb;line-height:1.55}
.container{max-width:1180px;margin:0 auto;padding:0 20px}
.topbar{background:#fff;border-bottom:1px solid #e6e9f2;position:sticky;top:0;z-index:20}
.nav{display:flex;justify-content:space-between;align-items:center;padding:14px 20px}
.logo{font-weight:800;font-size:20px}.logo span{color:#0f4cdb}
nav a{margin:0 12px;color:#334155;text-decoration:none;font-weight:600}
.btn{border:0;border-radius:999px;padding:11px 18px;font-weight:700;cursor:pointer}
.btn-primary{background:#0f4cdb;color:#fff;box-shadow:0 6px 16px rgba(15,76,219,.25)}
.btn-ghost{background:#eef2ff;color:#0f4cdb}
.hero{background:linear-gradient(135deg,#0b2a6b,#0f4cdb 55%,#2f7bff);color:#fff;padding:64px 0 48px;text-align:center}
.hero-badge{display:inline-block;background:rgba(255,255,255,.16);padding:6px 12px;border-radius:999px;font-size:13px;letter-spacing:.04em;text-transform:uppercase}
.hero h1{font-size:44px;line-height:1.1;margin:18px 0 12px}
.hero-sub{max-width:720px;margin:0 auto 24px;opacity:.92;font-size:18px}
.searchbar{display:flex;gap:10px;max-width:860px;margin:0 auto;background:#fff;padding:8px;border-radius:16px;box-shadow:0 18px 40px rgba(0,0,0,.22)}
.searchbar input{flex:1;border:0;padding:12px;font-size:16px;outline:none}
.searchbar select{border:1px solid #e2e8f0;border-radius:10px;padding:10px}
.stats{display:flex;justify-content:center;gap:36px;margin-top:28px;flex-wrap:wrap}
.stats div{display:flex;flex-direction:column}.stats strong{font-size:24px}
.tabs{display:flex;gap:8px;flex-wrap:wrap;margin:28px 0 14px}
.tab{border:1px solid #dbe2f0;background:#fff;padding:10px 14px;border-radius:999px;cursor:pointer;font-weight:700}
.tab.active{background:#17233b;color:#fff}
.subfilters{display:flex;gap:20px;align-items:center;flex-wrap:wrap;margin-bottom:16px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px;padding-bottom:40px}
.card{background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 8px 24px rgba(15,23,42,.08);border:1px solid #e8ecf5}
.card img{width:100%;height:200px;object-fit:cover;display:block}
.card-body{padding:16px}
.card-top{display:flex;justify-content:space-between;align-items:start;gap:10px}
.price-lg{font-size:22px;font-weight:800}
.score{background:#dcfce7;color:#166534;font-weight:800;padding:4px 9px;border-radius:999px;font-size:13px;white-space:nowrap}
.score.mid{background:#fef9c3;color:#854d0e}.score.low{background:#fee2e2;color:#991b1b}
.badge{display:inline-block;background:#eef2ff;color:#3730a3;padding:3px 8px;border-radius:999px;font-size:12px;font-weight:700;margin:4px 4px 0 0}
.meta{color:#64748b;font-size:14px}
.card-actions{display:flex;gap:8px;margin-top:14px}.card-actions button{flex:1}
.btn-secondary{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:10px;padding:10px;font-weight:700;cursor:pointer}
.btn-save{background:#fff7ed;border:1px solid #fed7aa;border-radius:10px;padding:10px;font-weight:700;cursor:pointer}
.pricing{background:#fff;padding:56px 0;border-top:1px solid #e6e9f2}
.pricing h2,.faq h2{text-align:center}
.center{text-align:center}.muted{color:#64748b}
.notice{background:#fffbeb;border:1px solid #f59e0b;padding:14px;border-radius:12px;margin:20px auto;max-width:760px}
.pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;max-width:820px;margin:24px auto 0}
.price-card{border:1px solid #e2e8f0;border-radius:18px;padding:24px;position:relative;background:#fbfdff}
.price-card.featured{border:2px solid #0f4cdb;box-shadow:0 16px 32px rgba(15,76,219,.12)}
.ribbon{position:absolute;top:14px;right:14px;background:#0f4cdb;color:#fff;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:800}
.price{font-size:42px;font-weight:900}.price span{font-size:16px;color:#64748b}
.price-card ul{padding-left:18px}
.faq{padding:40px 20px 56px}details{background:#fff;border:1px solid #e6e9f2;border-radius:12px;padding:14px 16px;margin:10px 0}
footer{background:#0f172a;color:#cbd5e1;padding:28px 0;font-size:14px}
.modal{position:fixed;inset:0;background:rgba(2,6,23,.62);display:flex;align-items:center;justify-content:center;padding:18px;z-index:50}
.modal[hidden]{display:none}
.modal-card{background:#fff;border-radius:18px;max-width:720px;width:100%;max-height:90vh;overflow:auto;padding:22px;position:relative}
.modal-card img{width:100%;height:300px;object-fit:cover;border-radius:12px}
.close{position:absolute;top:12px;right:12px;background:#fff;border:0;width:36px;height:36px;border-radius:50%;cursor:pointer;box-shadow:0 4px 12px rgba(0,0,0,.2);z-index:2}
.empty{text-align:center;padding:30px;color:#64748b}
@media(max-width:700px){.hero h1{font-size:32px}.searchbar{flex-direction:column}.nav{flex-direction:column;gap:10px}}

.leaflet-popup-content{color:#142032;font-size:14px;line-height:1.45}
.leaflet-popup-content button{margin-top:6px}
