@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@400;500;600;700&display=swap');
:root{--green:#204d42;--ink:#263e35}*{box-sizing:border-box}body{margin:0;font:13px 'Noto Sans KR',-apple-system,BlinkMacSystemFont,sans-serif;color:var(--ink);background:#eff2eb}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:0;background:none;color:inherit}a{color:inherit;text-decoration:none}header{height:78px;display:flex;justify-content:space-between;align-items:center;padding:0 32px;background:#fff;border-bottom:1px solid #e4e9e0}.brand{font-size:23px;letter-spacing:-1.3px;font-weight:700}.brand span{font-weight:400}.brand small{display:block;font-size:9px;letter-spacing:1.1px;font-weight:400;color:#929b8c;margin-top:4px}.pilot{font-size:10px;color:#99a28e}.pilot b{color:#5e7957;font-size:11px;margin-left:10px;font-weight:500}main{height:calc(100dvh - 78px);position:relative;overflow:hidden}#map{height:100%;width:100%;background:#e7eddf}.leaflet-container{font-family:inherit}.leaflet-control-attribution{font-size:9px!important}.leaflet-control-zoom{margin-bottom:36px!important;margin-right:20px!important;box-shadow:0 3px 20px #1a382419!important;border:0!important}.leaflet-control-zoom a{color:#355b40!important;border-color:#e4e8df!important}.search-box{position:absolute;top:24px;left:24px;z-index:500;width:350px;background:#fff;border-radius:13px;box-shadow:0 8px 35px #223d2517;overflow:hidden}form{display:flex;align-items:center;padding:16px;gap:11px}input{border:0;background:transparent;outline:0;min-width:0;flex:1;font-size:13px}input::placeholder{color:#a0a994}.search-icon{font-size:28px;line-height:20px;color:#5d7c51}form button{font-size:18px;color:#96a58b}#search-note{font-size:9px;color:#9aa68f;border-top:1px solid #f0f2ec;margin:0;padding:11px 16px;display:flex;gap:4px}#search-note b{color:#5e7d50;font-weight:500}#search-note span{margin-left:auto;font-size:8px}.center{position:absolute;top:24px;right:20px;z-index:500;background:white;border-radius:10px;box-shadow:0 3px 20px #223d2517;padding:9px 13px;font-size:26px;line-height:1.2;color:#527548}.center span{display:block;font-size:8px;margin-top:3px;color:#849c74}.card{position:absolute;bottom:28px;left:24px;background:#fff;width:380px;z-index:600;border-radius:17px;padding:21px 23px 14px;box-shadow:0 12px 45px #193a2824}.card-top{display:flex;justify-content:space-between;align-items:center}.badge{font-size:9px;color:#6b8c55;background:#edf3e7;padding:5px 9px;border-radius:5px}.card-top button{color:#9aaa8b;font-size:23px;line-height:1}h1{font-size:19px;font-weight:600;letter-spacing:-.9px;margin:15px 0 9px}.address{font-size:10px;color:#94a086;margin:0}.facts{display:flex;align-items:center;gap:14px;margin:19px 0 21px;font-size:10px;color:#94a184}.facts span+span{border-left:1px solid #e5eadd;padding-left:14px}.facts b{font-size:13px;color:#47653b;font-weight:500;margin-right:3px}.actions{display:grid;grid-template-columns:1fr 1.5fr;gap:9px}.actions button{border:1px solid #dde5d4;border-radius:7px;padding:13px 10px;font-size:12px}.primary{background:var(--green);color:#fff!important;border-color:var(--green)!important}.actions .primary span{margin-right:6px;font-size:16px;vertical-align:-1px}.card-note{font-size:8px;color:#a4ae98;margin:14px 0 0;display:flex;justify-content:space-between;gap:8px}.tip{position:absolute;bottom:35px;left:50%;transform:translateX(-50%);background:#fff;padding:13px 20px;border-radius:25px;color:#748b63;font-size:11px;z-index:500;white-space:nowrap;box-shadow:0 4px 20px #25452b18}.house-marker{width:240px!important;height:70px!important;background:transparent;border:0;display:flex;flex-direction:column;align-items:center}.marker-bubble{background:var(--green);color:#fff;border:3px solid white;border-radius:12px;box-shadow:0 6px 20px #173a3833;padding:11px 16px;text-align:center;position:relative;white-space:nowrap}.marker-bubble:after{content:'';position:absolute;bottom:-9px;left:calc(50% - 7px);border-left:7px solid transparent;border-right:7px solid transparent;border-top:9px solid var(--green)}.marker-bubble small{display:block;color:#b7cfad;font-size:9px;margin-bottom:4px}.marker-bubble strong{font-size:12px;font-weight:500}.marker-dot{width:10px;height:10px;border:2px solid white;border-radius:50%;background:var(--green);margin-top:9px;box-shadow:0 2px 5px #25462d30}dialog{width:min(520px,calc(100% - 30px));max-height:90dvh;overflow:auto;border:0;border-radius:18px;padding:26px;color:var(--ink);box-shadow:0 15px 80px #102e3350}dialog::backdrop{background:#183b335b;backdrop-filter:blur(3px)}.modal-head{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#86a276}.modal-head button{font-size:28px;color:#8b9c7a}h2{font-size:25px;font-weight:500;letter-spacing:-1px;line-height:1.5;margin:15px 0 24px}dl>div{display:flex;justify-content:space-between;gap:16px;padding:13px 0;border-bottom:1px solid #edf0e7;font-size:11px}dt{color:#8f9f7e}dd{margin:0;text-align:right;color:#586f48}.price-note{padding:15px;background:#f3f6ed;border-radius:8px;margin:22px 0}.price-note b{font-size:11px;font-weight:500}.price-note p{font-size:10px;color:#8c9e7c;line-height:1.9;margin:8px 0 0}.link{display:block;font-size:11px;padding:12px 0;border-bottom:1px solid #e9eddf;color:#688752}.fine{font-size:9px;line-height:1.9;color:#9faa90;margin:20px 0 0}.fine a{text-decoration:underline}.video-link{display:block;text-align:center;padding:15px;border-radius:7px;font-size:12px;margin-top:20px}#player iframe{display:block;width:100%;aspect-ratio:16/10;border:0;border-radius:8px;background:#edf2e6}#map-error{position:absolute;z-index:700;top:140px;left:24px;right:24px;background:#fff4e9;color:#8c6438;padding:14px;border-radius:8px;font-size:11px;line-height:1.8}#map-error a{text-decoration:underline}button:focus-visible,a:focus-visible{outline:3px solid #99b77b;outline-offset:4px}@media(max-width:600px){header{height:67px;padding:0 19px}.brand{font-size:20px}.brand small{font-size:8px}.pilot{font-size:8px}.pilot b{font-size:9px;display:block;margin:4px 0 0;text-align:right}main{height:calc(100dvh - 67px)}.search-box{top:15px;left:15px;right:65px;width:auto;border-radius:10px}form{padding:13px 14px}input{font-size:11px}#search-note{padding:9px 13px;font-size:8px}#search-note span{display:none}.center{top:15px;right:12px;padding:9px 10px;font-size:25px;border-radius:9px}.center span{font-size:7px}.card{left:12px;right:12px;bottom:29px;width:auto;padding:16px 19px 12px;border-radius:14px}h1{font-size:18px;margin-top:12px}.facts{gap:12px;margin:17px 0}.facts span+span{padding-left:12px}.facts b{font-size:12px}.actions button{padding:12px 10px}.card-note{font-size:7px;margin-top:12px}.leaflet-control-zoom{margin-right:13px!important;margin-bottom:285px!important}.leaflet-control-attribution{font-size:8px!important;max-width:95vw}.marker-bubble{padding:10px 14px}.tip{font-size:10px}dialog{padding:23px}#map-error{top:110px;left:15px;right:15px}}

.naver-house-marker{font-family:inherit;cursor:pointer;padding:0;overflow:visible;align-items:center}.naver-house-marker .marker-bubble{display:block}.naver-house-marker .marker-dot{display:block;flex-shrink:0}.naver-house-marker:focus-visible{outline:3px solid #7caa66;outline-offset:4px}

.map-nav{display:flex;gap:25px;font-size:12px;color:#96a58c}.map-nav .active{color:#204d42;font-weight:600}@media(max-width:600px){.map-nav{gap:15px;font-size:10px}}

.nearby-button{border:1px solid #d7e1da;background:#fff;color:#315c45;font:500 12px 'Noto Sans KR',sans-serif;padding:11px 14px;border-radius:7px;box-shadow:0 3px 15px #1d3c2c12;white-space:nowrap;cursor:pointer}.nearby-button:disabled{cursor:wait;color:#8b998d}.nearby-reset{background:white;border:1px solid #d7e1da;border-radius:7px;padding:10px 12px;font-size:11px;color:#778a79;box-shadow:0 3px 15px #1d3c2c0a}.my-location-dot{display:block;width:20px;height:20px;background:#367bd6;border:3px solid #fff;border-radius:50%;box-shadow:0 0 0 5px #367bd626,0 2px 5px #23477230}.location-status{font-size:11px;line-height:1.8;color:#5d7667;background:#f3f7f4;border:1px solid #e3ebe5;border-radius:7px;padding:11px 13px;margin:12px 0 0}.nearby-controls{position:absolute;top:14px;left:14px;z-index:5;display:flex;gap:7px}.map-nearby{position:absolute;top:114px;left:24px;z-index:500}.map-location-status{position:absolute;top:161px;left:24px;width:min(350px,calc(100% - 48px));z-index:500;background:#fffffff2;margin:0;box-shadow:0 3px 15px #1d3c2c0a}@media(max-width:600px){.nearby-button{font-size:10px;padding:10px 12px}.nearby-reset{font-size:9px;padding:9px 10px}.nearby-controls{top:11px;left:11px;gap:5px}.location-status{font-size:10px}.map-nearby{top:110px;left:15px}.map-location-status{top:154px;left:15px;width:calc(100% - 30px)}}

/* Geographic markers are indigo; surrounding product UI keeps its green. */
.marker-bubble{background:#43569b;box-shadow:0 6px 20px #293c6d29}.marker-bubble:after{border-top-color:#43569b}.marker-bubble small{color:#dce3ff}.marker-dot{background:#43569b}.map-nearby{color:#43569b;border-color:#d6ddec}.naver-house-marker:focus-visible{outline-color:#7182bd}

/* Quiet white map label. */
.marker-bubble{background:#fff;color:#303b37;border:1px solid #c9d0cc;box-shadow:0 3px 12px #202e241c}.marker-bubble:after{border-top-color:#fff;filter:drop-shadow(0 1px 0 #c9d0cc)}.marker-bubble small{color:#929b94}.marker-bubble strong{font-weight:600}.marker-dot{background:#5f6b63}.map-nearby{color:#4b5a51;border-color:#d8dfda}.naver-house-marker:focus-visible{outline-color:#7c9383}

.apartment-cluster{width:48px;height:48px;border-radius:50%;border:2px solid #fff;background:#fff;color:#27362f;box-shadow:0 2px 10px #203b3540;font:700 15px -apple-system,sans-serif;cursor:pointer;outline:1px solid #aab5af}.apartment-cluster:hover{background:#f1f4f2}

[hidden]{display:none!important}

.kind-filters{display:flex;gap:5px;align-items:center;padding:5px;background:#fff;border:1px solid #e1e6e2;border-radius:10px}.kind-filters button{border:0;border-radius:6px;padding:9px 12px;background:#fff;color:#758078;font-size:12px;cursor:pointer}.kind-filters button.active{background:#edf2ef;color:#254d42;font-weight:600}.home-map-wrap>.kind-filters{position:absolute;top:16px;left:16px;z-index:10}.search-box .kind-filters{margin:0 12px 8px}.presale-marker .marker-bubble,.home-site-marker.presale-marker{border:1px solid #c7a46c;background:#fffaf0;color:#665030}.home-site-marker.presale-marker small{display:block;font-size:10px;font-weight:700;margin-bottom:4px;color:#86642d}.presale-marker .marker-bubble small{color:#86642d}@media(max-width:600px){.home-map-wrap>.kind-filters{top:10px;left:10px}.kind-filters button{padding:8px 10px;font-size:11px}}

/* Presale-only sign: existing apartment markers and cards keep their styles. */
.presale-sign{width:220px;height:116px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:0;border:0;background:transparent;font-family:inherit;cursor:pointer;position:relative;overflow:visible;color:#303735}.presale-sign-panel{display:flex;flex-direction:column;align-items:center;width:204px;background:#fff;border:1px solid #e7e0db;border-radius:9px 9px 5px 5px;box-shadow:0 4px 14px #2b211c20;padding:25px 10px 12px;position:relative}.presale-sign-ribbon{position:absolute;top:-1px;left:-1px;padding:4px 13px;border-radius:8px 0 8px 0;background:#dc4f4f;color:white;font-size:10px;font-weight:700;letter-spacing:.3px}.presale-sign-panel strong{font-size:16px;letter-spacing:-.6px;line-height:1.4;font-weight:750}.presale-sign-caption{font-size:10px;color:#8b8d88;line-height:1.5;margin-top:3px}.presale-sign-name{display:flex;align-items:center;justify-content:space-between;gap:8px;position:relative;width:220px;padding:9px 12px;box-sizing:border-box;background:#df5051;color:#fff;border-radius:20px;margin-top:-3px;box-shadow:0 3px 8px #96323226;font-size:11px;font-weight:600;line-height:1.3}.presale-sign-name>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.presale-sign-name b{font-size:21px;line-height:12px;font-weight:400}.presale-sign-name:after{content:'';position:absolute;bottom:-7px;left:103px;border-left:7px solid transparent;border-right:7px solid transparent;border-top:8px solid #df5051}.presale-sign:focus-visible{outline:3px solid #df5051;outline-offset:6px;border-radius:10px}.presale-sign:hover .presale-sign-name{background:#ce4345}.card.presale-selected .badge{background:#fff0ef;color:#c44447;border:1px solid #f4d3d0}.card.presale-selected{border-top:3px solid #dc4f4f}


.presale-sign-dot{display:none}
.presale-sign.is-compact{pointer-events:none;justify-content:flex-end}
.presale-sign.is-compact .presale-sign-panel,.presale-sign.is-compact .presale-sign-name{display:none}
.presale-sign.is-compact .presale-sign-dot{display:flex;position:relative;flex-direction:column;gap:3px;align-items:center;justify-content:center;width:44px;height:42px;margin-bottom:5px;border-radius:11px 11px 11px 3px;background:linear-gradient(145deg,#e27465,#c65354);color:#fff;border:2px solid #fff;box-shadow:0 3px 9px #723c3930;font-size:10px;font-weight:750;pointer-events:auto;letter-spacing:.3px}
.presale-sign.is-compact .presale-sign-dot:before{content:'';width:12px;height:8px;border:1.5px solid #ffffffdb;border-top:0;border-radius:1px;transform:skewY(-12deg)}
.presale-sign.is-compact:focus-visible{outline:0}
.presale-sign.is-compact:focus-visible .presale-sign-dot{outline:3px solid #a14646;outline-offset:2px}

.map-search-toggle{display:none}
@media(max-width:760px){
.search-box{top:12px;left:12px;right:12px;width:auto;max-width:360px;border-radius:14px}
.map-search-toggle{display:flex;align-items:center;width:100%;min-height:44px;padding:12px 16px;font-size:12px;font-weight:650;text-align:left;color:#315c4e}
.search-box.is-search-collapsed{width:156px;right:auto;border:1px solid #e0e8e3;box-shadow:0 3px 12px #233e2815}
.search-box.is-search-collapsed #search-form,.search-box.is-search-collapsed .kind-filters,.search-box.is-search-collapsed #search-note{display:none}
.search-box #search-form{padding-top:4px;padding-bottom:12px}
.map-nearby{top:67px;left:12px}.map-location-status{top:111px;left:12px}
body.map-search-open .map-nearby{top:200px}body.map-search-open .map-location-status{top:245px}
}

.presale-sign{justify-content:flex-end;pointer-events:none}
.presale-name-card{position:relative;display:flex;flex-direction:column;gap:6px;align-items:flex-start;max-width:196px;padding:10px 13px;background:#fff;border:1px solid #e6b3a9;border-radius:11px;box-shadow:0 3px 10px #6f403324;margin-bottom:6px;pointer-events:auto;text-align:left}
.presale-name-card:after{content:'';position:absolute;bottom:-5px;left:calc(50% - 4px);width:8px;height:8px;background:#fff;border-bottom:1px solid #e6b3a9;border-right:1px solid #e6b3a9;transform:rotate(45deg)}
.presale-name-badge{font-size:9px;font-weight:750;color:#b25349;background:#fff0eb;border-radius:4px;padding:2px 5px;line-height:1.3}
.presale-name-card strong{font-size:12px;line-height:1.5;color:#443d39;font-weight:700;word-break:keep-all;overflow-wrap:anywhere}
.presale-sign.is-compact .presale-name-card{display:none}

.presale-sign.is-compact .presale-sign-dot{width:36px;height:44px;display:block;padding:0;margin-bottom:0;border:0;border-radius:0;background:transparent;box-shadow:none;filter:drop-shadow(0 2px 3px #6e3e3929)}
.presale-sign.is-compact .presale-sign-dot:before,.presale-sign.is-compact .presale-sign-dot:after{display:none}
.presale-sign-dot svg{display:block;width:36px;height:44px}

/* Quiet typographic sale marker at overview zoom. */
.presale-sign.is-compact .presale-sign-dot{display:flex;align-items:center;justify-content:center;width:43px;height:29px;padding:0;margin-bottom:4px;background:#fff;border:1px solid #e1b8ad;border-radius:7px;color:#b85f50;font-size:11px;font-weight:750;letter-spacing:.1px;box-shadow:0 2px 5px #5a393515;filter:none}
.presale-sign.is-compact .presale-sign-dot:before{display:block;content:'';position:absolute;top:0;left:9px;right:9px;height:2px;background:#cf8070;border:0;border-radius:0 0 2px 2px;transform:none;width:auto}
.presale-sign.is-compact .presale-sign-dot:after{display:none}

/* Match overview apartment circles in scale and surface treatment. */
.presale-sign.is-compact .presale-sign-dot{position:relative;display:flex;align-items:center;justify-content:center;width:48px;height:48px;margin-bottom:0;padding:0;border-radius:50%;border:2px solid #fff;background:#fff5f1;color:#ae5a48;outline:1px solid #d3a598;box-shadow:0 2px 10px #203b3529;font:700 12px -apple-system,BlinkMacSystemFont,sans-serif;letter-spacing:-.2px;filter:none}
.presale-sign.is-compact .presale-sign-dot:before,.presale-sign.is-compact .presale-sign-dot:after{display:none}
.presale-sign.is-compact:hover .presale-sign-dot{background:#ffece4}

/* Apartment pictogram and label share one compact marker. */
.presale-sign.is-compact .presale-sign-dot{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;width:46px;height:46px;margin-bottom:2px;padding:4px 0;border-radius:12px;background:#fffaf7;border:2px solid #fff;outline:1px solid #d9b7a9;color:#ae6551;box-shadow:0 2px 8px #49362a23;font:700 10px -apple-system,BlinkMacSystemFont,sans-serif;letter-spacing:0;line-height:12px}
.presale-sign.is-compact .presale-sign-dot svg{display:block;width:21px;height:21px;flex:none}
.presale-sign.is-compact .presale-sign-dot span{display:block;line-height:12px}
.presale-sign.is-compact .presale-sign-dot:before,.presale-sign.is-compact .presale-sign-dot:after{display:none}

@media(max-width:760px){
.presale-sign.is-compact .presale-sign-dot{width:46px;height:46px;gap:1px;padding:4px 0 3px;border-radius:13px;background:linear-gradient(180deg,#ffffff,#fff6f0);border:2px solid #fff;outline:1px solid #dab5a6;color:#ad604a;box-shadow:0 2px 7px #62402c20;font-size:10px;font-weight:750;letter-spacing:.1px}
.presale-sign.is-compact .presale-sign-dot svg{width:22px;height:22px}
.presale-sign.is-compact:hover .presale-sign-dot{background:#fff0e5;outline-color:#c9957d}
}

@media(max-width:760px){
.presale-sign.is-compact .presale-sign-dot{padding:5px;gap:0}
.presale-sign.is-compact .presale-sign-dot svg{width:33px;height:33px;overflow:visible}
.presale-sign.is-compact .newbuild-sparkle{transform-box:fill-box;transform-origin:center;animation:newbuild-glimmer 2.8s ease-in-out infinite}
}
@keyframes newbuild-glimmer{0%,100%{opacity:.45;transform:scale(.85)}45%,60%{opacity:1;transform:scale(1.25)}}
@media(prefers-reduced-motion:reduce){.presale-sign.is-compact .newbuild-sparkle{animation:none;opacity:1}}

body>header{position:sticky;top:0;z-index:10000;background:#fff;box-shadow:0 3px 12px #183d2e08}

@media(max-width:600px){header .map-nav{gap:10px;white-space:nowrap;font-size:10px}}@media(max-width:380px){body>header{height:auto;min-height:67px;flex-wrap:wrap;padding-top:8px;padding-bottom:8px;gap:6px}header .map-nav{flex-basis:100%;justify-content:flex-end}main{height:calc(100dvh - 92px)}}

@media(min-width:601px){.map-nearby{top:var(--desktop-location-top,190px)}.map-location-status{top:calc(var(--desktop-location-top,190px) + 50px)}}

/* Keep the three filters compact and use the full row without trailing space. */
.search-box .kind-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;margin:0 10px 5px;padding:3px}.search-box .kind-filters button{padding:8px 5px;white-space:nowrap;font-size:11px}.search-box #search-note{padding:7px 12px;margin:0;line-height:1.5}.search-box #search-form{padding:10px 12px;gap:8px}@media(min-width:601px){.search-box{width:300px;max-width:calc(100vw - 40px)}.search-box input{min-width:0}}
