:root{--blue:#3182f6;--action:#1b64da;--ink:#191f28;--text:#4e5968;--muted:#6b7684;--line:#edf0f4;--surface:#f5f7fa;--list-width:382px;--header-height:68px;font-family:-apple-system,BlinkMacSystemFont,'Apple SD Gothic Neo','Malgun Gothic',sans-serif;font-size:15px;color:var(--ink);background:#fff;font-synthesis:none;-webkit-font-smoothing:antialiased}
*{box-sizing:border-box}html,body{margin:0;min-width:320px;height:100%;overscroll-behavior:none}body.has-dialog{overflow:hidden}button,input{font:inherit;color:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{border:0;background:none;cursor:pointer}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}input{min-width:0}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #8dbdff;outline-offset:3px}::selection{background:#cce3ff}[hidden]{display:none!important}.icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:-80px;left:20px;z-index:3000;background:var(--ink);color:white;border-radius:12px;padding:14px 20px}.skip-link:focus{top:10px}.icon-button{width:44px;min-width:44px;height:44px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center}.icon-button:hover{background:var(--surface)}.icon-button.small{width:32px;min-width:32px;height:32px}.text-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;font-size:13px;font-weight:650;color:var(--text)}.text-button:hover{color:var(--action)}.text-button .icon{width:18px;height:18px}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:13px 18px;border-radius:12px;font-size:14px;font-weight:700;line-height:1.4}.button.primary{background:var(--blue);color:white}.button.primary:hover{background:var(--action)}.button.secondary{background:#f0f3f7;color:var(--text)}.button.secondary:hover{background:#e7edf5}.subtle,.field-note{color:var(--muted);font-size:12px;line-height:1.6}.field-note{margin:12px 0 0}.eyebrow{font-size:12px;color:var(--muted);margin:0 0 8px}
.site-header{height:var(--header-height);position:relative;display:flex;align-items:center;padding:0 24px;gap:28px;background:white;border-bottom:1px solid var(--line);z-index:700}.brand{display:inline-flex;align-items:center;gap:8px;font-size:23px;font-weight:800;letter-spacing:-1px;white-space:nowrap}.brand-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:var(--blue);color:white}.brand-mark .icon{width:22px;height:22px}.site-header nav{height:100%;display:flex;align-items:center}.nav-button{font-size:14px;font-weight:650;height:100%;padding:0}.header-actions{display:flex;gap:12px;align-items:center;margin-left:auto}.header-actions .text-button{font-size:12px;gap:5px}.header-actions b{font-size:11px;color:var(--blue)}.header-actions .icon-button{color:#8b95a1}.site-header .search-form{position:relative;flex:0 1 560px;min-width:260px;z-index:710;background:#f4f6f9;border-radius:13px}.search-field{display:flex;align-items:center;gap:10px;height:44px;padding:0 8px 0 14px;border:1px solid transparent;border-radius:13px}.search-field:focus-within{border-color:#8dbdff;box-shadow:0 0 0 3px #3182f619}.search-field>.icon{color:#7c8a9b}.search-field input{height:100%;width:100%;font-size:14px;border:0;outline:0;background:transparent}.search-field input::placeholder{color:#8b95a1;opacity:1}.filter-toolbar{position:absolute;z-index:650;top:calc(var(--header-height) + 16px);left:18px;width:auto;max-width:calc(100% - var(--list-width) - 36px);background:#fffffffa;padding:7px;border:1px solid #e8edf2;border-radius:15px;box-shadow:0 4px 20px #263b560d}.filter-shortcuts{display:flex;align-items:center;flex-wrap:nowrap;gap:5px;overflow-x:auto;scrollbar-width:none}.toolbar-chip{flex:none;min-height:38px;border:1px solid #e9edf3;border-radius:10px;padding:8px 11px;display:inline-flex;gap:6px;align-items:center;font-size:12px;font-weight:600;background:white;white-space:nowrap}.toolbar-chip:hover{background:#f5f9ff}.toolbar-chip.active{border-color:#a9cdff;background:#f0f6ff;color:var(--action)}.toolbar-chip .icon{width:15px;height:15px}.toolbar-chip i{font-style:normal;color:#8b95a1;font-size:12px}.toolbar-chip b{border-radius:5px;background:var(--blue);color:white;padding:2px 5px;font-size:10px}.toolbar-divider{display:none}.compact-shortcut{font-size:11px;background:#f6f8fb;border-color:transparent;padding:8px 10px;min-height:38px}
.map-workspace{display:grid;grid-template-columns:minmax(0,1fr) var(--list-width);height:calc(100dvh - var(--header-height));position:relative;overflow:hidden}.map-panel{grid-column:1;position:relative;min-width:0;height:100%;background:#f3f5f6;overflow:hidden}.map-panel #map{height:100%;width:100%;background:#f3f5f6}.map-context{position:absolute;right:18px;top:82px;z-index:430;display:flex;align-items:center;gap:6px;font-size:11px;padding:9px 11px;border-radius:10px;background:#ffffffed;box-shadow:0 2px 10px #16345b08}.map-context-dot{width:6px;height:6px;border-radius:50%;background:var(--blue)}#mapTotalCount{font-weight:700;color:var(--action);padding-left:5px}.map-controls{position:absolute;right:18px;bottom:100px;z-index:430}.map-controls .icon-button{background:white;box-shadow:0 2px 10px #16345b16;font-size:25px}.switch-dot{height:16px;width:28px;border-radius:20px;background:#cbd3de;position:relative}.switch-dot:after{content:'';position:absolute;top:2px;left:2px;width:12px;height:12px;border-radius:50%;background:white;transition:left .15s}.search-area-button{position:absolute;top:20px;left:50%;transform:translateX(-50%);z-index:450;display:flex;align-items:center;gap:6px;background:white;color:var(--action);border:1px solid #dce9fb;box-shadow:0 3px 13px #16345b14;border-radius:28px;padding:12px 17px;min-height:44px;white-space:nowrap;font-size:12px;font-weight:650}.search-area-button .icon{width:17px;height:17px}.map-note{position:absolute;left:12px;bottom:8px;max-width:calc(100% - 65px);z-index:425;font-size:9px;color:#6b7684;background:#fffffff0;padding:6px 9px;border-radius:7px;margin:0;pointer-events:none}.map-fallback{position:absolute;z-index:440;inset:35% 24% auto;background:#fffffff7;border:1px solid #e5eaf0;border-radius:18px;padding:25px;text-align:center;box-shadow:0 5px 30px #2539520a;pointer-events:none}.map-fallback>.icon{width:28px;height:28px;margin:auto;color:#96a7b8}.map-fallback h3{font-size:15px;margin:12px 0 8px}.map-fallback p{font-size:12px;line-height:1.7;margin:0;color:var(--muted)}.map-fallback.tiles-unavailable{inset:auto auto 50px 24px;padding:13px 18px;max-width:245px}.map-fallback.tiles-unavailable>.icon{display:none}.map-fallback.tiles-unavailable h3{margin:0 0 4px;font-size:12px}.map-fallback.tiles-unavailable p{font-size:11px}.price-marker{background:transparent;border:0}.price-marker button{width:82px;min-height:40px;border:1px solid #ccd7e4;border-radius:12px;background:white;box-shadow:0 3px 11px #29415e18;color:#26364a;font-size:13px;font-weight:750;white-space:nowrap}.price-marker button:hover,.price-marker.is-selected button{background:var(--blue);border-color:var(--blue);color:white}.price-marker.is-selected button{box-shadow:0 0 0 5px #3182f622}.count-cluster{background:transparent;border:0}.count-cluster button{width:108px;height:44px;display:flex;align-items:center;justify-content:center;gap:7px;background:var(--blue);color:white;font-size:15px;font-weight:750;border:3px solid #ffffffed;border-radius:13px;box-shadow:0 2px 8px #1b64da35}.count-cluster button:hover{background:#edf4ff}.leaflet-control-zoom{box-shadow:0 2px 9px #16345b13!important;border:0!important;border-radius:10px!important;overflow:hidden}.leaflet-control-zoom a{color:#6b7684!important;width:38px!important;height:35px!important;line-height:35px!important}.leaflet-control-attribution{font-size:9px!important}.leaflet-bottom.leaflet-right{right:8px;bottom:13px}.map-preview{position:absolute;left:24px;bottom:40px;z-index:460;display:flex;width:352px;gap:12px;background:white;padding:10px;border:1px solid #e5e8eb;border-radius:15px;box-shadow:0 6px 25px #143c6626}.preview-photo{width:96px;height:106px;flex:none;overflow:hidden;border-radius:9px;padding:0;background:var(--surface)}.preview-photo img{height:100%;width:100%;object-fit:cover}.preview-info{flex:1;min-width:0;text-align:left;padding:2px 22px 2px 0}.preview-info>span{font-size:10px;color:#8b95a1;display:block;margin-bottom:4px}.preview-info>strong{font-size:13px;line-height:1.4;display:block;margin:0 0 7px}.preview-info .card-price strong{font-size:21px}.map-preview>.icon-button{position:absolute;right:4px;top:4px;width:30px;min-width:30px;height:30px;color:#8b95a1}.map-preview>.icon-button .icon{width:17px;height:17px}
.results-panel{grid-column:2;display:flex;flex-direction:column;min-height:0;background:white;z-index:500;border-left:1px solid #e5e8eb;overflow:hidden}.results-head{padding:18px 20px 0;flex:none;background:white;position:relative;z-index:2;border-bottom:1px solid #f0f3f6}.results-title-row{display:flex;align-items:center;justify-content:space-between}.results-eyebrow{font-size:11px;color:#8b95a1;margin:0 0 6px}.results-head h1{font-size:20px;font-weight:650;letter-spacing:-.55px;margin:0;line-height:1.5}.results-head h1 strong{font-weight:750;color:var(--blue);margin-left:5px}.results-head h1 span{font-size:13px;font-weight:500;color:#8b95a1;margin-left:2px}.sort-buttons{display:flex;gap:17px;padding:15px 0 12px}.sort-buttons button{font-size:11px;color:#8b95a1;min-height:27px;padding:0;white-space:nowrap}.sort-buttons button[aria-pressed=true]{font-weight:650;color:var(--ink)}.selected-chips{display:flex;gap:6px;overflow-x:auto;padding:0 0 14px;scrollbar-width:none}.condition-chip{white-space:nowrap;min-height:32px;display:inline-flex;align-items:center;gap:4px;border-radius:7px;background:#edf5ff;color:#2874d7;padding:7px 9px;font-size:10px}.condition-chip .icon{width:12px;height:12px}.results-scroll{flex:1;overflow-y:auto;min-height:0;scrollbar-width:thin;overscroll-behavior:contain}.property-list{padding:0 22px}.property-card{display:grid;grid-template-columns:120px minmax(0,1fr);gap:13px;padding:19px 0;border-bottom:1px solid var(--line);background:white;transition:background .18s,box-shadow .18s}.property-card.is-selected{background:#f4f8ff;box-shadow:0 0 0 10px #f4f8ff}.card-photo{height:154px;min-width:0;border-radius:12px;overflow:hidden;position:relative;background:#f0f3f7}.photo-open{width:100%;height:100%;padding:0;display:block}.photo-open img{height:100%;width:100%;object-fit:cover;transition:transform .35s}.property-card:hover .photo-open img{transform:scale(1.025)}.photo-placeholder{height:100%;display:grid;place-items:center;color:#a6b3c2}.photo-placeholder .icon{height:30px;width:30px}.photo-count{position:absolute;right:7px;bottom:7px;background:#14223480;color:white;padding:4px 6px;border-radius:5px;font-size:9px;display:flex;align-items:center;gap:4px;pointer-events:none}.photo-count .icon{width:12px;height:12px}.card-content{min-width:0}.card-location{font-size:11px;color:#8b95a1;display:flex;justify-content:space-between;align-items:center;line-height:18px;height:20px;margin:0 0 4px}.card-map-button{display:grid;place-items:center;width:30px;min-height:30px;padding:0;color:#8b95a1}.card-map-button .icon{height:16px;width:16px}.card-map-button:hover{color:var(--blue)}.card-title{text-align:left;padding:0;width:100%}.card-title h2{font-size:14px;font-weight:600;line-height:1.5;letter-spacing:-.35px;margin:0 0 6px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.card-title:hover{color:var(--action)}.card-price{display:flex;align-items:baseline;gap:3px;line-height:1.2;white-space:nowrap;margin:0}.card-price strong{font-size:22px;letter-spacing:-.8px;font-weight:750}.card-price span{font-size:11px;font-weight:500}.transit-summary{display:flex;align-items:center;gap:7px;flex-wrap:wrap;font-size:13px;line-height:1.5;color:#4e5968;margin-top:14px}.transit-summary>.icon{width:18px;height:18px;color:#6b7684}.transit-summary small{font-size:11px;color:#8b95a1;font-weight:400}.transit-summary b{font-size:12px;color:#2874d7;font-weight:600;display:inline-flex;align-items:center;gap:4px}.transit-summary b .icon{width:15px;height:15px}.transit-summary.compact{margin-top:8px;font-size:11px;gap:4px}.transit-summary.compact>.icon{width:13px;height:13px}.transit-summary.compact b{font-size:10px;gap:2px}.transit-summary.compact b .icon{width:12px;height:12px}.card-tags{display:flex;flex-wrap:wrap;gap:5px 7px;margin-top:9px}.card-tags span{display:inline-flex;align-items:center;gap:3px;color:#6b7684;font-size:10px;line-height:1.4}.card-tags .icon{width:13px;height:13px;color:#8b95a1}.card-footer{display:flex;justify-content:space-between;align-items:center;margin-top:9px;gap:4px;min-height:28px}.card-footer>span{font-size:10px;color:#8b95a1}.needs-check-label{font-size:10px;display:block;color:#bb7b24;margin-top:6px}.result-notices{padding:0 22px}.result-notices:empty{display:none}.result-notices p{display:flex;align-items:flex-start;gap:6px;font-size:11px;line-height:1.55;padding:10px;margin:12px 0 0;border-radius:9px;background:#f5f8fc;color:#6b7684}.result-notices .icon{height:14px;width:14px;margin-top:2px}.result-notices button{font-size:11px;color:var(--action);padding:0;text-decoration:underline}.list-footer{background:#fafbfc;margin-top:20px;padding:20px 22px;color:#8b95a1}.list-footer p{margin:0 0 7px;font-size:11px;line-height:1.6}.list-footer small{display:block;font-size:10px;color:#a2acb8}.list-footer button{font-size:10px;color:#8b95a1;min-height:32px;padding:8px 0 0}.empty-state{padding:48px 22px;text-align:center}.empty-state>span{display:inline-grid;place-items:center;width:56px;height:56px;border-radius:20px;background:#f0f6ff;color:#85b0e9}.empty-state h3{font-size:19px;margin:21px 0 10px;letter-spacing:-.4px}.empty-state p{font-size:12px;color:#8b95a1;line-height:1.7;margin:0}.empty-state .button{min-height:44px;margin-top:20px;font-size:12px}.empty-suggestions{display:flex;flex-wrap:wrap;justify-content:center;gap:7px;margin-top:16px}.empty-suggestions button{font-size:11px;background:#f4f8ff;color:#4f86d2;padding:10px;border-radius:8px}.mobile-view-toggle,.sheet-handle,.mobile-sheet-control{display:none}
dialog{padding:0;border:0;color:var(--ink);background:white;box-shadow:0 18px 80px #14223424;max-width:calc(100% - 40px);max-height:90dvh;border-radius:22px}dialog::backdrop{background:#1329444d;backdrop-filter:blur(2px)}dialog[open]{display:flex;flex-direction:column}.dialog-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px 14px;flex:none}.dialog-header h2{font-size:23px;letter-spacing:-.8px;margin:0;line-height:1.45}.dialog-header .eyebrow{font-size:11px;display:block;margin-bottom:6px}.dialog-header>.icon-button{color:#8b95a1}.dialog-footer{padding:16px 28px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px;flex:none;background:white}.dialog-footer>.button{flex:1;max-width:390px}.dialog-footer>.text-button{font-size:13px;color:#8b95a1}.filter-dialog{width:660px;max-width:calc(100% - 40px);max-height:88dvh;border-radius:22px;padding:0;border:0;box-shadow:0 20px 80px #17304c26}.filter-body{overflow-y:auto;padding:0 24px 18px;overscroll-behavior:contain}.filter-section{padding:18px 0;border-bottom:1px solid var(--line)}.filter-section h3{font-size:16px;margin:0 0 14px;letter-spacing:-.3px}.filter-section h3 small{font-size:11px;color:#8b95a1;font-weight:400;margin-left:4px}.option-buttons{display:flex;flex-wrap:wrap;gap:6px}.option-buttons button{min-height:39px;border-radius:9px;background:#f4f6f9;color:#6b7684;border:1px solid transparent;padding:9px 12px;font-size:12px;font-weight:550;line-height:1.4}.option-buttons button:hover{background:#f7faff}.option-buttons button[aria-pressed=true]{border-color:#8dbdff;background:#edf5ff;color:#1b64da;font-weight:650}.region-buttons button{font-size:12px;padding:10px 13px}.filter-row{display:grid;grid-template-columns:135px minmax(0,1fr);gap:14px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line)}.filter-row+.filter-row{border-top:1px solid #f5f7fa}.filter-label{flex:none;min-width:130px}.filter-label strong{font-size:13px;display:flex;align-items:center;gap:8px;font-weight:650}.filter-label .icon{width:19px;height:19px;color:#8b95a1}.filter-row .option-buttons{justify-content:flex-end}.filter-row .option-buttons button{padding:10px 13px;font-size:12px}.unknown-option{width:100%;display:flex;align-items:center;gap:10px;padding:17px 0 2px;text-align:left}.check-square{width:21px;height:21px;border:1px solid #d1d6db;border-radius:6px;display:grid;place-items:center;color:transparent;flex:none}.check-square .icon{height:15px;width:15px}.unknown-option[aria-pressed=true] .check-square{background:var(--blue);border-color:var(--blue);color:white}.unknown-option strong{font-size:12px;color:#6b7684;font-weight:500}.unknown-option small{display:block;font-size:10px;color:#8b95a1;margin-top:5px}
.detail-dialog{position:fixed;inset:var(--header-height) 0 0 auto;margin:0;width:560px;max-width:calc(100% - 80px);height:calc(100dvh - var(--header-height));max-height:none;border-radius:0;box-shadow:-10px 0 40px #172e4d1a;z-index:850}.detail-dialog::backdrop{background:transparent;backdrop-filter:none}.detail-topbar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 20px 9px 12px;border-bottom:1px solid var(--line);flex:none;min-height:59px;background:white}.detail-topbar>span{flex:1;min-width:0;font-size:13px;font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.detail-topbar>div{display:flex;align-items:center}.detail-topbar .icon-button{color:#6b7684}.detail-content{overflow:auto;min-height:0;flex:1;overscroll-behavior:contain;scroll-behavior:smooth}.detail-photos{display:grid;grid-template-columns:2fr 1fr;grid-template-rows:124px 124px;gap:3px;height:251px;background:#edf1f6}.detail-photos button{padding:0;position:relative;overflow:hidden;min-width:0}.detail-photos button img{width:100%;height:100%;object-fit:cover}.detail-photos .detail-photo-0{grid-row:1/3}.detail-photos .detail-photo-3,.detail-photos .detail-photo-4{display:none}.detail-photos .detail-photo-0>span{position:absolute;bottom:13px;left:15px;display:flex;align-items:center;gap:6px;padding:7px 10px;border-radius:8px;background:#14223480;font-size:11px;color:white}.detail-photos .detail-photo-0>span .icon{width:15px;height:15px}.detail-inner{padding:27px 26px 4px}.detail-heading{padding-bottom:28px}.detail-heading h2{font-size:26px;line-height:1.4;letter-spacing:-.8px;margin:0 0 16px}.detail-price{display:flex;align-items:baseline;gap:5px}.detail-price strong{font-size:32px;letter-spacing:-1px;font-weight:750}.detail-price span{font-size:15px;font-weight:550}.detail-deposit{font-size:12px;color:#8b95a1;margin:7px 0 0;line-height:1.5}.detail-deposit:empty{display:none}.detail-address{display:flex;gap:7px;align-items:flex-start;font-size:12px;color:#8b95a1;line-height:1.7;margin:10px 0 0}.detail-address .icon{height:16px;width:16px;margin-top:2px}.detail-section{border-top:1px solid var(--line);padding:26px 0;scroll-margin-top:60px}.detail-section h3{font-size:17px;letter-spacing:-.4px;line-height:1.5;margin:0 0 18px;font-weight:650}.section-title{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.section-title small{font-size:10px;color:#8b95a1}.section-title h3{flex:1}.room-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.room-card{padding:18px 15px;border:1px solid #e9edf2;border-radius:15px;background:white;min-width:0}.room-card header{display:flex;align-items:flex-start;justify-content:space-between;gap:7px;margin-bottom:10px}.room-card h4{font-size:14px;font-weight:600;line-height:1.5;margin:0;letter-spacing:-.3px}.room-status{font-size:9px;color:#8b95a1;line-height:1.5;flex:none;max-width:58px}.room-price{display:flex;align-items:baseline;gap:3px;flex-wrap:wrap}.room-price strong{font-size:21px;letter-spacing:-.5px}.room-price span{font-size:10px;color:#4e5968}.room-deposit{font-size:10px;color:#8b95a1;line-height:1.6;margin:7px 0 0}.room-amenities{display:flex;flex-wrap:wrap;gap:8px;margin-top:13px}.room-amenities:empty{display:none}.room-amenities .amenity-tile{padding:0;border:0;display:flex;align-items:center;gap:4px;min-height:0;background:transparent;max-width:100%;flex-wrap:wrap}.room-amenities .amenity-tile>.icon{width:14px;height:14px;color:#9aa7b7}.room-amenities .amenity-tile>span{font-size:10px;line-height:1.5}.room-amenities .amenity-tile>strong{font-size:10px;color:#4e5968}.room-amenities .fact-source{display:none}.price-source{display:flex;align-items:center;gap:4px;margin-top:10px;font-size:9px;color:#a2acb8}.price-source .fact-source{position:static;width:19px;height:19px}.price-source .fact-source .icon{height:11px;width:11px}.amenity-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.amenity-tile{position:relative;padding:15px 10px 13px;border-radius:12px;background:#f7f9fc;min-height:92px;display:flex;align-items:center;flex-direction:column;justify-content:center;gap:6px;text-align:center;min-width:0}.amenity-tile>.icon{width:23px;height:23px;color:#7d95b5}.amenity-tile>span{font-size:11px;line-height:1.5;color:#4e5968}.amenity-tile>strong{font-size:10px;line-height:1.5;font-weight:500;color:#6b7684;word-break:keep-all}.amenity-tile>small{font-size:9px;color:#b98535}.fact-source{position:absolute;right:3px;top:3px;width:25px;height:25px;display:inline-grid;place-items:center;color:#aeb9c7;border-radius:5px}.fact-source:hover{color:var(--action);background:#edf5ff}.fact-source .icon{height:12px;width:12px}.attribute-row{position:relative;display:grid;grid-template-columns:137px minmax(0,1fr) 25px;gap:8px;align-items:start;padding:14px 0;border-bottom:1px solid #f3f5f8;font-size:12px;line-height:1.7}.attribute-row:last-child{border-bottom:0}.attribute-row>span{display:flex;align-items:center;gap:7px;color:#8b95a1}.attribute-row>span .icon{width:16px;height:16px;flex:none;margin-top:2px}.attribute-row>strong{font-size:12px;font-weight:500;color:#4e5968;white-space:pre-line;word-break:keep-all}.attribute-row>.fact-source{position:static;width:25px;height:25px}.match-chips{display:flex;flex-wrap:wrap;gap:7px}.match-chip{display:flex;align-items:center;gap:5px;border-radius:8px;background:#f0f6ff;color:#2e75cf;font-size:11px;padding:8px 10px}.match-chip .icon{width:14px;height:14px}.match-chip.unknown{background:#fcf6ea;color:#b18233}.match-chip small{font-size:10px;margin-left:3px}.transit-section>.transit-summary{margin-top:0}.transit-exit{font-size:12px;line-height:1.5;color:#6b7684;margin:8px 0 0;padding-left:25px}.transport-evidence{font-size:11px;line-height:1.7;color:#8b95a1;margin:14px 0 0;padding:12px 14px;border-radius:10px;background:#f7f9fc;white-space:pre-line}.transit-links,.source-links{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.transit-links{margin-top:13px}.transit-links a,.source-links a{font-size:11px;color:#6b7684;display:inline-flex;align-items:center;gap:5px;min-height:32px}.transit-links a:hover,.source-links a:hover{color:var(--action)}.transit-links .icon,.source-links .icon{width:13px;height:13px}.source-section{padding:17px 0 26px}.source-section small{font-size:10px;color:#a2acb8;display:block;margin-top:7px}.detail-contact{flex:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 20px;border-top:1px solid var(--line);background:white}.detail-contact>div:first-child{display:none}.contact-buttons{display:flex;align-items:stretch;gap:7px;width:100%}.contact-buttons .button{flex:1;min-height:48px;padding:12px 10px;font-size:13px;white-space:nowrap}.contact-buttons .contact-map{flex:0 0 48px;padding:0}.contact-map span{display:none}.contact-buttons .contact-channel{max-width:130px}.contact-channel .icon{width:13px;height:13px}
.lightbox-dialog{position:fixed;inset:0;margin:0;width:100%;height:100dvh;max-width:none;max-height:none;background:#101722;color:white;border-radius:0;z-index:1000}.lightbox-dialog>header{display:flex;align-items:center;justify-content:space-between;gap:10px;flex:none;padding:14px 24px;min-height:64px}.lightbox-dialog>header span{font-size:13px;line-height:1.5}.lightbox-dialog .icon-button{color:#d3dce8}.lightbox-dialog .icon-button:hover{background:#ffffff15}.lightbox-stage{display:flex;align-items:center;justify-content:center;gap:20px;flex:1;min-height:0;padding:0 24px}.lightbox-stage>img{max-width:calc(100% - 120px);max-height:100%;height:100%;width:auto;object-fit:contain;margin:auto}.lightbox-stage .next{transform:rotate(180deg)}#photoCaption{text-align:center;font-size:12px;flex:none;color:#a8b5c6;line-height:1.6;margin:14px 20px}.photo-thumbs{display:flex;align-items:center;gap:8px;flex:none;overflow:auto;padding:0 25px 22px;scrollbar-width:thin}.photo-thumbs button{height:58px;width:80px;flex:none;padding:0;border-radius:8px;overflow:hidden;opacity:.45;border:2px solid transparent}.photo-thumbs button.active{border-color:#83b7ff;opacity:1}.photo-thumbs img{width:100%;height:100%;object-fit:cover}.help-dialog{width:550px}.help-body{overflow:auto;padding:0 28px 28px}.help-body h3{font-size:15px;margin:20px 0 8px}.help-body p{font-size:13px;line-height:1.8;color:#6b7684;margin:0}.toast{position:fixed;z-index:3000;left:50%;bottom:30px;transform:translate(-50%,15px);border-radius:13px;padding:14px 20px;background:#273548ee;color:white;font-size:13px;line-height:1.5;max-width:90%;pointer-events:none;opacity:0;transition:opacity .2s,transform .2s;white-space:nowrap}.toast.visible{opacity:1;transform:translate(-50%,0)}.noscript{position:fixed;bottom:0;left:0;right:0;z-index:3001;margin:0;padding:15px;text-align:center;background:#191f28;color:white;font-size:13px}
@media(min-width:761px) and (max-width:1150px){:root{--list-width:346px}.site-header{gap:20px;padding:0 18px}.site-header .search-form{flex-basis:470px;min-width:240px}.site-header nav{display:none}.filter-toolbar{left:14px;max-width:calc(100% - var(--list-width) - 28px)}.toolbar-chip{font-size:11px;padding:8px 10px}.compact-shortcut{display:none}.map-context{display:none}.results-head{padding:17px 18px 0}.property-list{padding:0 18px}.property-card{grid-template-columns:106px minmax(0,1fr);gap:12px}.card-photo{height:153px}.card-title h2{font-size:14px}.card-tags span{font-size:10px}.detail-dialog{width:520px}}
@media(max-width:760px){:root{--header-height:62px}.site-header{height:62px;padding:0 12px;gap:10px}.site-header .brand{gap:0}.site-header .brand>span[data-site-name]{display:none}.brand-mark{width:32px;height:32px;border-radius:10px}.brand-mark .icon{width:20px;height:20px}.site-header .search-form{position:static;top:auto;left:auto;flex:1;min-width:0;width:auto;box-shadow:none;border-radius:11px;background:#f3f5f8}.search-field{height:42px;border-color:transparent;padding:0 8px 0 11px;border-radius:11px;gap:7px}.search-field input{font-size:13px}.search-field>.icon{width:17px;height:17px}.site-header nav{display:none}.header-actions{margin-left:0;gap:0;flex:none}.header-actions>.icon-button{display:none}.header-actions .text-button{width:37px;min-height:42px;position:relative;padding:0}.header-actions .text-button>span{display:none}.header-actions .text-button b{position:absolute;right:-1px;top:3px;font-size:9px;border-radius:8px;min-width:14px;height:14px;display:grid;place-items:center;background:#edf5ff}.header-actions .text-button .icon{height:20px;width:20px}.filter-toolbar{position:absolute;left:0;top:62px;width:100%;height:57px;padding:8px 12px;background:white;border-radius:0;box-shadow:0 3px 8px #16345b0a;border-bottom:1px solid var(--line)}.filter-shortcuts{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;height:40px;gap:6px;align-items:stretch}.filter-shortcuts::-webkit-scrollbar{display:none}.toolbar-chip{flex:none;min-height:40px;border-radius:9px;font-size:12px;padding:8px 11px}.toolbar-chip .icon{height:15px;width:15px}.compact-shortcut{font-size:12px;min-height:40px;background:white;border-color:#e8ecf1}.toolbar-divider{display:block;width:1px;height:24px;background:#e5e8eb;margin:8px 2px;flex:none}.map-workspace{display:block;position:absolute;top:119px;left:0;height:calc(100dvh - 119px);width:100%;isolation:isolate}.map-panel{position:absolute;inset:0;width:100%;height:100%;z-index:1}.map-context{left:12px;top:13px;right:auto;font-size:10px;gap:5px;padding:9px 10px;border-radius:9px}.map-context-dot{width:5px;height:5px}.switch-dot{width:24px;height:14px}.switch-dot:after{width:10px;height:10px}.search-area-button{top:58px;font-size:11px;padding:10px 14px;min-height:39px}.search-area-button .icon{height:15px;width:15px}.map-controls{right:12px;bottom:calc(227px + env(safe-area-inset-bottom))}.map-controls .icon-button{width:36px;min-width:36px;height:36px;border-radius:10px;font-size:22px}.map-note{left:8px;bottom:calc(180px + env(safe-area-inset-bottom));font-size:8px;max-width:70%;padding:5px 7px}.leaflet-bottom.leaflet-right{bottom:calc(146px + env(safe-area-inset-bottom));right:3px}.leaflet-bottom.leaflet-left{bottom:calc(146px + env(safe-area-inset-bottom));max-width:70%}.leaflet-control-attribution{font-size:9px!important;line-height:1.35;max-width:calc(100vw - 24px)}.leaflet-control-zoom a{width:33px!important;height:30px!important;line-height:30px!important}.price-marker button{width:80px;min-height:39px;font-size:12px;border-radius:10px}.results-panel{position:absolute;left:0;right:0;bottom:0;z-index:450;grid-column:auto;height:calc(145px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);border:0;border-radius:21px 21px 0 0;box-shadow:0 -5px 24px #17304c17;transition:height .26s cubic-bezier(.22,.8,.33,1);overflow:hidden}.sheet-handle{display:flex;align-items:center;justify-content:center;width:100%;height:23px;min-height:23px;flex:none;padding:0;cursor:ns-resize;touch-action:none}.sheet-handle>span{height:4px;width:34px;border-radius:10px;background:#dbe0e7}.results-head{padding:0 20px;border-bottom:1px solid #f2f4f6}.results-eyebrow{font-size:10px;margin:0 0 4px}.results-head h1{font-size:18px;letter-spacing:-.5px}.results-head h1 strong{font-size:20px}.results-head h1 span{font-size:12px}.mobile-sheet-control{display:inline-flex;width:auto;min-width:0;min-height:36px;height:36px;padding:8px 0 8px 10px;font-size:11px;color:#8b95a1;white-space:nowrap}.sort-buttons{padding:9px 0 10px;gap:18px}.sort-buttons button{font-size:11px;min-height:25px}.results-scroll{height:0;flex:1;padding-bottom:68px}.property-list{padding:0 20px}.property-card{grid-template-columns:125px minmax(0,1fr);gap:14px;padding:22px 0}.card-photo{height:166px;border-radius:12px}.card-location{font-size:12px;line-height:18px;height:21px;margin-bottom:4px}.card-map-button{width:28px;min-height:30px}.card-title h2{font-size:15px;line-height:1.5;letter-spacing:-.35px;margin-bottom:6px}.card-price strong{font-size:23px}.card-price span{font-size:11px}.transit-summary.compact{font-size:12px;gap:4px;margin-top:8px;line-height:1.5}.transit-summary.compact>.icon{height:14px;width:14px}.transit-summary.compact b{font-size:11px;gap:3px}.card-tags{gap:5px 7px;margin-top:9px}.card-tags span{font-size:11px;line-height:1.5}.card-tags .icon{height:13px;width:13px}.card-footer{min-height:33px;margin-top:7px}.card-footer>span{font-size:11px}.condition-chip{font-size:11px;min-height:34px;padding:8px 10px}.selected-chips{padding-top:3px;padding-bottom:11px}.map-workspace[data-sheet=half] .results-panel{height:52%}.map-workspace[data-sheet=full] .results-panel{height:calc(100% - 10px);border-radius:18px 18px 0 0}.map-workspace[data-sheet=peek] .results-scroll{overflow:hidden;pointer-events:none}.map-workspace[data-sheet=peek] .results-head{padding-bottom:13px}.map-workspace[data-sheet=peek] .selected-chips{display:none}.map-workspace[data-sheet=half] .map-controls,.map-workspace[data-sheet=half] .map-note{opacity:0;pointer-events:none}.map-workspace[data-sheet=full] .map-controls,.map-workspace[data-sheet=full] .map-note,.map-workspace[data-sheet=full] .map-context,.map-workspace[data-sheet=full] .search-area-button{opacity:0;pointer-events:none}.mobile-view-toggle{display:flex;align-items:center;justify-content:center;gap:7px;position:absolute;z-index:470;left:50%;bottom:calc(20px + env(safe-area-inset-bottom));transform:translateX(-50%);border-radius:25px;padding:13px 18px;min-height:45px;background:#333d4b;color:white;box-shadow:0 4px 18px #18344e26;font-size:12px;font-weight:600;white-space:nowrap}.mobile-view-toggle .icon{height:16px;width:16px}.map-workspace[data-sheet=peek] .mobile-view-toggle{display:none}.map-preview{left:12px;right:12px;bottom:calc(164px + env(safe-area-inset-bottom));width:auto;padding:10px;gap:11px;border-radius:14px}.preview-photo{height:88px;width:94px;border-radius:9px}.preview-info{padding:0 22px 0 0}.preview-info>span{font-size:10px;margin-bottom:3px}.preview-info>strong{font-size:13px;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:6px}.preview-info .card-price strong{font-size:21px}.preview-info .transit-summary.compact{font-size:10px;margin-top:5px;line-height:1.3}.preview-info .transit-summary.compact b{font-size:9px}.map-workspace[data-sheet=half] .map-preview{bottom:calc(52% + 12px)}.map-fallback{inset:25% 15% auto;padding:20px}.map-fallback h3{font-size:14px}.map-fallback p{font-size:11px}.map-fallback.tiles-unavailable{inset:auto 12px calc(164px + env(safe-area-inset-bottom)) auto;max-width:220px}.result-notices{padding:0 20px}.result-notices p,.result-notices button{font-size:11px}.list-footer{padding:22px 20px 20px}.list-footer p{font-size:11px}.list-footer small{font-size:10px}.empty-state{padding:45px 22px}
.filter-dialog{width:100%;max-width:100%;max-height:95dvh;border-radius:22px 22px 0 0;position:fixed;inset:auto 0 0;margin:0}.filter-dialog .dialog-header{padding:23px 20px 18px}.filter-dialog .dialog-header h2{font-size:22px}.filter-body{padding:0 20px 22px}.filter-section h3{font-size:16px;margin-bottom:13px}.option-buttons{gap:7px}.option-buttons button,.filter-row .option-buttons button{font-size:14px;min-height:44px;padding:10px 14px;border-radius:9px}.region-buttons button{font-size:13px}.filter-row{display:block;padding:19px 0}.filter-label{margin-bottom:12px}.filter-label strong{font-size:14px}.filter-label .icon{height:20px;width:20px}.filter-row .option-buttons{justify-content:flex-start}.filter-row .option-buttons button{min-width:65px}.unknown-option{padding-top:22px}.unknown-option strong{font-size:13px}.dialog-footer{padding:13px 20px calc(13px + env(safe-area-inset-bottom));gap:20px}.dialog-footer>.button{max-width:none;font-size:14px;min-height:48px}.dialog-footer>.text-button{font-size:13px}
.detail-dialog{position:fixed;inset:0;width:100%;max-width:100%;height:100dvh;max-height:100dvh;margin:0;border-radius:0}.detail-topbar{padding:7px 12px 7px 8px;min-height:58px}.detail-topbar>span{font-size:13px}.detail-topbar .icon-button{height:43px;width:43px;min-width:43px}.detail-photos{display:flex;height:274px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;gap:3px}.detail-photos::-webkit-scrollbar{display:none}.detail-photos button{display:block!important;height:100%;width:88%;flex:0 0 88%;scroll-snap-align:start}.detail-photos .detail-photo-0{grid-row:auto}.detail-photos button:only-child{flex-basis:100%;width:100%}.detail-photos .detail-photo-0>span{bottom:14px;left:17px;padding:8px 11px;font-size:12px}.detail-inner{padding:27px 21px 4px}.detail-heading{padding-bottom:27px}.detail-heading h2{font-size:26px;line-height:1.4;margin-bottom:17px}.detail-price strong{font-size:32px}.detail-price span{font-size:15px}.detail-deposit{font-size:13px}.detail-address{font-size:13px;line-height:1.7;margin-top:11px}.transit-summary{font-size:14px;gap:7px;margin-top:15px}.transit-summary>.icon{height:19px;width:19px}.transit-summary b{font-size:13px}.transit-summary small{font-size:11px}.detail-section{padding:27px 0;scroll-margin-top:61px}.detail-section h3{font-size:18px;line-height:1.5;margin-bottom:17px}.section-title small{font-size:10px}.room-grid{display:flex;flex-direction:column;gap:12px}.room-card{padding:19px 18px;border-radius:15px}.room-card h4{font-size:16px;line-height:1.5}.room-card header{margin-bottom:10px}.room-status{font-size:11px;max-width:none}.room-price strong{font-size:25px}.room-price span{font-size:12px}.room-deposit{font-size:12px;line-height:1.7;margin-top:8px}.room-amenities{gap:8px 12px;margin-top:15px}.room-amenities .amenity-tile>span,.room-amenities .amenity-tile>strong{font-size:12px}.room-amenities .amenity-tile>.icon{height:16px;width:16px}.price-source{font-size:10px;margin-top:13px}.amenity-grid{gap:9px}.amenity-tile{padding:17px 9px 14px;min-height:99px;gap:7px;border-radius:13px}.amenity-tile>.icon{height:25px;width:25px}.amenity-tile>span{font-size:12px;line-height:1.5}.amenity-tile>strong{font-size:11px;line-height:1.6}.amenity-tile>.fact-source{height:25px;width:25px}.attribute-row{grid-template-columns:119px minmax(0,1fr) 24px;gap:7px;padding:15px 0;font-size:13px}.attribute-row>span{font-size:12px;gap:6px}.attribute-row>strong{font-size:13px;line-height:1.75}.attribute-row>span .icon{height:16px;width:16px;margin-top:3px}.match-chip{font-size:12px;padding:9px 10px;gap:6px}.match-chip small{font-size:11px}.field-note{font-size:12px;line-height:1.7}.transit-exit{font-size:13px}.transport-evidence{font-size:12px;line-height:1.8;padding:13px 14px}.transit-links a,.source-links a{font-size:12px;min-height:38px}.source-section small{font-size:11px;line-height:1.7}.detail-contact{padding:12px 14px calc(12px + env(safe-area-inset-bottom));gap:0}.contact-buttons{gap:7px}.contact-buttons .button{font-size:14px;min-height:50px;padding:12px 10px;border-radius:11px}.contact-buttons .contact-map{flex-basis:50px;padding:0}.contact-buttons .contact-channel{max-width:122px;font-size:12px}.contact-buttons .button .icon{width:18px;height:18px}.contact-buttons .contact-channel .icon{width:13px;height:13px}.lightbox-dialog>header{padding:11px 15px;min-height:62px}.lightbox-dialog>header span{font-size:12px;line-height:1.6}.lightbox-stage{gap:0;position:relative;padding:0}.lightbox-stage>img{max-width:100%;height:100%;max-height:100%}.lightbox-stage>.icon-button{position:absolute;left:8px;z-index:2;width:39px;height:39px;min-width:39px;background:#10172250}.lightbox-stage>.next{left:auto;right:8px}.photo-thumbs{padding:0 16px calc(18px + env(safe-area-inset-bottom));gap:7px}.photo-thumbs button{height:52px;width:72px}#photoCaption{font-size:11px;margin:13px 15px}.help-dialog{max-width:100%;width:100%;max-height:95dvh;border-radius:20px 20px 0 0;margin:auto 0 0}.help-dialog .dialog-header{padding:22px 20px 16px}.help-dialog .dialog-header h2{font-size:21px}.help-body{padding:0 22px 27px}.help-body p{font-size:13px;line-height:1.9}.toast{font-size:12px;bottom:calc(28px + env(safe-area-inset-bottom));white-space:normal;line-height:1.6}}
@media(max-width:360px){.property-list{padding-inline:16px}.property-card{grid-template-columns:108px minmax(0,1fr);gap:12px}.card-photo{height:168px}.card-title h2{font-size:14px}.card-price strong{font-size:22px}.card-tags span{font-size:10px}.card-footer>span{font-size:10px}.attribute-row{grid-template-columns:105px minmax(0,1fr) 20px;gap:6px}.detail-inner{padding-inline:18px}.amenity-tile>span{font-size:11px}.contact-buttons .contact-channel{max-width:102px;font-size:11px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

.count-cluster button span{font-size:13px;white-space:nowrap}.count-cluster button b{height:22px;min-width:22px;padding:0 5px;border-radius:8px;background:#ffffff26;display:grid;place-items:center;font-size:11px;font-weight:650}

.nearby-transit{display:flex;flex-direction:column;gap:14px}.transit-stop+.transit-stop{padding-top:14px;border-top:1px solid #f3f5f8}.transit-stop .transit-summary{margin-top:0}.transit-stop-meta{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-left:25px;margin-top:7px;font-size:11px;line-height:1.6;color:#8b95a1}.transit-stop-meta a{display:inline-flex;align-items:center;gap:4px;min-height:28px;flex:none;font-size:10px}.transit-stop-meta a:hover{color:var(--action)}.transit-stop-meta a .icon{width:11px;height:11px}@media(max-width:760px){.transit-stop-meta{font-size:12px;line-height:1.7}.transit-stop-meta a{font-size:11px;min-height:32px}}

@media(max-width:760px){.filter-toolbar{height:56px}.filter-shortcuts{height:44px}.toolbar-chip,.compact-shortcut{min-height:44px}.map-workspace{top:118px;height:calc(100dvh - 118px)}.price-marker button{min-height:44px}.card-footer{min-height:44px}.map-preview>.icon-button{width:36px;height:36px;min-width:36px}.transit-summary.compact b{white-space:nowrap}}

.price-source{justify-content:flex-end;margin-top:5px}.price-source .fact-source{width:25px;height:25px}.price-source .fact-source .icon{width:12px;height:12px}

.search-suggestions{position:absolute;left:0;right:0;top:calc(100% + 8px);background:white;border:1px solid #edf0f4;border-radius:16px;box-shadow:0 12px 40px #243c5621;overflow:auto;max-height:min(570px,calc(100dvh - 88px));padding:7px;z-index:900}.suggestion-caption{padding:9px 11px 10px;font-size:11px;color:#8b95a1}.search-suggestions button{display:flex;width:100%;align-items:center;gap:11px;min-height:54px;padding:9px 11px;text-align:left;border-radius:10px}.search-suggestions button>.icon:first-child{width:20px;height:20px;color:#6e89a8}.search-suggestions button>span{display:flex;flex:1;min-width:0;align-items:center;gap:9px}.search-suggestions strong{font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis}.search-suggestions small{font-size:10px;color:#8b95a1;white-space:nowrap}.search-suggestions b{font-size:11px;font-weight:550;color:#8b95a1;white-space:nowrap}.search-suggestions button>.icon:last-child{width:14px;height:14px;color:#b6bfca}.search-suggestions button:hover,.search-suggestions button[aria-selected=true]{background:#f2f7ff}.suggestion-empty{font-size:12px;line-height:1.7;color:#8b95a1;padding:12px}.load-more{display:block;width:calc(100% - 40px);min-height:44px;margin:14px 20px 0;background:#f4f6f9;border-radius:10px;color:#4e5968;font-size:13px;font-weight:600}.load-more:hover{background:#eaf1fb}.price-filter-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}.price-filter{padding:9px 0 18px}.range-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.range-heading h3{margin:0;font-size:14px}.range-any{color:#8b95a1;font-size:12px;min-height:36px;padding:7px 10px;border-radius:8px;background:#f4f6f9}.range-any[aria-pressed=true]{color:var(--action);background:#eaf3ff}.price-filter output{display:block;font-size:20px;font-weight:750;letter-spacing:-.5px;margin:5px 0 4px}.price-filter input[type=range]{appearance:none;-webkit-appearance:none;cursor:pointer;display:block;width:100%;height:44px;min-height:44px;margin:0;background:transparent;--range-progress:100%;touch-action:pan-y}.price-filter input[type=range]::-webkit-slider-runnable-track{height:5px;border-radius:5px;background:linear-gradient(to right,var(--blue) 0 var(--range-progress),#e9eef5 var(--range-progress) 100%)}.price-filter input[type=range]::-moz-range-track{height:5px;border-radius:5px;background:#e9eef5}.price-filter input[type=range]::-moz-range-progress{height:5px;background:var(--blue)}.price-filter input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:25px;height:25px;margin-top:-10px;background:white;border:2px solid var(--blue);border-radius:50%;box-shadow:0 2px 6px #1b64da21}.price-filter input[type=range]::-moz-range-thumb{width:22px;height:22px;background:white;border:2px solid var(--blue);border-radius:50%;box-shadow:0 2px 6px #1b64da21}.range-labels{display:flex;justify-content:space-between;font-size:10px;color:#8b95a1;margin-top:-3px}.filter-section#optionsSection{padding-top:16px;padding-bottom:0;border:0}.filter-section#optionsSection>h3{display:none}.count-cluster button{width:106px;min-height:42px;display:flex;align-items:center;justify-content:center;gap:7px;background:#fff;border:1px solid #c8d8ed;border-radius:13px;box-shadow:0 3px 12px #28425f18;color:#254971}.count-cluster button span{font-size:13px;font-weight:750}.count-cluster button b{background:#edf4ff;color:var(--action);border-radius:7px;font-size:10px;height:22px;min-width:23px;padding:0 5px;display:grid;place-items:center}.price-marker.is-selected button{background:var(--blue);border-color:var(--blue);color:white;box-shadow:0 4px 14px #3182f63b}.map-panel .leaflet-tile-pane.is-fallback{filter:saturate(.25) brightness(1.035)}.nearby-campuses{display:flex;flex-wrap:wrap;gap:8px;margin-top:15px}.nearby-campuses a{display:flex;align-items:center;gap:6px;background:#f6f8fb;border-radius:8px;padding:9px 11px;font-size:12px}.nearby-campuses .icon{height:15px;width:15px;color:#7e95af}.nearby-campuses small{color:#8b95a1;font-size:11px}
@media(max-width:760px){.site-header .search-form{position:relative;flex:1;min-width:0;width:auto}.site-header{gap:9px}.filter-toolbar{left:0;right:0;top:62px;max-width:none;width:100%;height:56px;padding:6px 12px;border:0;border-bottom:1px solid #edf0f4;border-radius:0;box-shadow:0 3px 7px #16345b08}.filter-shortcuts{height:44px;gap:6px}.toolbar-chip{min-height:44px;padding:9px 12px;font-size:12px;border-radius:10px}.compact-shortcut{min-height:44px;padding:9px 11px}.map-workspace{top:118px;height:calc(100dvh - 118px)}.map-context{top:12px}.search-suggestions{position:fixed;top:61px;left:8px;right:8px;max-height:calc(100dvh - 75px);border-radius:16px}.search-suggestions button{min-height:57px;padding:11px}.search-suggestions strong{font-size:14px}.search-suggestions small{font-size:11px}.price-filter-grid{gap:20px}.price-filter{padding-top:4px;padding-bottom:17px}.range-heading h3{font-size:14px;margin:0}.range-any{font-size:12px;min-height:36px;padding:7px 9px}.price-filter output{font-size:19px;margin-top:5px}.price-filter input[type=range]{height:46px;min-height:46px}.range-labels{font-size:10px}.filter-dialog{max-height:90dvh}.filter-dialog .dialog-header{padding:17px 20px 10px}.filter-dialog .dialog-header h2{font-size:20px}.filter-body{padding:0 20px 14px}.filter-row{padding:10px 0;display:grid;grid-template-columns:108px minmax(0,1fr);gap:9px}.filter-label{margin-bottom:0}.filter-label strong{font-size:13px}.filter-label .icon{width:18px;height:18px}.filter-row .option-buttons{gap:6px}.filter-row .option-buttons button{min-height:44px;padding:9px 10px;font-size:12px;min-width:52px}.filter-row[data-filter-row=operator_gender_policy]{grid-template-columns:108px minmax(0,1fr)}.unknown-option{padding-top:17px}.unknown-option strong{font-size:12px}.dialog-footer{padding-top:11px;padding-bottom:calc(11px + env(safe-area-inset-bottom))}.count-cluster button{min-height:44px}.results-head{padding-inline:18px}.property-list{padding-inline:18px}.property-card{grid-template-columns:118px minmax(0,1fr);gap:13px;padding-block:19px}.card-photo{height:161px}.card-tags{margin-top:7px}.load-more{width:calc(100% - 36px);margin-inline:18px;font-size:13px}.nearby-campuses a{min-height:40px}.map-note{font-size:9px}}

.detail-loading{padding:32px 25px}.detail-loading h2{font-size:23px;margin:0 0 28px;line-height:1.5}.detail-loading p{font-size:13px;line-height:1.8;color:#8b95a1}.loading-skeleton{height:150px;border-radius:14px;background:linear-gradient(100deg,#f1f4f8 25%,#f8fafc 45%,#f1f4f8 65%);background-size:200% 100%;animation:skeleton 1.5s ease infinite}.loading-skeleton.short{height:30px;width:65%;margin-top:16px}.detail-load-error .button{margin-top:13px}@keyframes skeleton{to{background-position-x:-200%}}@media(prefers-reduced-motion:reduce){.loading-skeleton{animation:none}}

@media(max-width:760px){.map-workspace[data-sheet=half] .leaflet-bottom.leaflet-right,.map-workspace[data-sheet=half] .leaflet-bottom.leaflet-left{bottom:calc(52% + 4px);opacity:1;pointer-events:auto}.map-workspace[data-sheet=half] .leaflet-control-zoom{display:none}.map-workspace[data-sheet=full] .map-panel{visibility:hidden}}
.analysis-section{padding-top:22px}.analysis-title{display:flex;align-items:center;gap:10px;margin-bottom:20px}.analysis-mark{height:34px;width:34px;border-radius:11px;display:grid;place-items:center;color:#3182f6;background:#edf5ff;flex:none}.analysis-mark>.icon{height:19px;width:19px}.analysis-title h3{font-size:17px;margin:0;line-height:1.5}.analysis-title p{font-size:11px;line-height:1.5;margin:2px 0 0;color:#8b95a1}.analysis-updated{font-size:9px;line-height:1.6;color:#8b95a1;margin-left:auto;text-align:right;max-width:92px}.analysis-room-label{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:9px}.analysis-room-label strong{font-size:11px;font-weight:600;color:#6b7684}.analysis-room-label>span{font-size:9px;color:#8b95a1}.analysis-room-options{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:15px}.analysis-room-options>button{min-height:34px;padding:8px 11px;border:1px solid #e7edf4;border-radius:8px;font-size:11px;line-height:1.6;text-align:left;color:#6b7684;max-width:100%;word-break:keep-all}.analysis-room-options>button[aria-pressed=true]{color:#2272df;background:#f0f6ff;border-color:#aacdfc;font-weight:650}.analysis-room-options>button:focus-visible{outline:3px solid #a6cbff;outline-offset:2px}.analysis-room-context{display:flex;gap:10px;align-items:baseline;justify-content:space-between;padding-top:3px;margin-bottom:13px;color:#8b95a1;font-size:10px;line-height:1.7}.analysis-room-context>span{overflow-wrap:anywhere}.analysis-room-context>strong{font-size:11px;font-weight:600;color:#4e5968;flex:none}.analysis-headline{margin:0 0 10px;font-size:18px;font-weight:650;line-height:1.65;letter-spacing:-.4px;word-break:keep-all}.analysis-summary{font-size:12px;line-height:1.95;color:#6b7684;margin:0 0 17px;word-break:keep-all}.value-assessment{padding:16px 17px;background:#f6f9fc;border:1px solid #edf1f6;border-radius:13px}.value-assessment>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:12px}.value-assessment>div:first-child>span{display:inline-flex;align-items:center;gap:5px;font-size:10px;color:#8b95a1;flex:none}.value-assessment>div:first-child>span>.icon{width:14px;height:14px}.value-assessment>div:first-child>strong{font-size:13px;font-weight:650;line-height:1.6;color:#4e5968;text-align:right;word-break:keep-all}.value-assessment>p{font-size:11px;line-height:1.9;margin:9px 0 0;color:#6b7684;word-break:keep-all}.value-reference{border-top:1px solid #dfeaf8;margin-top:12px;padding-top:11px;display:flex;align-items:baseline;gap:8px;font-size:10px;color:#8b95a1}.value-reference>b{font-size:11px;font-weight:600;color:#4e5968}.value-reference>small{margin-left:auto;font-size:9px}.analysis-points{display:grid;grid-template-columns:1fr 1fr;gap:17px;margin-top:21px}.analysis-point-group h4{font-size:11px;font-weight:650;margin:0 0 11px;color:#4e5968}.analysis-point-group ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.analysis-point-group li{position:relative;display:flex;align-items:flex-start;gap:6px;min-width:0;padding-right:12px}.analysis-point-group li>span{flex:none;display:inline-flex;color:#488deb;padding-top:3px}.analysis-point-group.considerations li>span{color:#8b95a1}.analysis-point-group li>span>.icon{height:13px;width:13px}.analysis-point-group li>p{font-size:11px;line-height:1.8;color:#6b7684;margin:0;word-break:keep-all}.analysis-source{display:inline-flex;align-items:center;justify-content:center;color:#adb8c6;width:20px;height:24px;flex:none;border-radius:4px}.analysis-source:hover{color:#3182f6;background:#eaf3ff}.analysis-source>.icon{height:11px;width:11px}.analysis-point-group li>.analysis-source{position:absolute;right:-7px;top:0;width:19px}.analysis-method{margin-top:19px;padding-top:13px;border-top:1px solid #f0f3f7}.analysis-method p{display:flex;align-items:flex-start;gap:5px;font-size:9px;line-height:1.85;color:#9aa4b0;margin:0 0 4px;word-break:keep-all}.analysis-method p>.icon{flex:none;width:12px;height:12px;margin-top:2px}.analysis-method p:last-child{padding-left:17px}.facilities-section>.section-title{margin-bottom:12px}.facilities-section .section-title>h3{margin:0}.facility-legend{display:flex;align-items:center;gap:12px;font-size:9px;color:#8b95a1;margin-bottom:13px}.facility-legend>span{display:inline-flex;align-items:center;gap:3px}.facility-legend .icon{height:11px;width:11px}.facility-legend>.provided{color:#4a88d9}.facility-context{font-size:11px;line-height:1.8;margin:0 0 16px;color:#6b7684;word-break:keep-all}.facility-context>span{font-size:9px;color:#9aa4b0}.facility-group+.facility-group{margin-top:20px}.facility-group>h4{font-size:11px;line-height:1.7;font-weight:600;color:#8b95a1;margin:0 0 10px}.pictogram-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.facility-pictogram{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:5px;min-height:95px;padding:13px 6px 10px;background:#f6f9fc;border:1px solid transparent;border-radius:11px;text-align:center;min-width:0}.facility-symbol{position:relative;height:28px;width:30px;display:grid;place-items:center;flex:none}.facility-symbol>.icon{width:24px;height:24px;color:#6f93bf}.facility-status{position:absolute;right:-5px;bottom:-3px;display:grid;place-items:center;height:12px;width:12px;border-radius:50%;background:#458aeb;color:white;border:2px solid #f6f9fc}.facility-status>.icon{height:8px;width:8px;stroke-width:3}.facility-name{font-size:10px;line-height:1.6;color:#6b7684;word-break:keep-all;overflow-wrap:anywhere}.facility-level{font-size:10px;line-height:1.65;font-weight:600;word-break:keep-all;overflow-wrap:anywhere;color:#4e5968;max-width:100%}.facility-pictogram.not_provided,.facility-pictogram.unknown{background:#fafbfc;border-color:#f0f3f7}.facility-pictogram.not_provided .facility-symbol>.icon{color:#b2bbc6}.facility-pictogram.unknown .facility-symbol>.icon{color:#b9c3d0}.facility-pictogram.not_provided .facility-status{background:#939fac;border-color:#fafbfc}.facility-pictogram.unknown .facility-status{background:#c4cbd4;border-color:#fafbfc}.facility-pictogram.not_provided .facility-level,.facility-pictogram.unknown .facility-level{color:#939eac;font-weight:500}.facility-pictogram.conditional,.facility-pictogram.conflicting,.facility-pictogram.planned{background:#fcf9f2}.facility-pictogram.conditional .facility-status,.facility-pictogram.conflicting .facility-status,.facility-pictogram.planned .facility-status{background:#ba9448;border-color:#fcf9f2}.facility-pictogram>.analysis-source{position:absolute;right:1px;top:1px;width:23px;height:23px}.facility-pictogram>.analysis-source>.icon{height:10px;width:10px}.room-card.analysis-selected{border-color:#c2dafc;background:#fbfdff}
@media(max-width:760px){.analysis-title{margin-bottom:21px;gap:10px}.analysis-title h3{font-size:18px}.analysis-title p{font-size:11px}.analysis-updated{font-size:10px;max-width:87px}.analysis-room-label{display:block;margin-bottom:10px}.analysis-room-label>strong{font-size:12px}.analysis-room-label>span{font-size:10px;margin-left:8px}.analysis-room-options{flex-wrap:nowrap;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none;padding:0 0 5px;gap:6px;margin-inline:-21px;padding-inline:21px;margin-bottom:14px}.analysis-room-options::-webkit-scrollbar{display:none}.analysis-room-options>button{min-height:42px;max-width:240px;flex:none;font-size:12px;white-space:normal;scroll-snap-align:start;padding:9px 12px}.analysis-room-context{font-size:11px;gap:8px;margin-bottom:15px}.analysis-room-context>strong{font-size:12px}.analysis-headline{font-size:20px;line-height:1.65;margin-bottom:12px;letter-spacing:-.5px}.analysis-summary{font-size:13px;line-height:1.95;margin-bottom:20px}.value-assessment{padding:17px 16px;border-radius:14px}.value-assessment>div:first-child>span{font-size:11px}.value-assessment>div:first-child>strong{font-size:14px;line-height:1.6}.value-assessment>p{font-size:12px;line-height:1.9;margin-top:10px}.value-reference{font-size:10px;gap:6px;flex-wrap:wrap}.value-reference>b{font-size:12px}.value-reference>small{font-size:10px}.analysis-points{grid-template-columns:1fr;gap:21px;margin-top:24px}.analysis-point-group h4{font-size:12px;margin-bottom:11px}.analysis-point-group li{gap:7px;padding-right:18px}.analysis-point-group li>p{font-size:12px;line-height:1.9}.analysis-point-group li>span>.icon{height:14px;width:14px}.analysis-point-group li>.analysis-source{right:0;top:1px;width:25px;height:27px}.analysis-method{margin-top:22px;padding-top:14px}.analysis-method p{font-size:10px;line-height:1.85}.facility-legend{font-size:10px;gap:12px;margin-bottom:14px}.facility-context{font-size:12px;margin-bottom:17px}.facility-context>span{font-size:10px}.facility-group>h4{font-size:12px;margin-bottom:12px}.facility-group+.facility-group{margin-top:23px}.pictogram-grid{gap:7px}.facility-pictogram{min-height:102px;padding:15px 5px 11px;gap:6px;border-radius:11px}.facility-symbol{height:29px;width:30px}.facility-symbol>.icon{height:25px;width:25px}.facility-name,.facility-level{font-size:10px;line-height:1.65}.facility-pictogram>.analysis-source{height:25px;width:25px}}
@media(max-width:360px){.pictogram-grid{gap:5px}.facility-pictogram{padding-inline:3px}.facility-name,.facility-level{font-size:9px}.analysis-room-label>span{display:block;margin:4px 0 0}.analysis-headline{font-size:19px}.analysis-updated{font-size:9px}.analysis-room-options{margin-inline:-18px;padding-inline:18px}}
.facility-detail{font-size:9px;line-height:1.7;color:#8b95a1;word-break:keep-all;overflow-wrap:anywhere;max-width:100%}.facility-pictogram[data-facility=food],.facility-pictogram[data-facility=utilities]{grid-column:span 2}.facility-pictogram[data-facility=food]>.facility-detail,.facility-pictogram[data-facility=utilities]>.facility-detail{max-width:190px}@media(max-width:760px){.facility-detail{font-size:10px;line-height:1.75}}@media(max-width:760px){}
.photo-kind{position:absolute;left:7px;top:7px;padding:4px 6px;border-radius:5px;background:#2330439c;color:#fff;font-size:9px;font-weight:500;line-height:1.4;pointer-events:none}@media(max-width:760px){.photo-kind{font-size:10px;padding:4px 6px}}
.property-floor-label{font-size:10px;line-height:1.6;color:#8b95a1;margin:0 0 4px}.value-reference{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:start;gap:12px}.value-reference>span{display:flex;flex-direction:column;gap:5px;font-size:9px;line-height:1.6}.value-reference>span>b{font-size:11px;line-height:1.6;color:#4e5968;font-weight:600;word-break:keep-all}.analysis-room-context>span>small{font-size:9px;padding:3px 5px;background:#f2f5f8;border-radius:4px;white-space:nowrap}.analysis-filter-status{display:flex;gap:5px;align-items:flex-start;font-size:10px;line-height:1.7;color:#5a8fca;margin:-4px 0 15px}.analysis-filter-status>.icon{height:13px;width:13px;margin-top:2px}.analysis-filter-status.different,.analysis-filter-status.uncertain{color:#9b803e}.analysis-points:has(.analysis-point-group:only-child){grid-template-columns:1fr}.pictogram-grid{align-items:start}.facility-pictogram.facility-wide{grid-column:1/-1;display:grid;grid-template-columns:34px minmax(0,1fr);column-gap:13px;row-gap:3px;min-height:77px;text-align:left;align-items:start;justify-content:start;padding:14px 20px 14px 13px}.facility-wide>.facility-symbol{grid-column:1;grid-row:1/5;align-self:center}.facility-wide>.facility-name,.facility-wide>.facility-level,.facility-wide>.facility-detail{grid-column:2;text-align:left;justify-content:flex-start;max-width:none!important}.facility-wide>.facility-name{font-size:10px}.facility-wide>.facility-detail{font-size:10px}.facility-wide>.facility-level{font-size:11px}@media(max-width:760px){.property-floor-label{font-size:11px}.value-reference{gap:9px}.value-reference>span{font-size:10px}.value-reference>span>b{font-size:12px}.analysis-filter-status{font-size:11px;line-height:1.8}.analysis-room-context>span>small{font-size:9px;display:inline-block;margin-top:3px}.facility-pictogram.facility-wide{min-height:83px;padding:15px 22px 15px 13px;column-gap:12px}.facility-wide>.facility-name{font-size:11px}.facility-wide>.facility-level{font-size:12px}.facility-wide>.facility-detail{font-size:11px}}
.analysis-room-context>strong.unconfirmed-room-price{font-weight:500;color:#939eac;font-size:10px}
.extra-specifications{margin-top:22px}.extra-specifications>h4{font-size:11px;font-weight:600;color:#8b95a1;margin:0 0 11px}.extra-spec-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.extra-spec{position:relative;min-width:0;display:flex;align-items:flex-start;gap:8px;padding:12px 18px 12px 11px;background:#fafbfc;border:1px solid #f0f3f7;border-radius:10px}.extra-spec.wide{grid-column:1/-1}.extra-spec>.icon{height:19px;width:19px;color:#8ba0b8;margin-top:2px}.extra-spec>div{min-width:0}.extra-spec>div>span{display:block;font-size:10px;line-height:1.7;color:#6b7684}.extra-spec>div>span>small{display:block;font-size:8px;color:#a4aeba;font-weight:400}.extra-spec>div>strong{display:block;font-weight:500;font-size:10px;line-height:1.8;margin-top:4px;color:#586576;word-break:keep-all;overflow-wrap:anywhere}.extra-spec>.fact-source{height:24px;width:24px;right:1px;top:1px}.extra-spec>.fact-source>.icon{height:10px;width:10px}@media(max-width:760px){.extra-specifications>h4{font-size:12px}.extra-spec{padding:13px 20px 13px 11px;gap:7px}.extra-spec>div>span{font-size:11px}.extra-spec>div>span>small{font-size:9px}.extra-spec>div>strong{font-size:11px;line-height:1.9}}

/* A facility's text never changes its icon box or glyph size. */
.facility-pictogram{--facility-box:36px;--facility-glyph:24px;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:36px auto auto auto;justify-items:center;align-content:start;row-gap:5px;min-height:139px;padding-top:14px}
.facility-symbol,.extra-spec-symbol{position:relative;display:grid;place-items:center;width:36px;min-width:36px;max-width:36px;height:36px;min-height:36px;max-height:36px;inline-size:36px;min-inline-size:36px;max-inline-size:36px;block-size:36px;min-block-size:36px;max-block-size:36px;flex:0 0 36px;box-sizing:border-box;align-self:start}
.facility-symbol>.icon,.extra-spec-symbol>.icon{width:24px;min-width:24px;max-width:24px;height:24px;min-height:24px;max-height:24px;inline-size:24px;min-inline-size:24px;max-inline-size:24px;block-size:24px;min-block-size:24px;max-block-size:24px;flex:0 0 24px;display:block;box-sizing:border-box}
.facility-status{width:15px;min-width:15px;max-width:15px;height:15px;min-height:15px;max-height:15px;inline-size:15px;min-inline-size:15px;max-inline-size:15px;block-size:15px;min-block-size:15px;max-block-size:15px;right:-1px;bottom:0;box-sizing:border-box;flex:0 0 15px}
.facility-status>.icon{width:8px;min-width:8px;max-width:8px;height:8px;min-height:8px;max-height:8px;inline-size:8px;min-inline-size:8px;max-inline-size:8px;block-size:8px;min-block-size:8px;max-block-size:8px;flex:0 0 8px}
.facility-availability{display:inline-flex;align-items:center;justify-content:center;padding:1px 6px;min-height:18px;border-radius:5px;font-size:9px;font-weight:600;line-height:1.5;color:#5f6c7d;background:#eef1f5;white-space:nowrap}
.facility-pictogram.provided{background:#ecf9f4;border-color:#a8dbc8;box-shadow:inset 0 2px 0 #208b6c}
.facility-pictogram.provided .facility-symbol>.icon,.extra-spec-symbol>.icon{color:#08765a}
.facility-pictogram.provided .facility-name{color:#23634f;font-weight:600}
.facility-pictogram.provided .facility-level{color:#164f3e;font-weight:650}
.facility-pictogram.provided .facility-availability{background:#087a5d;color:#fff}
.facility-pictogram.provided .facility-status,.extra-spec-symbol .facility-status{background:#087a5d;border-color:#ecf9f4}
.facility-pictogram.not_provided .facility-name,.facility-pictogram.unknown .facility-name{color:#657282}
.facility-pictogram.not_provided .facility-level,.facility-pictogram.unknown .facility-level{color:#657282}
.facility-pictogram.conditional .facility-availability,.facility-pictogram.conflicting .facility-availability,.facility-pictogram.planned .facility-availability{color:#795c23;background:#f4ead4}
.facility-detail,.facility-legend{color:#657282}
.facility-legend>.provided{font-weight:650;color:#08765a}
.facility-pictogram.facility-wide{grid-template-columns:36px minmax(0,1fr) auto;grid-template-rows:auto auto auto;justify-items:start;column-gap:12px;row-gap:4px;min-height:86px;padding:14px 23px 14px 13px}
.facility-wide>.facility-symbol{grid-column:1;grid-row:1/6;align-self:start}
.facility-wide>.facility-name{grid-column:2;grid-row:1;align-self:center}
.facility-wide>.facility-availability{grid-column:3;grid-row:1}
.facility-wide>.facility-level,.facility-wide>.facility-detail{grid-column:2/4}
.extra-spec{background:#f0faf6;border-color:#c7e5d8;align-items:flex-start;gap:10px;padding-left:10px}
.extra-spec>div:not(.extra-spec-symbol){min-width:0;flex:1}
.extra-spec-symbol{margin:0}
.extra-spec>div>strong{color:#245e4b}
.extra-spec-symbol .facility-status{border-color:#f0faf6}
@media(max-width:760px){.pictogram-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.facility-pictogram{min-height:149px;padding:14px 7px 11px;row-gap:6px}.facility-name,.facility-level{font-size:11px}.facility-availability{font-size:10px;min-height:19px}.facility-pictogram.facility-wide{grid-template-columns:36px minmax(0,1fr) auto;padding:15px 22px 15px 12px;column-gap:11px;min-height:90px}.extra-spec-grid{gap:8px}.extra-spec{gap:8px}.extra-spec-symbol{margin:0}.facility-detail{font-size:11px}}
@media(max-width:360px){.pictogram-grid{gap:6px}.facility-pictogram{padding-inline:5px}.facility-name,.facility-level{font-size:10px}.facility-availability{font-size:9px}.extra-spec-grid{grid-template-columns:1fr}}

/* The summary is a single readable paragraph; evidence remains beside it. */
.conversational-insight .analysis-title{margin-bottom:20px;align-items:center}
.insight-subtitle{display:block;color:#8b95a1;font-size:11px;margin-top:5px;line-height:1.6}
.conversational-insight .analysis-summary{font-size:14px;line-height:2;color:#354155;word-break:keep-all;overflow-wrap:anywhere;margin:15px 0 0;white-space:normal}
.conversational-insight .analysis-room-context{margin:15px 0 0;color:#6b7684}
.insight-evidence{display:flex;flex-wrap:wrap;gap:13px;margin-top:14px}
.insight-evidence a{display:inline-flex;align-items:center;gap:4px;font-size:10px;color:#8b95a1;min-height:28px;text-decoration:none}
.insight-evidence a>.icon{width:12px;height:12px;flex:0 0 12px}
.neighborhood-section .section-title{align-items:baseline;gap:10px;margin-bottom:20px}
.neighborhood-section .section-title>small{font-size:10px;color:#8b95a1}
.neighborhood-places{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.neighborhood-place,.neighborhood-context{position:relative;min-width:0;display:flex;align-items:flex-start;gap:10px;padding:15px 22px 15px 12px;border:1px solid #eef1f5;background:#fafbfc;border-radius:12px}
.neighborhood-place{min-height:104px}
.neighborhood-symbol{width:36px;min-width:36px;max-width:36px;height:36px;min-height:36px;max-height:36px;flex:0 0 36px;display:grid;place-items:center;border-radius:10px;background:#f0f3f8;color:#71809a;box-sizing:border-box}
.neighborhood-symbol>.icon{width:24px;min-width:24px;max-width:24px;height:24px;min-height:24px;max-height:24px;flex:0 0 24px;box-sizing:border-box}
.neighborhood-place>div,.neighborhood-context>div{min-width:0;flex:1}
.neighborhood-place>div>span,.neighborhood-context>div>span{display:block;font-size:10px;color:#8b95a1;line-height:1.6}
.neighborhood-place strong,.neighborhood-context strong{display:block;font-weight:550;font-size:12px;line-height:1.8;color:#4e5968;word-break:keep-all;overflow-wrap:anywhere;margin-top:3px}
.neighborhood-place small,.neighborhood-context strong>small{display:block;font-size:10px;line-height:1.75;color:#6b7684;font-weight:400;margin-top:3px}
.neighborhood-source{position:absolute;right:3px;top:3px;width:25px;height:25px;display:grid;place-items:center;color:#a4adbb;text-decoration:none}
.neighborhood-source>.icon{width:12px;height:12px;flex:0 0 12px}
.neighborhood-source:focus-visible,.insight-evidence a:focus-visible{outline:2px solid #3182f6;outline-offset:2px;border-radius:5px}
.neighborhood-contexts{display:grid;gap:8px;margin-top:14px}
.neighborhood-context{background:#fff;min-height:86px}
.neighborhood-context p{font-size:10px;line-height:1.8;color:#8b95a1;margin:4px 0 0;word-break:keep-all}
.neighborhood-context strong>small{display:inline;margin-left:7px}
.police-context .neighborhood-symbol{background:#eef4ff;color:#6685b6}
.night-context .neighborhood-symbol{background:#f4f0fa;color:#9585b2}
.neighborhood-note{display:flex;align-items:flex-start;gap:7px;margin-top:16px;color:#929cab;font-size:9px;line-height:1.9;word-break:keep-all}
.neighborhood-note>span{flex:0 0 13px;padding-top:3px}
.neighborhood-note .icon{width:13px;height:13px;flex:0 0 13px}
.neighborhood-note>div>span{display:block;margin-top:8px;font-size:9px;color:#a2aab6}
.neighborhood-note a{color:inherit;text-underline-offset:3px}
@media(max-width:760px){
  .conversational-insight .analysis-title{margin-bottom:18px;gap:9px;flex-wrap:wrap}
  .conversational-insight .analysis-summary{font-size:15px;line-height:1.95;margin-top:16px;letter-spacing:-.15px}
  .insight-subtitle{font-size:11px}.insight-evidence{gap:12px;margin-top:13px}.insight-evidence a{font-size:11px;min-height:32px}
  .neighborhood-section .section-title{margin-bottom:17px}.neighborhood-section .section-title>small{font-size:10px}
  .neighborhood-places{gap:7px}.neighborhood-place{display:block;min-height:151px;padding:12px 15px 13px 12px}.neighborhood-place .neighborhood-symbol{margin-bottom:8px}
  .neighborhood-place strong{font-size:12px}.neighborhood-place>div>span{font-size:10px}.neighborhood-place small{font-size:11px}
  .neighborhood-context{gap:10px;padding:14px 23px 14px 11px}.neighborhood-context strong{font-size:13px}.neighborhood-context>div>span,.neighborhood-context p{font-size:11px}
  .neighborhood-context strong>small{font-size:11px;display:block;margin-left:0}.neighborhood-note{font-size:10px;line-height:1.9}.neighborhood-note>div>span{font-size:9px}
}
@media(max-width:360px){.neighborhood-places{gap:6px}.neighborhood-place{padding-inline:10px}.conversational-insight .analysis-updated{margin-left:45px}}

/* Property insight stays independent from room facilities. */
.facility-room-selector{margin:16px 0 12px}.facility-room-selector>span{display:block;font-size:12px;font-weight:650;color:var(--gray600,#6b7684);margin-bottom:8px}.facility-room-selector .analysis-room-options{margin:0;gap:6px}.conversational-insight .representative-summary{margin-top:17px}.facility-room-selector button{min-height:36px}
@media(max-width:760px){.facility-room-selector{margin-top:12px}.facility-room-selector .analysis-room-options{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}.facility-room-selector button{flex-shrink:0;min-height:40px}.conversational-insight .insight-subtitle{font-size:11px}}

/* v11: five room specifications and the requested premium classification. */
.five-specifications{grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}.five-specifications .facility-pictogram{padding:13px 5px;min-height:130px;gap:5px}.five-specifications .facility-name{font-size:11px;white-space:nowrap}.five-specifications .facility-level{font-size:10px}.photo-evidence{display:inline-flex;align-items:center;justify-content:center;gap:3px;border:0;background:transparent;color:#587696;font-size:9px;min-height:28px;padding:3px 0}.photo-evidence>.icon{width:12px;height:12px;flex:0 0 12px}.premium-badge{display:inline-flex;align-items:center;gap:4px;padding:5px 8px;border-radius:6px;background:#243e65;color:#fff;font-size:10px;line-height:1.2;font-weight:650;white-space:nowrap}.premium-badge>.icon{width:13px;height:13px;flex:0 0 13px}.card-photo>.premium-badge{position:absolute;left:9px;top:9px;pointer-events:none}.room-card header .premium-badge{font-size:9px}.premium-filter>.icon{width:15px;height:15px}.premium-filter.active{background:#243e65;color:#fff;border-color:#243e65}.card-tags .gender-icon{width:29px;height:29px;display:inline-grid;place-items:center;padding:0;border-radius:7px;background:#f0f4fa;color:#637b9a}.gender-icon>.icon{width:19px;height:19px}.card-tags:empty{display:none}.card-tags{min-height:0}.price-marker.premium-marker button{border-color:#4a668d}.compact-spec-note{font-size:10px;margin-bottom:0}.room-card header{gap:7px;flex-wrap:wrap}.detail-heading>.premium-badge{margin-top:7px}.card-price strong{font-size:23px}.detail-price strong{font-size:27px}.card-price{white-space:normal}.facility-pictogram .fact-source{position:absolute;right:2px;top:2px}
@media(max-width:760px){.five-specifications{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.five-specifications .facility-pictogram{min-height:130px;padding:14px 8px}.five-specifications .facility-name{font-size:12px}.five-specifications .facility-level{font-size:11px}.photo-evidence{font-size:10px;min-height:32px}.card-price strong{font-size:19px}.premium-badge{font-size:9px;padding:5px 6px}.card-photo>.premium-badge{left:6px;top:6px}.card-tags .gender-icon{width:28px;height:28px}.detail-price strong{font-size:27px}}

/* v12: concise filters, property specifications and walking routes */
.gender-badge{display:inline-flex;align-items:center;min-height:24px;padding:4px 8px;border-radius:7px;font-size:11px;font-weight:750;line-height:1.3;white-space:nowrap;background:#f0eaff;color:#7047c9;border:1px solid #e2d4ff}.gender-badge.separate_floors{background:#e8f3ff;color:#2865ab;border-color:#cfe6ff}.gender-badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}.gender-badges:empty{display:none}.detail-map-action{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:9px 12px;margin-top:12px;background:#f0f6ff;border-radius:10px;font-size:12px;color:#276cbd;font-weight:650}.detail-map-action .icon{width:16px;height:16px}.room-card .room-deposit{margin-bottom:0}.facility-level{min-height:20px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.facility-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.facility-pictogram .fact-source{position:absolute;right:4px;top:4px}.facility-pictogram{position:relative}.five-specifications .facility-symbol{width:36px;height:36px;min-width:36px;min-height:36px}.five-specifications .facility-symbol>.icon{width:24px;height:24px;min-width:24px;min-height:24px}.five-specifications .facility-status .icon{width:15px;height:15px;min-width:15px;min-height:15px}
.filter-dialog{width:760px}.price-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.price-filter{padding-top:9px}.price-filter output{margin-bottom:18px}.binary-filter-help{font-size:11px;color:#8b95a1;margin:0 0 4px}#filterGroups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px}.filter-row{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:62px;padding:11px 0;border-bottom:1px solid #f2f4f6}.filter-label{margin:0;min-width:0}.filter-label strong{display:flex;align-items:center;gap:6px;font-size:13px;white-space:nowrap}.filter-label .icon{width:18px;height:18px}.filter-label small{display:block;margin:3px 0 0 24px;font-size:10px;color:#9ca7b4;line-height:1.2}.filter-row .option-buttons{display:flex;gap:5px;flex-shrink:0}.filter-row.binary-filter .option-buttons button{min-width:42px;width:42px;min-height:38px;padding:8px;font-size:15px;font-weight:750}.filter-row.gender-filter{grid-column:1/-1}.filter-row.gender-filter .option-buttons button{min-height:38px;padding:8px 12px;font-size:12px}.neighborhood-place{width:100%;text-align:left;border:1px solid #edf1f5;background:white;cursor:pointer}.neighborhood-place>span:nth-child(2){display:flex;min-width:0;flex:1;flex-direction:column;gap:3px}.neighborhood-place>span:nth-child(2)>span{font-size:10px;color:#8b95a1}.neighborhood-place strong{display:block;font-size:12px;line-height:1.5;word-break:keep-all}.neighborhood-place small{font-size:10px;color:#8b95a1}.neighborhood-place>.icon{width:14px;height:14px;color:#a5b2c2}.route-open-button{font-size:11px;display:flex;align-items:center;gap:4px}.route-open-button .icon{width:14px;height:14px}.neighborhood-attribution{font-size:9px;color:#a2aebd;margin-top:12px}.neighborhood-attribution a{color:inherit}.route-panel{position:absolute;top:68px;left:18px;z-index:470;width:300px;padding:12px 14px;background:rgba(255,255,255,.97);border:1px solid #e6edf5;border-radius:15px;box-shadow:0 5px 24px #203b571c;backdrop-filter:blur(12px)}.route-panel-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:7px}.route-panel-heading>span{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:750;color:#41566e}.route-panel-heading .icon{width:16px;height:16px}.route-panel-heading .icon-button{width:28px;height:28px;min-width:28px;min-height:28px}.route-legend{display:grid;grid-template-columns:1fr 1fr;gap:5px}.route-legend button{display:flex;align-items:center;gap:6px;min-width:0;min-height:53px;text-align:left;padding:7px 6px;border-radius:8px;border:1px solid transparent;background:#f7f9fc}.route-legend button[aria-pressed=true]{border-color:var(--route-color);background:white}.route-color-dot{flex:0 0 6px;width:6px;height:6px;border-radius:50%;background:var(--route-color)}.route-legend button>span:nth-child(2){display:flex;min-width:0;flex:1;flex-direction:column;gap:2px}.route-legend strong{font-size:11px;font-weight:650}.route-legend small{max-width:84px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:9px;color:#8b95a1}.route-legend b{font-size:9px;font-weight:600;white-space:nowrap;color:#62758e}.route-panel>p{font-size:9px;line-height:1.5;color:#8b95a1;margin:9px 0 0}.walking-route{pointer-events:none}.viewing-routes #mapPreview{display:none}
@media(min-width:761px){.filter-body{padding:0 24px 16px}.filter-dialog .dialog-header{padding:20px 24px 12px}.filter-dialog .dialog-footer{padding:12px 24px}.filter-section#optionsSection{padding-top:4px}.card-tags{min-height:0}.detail-heading .gender-badge{font-size:12px;min-height:27px}}
@media(max-width:760px){.filter-dialog{width:100%}.price-filter-grid{grid-template-columns:1fr 1fr;gap:10px 18px}.price-filter{padding-top:0;padding-bottom:10px}.price-filter output{margin-bottom:5px}#filterGroups{display:block}.filter-row{display:flex;min-height:56px;padding:9px 0}.filter-label small{display:inline;margin:0 0 0 6px}.filter-label strong{display:inline-flex;font-size:13px}.filter-row.binary-filter .option-buttons button{min-height:44px;width:48px;min-width:48px;font-size:16px}.filter-row.gender-filter .option-buttons button{min-height:44px;padding:9px;font-size:11px}.filter-label .icon{width:17px;height:17px}.binary-filter-help{font-size:10px;margin-bottom:2px}.gender-badge{font-size:10px;min-height:24px;padding:4px 7px}.route-panel{top:58px;left:10px;width:min(320px,calc(100% - 20px));padding:10px 12px}.route-legend button{min-height:48px}.route-panel>p{font-size:9px}.route-open-button{min-height:40px}.detail-map-action{width:100%;justify-content:center;min-height:44px}.neighborhood-place{min-height:76px}.neighborhood-section .section-title{flex-wrap:wrap;gap:4px}.neighborhood-section .section-title h3{margin:0}}

/* v13: eight nearby amenities, clear map pictograms and stronger routes. */
.neighborhood-section .section-title h3 small{display:block;font-size:10px;line-height:1.5;color:#8b95a1;font-weight:500;margin-top:3px}
.neighborhood-places{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.neighborhood-place{display:flex;align-items:center;gap:9px;min-height:72px;padding:10px;border-radius:12px}
.neighborhood-place .neighborhood-symbol{margin:0;flex-shrink:0}
.neighborhood-place strong{font-size:12px;line-height:1.4}
.neighborhood-place>span:nth-child(2){gap:4px}
.neighborhood-place:hover,.neighborhood-place:focus-visible{border-color:#96b7ed;background:#f6faff}
.brand-oliveyoung .neighborhood-symbol{background:#f1f6e6;color:#668123}
.brand-daiso .neighborhood-symbol{background:#fff0ef;color:#bb3434}
.brand-megacoffee .neighborhood-symbol{background:#fff5d8;color:#8a6100}
.nearby-map-marker,.subway-map-marker{background:none;border:0;overflow:visible}
.nearby-map-marker button{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;width:84px;min-height:54px;gap:3px;padding:0;background:none;color:#42536a;text-align:center}
.nearby-map-symbol{width:32px;height:32px;flex:0 0 32px;display:grid;place-items:center;border:2px solid white;border-radius:11px;background:#eef3f9;color:#506a88;box-shadow:0 2px 7px #243c5638;box-sizing:border-box}
.nearby-map-symbol .icon{width:19px;height:19px;flex:0 0 19px}
.nearby-map-label{max-width:82px;padding:2px 5px;background:rgba(255,255,255,.96);border-radius:5px;white-space:nowrap;font-size:10px;font-weight:650;line-height:1.35;box-shadow:0 1px 4px #2b44651a}
.nearby-map-marker.brand-oliveyoung .nearby-map-symbol{background:#f1f6e6;color:#668123}
.nearby-map-marker.brand-daiso .nearby-map-symbol{background:#fff0ef;color:#bb3434}
.nearby-map-marker.brand-megacoffee .nearby-map-symbol{background:#fff1be;color:#805c06}
.nearby-map-marker.is-active .nearby-map-symbol{border-color:#175bc5;box-shadow:0 0 0 2px white,0 3px 9px #175bc54d}
.nearby-map-marker button:focus-visible{outline:2px solid #175bc5;outline-offset:3px;border-radius:9px}
.subway-map-marker{display:flex;flex-direction:column;align-items:center;gap:2px;pointer-events:none}
.subway-map-symbol{width:26px;height:26px;display:grid;place-items:center;border:2px solid white;border-radius:50%;color:white;background:#3e6192;box-shadow:0 2px 6px #203b573b;box-sizing:border-box}
.subway-map-symbol .icon{width:16px;height:16px;flex:none}
.subway-map-label{padding:1px 4px;border-radius:4px;color:#274569;background:rgba(255,255,255,.96);font-size:10px;font-weight:700;white-space:nowrap;line-height:1.5}
.route-panel{width:322px;max-height:calc(100% - 130px);overflow:auto}
.route-legend{gap:5px}
.route-legend button{min-height:45px;gap:5px;padding:7px 6px}
.route-color-dot{display:grid;place-items:center;flex:0 0 22px;width:22px;height:22px;border-radius:6px;color:white;background:var(--route-color)}
.route-color-dot .icon{width:14px;height:14px}
.route-legend button>strong{min-width:0;flex:1;line-height:1.3;font-size:10px;word-break:keep-all}
.route-legend b{font-size:9px}
@media(max-width:760px){
 .neighborhood-place{display:flex;min-height:70px;padding:9px;gap:7px}
 .neighborhood-place .neighborhood-symbol{width:32px;height:32px;min-width:32px;max-width:32px;min-height:32px;max-height:32px;flex-basis:32px;margin:0}
 .neighborhood-place .neighborhood-symbol .icon{width:21px;height:21px;min-width:21px;max-width:21px;min-height:21px;max-height:21px;flex-basis:21px}
 .neighborhood-place>.icon{display:none}
 .neighborhood-place strong{font-size:12px}
 .neighborhood-section .section-title h3 small{display:inline;margin-left:6px}
 .route-panel{width:min(322px,calc(100% - 20px));max-height:calc(100% - 235px);padding:10px}
 .route-panel-heading{margin-bottom:5px}
 .route-legend button{min-height:44px;padding:6px 5px}
 .route-legend b{font-size:9px}
 .nearby-map-marker button{min-height:54px}
}

/* v14: source-backed subway lines beneath each fixed train pictogram. */
.subway-map-marker{gap:2px}
.subway-map-symbol{width:26px;min-width:26px;max-width:26px;height:26px;min-height:26px;max-height:26px;flex:0 0 26px}
.subway-map-symbol .icon{width:16px;min-width:16px;max-width:16px;height:16px;min-height:16px;max-height:16px;flex:0 0 16px}
.subway-map-lines{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:2px;max-width:168px}
.subway-line-badge{display:inline-flex;align-items:center;justify-content:center;min-height:15px;padding:1px 4px;border-radius:4px;border:1px solid var(--line-color);background:white;color:var(--line-color);font-size:8px;line-height:1.4;font-weight:750;box-sizing:border-box;white-space:nowrap}
.subway-line-more{font-size:9px;font-weight:750;color:#52677e;background:white;border-radius:4px;padding:1px 3px;line-height:1.4}
.nearby-park-footprint{pointer-events:none}
#detailCompare.active{color:#1b64da;background:#edf4ff}
@media(max-width:760px){.subway-line-badge{font-size:8px;min-height:15px;padding:1px 3px}.subway-map-lines{gap:2px}.subway-map-symbol{flex:0 0 26px}.subway-map-symbol .icon{flex:0 0 16px}}

.police-map-marker{display:flex;align-items:center;flex-direction:column;gap:3px;background:none;border:0;overflow:visible}
.police-map-symbol{width:30px;min-width:30px;max-width:30px;height:30px;min-height:30px;max-height:30px;flex:0 0 30px;display:grid;place-items:center;box-sizing:border-box;border:2px solid white;border-radius:10px;background:#e2edff;color:#2166be;box-shadow:0 2px 8px #1b64da3d}
.police-map-symbol .icon{width:20px;min-width:20px;max-width:20px;height:20px;min-height:20px;max-height:20px;flex:0 0 20px}
.police-map-label{font-size:10px;line-height:1.4;font-weight:750;white-space:nowrap;color:#215ca6;background:rgba(255,255,255,.97);padding:1px 5px;border-radius:5px;box-shadow:0 1px 4px #1b64da1a}
.police-map-marker:focus-visible{outline:2px solid #2166be;outline-offset:3px;border-radius:10px}

/* A selected home always remains outside price clusters. */
.price-marker button,.count-cluster button{width:100%;min-width:0;min-height:40px;padding:7px 10px;border-radius:12px;box-sizing:border-box}
.price-marker button span,.count-cluster button span{font-size:13px;font-weight:750;white-space:nowrap}
.count-cluster button{gap:5px}
.count-cluster button b{height:20px;min-width:20px;padding:0 4px;font-size:10px}
.selected-home-marker{background:none;border:0;overflow:visible}
.selected-home-marker button{display:flex;justify-content:center;align-items:flex-start;width:52px;min-width:52px;height:58px;min-height:58px;padding:0;background:none}
.selected-home-pin{position:relative;display:grid;place-items:center;box-sizing:border-box;width:46px;min-width:46px;height:46px;min-height:46px;flex:0 0 46px;background:#1b64da;border:3px solid white;border-radius:16px;color:white;box-shadow:0 4px 14px #174b8f57}
.selected-home-pin:after{content:'';position:absolute;left:14px;bottom:-9px;width:12px;height:12px;background:#1b64da;border-right:3px solid white;border-bottom:3px solid white;transform:rotate(45deg);border-radius:0 0 3px 0;box-sizing:border-box}
.selected-home-pin .icon{position:relative;z-index:1;width:25px;min-width:25px;height:25px;min-height:25px;flex:0 0 25px}
.selected-home-marker button:focus-visible{outline:2px solid #1b64da;outline-offset:3px;border-radius:15px}
@media(max-width:760px){.price-marker button,.count-cluster button{min-height:44px;padding:7px 8px}.selected-home-pin{width:46px;min-width:46px;height:46px;min-height:46px;flex-basis:46px}.selected-home-pin .icon{width:25px;min-width:25px;height:25px;min-height:25px;flex-basis:25px}}

/* Total move-in budget is an optional separate control. */
.filter-dialog{width:660px}
.filter-dialog .price-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.filter-dialog .price-filter output{margin-bottom:5px}
@media(max-width:760px){.filter-dialog{width:100%}.filter-dialog .price-filter-grid{gap:16px}}

.bike-map-marker,.bus-map-marker{display:flex;align-items:center;flex-direction:column;gap:2px;background:none;border:0;overflow:visible}
.bike-map-symbol,.bus-map-symbol{display:grid;place-items:center;box-sizing:border-box;width:24px;min-width:24px;max-width:24px;height:24px;min-height:24px;max-height:24px;flex:0 0 24px;border:2px solid white;border-radius:8px;box-shadow:0 2px 6px #203b572e}
.bike-map-symbol{background:#e7f6e9;color:#29844b}.bus-map-symbol{background:#eaf0fd;color:#396ea8}
.bike-map-symbol .icon,.bus-map-symbol .icon{width:16px;min-width:16px;max-width:16px;height:16px;min-height:16px;max-height:16px;flex:0 0 16px}
.bike-map-label,.bus-map-label{font-size:9px;line-height:1.4;font-weight:650;background:rgba(255,255,255,.97);padding:1px 4px;border-radius:4px;color:#5a6e85;white-space:nowrap}
.bike-map-label{color:#29844b}.bus-map-label{max-width:164px;overflow:hidden;text-overflow:ellipsis}
.bus-map-lines{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:2px;max-width:164px}
.bus-line-badge{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line-color);background:white;color:var(--line-color);padding:1px 3px;border-radius:4px;font-size:9px;line-height:1.35;font-weight:750;white-space:nowrap}
.bus-lines-more{padding:1px 4px;min-width:25px;min-height:22px;border-radius:5px;background:#edf2f9;color:#526a84;font-size:9px;font-weight:750;line-height:1.3}
.bus-map-connections{display:block;max-width:164px;text-align:center;background:rgba(255,255,255,.97);color:#596d85;border-radius:4px;padding:1px 3px;font-size:8px;line-height:1.4}
.map-photo-preview{position:relative;background:none;border:0;overflow:visible;pointer-events:none}
.map-photo-connector{position:absolute;inset:0;width:120px;height:100px;overflow:visible;pointer-events:none}
.map-photo-connector path{fill:none;stroke:#5a8acb;stroke-width:1.5;stroke-dasharray:3 4;stroke-linecap:round}
.map-photo-frame{position:absolute;left:0;top:0;display:block;box-sizing:border-box;width:72px;min-width:72px;height:72px;min-height:72px;padding:3px;border:2px dashed #5a8acb;border-radius:50%;background:white;box-shadow:0 3px 13px #1e3d6638;pointer-events:auto}
.map-photo-frame img{display:block;width:100%;height:100%;border-radius:50%;object-fit:cover}
.map-photo-frame:focus-visible{outline:2px solid #1b64da;outline-offset:3px}

.nearby-map-label{overflow:hidden;text-overflow:ellipsis}

/* v15: a clear location pin and concise map context. */
.selected-location-marker{background:none;border:0;overflow:visible}
.selected-location-marker button{display:block;width:58px;min-width:58px;height:74px;min-height:74px;padding:0;background:none}
.selected-location-pin{display:block;width:58px;min-width:58px;height:74px;min-height:74px;filter:drop-shadow(0 4px 7px #174b8f66)}
.selected-location-glyph{display:block;width:58px;min-width:58px;height:74px;min-height:74px;overflow:visible}
.selected-location-glyph path{fill:#1b64da;stroke:white;stroke-width:3;stroke-linejoin:round}
.selected-location-glyph circle{fill:white}
.selected-location-marker button:focus-visible{outline:2px solid #1b64da;outline-offset:3px;border-radius:20px}
.police-map-symbol{width:34px;min-width:34px;max-width:34px;height:34px;min-height:34px;max-height:34px;flex-basis:34px;background:#2166be;color:white;border-color:white;box-shadow:0 3px 10px #1b64da50}
.police-map-symbol .icon{width:22px;min-width:22px;max-width:22px;height:22px;min-height:22px;max-height:22px;flex-basis:22px}
.police-map-label{color:#1555a6;font-weight:800}
.bus-map-marker{width:32px;min-width:32px}
.brand-compose .neighborhood-symbol,.nearby-map-marker.brand-compose .nearby-map-symbol{background:#fff4cf;color:#805a12}
.brand-paik .neighborhood-symbol,.nearby-map-marker.brand-paik .nearby-map-symbol{background:#f1f3ff;color:#385da8}
.brand-starbucks .neighborhood-symbol,.nearby-map-marker.brand-starbucks .nearby-map-symbol{background:#e7f3ec;color:#15714f}
.nearby-recommendations .section-title{margin-bottom:7px}
.nearby-recommendations .section-title h3{margin:0}
.recommendation-note{margin:0 0 14px;color:#8b95a1;font-size:10px;line-height:1.7}
.nearby-recommendations-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.recommendation-card{display:flex;flex-direction:column;align-items:stretch;min-width:0;padding:0;text-align:left;border:1px solid #e7edf5;border-radius:15px;overflow:hidden;background:white;transition:border-color .15s,box-shadow .15s}
.recommendation-card:hover,.recommendation-card:focus-visible{border-color:#8bb5ec;box-shadow:0 3px 14px #1d579a15;outline:none}
.recommendation-card>img,.recommendation-photo-placeholder{display:block;width:100%;height:128px;object-fit:cover;background:#f0f4f9}
.recommendation-photo-placeholder{display:grid;place-items:center;color:#a2b0c1}
.recommendation-photo-placeholder .icon{width:30px;height:30px}
.recommendation-card-body{display:flex;flex-direction:column;gap:6px;padding:12px}
.recommendation-card-body>strong{font-size:12px;line-height:1.5;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.recommendation-price{display:flex;align-items:baseline;flex-wrap:wrap;gap:3px;font-size:10px;color:#4e5968;line-height:1.4}
.recommendation-price small{font-size:9px;color:#8b95a1;margin-right:3px}
.recommendation-price b{font-size:18px;font-weight:750;color:#333d4b}
.recommendation-metrics{display:flex;align-items:center;gap:3px;font-size:9px;line-height:1.6;color:#71839a;flex-wrap:wrap}
.recommendation-metrics>.icon{width:11px;height:11px;flex:0 0 11px}
.recommendation-metrics>span{color:#266ab6;background:#f0f6fe;padding:2px 5px;border-radius:5px;margin-left:2px;font-weight:650}
.recommendation-room,.recommendation-reference{font-size:9px;line-height:1.5;color:#8b95a1;word-break:keep-all}
.recommendation-reference{color:#a2adbb}
@media(max-width:760px){
 .nearby-recommendations-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:11px;margin-right:-21px;padding:0 21px 6px 0;overscroll-behavior-inline:contain}
 .recommendation-card{flex:0 0 80%;max-width:300px;scroll-snap-align:start}
 .recommendation-card>img,.recommendation-photo-placeholder{height:140px}
 .recommendation-card-body{padding:13px;gap:7px}
 .recommendation-card-body>strong{font-size:14px}
 .recommendation-price small{font-size:10px}.recommendation-price b{font-size:21px}
 .recommendation-metrics{font-size:11px}.recommendation-metrics>.icon{width:13px;height:13px;flex-basis:13px}
 .recommendation-room,.recommendation-reference,.recommendation-note{font-size:10px}
}

/* v16: readable local context and a stable, named selection. */
.price-marker button,.count-cluster button{position:relative;background:#e9f2ff;border-color:#7ba6df;color:#163f78;box-shadow:0 3px 11px #1c426e24}
.price-marker.premium-marker button{background:#e7edff;border-color:#6b84bb}
.price-marker button:hover,.count-cluster button:hover{background:#d6e7ff;border-color:#497fc3;color:#133e77}
.property-marker-home{position:absolute;left:-7px;top:-8px;display:grid;place-items:center;width:21px;min-width:21px;height:21px;border:2px solid white;border-radius:7px;background:#356cae;color:white;box-shadow:0 1px 4px #23497038}
.property-marker-home>.icon{width:13px;min-width:13px;height:13px;stroke-width:1.9}
.selected-location-marker button{display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:0;width:200px;min-width:200px;height:124px;min-height:124px}
.selected-property-label{display:block;max-width:200px;padding:6px 10px;border-radius:8px;background:#cf3e37;color:white;box-shadow:0 3px 9px #6f211a36;font-size:12px;font-weight:750;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.selected-location-pin{filter:drop-shadow(0 4px 7px #882d2857);transform-origin:50% 96%}
.selected-location-glyph path{fill:#e7473f}
.selected-location-marker button:focus-visible{outline-color:#cb3831}
.selected-location-pin.is-entering{animation:selection-pin-shake .58s ease-out 1}
@keyframes selection-pin-shake{0%,100%{transform:rotate(0)}20%{transform:rotate(-9deg)}43%{transform:rotate(7deg)}65%{transform:rotate(-4deg)}82%{transform:rotate(2deg)}}
@media(prefers-reduced-motion:reduce){.selected-location-pin.is-entering{animation:none}}
.nearby-map-marker[class] .nearby-map-symbol{background:#34475e;color:white;border-color:white}
.nearby-map-marker .nearby-map-label{background:#2e3e52;color:white;box-shadow:0 2px 5px #1b2f4933;font-weight:700;padding:3px 6px}
.nearby-map-marker.category-convenience .nearby-map-symbol{background:#07866c;color:white;border-color:#d7fff2;box-shadow:0 0 0 1px #07866c,0 3px 8px #16614d4d}
.nearby-map-marker.category-convenience .nearby-map-label{background:#086854;color:white}
.category-convenience .neighborhood-symbol{background:#e1f7ef;color:#08775f;box-shadow:inset 0 0 0 1px #abe0d1}
.bus-map-symbol{width:28px;min-width:28px;max-width:28px;height:28px;min-height:28px;max-height:28px;flex-basis:28px;background:#193e68;color:white;box-shadow:0 2px 7px #193e6866}
.bus-map-symbol .icon{width:19px;min-width:19px;max-width:19px;height:19px;min-height:19px;max-height:19px;flex-basis:19px;stroke-width:1.9}
.subway-map-distance{display:block;padding:1px 5px;background:#354b65;color:white;border-radius:4px;font-size:9px;line-height:1.5;white-space:nowrap}
.detail-title-row{display:flex;align-items:center;flex-wrap:wrap;column-gap:10px;row-gap:6px;margin:0 0 14px}
.detail-title-row h2{margin:0;min-width:0;overflow-wrap:anywhere}
.detail-title-row .gender-badges{margin:0;flex-shrink:0}
.detail-title-row .gender-badge{white-space:nowrap}
.neighborhood-place{cursor:default}
.neighborhood-place:hover,.neighborhood-place:focus-visible{background:white;border-color:#edf1f5}
@media(max-width:760px){.selected-property-label{font-size:11px;max-width:190px}.detail-title-row{column-gap:8px;margin-bottom:12px}.detail-title-row h2{font-size:23px}.detail-title-row .gender-badge{font-size:10px}}

/* Food brands use a shared burger pictogram, their name and a distinct palette. */
.brand-mcdonalds .neighborhood-symbol,.nearby-map-marker.brand-mcdonalds .nearby-map-symbol{background:#ac1f22;color:#ffdb45}
.nearby-map-marker.brand-mcdonalds .nearby-map-label{background:#981e22;color:white}
.brand-lotteria .neighborhood-symbol,.nearby-map-marker.brand-lotteria .nearby-map-symbol{background:#b7352b;color:white}
.nearby-map-marker.brand-lotteria .nearby-map-label{background:#9b3028;color:white}
.brand-burgerking .neighborhood-symbol,.nearby-map-marker.brand-burgerking .nearby-map-symbol{background:#9b3b20;color:#ffe8a6}
.nearby-map-marker.brand-burgerking .nearby-map-label{background:#84341d;color:white}

/* v17: source text, grouped conveniences and connected highlight states. */
.neighborhood-groups{display:grid;gap:16px}
.neighborhood-group h4{font-size:12px;line-height:1.4;color:#526176;margin:0 0 7px;font-weight:700}
.neighborhood-place{cursor:pointer;transition:background .16s,border-color .16s,box-shadow .16s}
.neighborhood-place.is-highlighted,.neighborhood-place[aria-pressed=true]{background:#edf7ff;border-color:#6baed9;box-shadow:0 0 0 1px #add8f5}
.neighborhood-place:focus-visible{outline:2px solid #2588bc;outline-offset:2px}
.nearby-map-marker.is-highlighted .nearby-map-symbol{box-shadow:0 0 0 3px #fff,0 0 0 6px #3bb4d580,0 4px 10px #203b5755}
.nearby-map-marker.is-highlighted .nearby-map-label{background:#075f82;color:white}
.nearby-map-marker.poi-pulse .nearby-map-symbol{animation:poi-pinpoint 1.25s ease-out 2}
@keyframes poi-pinpoint{0%,100%{transform:translateY(0) scale(1)}35%{transform:translateY(-7px) scale(1.12)}65%{transform:translateY(0) scale(1.04)}}
.selected-location-pin.is-entering{animation:selection-pin-shake 2.45s ease-in-out 1}
@keyframes selection-pin-shake{0%,100%{transform:rotate(0)}8%{transform:rotate(-9deg)}16%{transform:rotate(8deg)}25%{transform:rotate(-7deg)}34%{transform:rotate(6deg)}44%{transform:rotate(-5deg)}55%{transform:rotate(4deg)}67%{transform:rotate(-3deg)}80%{transform:rotate(2deg)}91%{transform:rotate(-1deg)}}
.selected-location-marker,.selected-location-marker button{pointer-events:none}
.selected-property-label,.selected-location-pin{pointer-events:auto}
.map-photo-preview{z-index:1800!important}
.map-photo-frame{cursor:pointer;pointer-events:auto}
.subway-entrance-marker{background:none;border:0;pointer-events:none}
.subway-entrance-symbol{display:grid;place-items:center;box-sizing:border-box;width:23px;min-width:23px;height:23px;border:2px solid white;border-radius:7px;background:#00a8c5;color:white;font-size:10px;font-weight:800;line-height:1;box-shadow:0 2px 6px #097a9b55}
.bus-map-symbol{background:#193e68;color:white;border-radius:8px}
.viewed-property{border-bottom:1px solid #e1e8f0}
.viewed-property>p{margin:0;padding:14px 0 0;color:#2771af;font-size:11px;font-weight:700;letter-spacing:.1px}
.viewed-property .property-card{padding-top:10px}
.registered-room-card header:empty{display:none}
.registered-room-card h4,.room-original-composition,.room-original-amount{white-space:pre-wrap;overflow-wrap:anywhere}
.room-original-composition{font-size:12px;line-height:1.65;color:#526176;margin:8px 0}
.room-original-amount{font-size:18px;line-height:1.6;font-weight:700;color:#1b4d89;margin:9px 0 0}
.registered-room-source{display:inline-flex;align-items:center;gap:4px;font-size:10px;color:#7c8999;line-height:1.5;margin-top:10px}
.registered-room-source .icon{width:12px;height:12px}
.map-panel .leaflet-tile-pane.is-fallback{filter:saturate(.8) brightness(1.035)}
@media(max-width:760px){.neighborhood-groups{gap:14px}.neighborhood-group h4{font-size:11px}.room-original-amount{font-size:17px}.viewed-property>p{padding-top:12px}}
@media(prefers-reduced-motion:reduce){.selected-location-pin.is-entering,.nearby-map-marker.poi-pulse .nearby-map-symbol{animation:none}.neighborhood-place{transition:none}}

.subway-entrance-symbol .icon{width:14px;min-width:14px;height:14px;stroke-width:2}

.numeric-price-note{display:block;color:#8a96a5;font-size:10px;line-height:1.5;margin-top:5px}

/* v18: keep the map visible while browsing a compact property sheet. */
.bus-map-symbol{background:#edf1f5;color:#7f91a5;border-color:#fff;box-shadow:0 1px 4px #61778e26}
.subway-entrance-marker{pointer-events:auto}
.subway-entrance-marker:focus-visible{outline:3px solid #8bd9ee;outline-offset:3px;border-radius:7px}
.subway-entrance-tooltip{font-size:11px;font-weight:650;color:#135168;border-color:#bde8f1}
.map-photo-frame{padding:0;overflow:hidden}
.map-photo-frame img{width:100%;height:100%;max-width:none;object-fit:cover;object-position:center}
.detail-sheet-handle{display:none}
.four-specifications{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.four-specifications .facility-pictogram{padding:13px 5px;min-height:124px;gap:5px}
.four-specifications .facility-name{font-size:11px;white-space:nowrap}
.four-specifications .facility-level{font-size:10px}
.four-specifications .facility-symbol{width:36px;height:36px;min-width:36px;min-height:36px}
.four-specifications .facility-symbol>.icon{width:24px;height:24px;min-width:24px;min-height:24px}
.four-specifications .facility-status .icon{width:15px;height:15px;min-width:15px;min-height:15px}
.wifi-summary-badge{display:inline-flex;align-items:center;gap:5px;color:#5b7a91;font-size:10px;font-weight:550;line-height:1.4}
.wifi-summary-badge>.icon{width:15px;height:15px;flex:0 0 15px}
.room-grid{display:flex;flex-direction:column;gap:0}
.registered-room-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(80px,auto) 24px;align-items:center;column-gap:10px;min-height:52px;padding:12px 0;border:0;border-bottom:1px solid #edf0f4;border-radius:0;background:white}
.registered-room-card header{margin:0;display:block}
.registered-room-card h4{margin:0;font-size:13px;font-weight:550;line-height:1.5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.room-row-copy{min-width:0}
.registered-room-card .room-original-composition{margin:2px 0 0;font-size:10px;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#8b95a1}
.registered-room-card .room-original-amount{margin:0;max-width:260px;font-size:14px;font-weight:650;line-height:1.5;white-space:nowrap;overflow-x:auto;scrollbar-width:thin;text-align:right}
.registered-room-card .registered-room-source{margin:0;display:grid;place-items:center;width:24px;height:30px;font-size:0}
.brand-ediya .neighborhood-symbol,.nearby-map-marker.brand-ediya .nearby-map-symbol{background:#eaf0fb;color:#284f9b}
.brand-twosome .neighborhood-symbol,.nearby-map-marker.brand-twosome .nearby-map-symbol{background:#f8e9ee;color:#91294b}
.brand-mammoth .neighborhood-symbol,.nearby-map-marker.brand-mammoth .nearby-map-symbol{background:#f2e8dc;color:#7b4b26}
.brand-hollys .neighborhood-symbol,.nearby-map-marker.brand-hollys .nearby-map-symbol{background:#fae9ec;color:#a73449}
.brand-theventi .neighborhood-symbol,.nearby-map-marker.brand-theventi .nearby-map-symbol{background:#f3eafa;color:#7d3c98}
@media(max-width:760px){
 .map-workspace[data-sheet=half] .results-panel{height:45%}
 .map-workspace[data-sheet=full] .results-panel{height:60%;border-radius:20px 20px 0 0}
 .map-workspace[data-sheet=full] .map-context,.map-workspace[data-sheet=full] .search-area-button{opacity:1;pointer-events:auto}
 .detail-dialog{inset:auto 0 0;height:calc(100dvh - 119px - clamp(180px,34dvh,280px));max-height:calc(100dvh - 119px - clamp(180px,34dvh,280px));min-height:220px;border-radius:20px 20px 0 0;box-shadow:0 -5px 30px #183b6229}
 .detail-sheet-handle{display:flex;align-items:center;justify-content:center;width:100%;height:20px;min-height:20px;padding:0;touch-action:none;flex:none}
 .detail-sheet-handle>span{width:34px;height:4px;border-radius:6px;background:#d5dee8}
 .detail-topbar{min-height:48px;padding:0 10px 0 6px}
 .detail-topbar .icon-button{height:40px;width:40px;min-width:40px}
 .detail-photos{height:190px;min-height:190px}
 .detail-inner{padding:20px 18px 4px}
 .detail-heading h2{font-size:22px;margin-bottom:12px}
 .detail-section{padding:22px 0}
 .four-specifications{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
 .four-specifications .facility-pictogram{min-height:110px;padding:12px 3px;gap:5px}
 .four-specifications .facility-name{font-size:10px}
 .four-specifications .facility-level{font-size:10px}
 .wifi-summary-badge{font-size:10px;gap:4px}
 .registered-room-card{column-gap:7px;padding:11px 0;min-height:48px;grid-template-columns:minmax(0,1fr) minmax(70px,auto) 22px}
 .registered-room-card h4{font-size:12px}
 .registered-room-card .room-original-amount{font-size:12px;max-width:50vw}
 .detail-contact{padding:9px 12px calc(9px + env(safe-area-inset-bottom))}
 .contact-buttons .button{min-height:44px;font-size:12px;padding:10px 8px}
}
@media(max-width:760px) and (max-height:560px){.detail-dialog{min-height:160px;height:calc(100dvh - 299px);max-height:calc(100dvh - 299px)}.detail-photos{height:150px;min-height:150px}}

.brand-touslesjours .neighborhood-symbol,.nearby-map-marker.brand-touslesjours .nearby-map-symbol{background:#e7f1e9;color:#28654b}
.brand-parisbaguette .neighborhood-symbol,.nearby-map-marker.brand-parisbaguette .nearby-map-symbol{background:#e9f0fb;color:#28518c}

/* v19: distinguish the operator's original transit wording from the mapped walking path. */
.transit-network-distance{display:inline-flex;align-items:center;gap:5px;margin:7px 0 0;color:#5d7692;font-size:10px;font-weight:500;line-height:1.5}
.transit-network-distance>.icon{width:13px;height:13px;flex:0 0 13px}
@media(max-width:760px){.transit-network-distance{font-size:11px;margin-top:8px}.transit-network-distance>.icon{width:14px;height:14px;flex-basis:14px}}

.transit-route-exit{display:block;margin-top:4px;color:#657b94;font-size:10px;font-weight:500;line-height:1.5}
@media(max-width:760px){.transit-route-exit{font-size:11px}}

/* v20: more map space, quieter bus stops and a complete keyboard-accessible listing card. */
:root{--list-width:346px}
.property-card{cursor:pointer}
.property-card:focus-visible{outline:3px solid #8dbdff;outline-offset:-3px;border-radius:10px}
.bus-map-symbol{background:#f1ebe0;color:#9b8f79;border-color:#fff;box-shadow:0 1px 4px #8c7a5e22}
@media(min-width:761px){.detail-dialog{width:480px}.filter-toolbar{max-width:calc(100% - var(--list-width) - 36px)}}
.brand-gimgane .neighborhood-symbol,.nearby-map-marker.brand-gimgane .nearby-map-symbol{background:#f8ebdd;color:#9b5d25}

.map-panel .leaflet-gl-layer{opacity:0;pointer-events:none}
.price-terms{border:1px solid #e3ebf5;border-radius:12px;background:#f7faff;padding:3px 12px;margin-bottom:12px}
.price-term{display:grid;grid-template-columns:62px minmax(0,1fr) 24px;align-items:start;gap:8px;padding:11px 0;border-bottom:1px solid #e4ecf5;font-size:12px;line-height:1.6}
.price-term:last-child{border-bottom:0}
.price-term>span{color:#6b7c91;font-weight:550}
.price-term-original{display:block;font-weight:650;color:#2a4e75;white-space:pre-wrap;overflow-wrap:anywhere}
.price-term small{display:block;color:#7b8b9d;font-size:10px;line-height:1.5;margin-top:3px;overflow-wrap:anywhere}
.price-term>a{display:grid;place-items:center;min-height:28px;color:#8798ab}
.price-term>a .icon{width:13px;height:13px}
@media(max-width:760px){.price-terms{padding-inline:10px}.price-term{grid-template-columns:54px minmax(0,1fr) 24px;font-size:12px;gap:6px}.price-term small{font-size:10px}}

.price-terms-notice{margin:0 0 8px;font-size:12px;font-weight:700;color:var(--text-secondary,#6b7684)}

.price-term-conflict{font-size:12px;line-height:1.6;color:#776b54;margin:8px 0 11px}

/* R027: one clear selection state, compact amounts and natural mobile detail scrolling. */
.price-filter-grid{display:block}.price-filter-grid .price-filter{border-bottom:1px solid #e5ebf2;padding:15px 0 20px}.price-filter-grid .price-filter:last-child{border-bottom:0;padding-bottom:12px}
.filter-selection-summary{flex:none;border-top:1px solid #eef2f7;border-bottom:1px solid #e7edf5;background:#f7faff;padding:10px 24px;display:flex;gap:10px;align-items:flex-start;font-size:11px;color:#6b7b91;max-height:120px;overflow:auto}.filter-selection-summary>span{padding-top:4px;white-space:nowrap}.filter-selection-summary>div{display:flex;flex-wrap:wrap;gap:5px}.filter-selection-summary b{font-size:11px;font-weight:600;color:#1b64da;background:#e6f0ff;border:1px solid #c7dfff;border-radius:7px;padding:4px 7px;line-height:1.4}.filter-reset{background:#edf5ff;color:#1b64da!important;border:1px solid #b5d5ff;border-radius:10px;padding:12px 18px;min-height:46px;font-weight:750!important}.binary-filter .option-buttons button{min-width:76px;min-height:44px}.binary-filter .option-buttons button[aria-pressed=true]{background:#3182f6;color:white;border-color:#3182f6}.binary-filter .filter-label small{color:#8b95a1}.binary-filter.selected .filter-label small{color:#1b64da}
.price-terms{padding:0 12px}.price-term-summary{grid-template-columns:62px minmax(0,1fr)}.price-term-summary strong{font-size:13px;font-weight:600;color:#6b7684}.price-term-original{font-size:15px;font-weight:750;color:#253f5d;white-space:normal}.price-term>span{font-size:12px}.price-term [data-price-term-conflict]{font-size:12px;color:#776b54}
.vacancy-button{background:#eaf3ff;color:#1b64da;border:1px solid #c7ddfb}.vacancy-button.is-unavailable{background:#f5f6f8;color:#9aa5b1;border-color:#edf0f4;cursor:default;opacity:1}.vacancy-button small{font-size:10px;font-weight:500}.share-dialog{width:440px}.share-dialog-body{padding:0 24px 26px}.share-dialog-body label{display:block;color:#6b7684;font-size:12px;margin-bottom:10px}.share-dialog-body input{width:100%;padding:12px;border:1px solid #d9e5f3;border-radius:9px;font-size:12px;background:#f8fbff}.map-controls{display:flex;flex-direction:column;gap:8px}.map-controls #mapShare .icon{width:19px;height:19px}.brand-basburger .nearby-map-symbol,.brand-basburger .neighborhood-symbol{background:#be3e2a;color:#fff}
@media(max-width:760px){.filter-selection-summary{padding:9px 18px;max-height:100px}.filter-selection-summary>span{font-size:10px}.detail-contact .contact-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.detail-contact .contact-buttons .button{min-height:40px;padding:8px 10px;font-size:11px}.detail-contact .contact-buttons .icon{width:14px;height:14px}.price-term-summary{grid-template-columns:54px minmax(0,1fr)}}

.nearby-map-marker button{position:relative}.poi-label-connector{position:absolute;left:0;top:0;overflow:visible;pointer-events:none;z-index:-1}.poi-label-connector path{fill:none;stroke:#71829b;stroke-width:1.2;stroke-dasharray:2 2;opacity:.7}.nearby-map-marker .nearby-map-label{max-width:100px;position:relative;z-index:1}.nearby-map-marker.is-highlighted .nearby-map-label{z-index:3}

@media(min-width:761px){.filter-dialog{width:520px}#filterGroups{gap:12px}.binary-filter{grid-template-columns:minmax(0,1fr) 68px;gap:8px}.binary-filter .filter-label{min-width:0}.binary-filter .option-buttons button{min-width:68px;padding-inline:9px}}

.detail-contact .contact-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.detail-contact .contact-buttons .button{min-width:0;max-width:none;font-size:12px;padding:9px 10px;min-height:42px}.detail-contact .contact-map span{display:inline}.detail-contact .contact-buttons>.button:last-child:nth-child(3){grid-column:1/-1}.detail-contact .vacancy-button small{font-size:9px}

/* R028: contextual enquiry and persistent selected conditions. */
.detail-price-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.detail-price-row .detail-price{min-width:0;flex-wrap:wrap}.vacancy-price-button{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:40px;padding:9px 12px;border:1px solid #abd0ff;border-radius:10px;color:#1b64da;background:#edf5ff;font-size:12px;font-weight:750;white-space:nowrap;flex:none}.vacancy-price-button .icon{width:14px;height:14px}.vacancy-price-button:hover{background:#deedff;border-color:#3182f6}.detail-contact{flex-direction:column;align-items:stretch;gap:8px}.detail-contact .contact-buttons{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.7fr);gap:8px}.detail-contact .contact-buttons>.button:last-child:nth-child(3){grid-column:auto}.detail-contact .contact-buttons .contact-phone{font-size:14px;min-height:48px;font-weight:750}.detail-contact .contact-buttons>.contact-phone:only-child{grid-column:1/-1}.contact-instruction{margin:0;border-radius:9px;background:#edf5ff;padding:8px 11px;color:#225f9f;line-height:1.5}.contact-instruction small{display:block;font-size:9px;color:#7796b6;margin-bottom:2px}.contact-instruction strong{display:block;font-size:11px;font-weight:650}.phone-unavailable{background:#f2f4f6;color:#96a0ad;cursor:default}
.vacancy-inquiry-dialog{width:520px;max-height:min(90dvh,820px)}.vacancy-inquiry-body{padding:0 24px 20px;overflow:auto;overscroll-behavior:contain}.vacancy-inquiry-body h3{font-size:15px;margin:20px 0 10px}.inquiry-guidance,.inquiry-empty,.inquiry-loading{font-size:12px;line-height:1.7;color:#7b8796}.inquiry-room-list{border:1px solid #e8edf3;border-radius:12px;overflow:hidden}.inquiry-room{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:13px 14px;border-bottom:1px solid #edf1f5;font-size:12px;line-height:1.55}.inquiry-room:last-child{border-bottom:0}.inquiry-room strong{display:block;font-size:12px;font-weight:650;overflow-wrap:anywhere}.inquiry-room small{display:block;font-size:10px;color:#8b95a1;margin-top:3px;overflow-wrap:anywhere}.inquiry-room>b{font-size:12px;color:#1b64da;text-align:right;white-space:pre-wrap;max-width:150px}.vacancy-inquiry-contact{display:flex;flex-direction:column;align-items:stretch;gap:10px;padding:14px 24px 20px}.vacancy-inquiry-contact .button{max-width:none;min-height:48px;width:100%}.inquiry-phrase{margin:0;background:#eaf3ff;border:1px solid #c9e0ff;color:#1b64da;border-radius:10px;padding:12px 14px;font-size:13px;font-weight:750;line-height:1.6}
#filterGroups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.spec-filter-toggle{display:flex;align-items:center;justify-content:flex-start;gap:10px;position:relative;border:1px solid #e0e7ef;border-radius:12px;padding:13px 11px;min-height:68px;background:#f8fafc;text-align:left;width:100%;color:#64758a}.spec-toggle-symbol{width:30px;min-width:30px;height:30px;display:grid;place-items:center;color:#91a0b3}.spec-toggle-symbol .icon{width:24px;height:24px}.spec-toggle-label{font-size:12px;font-weight:650;line-height:1.4}.spec-toggle-check{position:absolute;right:6px;top:5px;color:transparent}.spec-toggle-check .icon{width:13px;height:13px}.spec-filter-toggle.is-on{border-color:#6badff;background:#eaf3ff;color:#1b64da;box-shadow:0 0 0 1px #3182f61a}.spec-filter-toggle.is-on .spec-toggle-symbol{color:#3182f6}.spec-filter-toggle.is-on .spec-toggle-check{color:#3182f6}.gender-filter{grid-column:1/-1}.toolbar-condition-chips{display:flex;align-items:center;gap:6px;overflow-x:auto;scrollbar-width:none;padding:5px 0 0;max-width:100%;height:38px}.toolbar-condition-chips .condition-chip{min-height:28px;flex:none;font-size:10px;padding:6px 8px}.condition-reset{min-height:28px;padding:4px 8px;font-size:10px;font-weight:650;color:#6b7d93;white-space:nowrap;flex:none}.condition-reset:hover{color:#1b64da}#selectedChips{display:none!important}
@media(min-width:761px){.filter-toolbar.has-conditions{width:min(720px,calc(100% - var(--list-width) - 36px))}}
@media(max-width:760px){.filter-toolbar{height:calc(57px + var(--condition-bar-height,0px))}.map-workspace{top:calc(119px + var(--condition-bar-height,0px));height:calc(100dvh - 119px - var(--condition-bar-height,0px))}.detail-dialog{height:calc(100dvh - 119px - var(--condition-bar-height,0px) - clamp(180px,34dvh,280px));max-height:calc(100dvh - 119px - var(--condition-bar-height,0px) - 160px)}.detail-contact .contact-buttons{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.7fr)}.detail-contact .contact-buttons .contact-phone{font-size:12px;min-height:44px}.contact-instruction{padding:6px 9px}.contact-instruction strong{font-size:10px}.contact-instruction small{display:none}.detail-price-row{gap:8px}.vacancy-price-button{min-height:38px;padding:8px 10px;font-size:11px}.vacancy-inquiry-dialog{width:calc(100% - 24px);max-width:none;max-height:90dvh}.vacancy-inquiry-body{padding:0 18px 14px}.vacancy-inquiry-contact{padding:12px 18px calc(15px + env(safe-area-inset-bottom))}.inquiry-phrase{font-size:12px;padding:10px 12px}.inquiry-room{padding:11px 12px;gap:8px}.inquiry-room>b{max-width:125px;font-size:11px}}

.nearby-map-cluster{background:transparent;border:0}.poi-cluster-button{width:84px;height:38px;padding:0 8px;display:flex;align-items:center;justify-content:center;gap:4px;background:#2e3e52;color:white;border:2px solid white;border-radius:14px;box-shadow:0 3px 12px #20334c38;font-size:10px;white-space:nowrap}.poi-cluster-button>.icon{width:15px;height:15px}.poi-cluster-button>.icon:last-child{width:11px;height:11px;margin-left:1px}.poi-cluster-button strong{font-size:15px;font-weight:800}.poi-cluster-button:hover,.nearby-map-cluster.is-highlighted .poi-cluster-button{background:#075f82;box-shadow:0 0 0 4px #3182f622}.nearby-map-cluster.poi-pulse .poi-cluster-button{animation:poiClusterPulse .65s ease-out 2}.poi-position-connector{position:absolute;left:0;top:0;overflow:visible;pointer-events:none;display:none}.poi-position-connector path{stroke:#778ba5;stroke-width:1.3;stroke-dasharray:2 2;fill:none;opacity:.8}.poi-source-point{display:none;position:absolute;left:40px;top:17px;width:4px;height:4px;border:1px solid white;background:#57718f;border-radius:50%;pointer-events:none}.has-screen-offset>.poi-position-connector,.has-screen-offset>.poi-source-point{display:block}.poi-cluster-tooltip{max-width:240px;white-space:normal;line-height:1.7;font-size:11px}.nearby-map-cluster .poi-cluster-button{position:relative}.nearby-map-marker button{will-change:auto}
@keyframes poiClusterPulse{0%{box-shadow:0 0 0 0 #3182f655}100%{box-shadow:0 0 0 12px #3182f600}}
@media(prefers-reduced-motion:reduce){.nearby-map-cluster.poi-pulse .poi-cluster-button{animation:none}}

.price-range-note{display:block;font-size:10px;line-height:1.5;color:#8b95a1;margin:4px 0 0}.detail-heading>.price-range-note{font-size:11px;margin-top:6px}.inquiry-guidance+.price-range-note{font-size:11px;color:#6b7d93;margin-top:-3px}

/* R029: separate source-point markers, a lighter pinpoint and explicit telephone intent. */
.selected-location-pin,.selected-location-glyph{width:44px;min-width:44px;height:68px;min-height:68px}
.selected-location-glyph path{stroke-width:2.6}.selected-location-marker button{justify-content:flex-end;gap:7px}
.property-position-connector{position:absolute;left:0;top:0;overflow:visible;pointer-events:none}.property-position-connector path{stroke:#657f9c;stroke-width:1.2;stroke-dasharray:2 3;fill:none;opacity:.72}.price-marker{overflow:visible}.price-marker button{position:relative}
.subway-map-symbol{position:relative}.subway-selected-exit{position:absolute;right:-7px;bottom:-5px;background:#00a8c5;color:white;border:1.5px solid white;border-radius:6px;min-width:17px;height:17px;padding:1px 3px;font-size:9px;font-weight:800;line-height:12px}.subway-map-label small{font-size:9px;font-weight:600;color:#bdeef4}
.phone-inquiry-dialog{width:440px;max-height:85dvh}.phone-inquiry-body{padding:0 24px 10px}.phone-inquiry-body h3{font-size:14px;color:#4e5968;margin:0 0 12px}.phone-inquiry-message{margin:0;padding:22px 18px;border-radius:14px;background:#eaf3ff;border:1px solid #c9e0ff;color:#1b64da;font-size:18px;font-weight:750;line-height:1.7;word-break:keep-all}.phone-inquiry-action{padding:16px 24px 24px}.phone-inquiry-action .button{min-height:50px;width:100%;justify-content:center}.phone-call-action span{font-size:12px;font-weight:550;opacity:.85}
@media(max-width:760px){.phone-inquiry-dialog{width:calc(100% - 24px);max-width:none}.phone-inquiry-body{padding:0 20px 8px}.phone-inquiry-message{font-size:16px;padding:20px 16px}.phone-inquiry-action{padding:14px 20px calc(20px + env(safe-area-inset-bottom))}}

/* R030: compact aligned options, contextual paths and a stable first map. */
.police-map-marker.is-highlighted .police-map-symbol,.bike-map-marker.is-highlighted .bike-map-symbol,.bus-map-marker.is-highlighted .bus-map-symbol{outline:3px solid #7ec6ff;outline-offset:3px;filter:drop-shadow(0 0 5px #3182f64d)}
.filter-dialog .dialog-header{justify-content:flex-end;padding-bottom:4px;padding-top:10px;min-height:42px}.filter-dialog .dialog-header .icon-button{width:32px;height:32px;min-height:32px;min-width:32px}
.filter-dialog .price-filter-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px}.filter-dialog .price-filter-grid .price-filter{padding:5px 0 16px;border-bottom:1px solid #e5ebf2}.filter-dialog .price-filter-grid .price-filter:last-child{padding-bottom:16px;border-bottom:1px solid #e5ebf2}.filter-dialog .filter-selection-summary[hidden]{display:none}.filter-dialog #optionsSection{padding-top:15px}.filter-dialog #optionsSection>h3{font-size:13px;color:#6b7684;margin-bottom:10px}
.spec-filter-slot{min-width:0}.spec-filter-slot>.spec-filter-toggle,.gender-filter-tiles>.spec-filter-toggle{height:68px;min-height:68px;padding:13px 11px;gap:10px}.gender-filter{grid-column:1/-1;border:0;padding:4px 0 0;margin:0;display:block}.gender-filter h4{font-size:13px;color:#6b7684;font-weight:650;margin:3px 0 10px}.gender-filter-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.gender-filter .spec-toggle-label{font-size:12px}.gender-filter .spec-toggle-symbol .icon{width:24px;height:24px}.gender-filter-toggle{color:#64758a}.gender-filter-toggle.is-on{color:#1b64da}
.map-loading{position:absolute;inset:0;z-index:690;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:13px;background:#f3f7fa;color:#75869a;font-size:12px;pointer-events:none}.map-loading[hidden]{display:none}.map-loading-symbol{display:grid;place-items:center;width:50px;height:50px;border-radius:17px;background:#e8f0f9;color:#6d98c8}.map-loading-symbol .icon{width:25px;height:25px}.is-map-loading #map{opacity:0}.map-panel:not(.is-map-loading) #map{opacity:1}
@media(max-width:760px){.filter-dialog .price-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:18px}.filter-dialog .dialog-header{padding:9px 16px 3px}.filter-dialog .price-filter output{font-size:17px}.filter-dialog .price-filter-grid .price-filter{padding-top:3px}.filter-dialog .filter-body{padding-inline:18px}.filter-dialog #optionsSection{padding-top:12px}.spec-filter-slot>.spec-filter-toggle,.gender-filter-tiles>.spec-filter-toggle{height:64px;min-height:64px;padding:10px 9px;gap:8px}.spec-toggle-symbol{width:26px;min-width:26px;height:26px}.spec-toggle-symbol .icon,.gender-filter .spec-toggle-symbol .icon{width:22px;height:22px}.gender-filter .spec-toggle-label,.spec-toggle-label{font-size:11px}}

/* R031: compact side panel, distinct map reset and one non-overlapping control rail. */
.price-term-values{display:flex;flex-direction:column;gap:5px}.price-term-value strong,.price-term-value small{display:block}
@media(min-width:761px){.filter-toolbar{max-width:calc(100% - var(--list-width) - 132px)}.filter-toolbar.has-conditions{width:min(720px,calc(100% - var(--list-width) - 132px))}body:has(#detailDialog[open]) .filter-toolbar{max-width:calc(100% - var(--detail-width) - 132px)}body:has(#detailDialog[open]) .filter-toolbar.has-conditions{width:min(720px,calc(100% - var(--detail-width) - 132px))}}
:root{--list-width:320px;--detail-width:430px}
.gender-filter-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}.gender-filter-toggle{min-width:0;padding-inline:9px!important;gap:7px!important}.gender-filter .spec-toggle-label{font-size:11px;white-space:nowrap}.gender-filter .spec-toggle-symbol{width:24px;min-width:24px}.gender-filter-toggle[aria-checked=true]{border-color:#6badff;background:#eaf3ff;color:#1b64da;box-shadow:0 0 0 1px #3182f61a}
.price-terms{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:0 14px;gap:14px}.price-term.price-term-summary{display:flex;flex-direction:column;gap:5px;border:0;min-width:0;padding:13px 0}.price-term.price-term-summary strong{font-size:15px;line-height:1.5;color:#253f5d;overflow-wrap:anywhere}.price-term.price-term-summary small{margin:0}.registered-room-card{grid-template-columns:minmax(0,1fr) auto}.registered-room-card .registered-room-source{grid-column:1/-1;justify-self:end}.nearby-campus{display:flex;align-items:center;gap:8px;min-height:38px;font-size:12px}.nearby-campus>.icon{width:16px;height:16px}.nearby-campus>small{color:#8b95a1;margin-left:auto}
.map-controls{top:112px;right:18px;bottom:auto;gap:8px;align-items:center}.map-controls .leaflet-control{float:none;margin:0;clear:none;flex:none}.map-controls .icon-button{width:38px;height:38px;min-width:38px;min-height:38px;border-radius:10px}.map-controls .leaflet-control-zoom a{width:38px!important;height:36px!important;line-height:36px!important}.map-context{top:64px;right:18px}
.property-position-connector{display:none!important}
.category-meal .neighborhood-symbol{background:#fff0bc;color:#876508}.nearby-map-marker.category-meal[class] .nearby-map-symbol{background:#b38c1d;color:#fff;border-color:#fff1be;box-shadow:0 2px 8px #775b1f44}.nearby-map-marker.category-meal[class] .nearby-map-label{background:#7c621a;color:white}
@media(min-width:761px){.detail-dialog{width:var(--detail-width)}body:has(#detailDialog[open]) .map-controls,body:has(#detailDialog[open]) .map-context{right:calc(var(--detail-width) - var(--list-width) + 18px)}.property-list{padding-inline:16px}.property-card{grid-template-columns:104px minmax(0,1fr);gap:11px}.card-photo{height:145px}.results-head{padding-inline:16px}.detail-inner{padding-inline:24px}}
@media(max-width:760px){.gender-filter-toggle{gap:5px!important;padding-inline:7px!important}.gender-filter .spec-toggle-symbol{width:22px;min-width:22px}.gender-filter .spec-toggle-label{font-size:10px}.price-terms{gap:10px;padding-inline:12px}.price-term.price-term-summary strong{font-size:14px}.map-controls{top:59px;right:12px;bottom:auto;display:flex;flex-direction:row;gap:6px}.map-controls .leaflet-control-zoom{display:flex;flex-direction:row}.map-controls .leaflet-control-zoom a{width:34px!important;height:34px!important;line-height:34px!important;border-bottom:0!important}.map-controls .leaflet-control-zoom-in{border-right:1px solid #e4eaf1}.map-controls .icon-button{width:34px;height:34px;min-width:34px;min-height:34px}.map-context{left:12px;right:auto;top:13px;max-width:calc(100% - 106px);font-size:10px;padding:9px}.search-area-button{top:105px;min-height:34px;padding:8px 13px;font-size:11px}.map-controls .leaflet-control-zoom-in,.map-controls .leaflet-control-zoom-out{border-radius:0}.detail-dialog .contact-buttons .contact-map{flex-basis:auto}}

/* R032: stable monthly-price colours, property clustering and compact coffee cues. */
.price-marker[class] button,.price-marker.premium-marker[class] button,.property-price-cluster button{background:var(--price-fill,#ddedff);border:1px solid var(--price-border,#899eb5);color:var(--price-ink,#18344d)}
.price-marker[class] button:hover,.price-marker[class] button:focus-visible,.property-price-cluster button:hover,.property-price-cluster button:focus-visible{background:var(--price-fill,#ddedff);color:var(--price-ink,#18344d);filter:brightness(.97);outline:3px solid #3182f6;outline-offset:2px}
.price-marker .property-marker-home{background:#ffffffed;color:var(--price-ink,#18344d);border-color:var(--price-border,#899eb5)}
.property-price-cluster{background:none;border:0}.property-price-cluster button{width:100%;height:52px;border-radius:17px;box-shadow:0 4px 12px #1e3d5b28,0 0 0 3px #fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;white-space:nowrap}.property-price-cluster strong{font-size:15px;line-height:1.2;font-weight:800}.property-price-cluster button>span{font-size:11px;font-weight:650;line-height:1.3}.property-cluster-popup .leaflet-popup-content{margin:15px;min-width:220px;max-height:280px;overflow:auto}.property-cluster-members>strong{display:block;margin-bottom:8px;font-size:13px;color:#33455e}.property-cluster-members>button{width:100%;min-height:44px;padding:9px 4px;border-bottom:1px solid #e8edf3;display:flex;gap:12px;justify-content:space-between;align-items:center;text-align:left;font-size:12px}.property-cluster-members>button>span{flex:1;min-width:0;line-height:1.5}.property-cluster-members>button>b{color:#255888;font-size:11px;white-space:nowrap}.property-cluster-members>button:focus-visible{outline:2px solid #3182f6;outline-offset:-2px;border-radius:6px}
.map-note{display:flex;align-items:center;gap:6px;color:#556779;font-size:9px;white-space:nowrap}.price-color-scale{display:block;width:54px;height:5px;border-radius:5px;background:linear-gradient(90deg,#ddedff 0%,#b9dbfa 31.25%,#ffde9c 56.25%,#faa593 100%)}
.nearby-map-marker.brand-megacoffee[class] .nearby-map-symbol,.nearby-map-marker.brand-compose[class] .nearby-map-symbol,.nearby-map-marker.brand-paik[class] .nearby-map-symbol{background:#ffe76a;color:#624c04;border-color:#fff9cb;box-shadow:0 2px 9px #b8962940}
.nearby-map-marker.brand-megacoffee[class] .nearby-map-label,.nearby-map-marker.brand-compose[class] .nearby-map-label,.nearby-map-marker.brand-paik[class] .nearby-map-label{background:#ffe76a;color:#493b08}
.brand-megacoffee .neighborhood-symbol,.brand-compose .neighborhood-symbol,.brand-paik .neighborhood-symbol{background:#fff0a4;color:#705607}
@media(max-width:760px){.map-note{gap:5px;font-size:8px;padding:5px 7px}.price-color-scale{width:40px;height:4px}.property-price-cluster button{min-height:52px}.property-cluster-popup .leaflet-popup-content{min-width:190px;max-height:220px}}

/* R033: all cafe pictograms share the existing bright yellow; Olive Young uses its official olive green. */
.nearby-map-marker.category-cafe[class] .nearby-map-symbol{background:#ffe76a;color:#624c04;border-color:#f0ca35;box-shadow:0 3px 10px #80641429}.nearby-map-marker.category-cafe[class] .nearby-map-label{background:#ffe76a;color:#493b08;border-color:#f0ca35}.neighborhood-place.category-cafe .neighborhood-symbol{background:#ffe76a;color:#624c04}
.nearby-map-marker.brand-oliveyoung[class] .nearby-map-symbol{background:#50df00;color:#173b00;border-color:#3cba00;box-shadow:0 3px 10px #24590029}.nearby-map-marker.brand-oliveyoung[class] .nearby-map-label{background:#50df00;color:#173b00;border-color:#3cba00}.neighborhood-place.brand-oliveyoung .neighborhood-symbol{background:#50df00;color:#173b00}
.card-footer{min-height:0}.card-footer:has(>span:empty){display:none}

/* R034: Daiso soft red and fitness sky blue across map labels, icons and detail pictograms. */
.nearby-map-marker.brand-daiso[class] .nearby-map-symbol{background:#ffb4ad;color:#6b1f27;border-color:#e98f88}.nearby-map-marker.brand-daiso[class] .nearby-map-label{background:#ffb4ad;color:#6b1f27;border-color:#e98f88}.neighborhood-place.brand-daiso .neighborhood-symbol{background:#ffb4ad;color:#6b1f27}
.nearby-map-marker.category-fitness[class] .nearby-map-symbol{background:#a8dfff;color:#124561;border-color:#79bee8}.nearby-map-marker.category-fitness[class] .nearby-map-label{background:#a8dfff;color:#124561;border-color:#79bee8}.neighborhood-place.category-fitness .neighborhood-symbol{background:#a8dfff;color:#124561}

/* R038: compact horizontal guide banners; article bodies remain on their own pages. */
.guide-nav-link{display:inline-flex;align-items:center;text-decoration:none;color:#7b899c;font-size:13px;white-space:nowrap}.detail-guides .section-title{gap:10px;margin-bottom:10px}.detail-guides .section-title>h3{font-size:16px;letter-spacing:-.4px}.detail-guides .section-title>a{display:inline-flex;align-items:center;gap:3px;text-decoration:none;font-size:11px;white-space:nowrap;color:#7e91ad}.detail-guides .section-title>a .icon{width:15px;height:15px}.detail-guide-banners{display:flex;gap:11px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-inline:contain;padding:3px 2px 12px;scrollbar-width:thin;scrollbar-color:#cdd9e9 transparent;-webkit-overflow-scrolling:touch}.detail-guide-banner{position:relative;display:flex;align-items:center;flex:0 0 calc(100% - 27px);min-width:0;min-height:126px;scroll-snap-align:start;border:1px solid #dae7fa;border-radius:17px;background:#edf4ff;padding:17px 18px;text-decoration:none;color:#315889;overflow:hidden;isolation:isolate;transition:filter .15s,box-shadow .15s}.detail-guide-banner:after{content:'';position:absolute;right:-45px;bottom:-85px;width:185px;height:185px;border-radius:50%;border:22px solid #ffffff50;z-index:-1}.detail-guide-banner.theme-mint{background:#eaf7f1;border-color:#d3eade;color:#317c64}.detail-guide-banner.theme-sand{background:#fff5e2;border-color:#f0e2c3;color:#956d26}.detail-guide-banner.theme-violet{background:#f2eeff;border-color:#e1d9f5;color:#77609d}.detail-guide-banner:hover{filter:brightness(.99);box-shadow:0 4px 10px #2945710c}.detail-guide-art{position:absolute;right:15px;top:50%;transform:translateY(-50%) rotate(-7deg);display:grid;place-items:center;width:57px;height:66px;border:1px solid #ffffffc0;border-radius:15px;background:#ffffff9c;color:inherit}.detail-guide-art>svg{width:35px;height:35px;transform:rotate(7deg)}.detail-guide-copy{display:flex;min-width:0;max-width:calc(100% - 65px);flex-direction:column;gap:7px}.detail-guide-copy>small{font-size:9px;font-weight:700;line-height:1.5;opacity:.82}.detail-guide-copy>strong{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;font-size:14px;line-height:1.65;letter-spacing:-.4px;color:#253b56;word-break:keep-all;overflow-wrap:anywhere}.detail-guide-copy>span{font-size:9px;opacity:.67;margin-top:1px}.detail-guide-banner>.icon{position:absolute;right:13px;bottom:9px;width:13px;height:13px;opacity:.55}.guide-teaser-placeholder{height:126px;min-width:calc(100% - 27px);background:#f3f7fc;border-radius:17px}.detail-guide-fallback{padding:18px;border-radius:13px;display:flex;align-items:center;gap:10px;background:#f3f7fd;font-size:13px;text-decoration:none;color:#5d7fa9}.detail-guide-banner:focus-visible,.detail-guides a:focus-visible{outline:3px solid #3182f6;outline-offset:0}.detail-guides{padding-bottom:0}
/* The exterior testbed stays in the map's visible top-right corner, outside the detail pane. */
.exterior-testbed-button{position:absolute;z-index:470;top:10px;right:18px;width:78px;height:48px;border-radius:10px;border:2px solid #fff;background:#f0f3f7;overflow:hidden;padding:0;box-shadow:0 3px 12px #2035532b;cursor:pointer}.exterior-testbed-button>img{display:block;width:100%;height:100%;object-fit:cover}.exterior-testbed-button>span{position:absolute;left:0;right:0;bottom:0;padding:8px 5px 3px;background:linear-gradient(transparent,#142339c7);color:#fff;font-size:9px;font-weight:750;letter-spacing:.01em;text-align:left}.exterior-testbed-button:focus-visible{outline:3px solid #3182f6;outline-offset:3px}.exterior-photo-dialog{width:min(1000px,calc(100vw - 48px));max-width:none;max-height:94dvh;overflow:auto;padding:0;border:0;border-radius:20px;background:#fff;color:#1c2b40;box-shadow:0 20px 80px #14253955}.exterior-photo-dialog::backdrop{background:#142334b8;backdrop-filter:blur(3px)}.exterior-photo-dialog .dialog-header{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:17px 20px;border-bottom:1px solid #edf0f5}.exterior-photo-dialog h2{font-size:16px;margin:0;line-height:1.6;letter-spacing:-.4px}.exterior-photo-stage{position:relative;display:grid;place-items:center;min-height:180px;background:#f2f4f7}.exterior-photo-stage>img{display:block;max-width:100%;max-height:calc(94dvh - 135px);width:auto;height:auto;object-fit:contain}.exterior-photo-stage>p{position:absolute;inset:auto 20px 20px;background:#ffffffed;color:#6b7684;font-size:13px;line-height:1.8;text-align:center;padding:14px 17px;border-radius:10px}.exterior-photo-caption{padding:13px 20px 16px;color:#8391a4;font-size:12px;line-height:1.8;margin:0}
@media(min-width:761px){body:has(#detailDialog[open]) .exterior-testbed-button{right:calc(var(--detail-width) - var(--list-width) + 18px)}}
@media(max-width:760px){.guide-nav-link{display:none}.detail-guides .section-title>h3{font-size:16px}.detail-guides .section-title>a{font-size:10px}.detail-guide-banners{gap:10px;padding-bottom:10px}.detail-guide-banner{flex-basis:calc(100% - 24px);min-height:119px;padding:15px 16px;border-radius:15px}.detail-guide-copy{gap:6px;max-width:calc(100% - 59px)}.detail-guide-copy>strong{font-size:13px;line-height:1.65}.detail-guide-art{right:13px;width:51px;height:60px;border-radius:14px}.detail-guide-art>svg{width:32px;height:32px}.detail-guide-copy>small,.detail-guide-copy>span{font-size:9px}.exterior-testbed-button{top:8px;right:12px;width:72px;height:42px;border-radius:9px}.exterior-testbed-button>span{font-size:8px;padding-bottom:2px}.exterior-photo-dialog{width:calc(100vw - 24px);border-radius:17px;max-height:90dvh}.exterior-photo-dialog .dialog-header{padding:13px 16px}.exterior-photo-dialog h2{font-size:14px}.exterior-photo-stage>img{max-height:calc(90dvh - 128px)}.exterior-photo-caption{font-size:11px;padding:11px 16px 14px}}
@media(prefers-reduced-motion:reduce){.detail-guide-banner{transition:none}.detail-guide-banners{scroll-behavior:auto}}

/* R039: mobile map, list and property detail are separate full screens. Desktop keeps v32. */
.mobile-list-open,.mobile-list-topbar,.mobile-detail-back-text{display:none}
@media(max-width:760px){
 #mapControls{display:none!important}
 .map-workspace[data-mobile-screen]{display:block;height:calc(100dvh - 119px - var(--condition-bar-height,0px));overflow:hidden}
 .map-workspace[data-mobile-screen] .map-panel{position:absolute;inset:0;height:100%;visibility:visible}
 .map-workspace[data-mobile-screen] #results{display:none;height:0;min-height:0;max-height:none;transform:none;bottom:auto;border-radius:0;box-shadow:none}
 .map-workspace[data-mobile-screen] #mapPreview{display:none!important}
 .mobile-list-open{position:absolute;left:50%;bottom:calc(24px + env(safe-area-inset-bottom));transform:translateX(-50%);z-index:600;display:flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:11px 17px;border-radius:100px;border:1px solid #e1e8f2;background:#1b2b43;color:#fff;box-shadow:0 5px 20px #172c4529;font-size:12px;font-weight:750;white-space:nowrap}
 .mobile-list-open>.icon{width:17px;height:17px;stroke-width:1.8}
 body[data-mobile-screen=list] .site-header,body[data-mobile-screen=list] .filter-toolbar,body[data-mobile-screen=detail] .site-header,body[data-mobile-screen=detail] .filter-toolbar{visibility:hidden;pointer-events:none}
 body[data-mobile-screen=list] #mapPanel,body[data-mobile-screen=detail] #workspace{visibility:hidden;pointer-events:none}
 body[data-mobile-screen=list] #mobileListOpen,body[data-mobile-screen=detail] #mobileListOpen{display:none}
 .map-workspace[data-mobile-screen=list] #results{display:flex;position:fixed;inset:0;width:100%;height:100dvh;max-height:none;min-height:0;z-index:800;visibility:visible;pointer-events:auto;background:#fff;flex-direction:column;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);border:0;border-radius:0}
 .mobile-list-topbar{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:8px 16px;border-bottom:1px solid #edf1f6;flex:none;min-height:59px}
 .mobile-list-topbar>button{display:flex;align-items:center;gap:3px;min-height:44px;padding:7px 0;color:#4c6688;font-size:12px;font-weight:700}
 .mobile-list-topbar>button>.icon{width:21px;height:21px}.mobile-list-topbar>strong{font-size:14px;font-weight:750;color:#273c57}
 .map-workspace[data-mobile-screen=list] .results-head{flex:none;padding:18px 20px 12px}
 .map-workspace[data-mobile-screen=list] .results-eyebrow,.map-workspace[data-mobile-screen=list] .results-title-row{display:flex}
 .map-workspace[data-mobile-screen=list] .results-scroll{min-height:0;flex:1;overflow-y:auto;overscroll-behavior-y:contain;padding-bottom:16px;-webkit-overflow-scrolling:touch}
 .map-workspace[data-mobile-screen=list] .property-list{padding:0 20px}
 #detailDialog.detail-dialog[open]{position:fixed;inset:0;width:100vw;max-width:none;height:100dvh;min-height:0;max-height:none;margin:0;padding:0;border:0;border-radius:0;box-shadow:none;display:flex;flex-direction:column;overflow:hidden;z-index:900;background:#fff}
 #detailDialog .detail-topbar{flex:none;min-height:calc(58px + env(safe-area-inset-top));padding:calc(7px + env(safe-area-inset-top)) 14px 7px;gap:8px;border-bottom:1px solid #edf1f6;background:#fff}
 #detailDialog .detail-topbar>.detail-map-back{display:flex;align-items:center;gap:1px;flex:none;width:auto;min-width:0;min-height:44px;padding:6px 0;color:#496684;border-radius:9px;font-size:11px;font-weight:700}
 .mobile-detail-back-text{display:inline}.detail-map-back>.icon{width:21px;height:21px}
 #detailDialog .detail-topbar>#detailHeaderName{font-size:12px;min-width:0;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:right}
 #detailDialog .detail-topbar>div{flex:none;display:flex}#detailDialog .detail-topbar .icon-button{min-width:40px;min-height:44px}
 #detailDialog .detail-content{min-height:0;flex:1;overflow-y:auto;overscroll-behavior-y:contain;scroll-behavior:auto;-webkit-overflow-scrolling:touch}
 #detailDialog .detail-contact{position:relative;flex:none;min-height:0;padding:11px 16px calc(11px + env(safe-area-inset-bottom));border-top:1px solid #e9eef5;background:#fff;box-shadow:0 -3px 15px #233c5c06}
 #detailDialog .detail-contact .contact-buttons{min-width:0}#detailDialog .detail-contact .contact-phone{min-height:46px}
 #detailDialog .detail-photos{height:220px;min-height:0;flex:none}#detailDialog .detail-inner{padding-bottom:20px}
 #detailDialog .detail-heading{padding-top:20px}#detailDialog .detail-heading h2{font-size:25px;line-height:1.45}
 .phone-inquiry-dialog,.vacancy-inquiry-dialog{display:flex;flex-direction:column;max-height:90dvh}
 .phone-inquiry-dialog:not([open]),.vacancy-inquiry-dialog:not([open]){display:none}
 .phone-inquiry-body,.vacancy-inquiry-body{min-height:0;overflow:auto;overscroll-behavior-y:contain}.phone-inquiry-action,.vacancy-inquiry-contact{flex:none}
}
@media(max-width:760px) and (max-height:560px){#detailDialog.detail-dialog[open]{min-height:0;height:100dvh;max-height:none}#detailDialog .detail-photos{height:170px;min-height:0}#detailDialog .detail-topbar{min-height:calc(50px + env(safe-area-inset-top));padding-top:calc(3px + env(safe-area-inset-top));padding-bottom:3px}#detailDialog .detail-contact{padding-top:8px;padding-bottom:calc(8px + env(safe-area-inset-bottom))}}

/* R040: remove the price legend and keep only compact required map source credits. */
#mapPanel .leaflet-bottom.leaflet-right{right:5px;bottom:5px}
#mapPanel .leaflet-bottom.leaflet-left{left:5px;bottom:5px}
#mapPanel .leaflet-control-attribution{font-size:10px!important;line-height:1.4;padding:1px 4px;background:#ffffffeb;color:#65768a;border-radius:3px;max-width:calc(100vw - 20px)}
#mapPanel .leaflet-control-attribution a{color:#65768a;text-decoration:none}
#mapPanel .leaflet-control-attribution a:focus-visible{outline:2px solid #3182f6}

@media(max-width:760px){#mapPanel .leaflet-bottom.leaflet-right,#mapPanel .leaflet-bottom.leaflet-left{bottom:calc(5px + env(safe-area-inset-bottom))}}
