html:has(body.map-page){height:100%;overflow:hidden}body.map-page{height:100dvh;min-height:0;overflow:hidden}body.map-page>main{position:relative;flex:1 1 auto;min-height:0}.map-canvas{position:absolute;inset:0;background:var(--card-2)}.map-top{position:absolute;top:var(--s-3);inset-inline:var(--s-4);z-index:2;max-width:560px;margin-inline:auto;display:flex;flex-direction:column;align-items:center;gap:var(--s-2);pointer-events:none}.map-search{position:relative;width:100%;display:flex;align-items:center;gap:var(--s-1);padding:6px;padding-inline-start:var(--s-3);border:1px solid var(--line-2);border-radius:var(--r-2);background:var(--card-2);pointer-events:auto}.map-search:focus-within{border-color:var(--accent)}.map-search__icon{flex:none;width:18px;height:18px;fill:none;stroke:var(--ink-2);stroke-width:2;stroke-linecap:round}.map-search input{flex:1;min-width:0;min-height:40px;padding:0 var(--s-2);border:0;background:transparent;color:var(--ink);font:inherit;font-size:var(--t-2);outline:none}.map-search input::placeholder{color:var(--muted)}.map-search input::-webkit-search-cancel-button{display:none}.map-search__clear{flex:none;display:grid;place-items:center;width:40px;height:40px;border:0;border-radius:var(--r-1);background:transparent;color:var(--ink-2);cursor:pointer}.map-search__clear:hover{color:var(--ink)}.map-search__clear svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}.map-suggest{position:absolute;inset-inline:0;top:calc(100% + var(--s-1));z-index:1;max-height:min(60vh,440px);overflow-y:auto;padding:4px;border:1px solid var(--line-2);border-radius:var(--r-2);background:var(--card-2)}.map-suggest__group{padding:var(--s-3) var(--s-3) var(--s-1);font-size:var(--t-1);font-weight:600;letter-spacing:0.08em;text-transform:uppercase;color:var(--muted)}.map-suggest__item{display:flex;align-items:center;gap:var(--s-3);min-height:40px;padding:0 var(--s-3);border-radius:var(--r-1);color:var(--ink);cursor:pointer}.map-suggest__item:hover,.map-suggest__item.is-active{background:var(--accent-soft);color:var(--accent-text)}.map-suggest__icon{flex:none;display:grid;place-items:center;opacity:.7}.map-suggest__icon svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.map-suggest__text{flex:1;min-width:0;display:flex;flex-direction:column}.map-suggest__main,.map-suggest__sub{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-suggest__main{font-size:var(--t-2)}.map-suggest__main b{font-weight:600}.map-suggest__sub{font-size:var(--t-1);color:var(--ink-2)}.map-suggest__aside{flex:none;font-family:var(--num);font-weight:700;font-variant-numeric:tabular-nums;font-size:var(--t-1);color:var(--ink-2)}.map-suggest__item:hover .map-suggest__sub,.map-suggest__item.is-active .map-suggest__sub,.map-suggest__item:hover .map-suggest__aside,.map-suggest__item.is-active .map-suggest__aside{color:inherit}.map-status{display:inline-flex;align-items:center;flex-wrap:wrap;justify-content:center;gap:var(--s-1) var(--s-3);max-width:100%;min-height:32px;padding:var(--s-1) var(--s-4);border:1px solid var(--line-2);border-radius:999px;background:var(--card-2);color:var(--ink);font-size:var(--t-1);pointer-events:auto}.map-status:empty{display:none}.map-status:has(.map-status__action){padding-inline-end:var(--s-1)}.map-status.is-loading .map-status__text::before{content:"";display:inline-block;width:10px;height:10px;margin-inline-end:var(--s-2);vertical-align:-1px;border:2px solid var(--accent);border-inline-end-color:transparent;border-radius:50%;animation:map-spin .8s linear infinite}.map-status__legend{display:inline-flex;gap:var(--s-3);color:var(--ink-2)}.map-status__key{display:inline-flex;align-items:center;gap:var(--s-1)}.map-status__key i{width:9px;height:9px;border-radius:50%;border:1px solid}.map-status__key--rent i{background:var(--accent);border-color:var(--accent-text)}.map-status__key--sale i{background:var(--gray);border-color:var(--ink)}.map-status__action{position:relative;min-height:26px;padding:0 var(--s-3);border:0;border-radius:999px;background:var(--accent);color:var(--accent-ink);font:inherit;font-size:var(--t-1);font-weight:600;cursor:pointer}.map-status__action::after{content:"";position:absolute;inset:-9px -4px}.map-unavailable{position:absolute;inset:0;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--s-4);padding:var(--s-4);background:var(--ground);color:var(--ink-2);font-size:var(--t-3);text-align:center}body.map-is-unavailable .map-top,main:has(>.map-unavailable:not([hidden])) .map-top{display:none}.tm-pin{transform-origin:50% 100%;transition:transform .18s ease;animation:map-pin-drop .38s cubic-bezier(.2,1.4,.4,1) both}.tm-pin:hover{transform:scale(1.12)}.tm-cluster{display:grid;place-items:center;min-width:32px;height:32px;padding:0 var(--s-2);border:2px solid var(--accent-text);border-radius:999px;background:var(--accent);color:var(--accent-ink);font-family:var(--num);font-weight:700;font-size:var(--t-1);font-variant-numeric:tabular-nums;cursor:pointer;transition:transform .18s ease;animation:map-pop .3s ease both}.tm-cluster:hover{transform:scale(1.08)}.tm-cluster--md{min-width:40px;height:40px;font-size:var(--t-2)}.tm-cluster--lg{min-width:48px;height:48px;font-size:var(--t-3)}.tm-cluster--sale{background:var(--gray);border-color:var(--ink);color:var(--white)}.tm-landmark{display:flex;flex-direction:column;align-items:center;gap:var(--s-1);animation:map-pin-drop .45s cubic-bezier(.2,1.4,.4,1) both}.tm-landmark__dot{display:grid;place-items:center;width:34px;height:34px;border:2px solid var(--card);border-radius:50%;background:var(--deep);color:var(--deep-ink)}.tm-landmark__dot svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.2}.tm-landmark__label{max-width:180px;padding:2px var(--s-3);border:1px solid var(--line-2);border-radius:999px;background:var(--card-2);color:var(--ink);font-size:var(--t-1);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tm-me{position:relative;width:16px;height:16px;border:3px solid var(--card);border-radius:50%;background:var(--accent)}.tm-me::after{content:"";position:absolute;inset:-3px;border:2px solid var(--accent);border-radius:50%;animation:map-me 2s ease-out infinite}.tm-locate{display:grid;place-items:center;width:40px;height:40px;margin:0 10px 10px 0;border:0;border-radius:var(--r-0);background:var(--white);color:var(--gray);cursor:pointer}.tm-locate:hover{color:var(--black)}.tm-locate.is-dark{background:color-mix(in srgb,var(--gray) 70%,var(--black));color:color-mix(in srgb,var(--white) 85%,var(--gray))}.tm-locate.is-dark:hover{color:var(--white)}.tm-locate svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2}.tm-locate.is-busy svg{animation:map-spin 1s linear infinite}.map-page .gm-style .gm-style-iw-c{background:var(--card);border:1px solid var(--line-2);border-radius:var(--r-2);box-shadow:none}.map-page .gm-style .gm-style-iw-tc::after{background:var(--card)}.map-page .gm-style .gm-style-iw-d{scrollbar-width:none}.map-page .gm-style .gm-ui-hover-effect>span{background-color:var(--ink-2)}.tm-iw{width:min(260px,calc(100vw - 156px));background:var(--card);color:var(--ink);font-family:var(--ui)}.tm-iw__head{color:var(--ink-2);font-family:var(--ui);font-size:var(--t-1);font-weight:500}.tm-iw>.card{border:0;background:transparent}.tm-iw>.card .card__media{border-radius:var(--r-1)}.tm-iw>.card .card__body{padding:var(--s-3) 0 0}@media (max-width:640px){.map-search{padding:4px;padding-inline-start:var(--s-3)}.map-search input{min-height:var(--tap);font-size:var(--t-3)}.map-search__clear{width:var(--tap);height:var(--tap)}.map-suggest__item{min-height:var(--tap)}}@keyframes map-pop{from{opacity:0;transform:scale(.9)}}@keyframes map-pin-drop{from{opacity:0;transform:translateY(-16px) scale(.6)}}@keyframes map-spin{to{transform:rotate(360deg)}}@keyframes map-me{from{opacity:.8;transform:scale(1)}to{opacity:0;transform:scale(2.6)}}@media (prefers-reduced-motion:reduce){.tm-pin,.tm-cluster,.tm-landmark,.tm-me::after{animation:none}.tm-me::after{opacity:0}}