:root{--bg:#060a14;--p:#0d1424;--p2:#131c33;--line:#1d2a4a;--ink:#e8eefc;--mut:#8a99bd;--b:#2f6bff;--b2:#4da3ff;--glow:0 0 8px rgba(47,107,255,.28)}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--ink);font:400 16px/1.5 Onest,system-ui,"Segoe UI",Arial,sans-serif}
a{color:inherit}
header{position:sticky;top:0;z-index:1000;background:rgba(6,10,20,.85);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;gap:18px;height:66px;padding:0 20px;max-width:1500px;margin:auto}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;font:700 17px Unbounded,sans-serif}
.logo img{height:30px;width:auto}
.logo span{text-shadow:var(--glow)}
.sp{flex:1}
.nav .l{text-decoration:none;color:var(--mut);font-weight:500;transition:.2s}
.nav .l:hover{color:var(--b2);text-shadow:var(--glow)}
.tel{background:var(--b);color:#fff;text-decoration:none;font-weight:600;padding:10px 18px;border-radius:99px;box-shadow:var(--glow);transition:.2s;white-space:nowrap}
.tel:hover{box-shadow:0 0 14px rgba(77,163,255,.45);transform:translateY(-1px)}
.intro{max-width:1500px;margin:auto;padding:34px 20px 8px}
h1{font:700 clamp(28px,4.6vw,52px)/1.08 Unbounded,sans-serif;margin:0 0 10px;text-shadow:0 0 16px rgba(47,107,255,.2)}
.intro p{margin:0;color:var(--mut);font-size:18px}
.filter{max-width:1500px;margin:18px auto 0;padding:0 20px;display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:12px}
label{display:block;font-size:13px;color:var(--mut);margin-bottom:4px}
select,input{width:100%;height:46px;background:var(--p);border:1.5px solid var(--line);color:var(--ink);border-radius:12px;padding:0 12px;font:inherit;transition:.2s}
select:hover,input:hover{border-color:var(--b)}
select:focus,input:focus{outline:0;border-color:var(--b2);box-shadow:var(--glow)}
.split{max-width:1500px;margin:20px auto 0;padding:0 20px;display:grid;grid-template-columns:minmax(340px,480px) 1fr;gap:20px;align-items:start}
.list{display:flex;flex-direction:column;gap:14px}
.cnt{color:var(--mut);margin:0 0 2px}
.card{display:flex;flex-direction:column;background:var(--p);border:1.5px solid var(--line);border-radius:18px;overflow:hidden;cursor:pointer;transition:.25s}
.card:hover,.card.hot{border-color:var(--b2);box-shadow:var(--glow);transform:translateY(-2px)}
.ph{height:190px;background:linear-gradient(135deg,#142458,#0a1636);position:relative;display:flex;align-items:flex-end;gap:3px;padding:0 16px;overflow:hidden}
.ph{padding:0}
.ph .bars{position:absolute;inset:auto 16px 0;display:flex;align-items:flex-end;gap:3px;height:100%}
.trk{position:absolute;inset:0;display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.trk::-webkit-scrollbar{display:none}
.trk img{flex:0 0 100%;width:100%;height:100%;object-fit:cover;scroll-snap-align:center}
.ar{position:absolute;top:50%;transform:translateY(-50%);width:34px;height:34px;border-radius:50%;border:1px solid var(--b2);background:rgba(6,10,20,.7);color:#fff;font:600 20px/1 Onest,sans-serif;cursor:pointer;opacity:0;transition:.2s;display:grid;place-items:center;padding:0}
.ar.l{left:10px}.ar.r{right:10px}
.card:hover .ar,.ar:focus-visible{opacity:1}
.ar:hover{background:var(--b);box-shadow:var(--glow)}
.dots{position:absolute;left:0;right:0;bottom:8px;display:flex;justify-content:center;gap:5px;flex-wrap:wrap;padding:0 14px}
.dots i{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.45);cursor:pointer;transition:.2s}
.dots i.on{background:#fff;box-shadow:0 0 4px var(--b2);transform:scale(1.25)}
.ph .bars s{flex:1;max-width:14px;background:#1f3a86;border-radius:3px 3px 0 0}
.ph s.on{background:var(--b2);box-shadow:0 0 5px var(--b2)}
.body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:6px}
.body small{color:var(--mut)}
.body h3{margin:0;font:600 17px/1.25 Onest,sans-serif}
.tags{display:flex;gap:6px;flex-wrap:wrap}
.tags span{font-size:13px;background:var(--p2);border:1px solid var(--line);border-radius:99px;padding:2px 10px}
.row{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:6px}
.price{font:700 22px Unbounded,sans-serif;color:var(--b2);text-shadow:0 0 8px rgba(77,163,255,.2)}
.price em{font:500 14px Onest,sans-serif;font-style:normal;color:var(--mut)}
.open{font-size:14px;font-weight:600;text-decoration:none;border:1.5px solid var(--b);color:var(--b2);padding:7px 14px;border-radius:99px;transition:.2s}
.open:hover{background:var(--b);color:#fff;box-shadow:var(--glow)}
.nomap{font-size:12px;color:var(--mut)}
.empty{padding:36px;text-align:center;color:var(--mut);border:1.5px dashed var(--line);border-radius:18px}
.mapbox{position:sticky;top:86px;height:calc(100vh - 106px);min-height:420px;border:1.5px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:0 0 16px rgba(47,107,255,.08)}
#map{height:100%;background:#0a0f1d}
#map{position:relative}
.ymaps3x0--map-copyrights{opacity:.8}
.mapmsg{height:100%;display:grid;place-items:center;text-align:center;padding:24px;color:var(--mut)}
.mapmsg b{color:var(--b2)}
.zm{position:absolute;right:14px;bottom:34px;z-index:5;display:flex;flex-direction:column;gap:8px}
.zm button{width:40px;height:40px;border-radius:12px;border:1px solid var(--b);background:rgba(13,20,36,.9);color:#fff;font:500 22px/1 Onest,sans-serif;cursor:pointer;transition:.2s}
.zm button:hover{background:var(--b);box-shadow:var(--glow)}
.pin{position:relative;transform:translate(-50%,-50%);white-space:nowrap;background:var(--b);color:#fff;font:600 12px Onest,sans-serif;padding:5px 10px;border-radius:99px;box-shadow:0 0 0 2px rgba(77,163,255,.3),0 0 8px rgba(47,107,255,.45);transition:.2s;cursor:pointer}
.pin.hot{background:#fff;color:#0d1a40;transform:translate(-50%,-50%) scale(1.25);box-shadow:0 0 0 3px var(--b2),0 0 10px rgba(77,163,255,.6);z-index:999}
.more{max-width:1500px;margin:26px auto 0;padding:0 20px;display:flex;gap:10px;flex-wrap:wrap;align-items:center;color:var(--mut)}
.more a{border:1.5px solid var(--line);background:var(--p);padding:9px 18px;border-radius:99px;text-decoration:none;color:var(--ink);transition:.2s}
.more a:hover{border-color:var(--b2);box-shadow:var(--glow)}
.dist{max-width:1500px;margin:34px auto 0;padding:0 20px}
h2{font:700 24px Unbounded,sans-serif;margin:0 0 14px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips span{background:var(--p);border:1px solid var(--line);padding:7px 14px;border-radius:99px;color:var(--mut)}
footer{margin-top:44px;background:var(--p);border-top:1px solid var(--line);padding:42px 20px 30px}
.fg{max-width:1500px;margin:auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:28px}
footer h4{font:700 15px Unbounded,sans-serif;margin:0 0 12px;color:var(--b2);text-shadow:var(--glow)}
footer p{margin:0 0 6px;color:var(--mut)}
footer a{text-decoration:none;color:var(--ink)}
footer a:hover{color:var(--b2)}
.copy{max-width:1500px;margin:30px auto 0;color:var(--mut);font-size:14px}
a:focus-visible,select:focus-visible{outline:3px solid var(--b2);outline-offset:2px}
@media(max-width:900px){.split{grid-template-columns:1fr}.mapbox{position:relative;top:0;height:380px;order:-1}.filter{grid-template-columns:1fr 1fr}.nav .l{display:none}}
.open{background:transparent;font-family:inherit;cursor:pointer}
.chips button{background:var(--p);border:1px solid var(--line);padding:7px 14px;border-radius:99px;color:var(--mut);font:inherit;cursor:pointer;transition:.2s}
.chips button:hover{border-color:var(--b2);color:var(--ink);box-shadow:var(--glow)}
.modal{position:fixed;inset:0;z-index:2000;background:rgba(3,6,14,.8);backdrop-filter:blur(6px);overflow:auto;padding:24px 14px}
.modal[hidden]{display:none}
.sheet{max-width:920px;margin:0 auto;background:var(--p);border:1.5px solid var(--line);border-radius:22px;overflow:hidden;position:relative}
.x{position:absolute;top:12px;right:12px;z-index:5;width:42px;height:42px;border-radius:50%;border:1px solid var(--b2);background:rgba(6,10,20,.85);color:#fff;font-size:24px;line-height:1;cursor:pointer;transition:.2s}
.x:hover{background:var(--b);box-shadow:var(--glow)}
.sheet .ph{height:360px}
.md-b{padding:22px 24px 28px;display:grid;gap:22px}
.md-b h2{font-size:clamp(20px,3vw,28px);margin:0 0 8px}
.md-b h4{font:700 15px Unbounded,sans-serif;margin:0 0 12px;color:var(--b2)}
.specs{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px}
.specs div{background:var(--p2);border:1px solid var(--line);border-radius:12px;padding:10px 14px}
.specs small{display:block;color:var(--mut);font-size:13px}
.btns{display:flex;gap:10px;flex-wrap:wrap}
.btn{display:inline-block;border:0;border-radius:99px;background:var(--b);color:#fff;font:600 15px Onest,sans-serif;text-decoration:none;padding:12px 20px;cursor:pointer;transition:.2s}
.btn:hover{box-shadow:var(--glow);transform:translateY(-1px)}
.btn.wa{background:#1fa855}
.btn.ghost{background:transparent;border:1.5px solid var(--b);color:var(--b2)}
.mm{height:280px;border-radius:16px;overflow:hidden;border:1px solid var(--line);background:#0a0f1d;position:relative}
@media(max-width:560px){.sheet .ph{height:240px}}
.loadmore{margin:6px 0 0;height:48px;border-radius:14px;border:1.5px solid var(--b);background:transparent;color:var(--b2);font:600 15px Onest,sans-serif;cursor:pointer;transition:.2s}
.loadmore:hover{background:var(--b);color:#fff;box-shadow:var(--glow)}
.lh{display:flex;justify-content:space-between;align-items:center;gap:10px}
.onlyfree{display:flex;align-items:center;gap:6px;color:var(--mut);font-size:14px;margin:0;cursor:pointer}
.onlyfree input{width:auto;height:auto}
.badge{position:absolute;top:10px;left:10px;z-index:3;background:#c0392b;color:#fff;font:600 12px Onest,sans-serif;padding:4px 10px;border-radius:99px;pointer-events:none}
.card.busy .trk,.card.busy .bars{opacity:.5}
