@font-face{font-family:Figtree;font-style:normal;font-weight:300 900;font-display:swap;src:url(/_next/static/media/d9fef5bf2f64cf9a-s.p.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Figtree;font-style:normal;font-weight:300 900;font-display:swap;src:url(/_next/static/media/de42cfb9a3b980ae-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Figtree Fallback;src:local("Arial");ascent-override:94.32%;descent-override:24.82%;line-gap-override:0.00%;size-adjust:100.72%}.__className_ad80af{font-family:Figtree,Figtree Fallback;font-style:normal}.__variable_ad80af{--font:"Figtree","Figtree Fallback"}@font-face{font-family:Montserrat;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/b1f344208eb4edfe-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Montserrat;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/48e2044251ef3125-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Montserrat;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/bf24a9759715e608-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Montserrat;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/1f173e5e25f3efee-s.p.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Montserrat;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/904be59b21bd51cb-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Montserrat;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/b1f344208eb4edfe-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Montserrat;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/48e2044251ef3125-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Montserrat;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/bf24a9759715e608-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Montserrat;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/1f173e5e25f3efee-s.p.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Montserrat;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/904be59b21bd51cb-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Montserrat Fallback;src:local("Arial");ascent-override:85.79%;descent-override:22.25%;line-gap-override:0.00%;size-adjust:112.83%}.__className_80c448{font-family:Montserrat,Montserrat Fallback;font-style:normal}.__variable_80c448{--font-brand:"Montserrat","Montserrat Fallback"}:root{--ink:#17201a;--ink-2:#4b564e;--muted:#5d6760;--line:rgba(23,32,26,0.1);--surface:#ffffff;--surface-2:#f4f6f2;--brand:#7ac145;--brand-ink:#3f7419;--brand-soft:#e9f3df;--amber:#e39a1e;--amber-soft:#fbf0dc;--sold:#9aa19c;--blue:#3b8fcf;--radius:14px;--shadow:0 8px 30px rgba(18,28,20,0.14),0 1px 3px rgba(18,28,20,0.08);--font-stack:var(--font),"Figtree",system-ui,-apple-system,"Segoe UI",sans-serif}*{box-sizing:border-box}body,html{margin:0;height:100%;background:#dfe7ea;color:var(--ink);font-family:var(--font-stack);-webkit-font-smoothing:antialiased}body{overflow:hidden;overscroll-behavior:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;border:0;background:none;padding:0}a{color:var(--brand-ink)}h2,h3{margin:0;letter-spacing:-.01em}img{display:block;max-width:100%}.mp{position:fixed;inset:0}.mp-canvas,.mp-canvas.maplibregl-map,.mp-labels{position:absolute;inset:0}.mp-labels{pointer-events:none;overflow:hidden}.card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow)}.muted{color:var(--muted)}.eyebrow{margin:0 0 4px;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--brand-ink)}.fine{margin:10px 0 0;font-size:11.5px;line-height:1.45;color:var(--muted)}.ico{flex:none}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:42px;padding:0 18px;border-radius:11px;background:var(--ink);color:#fff;font-weight:600;font-size:14.5px;box-shadow:var(--shadow);transition:background .15s,transform .15s}.btn-primary:hover{background:var(--brand-ink)}.btn-primary:active{transform:translateY(1px)}.btn-primary:disabled{opacity:.6;cursor:default}.btn-ghost{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:42px;padding:0 14px;border-radius:11px;font-weight:600;font-size:14px;color:var(--ink);text-decoration:none}.btn-ghost.wide{border:1px solid var(--line);box-shadow:none}.btn-ghost:hover{background:var(--surface-2)}.wide{width:100%;margin-top:10px}.icon-btn{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;color:var(--ink-2)}.icon-btn:hover{background:var(--surface-2);color:var(--ink)}.link{color:var(--brand-ink);text-decoration:underline;margin-left:6px;font-weight:600}.mp-top{position:absolute;top:14px;left:14px;right:14px;display:flex;align-items:flex-start;gap:12px;pointer-events:none;z-index:5}.mp-top>*{pointer-events:auto}.mp-brand{display:flex;align-items:center;gap:10px;height:52px;padding:0 16px 0 12px}.mp-logo{width:32px;height:32px;border-radius:9px;background:var(--brand);color:#fff;display:grid;place-items:center}.mp-brand strong{display:block;font-size:14px;letter-spacing:.14em}.mp-brand small{display:block;font-size:12px;color:var(--muted);margin-top:1px}.mp-modes{display:flex;padding:5px;gap:4px;margin:0 auto;height:52px}.mp-modes button{display:flex;align-items:center;gap:8px;padding:0 16px;border-radius:10px;font-weight:600;font-size:14px;color:var(--ink-2);transition:background .15s,color .15s}.mp-modes button:hover{background:var(--surface-2);color:var(--ink)}.mp-modes button.on{background:var(--ink);color:#fff}.mp-actions{display:flex;gap:8px;align-items:center}.mp-actions>.card,.mp-actions>button{height:44px}.mp-lang{display:flex;padding:4px;gap:2px}.mp-lang button{padding:0 10px;border-radius:8px;font-weight:700;font-size:12.5px;color:var(--muted)}.mp-lang button.on{background:var(--surface-2);color:var(--ink)}.mp-search{position:absolute;z-index:4;top:80px;left:14px;bottom:14px;width:360px;display:flex;flex-direction:column;padding:16px 0 0;overflow:hidden}.mp-search-head{display:flex;align-items:center;justify-content:space-between;padding:0 12px 0 18px}.mp-search-head h2{font-size:19px}.mp-search-fab{position:absolute;z-index:4;top:80px;left:14px}.seg{display:flex;background:var(--surface-2);border-radius:11px;padding:4px;margin:12px 16px 0}.seg button{flex:1 1;height:34px;border-radius:8px;font-weight:600;font-size:14px;color:var(--ink-2)}.seg button.on{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.1)}.mp-filters{display:flex;flex-direction:column;gap:10px;padding:14px 16px 12px;border-bottom:1px solid var(--line)}.mp-filters select{height:38px;border-radius:10px;border:1px solid var(--line);padding:0 10px;background:var(--surface);font-size:14px}.chips{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.chips-label{font-size:13px;color:var(--muted);margin-right:4px}.chips button{height:30px;min-width:38px;padding:0 10px;border-radius:999px;border:1px solid var(--line);font-size:13px;font-weight:600;color:var(--ink-2)}.chips button.on{background:var(--ink);border-color:var(--ink);color:#fff}.switch{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:600;cursor:pointer;-webkit-user-select:none;user-select:none}.switch input{position:absolute;opacity:0;pointer-events:none}.switch span{width:38px;height:22px;border-radius:99px;background:#d6dbd7;position:relative;transition:background .15s;flex:none}.switch span:after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.2);transition:transform .15s}.switch input:checked+span{background:var(--brand)}.switch input:checked+span:after{transform:translateX(16px)}.mp-count{padding:10px 18px 6px;font-size:13px;color:var(--muted)}.mp-count strong{color:var(--ink);font-size:15px}.mp-results{list-style:none;margin:0;padding:0 8px 12px;overflow-y:auto;flex:1 1}.mp-results li.empty{padding:20px 12px;font-size:14px;color:var(--ink-2)}.result{width:100%;display:flex;align-items:center;gap:12px;padding:8px;border-radius:12px;text-align:left;transition:background .12s}.result:hover{background:var(--surface-2)}.result.on{background:var(--brand-soft)}.result .ph,.result img{width:64px;height:50px;border-radius:8px;object-fit:cover;background:var(--surface-2);flex:none}.result img.plan{object-fit:contain;background:#fff;border:1px solid var(--line)}.r-body{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:2px}.r-body strong{font-size:14px}.r-body strong em{font-style:normal;color:var(--muted);font-weight:500}.r-body span{font-size:12.5px;color:var(--ink-2)}.pill{flex:none;font-size:11.5px;font-weight:700;padding:4px 9px;border-radius:99px;letter-spacing:.01em}.pill.available{background:var(--brand-soft);color:var(--brand-ink)}.pill.reserved{background:var(--amber-soft);color:#9a6106}.pill.sold{background:#eef0ee;color:#6d756f}.mp-detail{position:absolute;z-index:4;top:80px;right:14px;max-height:calc(100% - 94px);overflow-y:auto;animation:slideIn .25s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateX(16px)}to{opacity:1;transform:none}}.mp-detail .close{position:absolute;top:10px;right:10px;z-index:2;background:rgba(255,255,255,.92)}.hero{position:relative;display:block;aspect-ratio:16/10;overflow:hidden;border-radius:var(--radius) var(--radius) 0 0;background:var(--surface-2)}.hero img{width:100%;height:100%;object-fit:cover}.hero.plan img{object-fit:contain;background:#fff;padding:10px}.hero-tag{position:absolute;left:12px;bottom:12px;background:rgba(23,32,26,.72);color:#fff;font-size:12px;font-weight:600;padding:5px 10px;border-radius:8px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.detail-body{padding:18px 20px 20px}.detail-body>p{font-size:14px;line-height:1.55;color:var(--ink-2)}.title-row{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.title-row h2{font-size:22px}.title-row .muted{margin:4px 0 0;font-size:13.5px}.detail-body .note{font-size:13px;line-height:1.45;color:var(--ink-2);background:var(--amber-soft);padding:10px 12px;border-radius:10px;margin:14px 0 0}.specs{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border-radius:12px;overflow:hidden;margin:16px 0;border:1px solid var(--line)}.specs div{background:var(--surface);padding:10px 12px}.specs dt{font-size:11.5px;color:var(--muted)}.specs dd{margin:3px 0 0;font-size:15px;font-weight:700}.stage{margin:4px 0 14px}.stage-head{display:flex;justify-content:space-between;font-size:13px;color:var(--muted);margin-bottom:8px}.stage-head strong{color:var(--ink)}.stage-track{list-style:none;margin:0;padding:0;display:flex;gap:4px}.stage-track li{flex:1 1;height:6px;border-radius:3px;background:#e4e8e4}.stage-track li.done{background:var(--brand)}.price{display:flex;flex-direction:column;gap:2px;padding:12px 14px;background:var(--surface-2);border-radius:12px}.price strong{font-size:17px}.price small{font-size:12.5px;color:var(--muted)}.big-count{text-align:right}.big-count strong{display:block;font-size:30px;line-height:1;color:var(--brand-ink)}.big-count span{font-size:12px;color:var(--muted)}.room-mix{display:flex;flex-wrap:wrap;gap:6px;margin:14px 0 10px}.room-mix span{font-size:12.5px;background:var(--brand-soft);color:var(--brand-ink);padding:4px 9px;border-radius:99px}.detail-body h3{font-size:14px;margin:16px 0 10px}.floors{display:flex;flex-direction:column;gap:5px;margin-bottom:14px}.floor-row{display:flex;gap:8px;align-items:stretch}.floor-n{width:22px;flex:none;display:grid;place-items:center;font-size:12px;font-weight:700;color:var(--muted)}.floor-units{display:flex;flex-wrap:wrap;gap:4px;flex:1 1}.unit{min-width:48px;height:38px;padding:0 6px;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.1;font-size:12px;transition:transform .1s}.unit span{font-size:10.5px;opacity:.75}.unit.available{background:var(--brand);color:#fff}.unit.reserved{background:var(--amber);color:#fff}.unit.sold{background:#eceeec;color:#9aa19c}.unit:hover{transform:translateY(-1px);box-shadow:0 2px 8px rgba(0,0,0,.15)}.back{display:flex;align-items:center;gap:4px;padding:14px 16px 8px;font-size:13.5px;font-weight:600;color:var(--ink-2)}.back+.hero{border-radius:0}.mp-legend{position:absolute;z-index:3;bottom:14px;right:66px;padding:10px 14px;display:flex;flex-direction:column;gap:6px;font-size:13px}.mp-legend.hint{color:var(--ink-2)}.with-detail .mp-legend{right:408px}.lg-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.lg-row .sw:not(:first-child){margin-left:8px}.sw{width:12px;height:12px;border-radius:4px;display:inline-block}.sw.available{background:var(--brand)}.sw.reserved{background:var(--amber)}.sw.sold{background:#d8dcd9}.sw.st-start{background:#ef8c26}.sw.st-progress{background:var(--blue)}.sw.st-done{background:#d8dcd9}.lg-live{display:flex;align-items:center;gap:8px;font-size:13px}.pulse{width:8px;height:8px;border-radius:50%;background:var(--brand);box-shadow:0 0 0 0 rgba(122,193,69,.6);animation:pulse 2s infinite}@keyframes pulse{70%{box-shadow:0 0 0 8px rgba(122,193,69,0)}to{box-shadow:0 0 0 0 rgba(122,193,69,0)}}.mp-legend small{font-size:11.5px}.mp-base .sep{height:1px;background:var(--line);margin:3px 4px}.mp-base button .ico{margin:0 auto;display:block}.mp-pin{display:flex;flex-direction:column;align-items:center;gap:0;padding:7px 14px;border-radius:99px;background:#f2b41b;color:var(--ink);box-shadow:0 6px 18px rgba(0,0,0,.2);font-size:13px;line-height:1.15;cursor:pointer;position:relative}.mp-pin b{font-weight:800}.mp-pin span{font-size:11px;opacity:.75}.mp-pin:after{content:"";position:absolute;bottom:-5px;left:50%;width:10px;height:10px;background:#f2b41b;transform:translateX(-50%) rotate(45deg)}.maplibregl-ctrl-bottom-right .maplibregl-ctrl-group{margin:0 14px 14px 0;border-radius:12px;box-shadow:var(--shadow)}.maplibregl-ctrl-bottom-left .maplibregl-ctrl-scale{margin:0 0 18px 70px}.mp-base{position:absolute;z-index:3;bottom:150px;right:14px;display:flex;flex-direction:column;padding:4px;gap:2px}.mp-base button{height:30px;padding:0 8px;border-radius:8px;font-size:12px;font-weight:700;color:var(--ink-2)}.mp-base button.on{background:var(--ink);color:#fff}.mp-base button:disabled{cursor:default}.with-detail .mp-base{right:408px}.with-detail .maplibregl-ctrl-bottom-right{right:394px}.with-search .maplibregl-ctrl-bottom-left{left:374px}.mp-zoom{position:absolute;z-index:3;bottom:14px;right:14px;display:flex;flex-direction:column;padding:4px}.with-detail .mp-zoom{right:408px;bottom:76px}.with-detail .mp-legend{bottom:14px}.mp-zoom button{width:38px;height:38px;display:grid;place-items:center;border-radius:9px;color:var(--ink-2)}.mp-zoom button:hover{background:var(--surface-2);color:var(--ink)}.mp-tip{position:absolute;z-index:6;left:0;top:0;pointer-events:none;background:rgba(23,32,26,.9);color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:10px;padding:8px 12px;display:flex;flex-direction:column;gap:1px;font-size:12.5px;max-width:260px}.mp-tip strong{font-size:13.5px}.mp-tip span{opacity:.8}.mp-tip .dot{position:absolute;top:10px;right:-4px;width:10px;height:10px;border-radius:50%;border:2px solid #fff}.dot.available{background:var(--brand)}.dot.reserved{background:var(--amber)}.dot.sold{background:var(--sold)}.mp-label{position:absolute;left:0;top:0;pointer-events:auto;white-space:nowrap;transition:opacity .2s;display:flex;align-items:center;gap:6px;padding:5px 10px 5px 6px;border-radius:99px;background:rgba(255,255,255,.95);box-shadow:0 4px 14px rgba(0,0,0,.18);font-size:12.5px;font-weight:700;color:var(--ink)}.mp-label:after{content:"";position:absolute;left:50%;bottom:-5px;width:10px;height:10px;background:inherit;transform:translateX(-50%) rotate(45deg);border-radius:2px;z-index:-1}.mp-label .ico{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--brand);color:#fff;font-size:12px}.mp-label.building{padding:4px 9px 4px 4px}.mp-label.building b{background:var(--ink);color:#fff;border-radius:99px;min-width:24px;height:22px;padding:0 7px;display:grid;place-items:center;font-size:12px}.mp-label.building span{color:var(--brand-ink)}.mp-label.building.soldout span{color:var(--muted);font-weight:600}.mp-label:hover{background:#fff;transform-origin:bottom;z-index:2}.mp-loading{position:absolute;inset:0;z-index:10;display:grid;place-content:center;justify-items:center;gap:14px;background:linear-gradient(#e8eef0,#dfe7e2);color:var(--ink-2);font-weight:600}.mp-spinner{width:34px;height:34px;border-radius:50%;border:3px solid rgba(122,193,69,.2);border-top:3px solid var(--brand);animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.mp-phasebar{position:absolute;z-index:3;left:50%;transform:translateX(-50%);bottom:14px;width:min(900px,calc(100% - 120px));padding:14px 16px 10px}.with-search .mp-phasebar{left:calc(50% + 187px);width:min(860px,calc(100% - 460px))}.with-detail .mp-phasebar{display:none}.phase-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.phase-card{padding:10px 12px;border-radius:11px;background:var(--surface-2)}.pc-head{display:flex;flex-direction:column;gap:1px}.pc-head strong{font-size:14px}.pc-head span{font-size:12px;color:var(--muted)}.bar{height:6px;background:#e1e5e1;margin:8px 0 6px;overflow:hidden}.bar,.bar i{border-radius:3px}.bar i{display:block;height:100%;background:var(--brand)}.phase-card.progress .bar i{background:var(--blue)}.phase-card.start .bar i{background:#ef8c26}.phase-card small{font-size:11.5px;color:var(--ink-2)}.site-photos{margin-top:10px}.sp-title{font-size:12px;font-weight:700;color:var(--ink-2)}.sp-title a{font-weight:600}.sp-row{display:flex;gap:6px;margin-top:6px;overflow-x:auto}.sp-row img{width:92px;height:62px;object-fit:cover;border-radius:8px;flex:none;transition:transform .15s}.sp-row a:hover img{transform:translateY(-2px)}.pb-legend{font-size:12px;color:var(--ink-2);margin-top:10px}.milestones{list-style:none;margin:10px 0 0;padding:4px 0 2px;display:flex;gap:18px;overflow-x:auto;scrollbar-width:thin}.milestones li{flex:none;display:flex;flex-direction:column;gap:2px;font-size:12px;width:150px;position:relative;padding-top:10px}.milestones li:before{content:"";position:absolute;top:0;left:0;width:8px;height:8px;border-radius:50%;background:var(--brand)}.milestones li.future:before{background:#fff;border:2px solid #b9c2bb}.milestones li.future{color:var(--muted)}.milestones time{font-weight:700;color:var(--ink)}.mp-modal{position:fixed;inset:0;z-index:20;background:rgba(15,22,17,.42);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:grid;place-items:center;padding:16px;animation:fade .18s}@keyframes fade{0%{opacity:0}}.mp-modal .close{position:absolute;top:12px;right:12px}.lead{position:relative;width:min(480px,100%);padding:26px 24px 20px;max-height:100%;overflow-y:auto}.lead form{display:flex;flex-direction:column;gap:12px}.lead form>*{flex:none}.lead .hint,.lead .req-note{margin:-4px 0 0;font-size:12.5px;color:var(--muted)}.lead .field-err,.lead label em{font-style:normal;font-size:12.5px;color:#b3261e;font-weight:600;margin-top:-4px}.lead h2{font-size:22px}.lead .for{margin:-4px 0 4px;font-size:14px;color:var(--ink-2)}.lead label{display:flex;flex-direction:column;gap:5px;font-size:13px;font-weight:600;color:var(--ink-2)}.lead input:not([type=checkbox]),.lead textarea{border:1px solid #c9cfca;border-radius:10px;padding:10px 12px;font-size:16px;background:var(--surface);outline:none;transition:border .15s,box-shadow .15s;resize:vertical}.lead input:focus,.lead textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}.lead label.bad input,.lead label.bad textarea{border-color:#d24b3e}.lead label.consent{flex-direction:row;align-items:flex-start;gap:10px;font-weight:500;font-size:13px;line-height:1.45}.lead label.consent input{margin-top:2px;width:16px;height:16px;accent-color:var(--brand);flex:none}.lead label.consent.bad span{color:#d24b3e}.row2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.hp{position:absolute;left:-9999px;width:1px;height:1px}.err{margin:0;font-size:13px;color:#c0392b}.sent{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;padding:16px 0 6px}.sent h2{font-size:19px;line-height:1.35}.check{width:54px;height:54px;border-radius:50%;background:var(--brand-soft);color:var(--brand-ink);display:grid;place-items:center}.check .ico{width:28px;height:28px}.about{position:relative;width:min(860px,100%);max-height:100%;overflow-y:auto;padding:28px 30px}.about h2{font-size:28px}.about h3{font-size:17px;margin:28px 0 12px}.lead-text{font-size:16px;line-height:1.6;color:var(--ink-2);max-width:680px}.facts{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:18px}.facts a{text-decoration:none;color:inherit;padding:14px;border-radius:12px;background:var(--surface-2);display:flex;flex-direction:column;gap:3px;transition:background .15s}.facts a:hover{background:var(--brand-soft)}.facts strong{font-size:20px;color:var(--brand-ink)}.facts span{font-size:12.5px;color:var(--ink-2);line-height:1.35}.phases{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.phase{padding:14px;border-radius:12px;border:1px solid var(--line);border-top:4px solid var(--brand)}.phase.progress{border-top-color:var(--blue)}.phase.start{border-top-color:#ef8c26}.phase-head{display:flex;justify-content:space-between;align-items:baseline}.phase-head span{font-size:12.5px;color:var(--muted)}.phase em{display:block;font-style:normal;font-weight:600;margin-top:2px}.phase em,.phase p{font-size:13px;color:var(--ink-2)}.phase p{line-height:1.5;margin:8px 0 0}.amenities{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.amenity{display:flex;gap:12px;text-decoration:none;color:inherit;padding:10px;border-radius:12px;border:1px solid var(--line);transition:background .15s}.amenity .ph,.amenity img,.amenity:hover{background:var(--surface-2)}.amenity .ph,.amenity img{width:96px;height:80px;border-radius:9px;object-fit:cover;flex:none}.amenity .ph.forest{background:linear-gradient(135deg,#3c5a2a,#6d8f45)}.amenity strong{font-size:14px}.amenity em{display:block;font-style:normal;font-size:12px;color:var(--brand-ink);font-weight:600;margin-top:1px}.amenity p{font-size:12.5px;line-height:1.45;color:var(--ink-2);margin:4px 0 0}.timeline{list-style:none;margin:0;padding:0 0 0 14px;border-left:2px solid #e1e5e1;display:flex;flex-direction:column;gap:10px}.timeline li{position:relative;display:flex;gap:14px;font-size:14px}.timeline li:before{content:"";position:absolute;left:-20px;top:5px;width:10px;height:10px;border-radius:50%;background:var(--brand)}.timeline li.future:before{background:#fff;border:2px solid #b9c2bb}.timeline time{width:76px;flex:none;font-weight:700}.timeline a{color:var(--ink-2);text-decoration:none}.timeline a:hover{color:var(--brand-ink);text-decoration:underline}.bullets{margin:0;padding-left:18px;font-size:14px;line-height:1.6;color:var(--ink-2)}.contact{margin-top:26px;padding:18px;border-radius:14px;background:var(--ink);color:#fff;display:flex;justify-content:space-between;align-items:center;gap:16px}.contact div{display:flex;flex-direction:column;gap:3px;font-size:13.5px}.contact strong{font-size:16px}.contact a{color:#cde8b5}.contact .btn-primary{background:var(--brand-ink)}.show-touch{display:none}@media (hover:none){.hide-touch{display:none}.show-touch{display:inline}}@media (max-width:1180px){.mp-modes button .lg{display:none}.mp-modes button .sm{display:inline}.mp-modes button{padding:0 12px}.hide-sm{display:none}}@media (max-width:420px){.mp-brand strong{display:none}.mp-brand{padding:0 6px}}@media (max-width:900px){.mp-top{top:10px;left:10px;right:10px;gap:8px;flex-wrap:wrap}.mp-brand{height:44px;padding:0 10px 0 6px;gap:8px}.mp-brand small{display:none}.mp-brand strong{font-size:12px;letter-spacing:.1em}.mp-logo{width:30px;height:30px}.mp-actions{gap:6px}.mp-actions>.card,.mp-actions>button{height:44px}.mp-actions .btn-ghost{width:44px;padding:0}.mp-lang button{padding:0 7px}.mp-modes{order:3;width:100%;height:46px;margin:0;padding:4px}.mp-modes button{flex:1 1;justify-content:center;padding:0 6px;gap:6px;min-width:0}.mp-modes button span{display:inline;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mp-actions{margin-left:auto}.mp-actions .btn-primary{padding:0 12px;font-size:13.5px}.mp-search-fab{top:auto;bottom:14px;left:10px}.mp-search{height:72%;z-index:8}.mp-detail,.mp-search{top:auto;left:0;right:0;bottom:0;width:auto;border-radius:18px 18px 0 0}.mp-detail{max-height:74%;z-index:9}.hero{aspect-ratio:16/6.5;border-radius:18px 18px 0 0}.mp-detail{max-height:66%}.mp-legend{left:auto;right:10px;bottom:14px;font-size:12px;padding:8px 10px;max-width:calc(100% - 200px)}.mp-legend .lg-row,.mp-legend small,.mp-legend.hint,.mp-zoom{display:none}.mp-base{bottom:auto;top:118px;right:10px;flex-direction:row}.with-detail .mp-base,.with-detail .mp-legend,.with-search .mp-base,.with-search .mp-legend{display:none}.mp-phasebar,.with-search .mp-phasebar{left:10px;right:10px;transform:none;width:auto;bottom:64px;padding:10px}.phase-cards{gap:6px}.phase-card{padding:8px}.milestones,.pc-head span,.phase-card small{display:none}.facts{grid-template-columns:repeat(2,1fr)}.amenities,.phases{grid-template-columns:1fr}.about{padding:22px 18px}.contact{flex-direction:column;align-items:stretch}.row2{grid-template-columns:1fr}.mp-modal{padding:0;place-items:end stretch}.about,.lead{border-radius:18px 18px 0 0;max-height:92%;width:100%}}.admin{position:fixed;inset:0;overflow-y:auto;background:var(--surface-2);padding:28px 32px 60px}.admin header{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:16px}.admin h1{margin:0;font-size:24px}.admin header p{margin:6px 0 0;font-size:13.5px}.admin .token{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:600;color:var(--muted)}.admin input,.admin select{height:34px;border:1px solid var(--line);border-radius:8px;padding:0 10px;background:#fff;font-size:13.5px}.admin-tabs{display:flex;gap:6px;align-items:center;margin-bottom:14px}.admin-tabs button{height:36px;padding:0 14px;border-radius:9px;font-weight:600;font-size:14px;color:var(--ink-2)}.admin-tabs button.on{background:var(--ink);color:#fff}.toast{margin-left:12px;font-size:13px;color:var(--brand-ink);font-weight:600}.admin .search{width:360px;margin-bottom:12px}.admin table{width:100%;border-collapse:collapse;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,.06);font-size:13.5px}.admin th{text-align:left;font-size:12px;color:var(--muted);font-weight:600;padding:10px 12px;background:#fafbf9}.admin td,.admin th{border-bottom:1px solid var(--line)}.admin td{padding:7px 12px;vertical-align:middle}.admin select.st.available{background:var(--brand-soft);color:var(--brand-ink);font-weight:600}.admin select.st.reserved{background:var(--amber-soft);color:#9a6106;font-weight:600}.admin .price-in{width:120px}.mp-selpin{left:0;top:0;z-index:2;pointer-events:none;display:none;padding:6px 12px;border-radius:99px;color:#fff;font-size:13px;font-weight:700;box-shadow:0 6px 18px rgba(0,0,0,.25);white-space:nowrap;transition:opacity .2s;animation:pinIn .35s ease-out}.mp-selpin,.mp-selpin:after{position:absolute;background:var(--ink)}.mp-selpin:after{content:"";left:50%;bottom:-5px;width:10px;height:10px;transform:translateX(-50%) rotate(45deg);border-radius:2px}.mp-selpin:before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:#6cc33a;margin-right:7px;vertical-align:1px}@keyframes pinIn{0%{opacity:0;transform:translateY(6px)}}.mp-detail{width:420px}.with-detail .mp-base,.with-detail .mp-legend,.with-detail .mp-zoom{right:448px}.with-detail .maplibregl-ctrl-bottom-right{right:434px}.gal,.gal-hero{position:relative}.gal-hero{display:block;width:100%;overflow:hidden;border-radius:var(--radius) var(--radius) 0 0;background:var(--surface-2);cursor:zoom-in}.gal-hero img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.gal-hero:hover img{transform:scale(1.02)}.gal-hero.contain img,img.contain{object-fit:contain;background:#fff}.gal-count{position:absolute;right:10px;bottom:10px;display:flex;align-items:center;gap:5px;padding:4px 9px;border-radius:99px;background:rgba(23,32,26,.72);color:#fff;font-size:12px;font-weight:600;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.gal-strip{display:flex;gap:6px;padding:8px 12px 0;overflow-x:auto;scrollbar-width:none}.gal-strip::-webkit-scrollbar{display:none}.gal-strip button{flex:none;width:62px;height:46px;border-radius:8px;overflow:hidden;opacity:.6;outline:2px solid transparent;outline-offset:-2px;transition:opacity .15s}.gal-strip button.on{opacity:1;outline-color:var(--ink)}.gal-strip button:hover{opacity:1}.gal-strip img{width:100%;height:100%;object-fit:cover}.detail-body .gal-hero{border-radius:12px;border:1px solid var(--line);margin-top:4px}.detail-body .gal-strip{padding:8px 0 0}.tabs{display:flex;gap:2px;margin:14px 0 4px;border-bottom:1px solid var(--line)}.tabs button{position:relative;padding:10px 10px 11px;font-size:13.5px;font-weight:600;color:var(--muted);white-space:nowrap}.tabs button.on{color:var(--ink)}.tabs button.on:after{content:"";position:absolute;left:8px;right:8px;bottom:-1px;height:2px;border-radius:2px;background:var(--ink)}.tabs button:hover{color:var(--ink)}.rooms{display:flex;flex-direction:column;gap:12px;margin-top:14px}.rooms h4,.speclist h4{margin:0 0 6px;font-size:13px;display:flex;justify-content:space-between;color:var(--ink)}.rooms h4 span{color:var(--muted);font-weight:600}.dist,.rooms ul,.speclist ul{list-style:none;margin:0;padding:0}.dist li,.rooms li{display:flex;align-items:baseline;gap:8px;padding:6px 0;border-bottom:1px dashed var(--line);font-size:13.5px}.dist li span,.rooms li span{flex:1 1;color:var(--ink-2)}.dist li em{font-style:normal;color:var(--muted);font-size:12.5px;width:52px;text-align:right}.speclist{display:flex;flex-direction:column;gap:14px;margin-top:14px}.speclist li{position:relative;padding:3px 0 3px 16px;font-size:13.5px;color:var(--ink-2);line-height:1.45}.speclist li:before{content:"";position:absolute;left:2px;top:10px;width:6px;height:6px;border-radius:50%;background:var(--brand)}.links{display:flex;flex-direction:column}.lotsvg{display:block;width:100%;height:auto;max-height:300px;margin-top:14px;background:#f3f6ef;border-radius:12px;border:1px solid var(--line)}.lotsvg .lot{fill:#e2edd5;stroke:#7da55a;stroke-width:1.5}.lotsvg .house{fill:#fff;stroke:var(--ink);stroke-width:1.5}.lotsvg .street{stroke:#9aa29c;stroke-width:6;stroke-linecap:round}.lotsvg .north circle{fill:#fff;stroke:var(--line)}.lotsvg .north path{fill:var(--ink)}.lotsvg .north text{font-size:10px;font-weight:700;text-anchor:middle;fill:var(--ink)}.lb{position:fixed;inset:0;z-index:50;background:rgba(10,14,11,.94);display:grid;place-items:center;animation:fade .18s}.lb img{max-width:92vw;max-height:86vh;border-radius:6px;box-shadow:0 20px 60px rgba(0,0,0,.5)}.lb img.contain{background:#fff;padding:12px}.lb-btn{position:absolute;width:46px;height:46px;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;display:grid;place-items:center}.lb-btn:hover{background:rgba(255,255,255,.24)}.lb-btn.close{top:18px;right:18px}.lb-btn.prev{left:18px}.lb-btn.next,.lb-btn.prev{top:50%;transform:translateY(-50%)}.lb-btn.next{right:18px}.lb-cap,.lb-n{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);color:rgba(255,255,255,.8);font-size:13px}@media (max-width:900px){.mp-detail{width:auto}.tabs{overflow-x:auto;scrollbar-width:none}.lb-btn.next,.lb-btn.prev{top:auto;bottom:14px;transform:none}}.sections{display:flex;gap:2px;background:var(--surface-2);padding:4px;border-radius:11px}.sections button{height:32px;padding:0 12px;border-radius:8px;font-weight:700;font-size:14px;color:var(--ink-2);white-space:nowrap}.sections button.on{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.1)}.mp-search-head{padding:0 12px 0 14px!important}.mp-area-scroll{overflow-y:auto;flex:1 1;padding:6px 18px 18px}.area .sec-head{display:flex;align-items:baseline;justify-content:space-between;margin:8px 0 6px}.area h3{font-size:17px}.area h4{margin:0;font-size:14px}.area .onsite{margin-top:6px}.onsite-list{list-style:none;margin:10px 0 0;padding:12px 14px;display:grid;gap:7px;border-radius:12px;background:var(--brand-soft);font-size:13px;color:var(--brand-ink)}.onsite-list li{display:flex;gap:6px;align-items:flex-start}.facts-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.facts-grid>div{padding:11px 12px;border-radius:12px;background:var(--surface-2)}.facts-grid b{display:block;font-size:18px}.facts-grid span{display:block;margin-top:2px;font-size:12px;color:var(--ink-2);line-height:1.3}.chips.kinds{margin:14px 0 4px}.chips.kinds button{display:inline-flex;align-items:center;gap:6px;height:30px}.poi-group{margin-top:12px}.pois{list-style:none;margin:0;padding:0}.pois button{width:100%;display:flex;align-items:center;gap:10px;padding:9px 2px;border-bottom:1px solid var(--line);text-align:left;font-size:13.5px}.pois button:hover .poi-name{color:var(--brand-ink)}.dot{width:10px;height:10px;border-radius:99px;flex:none;display:inline-block}.poi-name{flex:1 1;font-weight:600}.poi-name small{display:block;font-size:12px;color:var(--muted);font-weight:500}.poi-time{display:inline-flex;align-items:center;gap:3px;font-size:12.5px;color:var(--muted);white-space:nowrap}.poi-time .ico+*{margin-right:6px}.link.more{margin:8px 0 0;font-size:13px}.planned{list-style:none;margin:0;padding:0}.planned li{display:grid;grid-template-columns:1fr auto;gap:2px 10px;padding:9px 2px;border-bottom:1px solid var(--line);font-size:13.5px}.planned .status{align-self:start;font-size:11.5px;padding:3px 8px;border-radius:99px;background:var(--amber-soft);color:#8a5a0c;max-width:170px;text-align:right}.planned .src{grid-column:2;justify-self:end;font-size:12px}.poi-name small.approx{color:#9a6106}.mp-labels.amenities-off .mp-label.amenity,.mp-modes .sm{display:none}@media (max-width:900px){.mp-modes .lg{display:none}.mp-modes .sm{display:inline}.mp-search-fab{display:none}}.stage-banner{margin:10px 0 0;padding:9px 12px;border-radius:10px;background:var(--amber-soft);color:#7a4c05;font-size:13.5px;line-height:1.4}.links .call,.skip{font-weight:700}.skip{position:absolute;left:12px;top:-60px;z-index:50;padding:10px 14px;border-radius:10px;background:var(--ink);color:#fff;text-decoration:none}.skip:focus{top:12px}:focus-visible{outline:3px solid #2f6fdf;outline-offset:2px}.mp-detail:focus{outline:none}.unit.available{background:#3f7d1e}.unit.reserved{background:#a65f00}.unit.sold{background:#e6e9e6;color:#59625b}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.mp-detail{display:flex;flex-direction:column;overflow:hidden}.sheet-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain}.sheet-foot:empty{display:none}.sheet-cta{display:flex;gap:8px;align-items:center;padding:12px 20px 14px;background:#fff;border-top:1px solid var(--line)}.sheet-cta .btn-primary{flex:1 1;height:48px}.heart{flex:none;width:48px;height:48px;border-radius:12px;border:1px solid var(--line);display:grid;place-items:center;color:var(--ink-2);background:#fff}.heart:hover{border-color:var(--ink-2)}.heart.on{color:#c2334d;border-color:#f0c2cb;background:#fdf1f3}.heart.on svg path{fill:currentColor}.heart.compact{width:36px;height:36px;border:0;background:transparent}.mp-sl{position:relative;width:44px;padding:0;justify-content:center}.mp-sl.has{color:#c2334d}.mp-sl .badge{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 5px;border-radius:99px;background:#c2334d;color:#fff;font-size:11px;line-height:18px;text-align:center}.mp-phone{gap:8px;padding:0 14px;font-weight:700;font-size:13.5px;text-decoration:none;color:var(--ink);display:flex;align-items:center}.to-list{display:none}.shortlist{width:min(980px,100%);max-height:88vh;overflow-y:auto;padding:24px}.shortlist h2{margin:0 0 14px;font-size:20px}.sl-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.sl-head h2{margin:0}.sl-cards{display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));gap:12px}.sl-card{border:1px solid var(--line);border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:10px}.sl-card h3{font-size:15.5px}.sl-card dl{margin:0;display:grid;gap:0}.sl-card dl>div{display:grid;grid-template-columns:44% 1fr;gap:8px;padding:7px 0;border-bottom:1px solid var(--line);font-size:14px}.sl-card dt{color:var(--muted);font-size:13px}.sl-card dd{margin:0;font-weight:600}.sl-actions{display:flex;flex-direction:column;gap:6px;margin-top:auto}.sl-actions button{min-height:44px;padding:0 12px}@media (max-width:900px){.sl-cards{grid-template-columns:1fr}}.sr{width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.mp-fs,.sr{position:absolute}.mp-fs{z-index:5;left:14px;bottom:14px;width:44px;height:44px;display:grid;place-items:center}@media (max-width:900px){.with-detail .mp-search{visibility:hidden}.to-list{display:inline-flex;align-items:center;gap:6px;position:absolute;top:10px;left:10px;z-index:2;height:40px;padding:0 12px 0 8px;border-radius:99px;background:rgba(255,255,255,.92);font-weight:700;font-size:13.5px}.mp-detail .close{width:44px;height:44px}.gal-hero{height:170px!important}.gal-strip button{min-width:56px;min-height:44px}.tabs button{min-height:44px}.mp-phone{width:44px;padding:0;justify-content:center}.sheet-cta{padding-bottom:calc(14px + env(safe-area-inset-bottom))}.shortlist{border-radius:18px 18px 0 0;max-height:92%;padding:20px 16px}.mp-fs{bottom:auto;top:118px;left:10px}}@media (max-width:480px){.mp-phone{display:none}}.mp-count{justify-content:space-between;gap:10px}.mp-count,.mp-count .sort{display:flex;align-items:center}.mp-count .sort{gap:6px;font-size:13px}.mp-count .sort select{height:34px;border:1px solid var(--line);border-radius:8px;padding:0 8px;background:#fff;font-size:13px;color:var(--ink)}.r-dist{display:block;font-size:12.5px;color:var(--brand-ink);font-weight:600}.area-note{margin:8px 0 0;font-size:12px;color:var(--muted);line-height:1.4}.facts-grid b{font-size:16px}.about h2,.lead h2,.mp-brand strong,.mp-detail h2,.mp-search-head h2,.shortlist h2{font-family:var(--font-brand),var(--font-stack)}.admin .toast{min-height:20px;margin:0 0 8px}.admin .toast.bad{color:#b3261e}.admin-filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:10px}.admin-filters .search{margin:0;width:280px}.admin-filters .grow{flex:1 1}.btn-ghost.sm{height:34px;padding:0 12px;border-radius:8px;border:1px solid var(--line);background:#fff;font-weight:600;font-size:13px}.admin-bulk{display:flex;gap:10px;align-items:center;padding:8px 12px;margin-bottom:10px;border-radius:10px;background:var(--ink);color:#fff;font-size:13.5px}.admin-bulk select{color:var(--ink)}.admin-bulk .link{color:#fff;text-decoration:underline}.admin tr.picked td{background:#f3f8ee}.admin-scroll{overflow-x:auto;border-radius:12px}.admin td.msg{max-width:320px;white-space:pre-wrap}.price-cell{display:inline-flex;gap:4px;align-items:center}.price-in.dirty{border-color:#e39a1e!important;background:#fffaf0!important}.price-cell .ok{width:34px;height:34px;border-radius:8px;background:var(--ink);color:#fff;font-weight:700}@media (max-width:760px){.admin{padding:16px 12px 40px}.admin header{flex-direction:column;align-items:stretch}.admin h1{font-size:20px}.admin-tabs{overflow-x:auto}.admin-tabs button{white-space:nowrap}.admin-filters .search{width:100%}.admin table{min-width:720px}}.mp-detail .sheet-scroll>.detail-body:first-child .title-row{padding-right:48px}.lead input:focus,.lead textarea:focus{outline:3px solid #2f6fdf;outline-offset:1px}.big-count span,.mp-legend small,.planned .status,.poi-name small{font-size:13px}@media (max-width:900px){.mp-detail .gal-strip{display:none}.mp-detail{max-height:72%}.mp-detail .tabs{position:sticky;top:0;z-index:2;background:#fff;scroll-margin-top:0}}.has-heart{position:relative}.has-heart .heart.compact{position:absolute;z-index:1;left:4px;top:4px;width:32px;height:32px;border-radius:99px;background:rgba(255,255,255,.92);box-shadow:0 1px 3px rgba(0,0,0,.18)}.has-heart .heart.compact svg{width:16px;height:16px}.has-heart .heart.compact:before{content:"";position:absolute;inset:-6px}.has-heart .heart.compact:not(.on){opacity:.9}.badge-new{margin-left:8px;padding:2px 8px;border-radius:99px;background:#c2334d;color:#fff;font-size:12px}.admin tr.new td{background:#fff8e8}@media (max-width:760px){.admin-villas td:nth-child(3),.admin-villas td:nth-child(4),.admin-villas td:nth-child(8),.admin-villas th:nth-child(3),.admin-villas th:nth-child(4),.admin-villas th:nth-child(8){display:none}.admin table.admin-villas{min-width:0}.admin-villas td,.admin-villas th{padding:6px}.admin-villas select{max-width:112px}.admin-villas .price-in{width:92px}}.r-side{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex:none}.r-stage{font-size:13px;font-weight:600;color:#7a4c05;white-space:nowrap}.r-stage.st-delivered{color:var(--brand-ink)}.mp-actions>*{white-space:nowrap;flex:none}.mp-phone .ph-word{display:none}@media (min-width:901px) and (max-width:1100px){.mp-brand>div{display:none}.mp-brand{padding:0 10px}}@media (max-width:900px){.mp-phone .ph-word{display:none}}.pb-toggle{position:absolute;top:-40px;right:0;height:34px;padding:0 14px;border-radius:99px;background:var(--ink);color:#fff;font-weight:700;font-size:13px}.mp-phasebar.folded .phase-cards{margin:0}.meanwhile{display:block;color:#b3261e;font-size:12.5px;margin-top:2px}.price-cell{flex-wrap:wrap}@media (max-width:900px){.mp-detail>.close,.mp-detail>.to-list{z-index:5}.mp-detail .tabs{padding-right:56px}.mp-detail>.to-list{position:static;align-self:flex-start;margin:8px 0 6px 10px;flex:none;background:var(--surface-2)}.mp-detail>.close{top:6px;right:8px}.mp-detail>.to-list~.sheet-scroll .gal-hero{border-radius:0}.mp-phone .ph-num,.mp-phone .ph-word{display:none}}.mp-detail>.to-list.to-building{display:inline-flex;align-items:center;gap:6px;position:static;align-self:flex-start;margin:10px 0 4px 12px;height:40px;padding:0 12px 0 8px;border-radius:99px;background:var(--surface-2);font-weight:700;font-size:13.5px;flex:none}.with-detail .mp-label.building:not(.is-sel){opacity:.35!important}@media (max-width:900px){.with-detail .mp-label.building:not(.is-sel){display:none}}.lot-find{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px;padding:4px 18px 8px}.lot-find label{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--muted);flex:1 1}.lot-find input{height:38px;border:1px solid var(--line);border-radius:10px;padding:0 10px;font-size:16px;color:var(--ink);background:#fff}.lot-find .btn-ghost.sm{height:38px}.lot-find .err{width:100%;color:#b3261e;font-size:13px}.chips button{position:relative}.chips .cnt,.chips-key .cnt{display:inline-grid;place-items:center;min-width:18px;height:18px;margin-left:6px;padding:0 5px;border-radius:99px;background:var(--brand-soft);color:var(--brand-ink);font-size:11.5px;font-weight:800;vertical-align:1px}.chips button.on .cnt{background:rgba(255,255,255,.22);color:#fff}.chips button.none{opacity:.55}.chips-key{margin:2px 0 0;font-size:12.5px;color:var(--muted)}.chips-key .cnt{margin:0 4px 0 0}.budget{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted)}.budget select{height:34px;border:1px solid var(--line);border-radius:8px;padding:0 8px;background:#fff;color:var(--ink);font-size:13px}.sl-all{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 14px;margin-bottom:12px;border-radius:12px;background:var(--brand-soft);color:var(--brand-ink);font-weight:700;font-size:14px}.sl-all .btn-primary{min-height:44px;padding:0 16px}.for-sum{margin:0 0 4px;font-weight:700;color:var(--brand-ink)}.share-btn{display:inline-flex;align-items:center;gap:6px;margin-top:6px;height:32px;padding:0 10px 0 8px;border-radius:99px;border:1px solid var(--line);font-size:13px;font-weight:600;color:var(--ink-2);background:#fff}.share-btn:hover{border-color:var(--ink-2)}.r-face{color:var(--muted)}.compass-rose{position:absolute;z-index:4;top:80px;right:14px;width:84px;height:84px;padding:0;border-radius:999px;display:grid;place-items:center;cursor:pointer}.with-detail .compass-rose{right:448px}.compass-rose svg{width:80px;height:80px}.compass-rose g{transition:transform .1s linear}.cr-ring{fill:rgba(255,255,255,.6);stroke:var(--ink-2);stroke-width:1.2}.cr-tick{stroke:var(--ink-2);stroke-width:1}.cr-tick.major{stroke:var(--ink);stroke-width:2}.cr-north{fill:#c8445b}.cr-south{fill:#8d958f}.cr-hub,.cr-label{fill:var(--ink)}.cr-label{font-family:var(--font-stack)}.cr-label.primary{font-size:13px;font-weight:700}.cr-label.north{fill:#b3243c}.cr-label.secondary{font-size:7.5px;font-weight:600;fill:var(--ink-2)}.compass-rose:hover .cr-ring{fill:rgba(255,255,255,.9)}@media (max-width:900px){.compass-rose{top:122px;right:auto;left:10px;width:64px;height:64px}.mp-fs{top:194px}.compass-rose svg{width:60px;height:60px}.with-detail .compass-rose,.with-search .compass-rose{display:none}}.mp-gate{pointer-events:none;display:flex;flex-direction:column;align-items:center;padding:5px 10px 6px;border-radius:10px;background:var(--ink);color:#fff;font-size:12px;line-height:1.2;box-shadow:0 4px 14px rgba(0,0,0,.25)}.mp-gate b{font-size:12.5px}.mp-gate span{font-size:11px;opacity:.8}.mp-gate:after{content:"";position:absolute;bottom:-5px;left:50%;width:10px;height:10px;background:var(--ink);transform:translateX(-50%) rotate(45deg)}.sun{margin:16px 0 6px}.sun-head{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-bottom:8px}.sun-head h3{margin:0!important}.seg.small{display:flex;gap:2px;padding:3px;border-radius:10px;background:var(--surface-2)}.seg.small button{height:30px;padding:0 9px;border-radius:8px;font-size:12.5px;font-weight:700;color:var(--ink-2)}.seg.small button.on{background:#fff;color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.1)}.sun-body{display:flex;gap:14px;align-items:center;padding:12px;border-radius:14px;border:1px solid var(--line)}.sun-ring{fill:none;stroke:#d9d6cf;stroke-width:1}.sun-ring.faint{stroke:#eceae5}.sun-facade{fill:rgba(227,154,30,.13)}.sun-arc{fill:none;stroke:#c9c6bf;stroke-width:3;stroke-linecap:round}.sun-arc.lit{stroke:var(--amber)}.sun-house{fill:var(--ink)}.sun-normal{stroke:var(--amber);stroke-width:2.4;stroke-linecap:round}.sun-cardinal{font:600 10px var(--font-stack);fill:var(--muted);text-anchor:middle}.sun-facts{display:grid;gap:3px;font-size:13.5px}.sun-facts p{margin:0}.sun-facts .big{font-size:28px;font-weight:700;line-height:1}.sun-facts .big small{display:block;font-size:13px;font-weight:500;color:var(--muted);margin-top:4px}.seg.small{margin:0}.howfar{margin-top:16px;padding:14px;border-radius:14px;border:1px solid var(--line)}.howfar h3{margin:0 0 8px!important}.howfar form{display:flex;gap:6px}.howfar input{flex:1 1;min-width:0;height:42px;border:1px solid var(--line);border-radius:10px;padding:0 12px;font-size:16px}.howfar .btn-primary{height:42px;padding:0 14px}.howfar .err{color:#b3261e;font-size:13px;margin:8px 0 0}.howfar-res{margin-top:10px}.howfar-res .muted{margin:0 0 6px;font-size:13px}.finishes{margin:6px 0 14px}.finishes h3{margin:0 0 8px!important}.finishes .gal-hero{border-radius:12px}.mp-campin{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 12px 0 10px;border-radius:99px;background:var(--amber);color:#2b1b00;font-weight:800;font-size:13px;box-shadow:0 6px 18px rgba(0,0,0,.25);cursor:pointer;border:2px solid #fff}.mp-campin:focus-visible{outline:3px solid #2f6fdf}.site-gallery{width:min(980px,100%);max-height:92vh;overflow-y:auto;padding:20px;display:grid;gap:12px}.site-gallery .gal-hero{border-radius:12px}.sp-row button{padding:0;border-radius:8px;overflow:hidden}.sp-row button img{display:block}.sim-note{margin:8px 0 0;padding:8px 10px;border-radius:10px;background:var(--amber-soft);color:#7a4c05;font-size:13px;line-height:1.4}.mp-label small.sim{display:block;font-size:10.5px;font-weight:600;color:#9a6106;text-transform:uppercase;letter-spacing:.03em}.site-gallery{display:flex;flex-direction:column;overflow-x:hidden}.site-gallery>*{min-width:0}.finishes .gal-strip,.site-gallery .gal-strip{overflow-x:auto;scrollbar-width:thin}.site-gallery .seg.small{align-self:flex-start}.interior{width:min(1180px,100%);height:min(860px,94vh);padding:16px;display:flex;flex-direction:column;gap:10px}.interior>*{min-width:0}.int-head{display:flex;justify-content:space-between;align-items:center}.int-head h2{margin:0;font-size:19px}.int-tools{display:flex;gap:10px;flex-wrap:wrap}.int-canvas{flex:1 1;min-height:280px;border-radius:12px;overflow:hidden;background:#f1f3ee;touch-action:none}.int-canvas canvas{display:block}.btn-3d{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;height:46px;margin:4px 0 12px;border-radius:12px;background:var(--ink);color:#fff;font-weight:700}@media (max-width:900px){.interior{height:100%;max-height:100%;border-radius:0}}