:root{--bg:#f7f7f2;--paper:#fff;--ink:#25312b;--muted:#7a8179;--line:#e3e5db;--accent:#d6e8a4;--green:#38513e;--font:'PingFang SC','Microsoft YaHei','Noto Sans SC',sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #638443;outline-offset:4px}button:disabled{cursor:default}button,select{touch-action:manipulation}.skip-link{position:fixed;top:-60px;z-index:100;padding:12px;background:var(--ink);color:white}.skip-link:focus{top:0}.site-header{height:100px;border-bottom:1px solid var(--line);padding:0 5%;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:11px;font-size:25px;font-weight:650;letter-spacing:-1px;line-height:1.1}.brand-caption{display:block;margin-top:7px;font-size:8px;letter-spacing:2.4px;font-weight:500}.top-nav{display:flex;gap:32px;align-self:stretch;align-items:center}.nav-link{height:100%;position:relative;border:0;background:none;padding:0 2px;font-weight:500}.nav-link.active:after{content:'';position:absolute;bottom:0;height:3px;left:0;right:0;background:var(--green)}#saved-count{display:inline-grid;place-items:center;min-width:20px;height:20px;background:#e9ece2;border-radius:50%;font-size:10px;margin-left:5px}.header-right{display:flex;gap:20px;align-items:center}.language{border:0;background:none;font-size:13px}.contact-button{background:var(--ink);color:white;padding:12px 19px;border-radius:5px;font-size:12px;display:flex;gap:23px}.contact-button span{font-size:17px;line-height:16px}main{max-width:1600px;margin:auto;padding:0 5%}.intro{display:flex;justify-content:space-between;align-items:flex-end;padding:52px 0 34px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:600;margin:0 0 14px}h1{font-size:clamp(40px,4.1vw,64px);line-height:1.08;letter-spacing:-2.8px;font-weight:450;margin:0}h1 span{color:#859279}.intro-note{padding-bottom:4px;color:#727c71;font-size:14px;line-height:1.8;text-align:right}.intro-note p{margin:0 0 20px}.update{font-size:10px;display:flex;gap:7px;align-items:center;justify-content:flex-end;letter-spacing:.2px}.status-dot{height:5px;width:5px;border-radius:50%;background:#8da468}.search-bar{display:flex;gap:14px;align-items:center;padding:17px 21px;background:var(--paper);border:1px solid var(--line);border-radius:7px;box-shadow:0 3px 10px #25312b03;margin-bottom:35px}.search-bar svg{color:#6c7768;flex-shrink:0}.search-bar input{border:0;outline:0!important;padding:3px 0;background:transparent;flex:1;min-width:0}.search-bar input::placeholder{color:#92978c}.search-bar #search-note{font-size:11px;color:#979c8f}.filter-toggle{display:none}.workspace{display:grid;grid-template-columns:215px 1fr;gap:38px;align-items:start;padding-bottom:60px}.filters{border-right:1px solid var(--line);padding-right:25px}.filter-title{display:flex;justify-content:space-between;align-items:center;margin:3px 0 27px}.filter-title h2{font-size:12px;font-weight:600;margin:0}.text-button{font-size:10px;border:0;background:none;color:var(--muted);padding:4px}.filter-group{margin-bottom:25px}.filter-group h3,.filter-group>label:not(.check-option){display:block;font-size:9px;font-weight:600;letter-spacing:1.3px;margin:0 0 12px;color:#737b6d}.region-list{display:flex;flex-direction:column;gap:4px}.region-option{display:flex;align-items:center;justify-content:space-between;gap:4px;background:none;border:0;border-radius:4px;text-align:left;padding:9px 10px;font-size:11px}.region-option span{font-size:9px;color:#858f79}.region-option.selected{background:#e7ecd9;color:#374a2d;font-weight:550}.filter-group select{width:100%;font-size:11px;background:transparent;border:1px solid #dce1d3;border-radius:4px;padding:11px 9px;cursor:pointer}.check-option{display:flex;align-items:center;gap:8px;font-size:10px;margin-bottom:10px;cursor:pointer}.check-option input{width:13px;height:13px;margin:0;accent-color:var(--green)}.sidebar-note{border-top:1px solid var(--line);margin-top:32px;padding:25px 0 0}.sidebar-note>span{font-size:20px}.sidebar-note p{font-size:12px;line-height:1.8}.sidebar-note a{font-size:10px;text-decoration:underline;text-underline-offset:4px}.results-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:0 0 22px}.results-toolbar h2{font-size:19px;letter-spacing:-.5px;font-weight:500;margin:0 0 5px}.results-toolbar p{font-size:10px;color:var(--muted);margin:0}.sort-wrap{font-size:10px;display:flex;gap:5px;align-items:center;white-space:nowrap}.sort-wrap>span{color:var(--muted)}.sort-wrap select{border:0;background:transparent;font-size:10px;max-width:140px}.property-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px 20px}.property-card{position:relative;min-width:0;background:var(--paper);border:1px solid #e3e6da;border-radius:7px;overflow:hidden;transition:box-shadow .2s,transform .2s}.property-card:hover{transform:translateY(-3px);box-shadow:0 10px 25px #25312b0a}.photo-button{position:relative;display:block;border:0;padding:0;background:#e5e8dc;width:100%;aspect-ratio:1.35;overflow:hidden;text-align:left}.photo-button>img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.property-card:hover .photo-button>img{transform:scale(1.025)}.photo-placeholder{display:grid;place-items:center;width:100%;height:100%;background:linear-gradient(145deg,#e4e8d9,#edf0e7);color:#89967d;font-size:11px;text-align:center;line-height:2}.photo-placeholder span{font-size:29px;display:block}.photo-count{position:absolute;bottom:10px;right:10px;padding:3px 7px;border-radius:3px;background:#ffffffed;font-size:9px;line-height:1.5;display:flex;gap:4px;align-items:center}.heart{position:absolute;top:12px;right:12px;width:30px;height:30px;border:0;background:#fffffff0;border-radius:50%;display:grid;place-items:center;color:var(--ink);z-index:2}.heart svg{width:15px;height:15px}.heart[aria-pressed=true]{background:var(--accent);color:#324a2c}.district-tag{position:absolute;left:12px;top:12px;font-size:8px;background:#fffdf6ed;padding:4px 8px;border-radius:3px;letter-spacing:.15px;pointer-events:none}.card-body{padding:17px 15px 0}.card-type{font-size:8px;color:#858d7f;letter-spacing:1px;text-transform:uppercase;margin:0 0 7px}.title-button{border:0;background:transparent;padding:0;text-align:left;width:100%;font-size:14px;line-height:1.35;font-weight:550;letter-spacing:-.25px;min-height:38px;display:block}.unit-line{font-size:10px;color:var(--muted);margin:5px 0 13px;min-height:15px}.card-features{display:flex;flex-wrap:wrap;gap:4px 9px;min-height:27px;font-size:8px;color:#7e8975;align-items:flex-start}.card-features span:before{content:'✓';margin-right:4px;color:#7f9565}.card-bottom{border-top:1px solid #edf0e6;display:flex;align-items:center;justify-content:space-between;gap:4px;padding:13px 0 15px;margin-top:5px}.price{font-size:19px;letter-spacing:-.6px;font-weight:550;white-space:nowrap}.currency{font-size:9px;font-weight:400;letter-spacing:0;margin-right:3px}.per{font-size:9px;font-weight:400;color:#909887;letter-spacing:0}.view-link{font-size:9px;border:0;background:none;padding:8px 0 8px 5px;white-space:nowrap}.price-issue{font-size:10px;color:#8b6b3b;line-height:1.5}.price-issue strong{display:block;font-size:15px;font-weight:500}.active-filters{display:flex;gap:7px;flex-wrap:wrap}.active-filters:empty{display:none}.active-filters button{margin-bottom:17px;border:1px solid #d9dfcf;background:#edf0e5;font-size:10px;padding:4px 8px;border-radius:3px}.source-note{font-size:9px;color:#8b9382;line-height:1.8;margin:29px 0 0;max-width:650px}.empty-state{text-align:center;padding:70px 20px;border:1px dashed var(--line);border-radius:8px}.empty-state>span{font-size:45px;color:#9aab86}.empty-state h3{font-size:20px;font-weight:450}.empty-state p{color:var(--muted);font-size:12px}.primary-button{border:0;background:var(--ink);color:white;border-radius:4px;padding:12px 18px;font-size:12px}.empty-state[hidden]{display:none}footer{padding:34px 5%;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:25px;color:#7b8573;font-size:9px}.footer-brand{font-size:20px;letter-spacing:-.8px;color:var(--ink);font-weight:600}.footer-brand span{display:block;font-size:9px;font-weight:400;letter-spacing:0;margin-top:5px}footer>a:last-child{text-decoration:underline;text-underline-offset:4px}dialog{border:0;padding:0;width:min(1080px,94vw);max-height:92dvh;border-radius:10px;background:var(--bg);color:var(--ink);box-shadow:0 30px 100px #12251444}dialog::backdrop{background:#172219ad;backdrop-filter:blur(3px)}.close-dialog{position:absolute;right:13px;top:13px;z-index:10;width:36px;height:36px;border-radius:50%;border:1px solid #dce0d6;background:#fff;font-size:25px;line-height:1}.detail-layout{display:grid;grid-template-columns:1.35fr 1fr}.detail-gallery{background:#e6e9e0;min-width:0;padding:20px;display:flex;flex-direction:column;justify-content:center}.gallery-stage{position:relative;display:grid;place-items:center;min-height:350px;height:56vh;max-height:590px;background:#dfe3d8;border-radius:5px;overflow:hidden}.gallery-stage img{width:100%;height:100%;position:absolute;object-fit:contain}.gallery-stage .photo-placeholder{position:absolute}.gallery-arrow{z-index:2;position:absolute;top:50%;transform:translateY(-50%);width:34px;height:42px;background:#ffffffdd;border:0;border-radius:4px;font-size:22px}.gallery-arrow.prev{left:8px}.gallery-arrow.next{right:8px}.gallery-counter{margin:11px 0;font-size:10px;color:#6d7965;display:flex;justify-content:space-between}.thumbnails{display:flex;gap:7px;overflow-x:auto;padding-bottom:5px}.thumb{padding:0;flex:0 0 57px;width:57px;height:45px;overflow:hidden;background:#cdd4c3;border:2px solid transparent;border-radius:3px}.thumb.selected{border-color:#405a37}.thumb img{height:100%;width:100%;object-fit:cover}.detail-info{padding:49px 30px 25px;overflow-y:auto;max-height:92dvh}.detail-district{font-size:10px;letter-spacing:1px;color:#7b8b6c;text-transform:uppercase;margin:0 0 12px}.detail-info h2{font-size:25px;line-height:1.25;letter-spacing:-.8px;font-weight:500;margin:0 0 12px}.detail-address{font-size:11px;color:#8b9581;margin-bottom:22px}.detail-info .price{font-size:29px}.detail-info .per{font-size:11px}.details-rule{height:1px;background:var(--line);margin:23px 0}.detail-info h3{font-size:11px;font-weight:600;margin:0 0 14px}.services{list-style:none;margin:0;padding:0;font-size:11px;line-height:1.75}.services li{position:relative;padding-left:18px;margin-bottom:10px;color:#707e66}.services li:before{content:'✓';position:absolute;left:0;color:#758e5c}.detail-actions{display:flex;gap:8px;margin-top:25px;flex-wrap:wrap}.detail-actions a{flex:1;text-align:center;white-space:nowrap}.secondary-button{border:1px solid #cfd8c4;background:transparent;border-radius:4px;padding:12px;font-size:11px}.detail-footnote{font-size:9px;color:#8c947f;line-height:1.8;margin-top:18px}.media-note{font-size:10px;line-height:1.6;padding:10px;background:#edf0e5;border-radius:4px;color:#768266;margin-top:14px}.media-source{font-size:10px;text-decoration:underline;text-underline-offset:3px}.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,15px);background:var(--ink);color:white;padding:11px 20px;border-radius:5px;font-size:12px;opacity:0;pointer-events:none;transition:.2s;z-index:100}.toast.show{opacity:1;transform:translate(-50%,0)}.load-error{padding:30px;background:#eee9dc;border-radius:7px;font-size:13px}
@media(min-width:1600px){.site-header,footer{padding-left:max(5%,calc((100% - 1440px)/2));padding-right:max(5%,calc((100% - 1440px)/2))}}
@media(max-width:1150px){.workspace{grid-template-columns:190px 1fr;gap:25px}.filters{padding-right:20px}.property-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.intro{padding-top:42px}.photo-button{aspect-ratio:1.5}.brand{font-size:22px}.site-header{height:86px}.detail-layout{grid-template-columns:1.1fr 1fr}.detail-info{padding-left:22px;padding-right:22px}}
@media(max-width:740px){.site-header{height:78px;padding:0 5%;gap:12px}.brand{font-size:20px;gap:7px}.brand svg{width:29px}.brand-caption{font-size:6px;letter-spacing:1.7px;margin-top:5px}.top-nav{gap:15px}.nav-link{font-size:11px}.nav-link:first-child{display:none}.header-right{gap:12px}.contact-button{display:none}.language{font-size:11px;padding:5px}.intro{padding:31px 0 25px;align-items:start}.eyebrow{font-size:7px;letter-spacing:1.3px;margin-bottom:12px}h1{font-size:43px;letter-spacing:-2.1px}.intro-note{margin-top:4px;font-size:11px;max-width:130px}.intro-note p{font-size:10px;line-height:1.8;margin-bottom:12px}.update{font-size:7px;gap:5px;line-height:1.5}.status-dot{flex-shrink:0}.search-bar{padding:13px 13px;gap:10px;margin-bottom:24px}.search-bar input{font-size:11px}.search-bar svg{width:18px}#search-note{display:none}.filter-toggle{display:flex;gap:9px;align-items:center;background:none;border:0;border-left:1px solid var(--line);padding:2px 0 2px 12px;font-size:10px;white-space:nowrap}.filter-toggle span{font-size:17px}.workspace{display:block;padding-bottom:35px}.filters{display:none;border:1px solid var(--line);border-radius:6px;padding:20px;background:#fff;margin-bottom:25px}.filters.open{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.filter-title{grid-column:1/-1;margin-bottom:22px}.filter-title h2{font-size:14px}.region-list{gap:0}.region-option{font-size:10px;padding-left:0;padding-right:5px}.filter-group{margin-bottom:20px}.filter-group>label{font-size:8px}.check-option{font-size:10px}.sidebar-note{display:none}.results-toolbar{margin-bottom:18px;gap:10px}.results-toolbar h2{font-size:17px}.results-toolbar p{font-size:9px}.sort-wrap>span{display:none}.sort-wrap select{font-size:9px;max-width:113px}.property-grid{gap:17px 11px}.photo-button{aspect-ratio:1.1}.district-tag{left:8px;top:8px;font-size:7px;padding:3px 6px}.heart{right:8px;top:8px;width:26px;height:26px}.heart svg{width:13px;height:13px}.photo-count{font-size:7px;bottom:7px;right:7px;padding:2px 5px}.card-body{padding:12px 11px 0}.card-type{font-size:7px;letter-spacing:.6px}.title-button{font-size:12px;min-height:33px}.unit-line{font-size:8px;margin-bottom:10px;min-height:12px}.card-features{font-size:7px;min-height:28px;gap:3px 7px}.card-bottom{align-items:flex-start;flex-direction:column;gap:2px;padding:10px 0 8px}.price{font-size:18px}.currency{font-size:8px}.per{font-size:8px}.view-link{font-size:8px;padding:2px 0;min-height:23px}.source-note{font-size:8px;margin-top:20px}footer{flex-wrap:wrap;padding-top:25px;gap:12px}footer p{order:3;width:100%;font-size:8px}.footer-brand{font-size:18px}.footer-brand span{font-size:8px}dialog{width:100%;max-height:100dvh;height:100dvh;border-radius:0;margin:0}.detail-layout{display:block}.detail-gallery{padding:12px;padding-top:55px}.gallery-stage{min-height:260px;height:42dvh;max-height:500px}.detail-info{padding:25px 23px;max-height:none;overflow:visible}.detail-info h2{font-size:25px}.detail-actions{position:static}.detail-info .price{font-size:27px}.services{font-size:12px}.detail-footnote{font-size:10px}.close-dialog{position:fixed;top:10px;right:12px}.thumb{width:52px;flex-basis:52px;height:41px}.gallery-counter{font-size:9px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}.property-card:hover{transform:none}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
[hidden]{display:none!important}.contact-note{font-size:11px;color:#7b8571;flex-basis:100%;line-height:1.6;margin:0 0 4px}
.heart[aria-pressed=true] svg{fill:currentColor}
.cropped-photo{display:block;width:100%;height:100%;overflow:hidden}.photo-button>.cropped-photo{position:absolute;inset:0}.gallery-photo{position:absolute;inset:0}.thumb>.cropped-photo{width:100%;height:100%}.crop-note{font-size:9px;color:#7b8571;margin:12px 0 0;line-height:1.6}
@media(max-width:740px){.intro{display:block}.intro h1{font-size:36px;letter-spacing:-1.4px}.intro h1 span{white-space:nowrap}.intro-note{max-width:none;display:flex;justify-content:space-between;align-items:flex-end;text-align:left;margin-top:15px;padding:0}.intro-note p{margin:0;font-size:10px}.update{max-width:130px;text-align:right;justify-content:flex-end;font-size:8px}}












@media(max-width:740px){.nav-link:first-child{display:block}.brand{font-size:18px}.brand svg{width:26px}.top-nav{gap:12px}.site-header{gap:9px}.nav-link{font-size:10px}.brand-caption{letter-spacing:1.5px}}

/* Minimal customer-facing listing and enquiry details. */
.listing-reference{font-size:10px;letter-spacing:1px;color:#7c8973;margin:0 0 8px}.card-body{padding:17px 16px 0}.title-button{font-size:15px;line-height:1.5;min-height:45px}.card-bottom{align-items:center;gap:10px;margin-top:14px;padding:15px 0 17px}.price-wrap{min-width:0}.price-label{display:block;color:#89947d;font-size:9px;margin:0 0 4px}.price{font-size:20px}.price-pending{font-size:15px}.enquiry-button{display:inline-flex;gap:9px;align-items:center;justify-content:center;background:var(--green);color:#fff;border-radius:5px;padding:10px 12px;font-size:10px;min-height:40px}.detail-reference{font-size:11px;letter-spacing:.7px;color:#7d8973;margin:0 0 23px}.detail-info .price-label{font-size:10px}.detail-info .detail-footnote{margin-top:12px}.enquiry-intro{font-size:11px;color:#7a866f;line-height:1.8;margin:0 0 12px}.enquiry-text{display:block;width:100%;resize:vertical;min-height:170px;border:1px solid #d9dfd0;border-radius:5px;padding:12px;background:#fff;color:#53634c;font-family:inherit;font-size:11px;line-height:1.8;overflow-wrap:anywhere}.enquiry-text:focus-visible{outline:2px solid #638443;outline-offset:2px}.detail-actions{gap:9px;margin-top:15px}.detail-actions button{min-height:44px}.detail-actions .primary-button{flex:1;min-width:140px;text-align:center}.contact-note{margin:14px 0 0;font-size:10px;color:#87917d}.copy-help{font-size:11px;line-height:1.7;color:#577449;margin:13px 0 0}.detail-info h3{font-size:13px;margin-bottom:10px}.detail-info{padding-bottom:35px}footer p{margin:0}.sidebar-note p{color:#7f8b75}
@media(max-width:1150px){.enquiry-button{padding:10px}.card-bottom{gap:8px}.price{font-size:19px}}
@media(max-width:740px){.listing-reference{font-size:9px;margin-bottom:6px}.card-body{padding:13px 11px 0}.title-button{font-size:13px;min-height:40px}.card-bottom{align-items:stretch;gap:12px;padding:12px 0;margin-top:10px}.card-bottom .price{font-size:19px}.enquiry-button{width:100%;font-size:10px;min-height:40px;padding:10px}.price-label{font-size:8px}.detail-info{padding-top:25px}.detail-info .price{font-size:27px}.detail-reference{font-size:11px}.enquiry-text{font-size:12px;min-height:190px}.detail-actions{flex-wrap:wrap}.detail-actions .primary-button{min-width:150px}.detail-footnote{font-size:10px}.contact-note{font-size:11px}}

/* Keep accommodation and bathroom facts separate; unknown is never shared. */
.accommodation-tags{display:flex;align-items:center;flex-wrap:wrap;gap:5px;margin:11px 0 0;font-size:9px;line-height:1.5}.accommodation-tags span{display:inline-block;padding:4px 7px;background:#edf1e6;border:1px solid #e3e9da;border-radius:4px;color:#637654}.accommodation-tags .bathroom-tag{background:#e6eee1;color:#45613a;border-color:#d8e3cf}.accommodation-tags .unconfirmed{background:#f4f1e8;color:#8b7c5a;border-color:#e9e1cf}.detail-accommodation{margin:0 0 17px;font-size:10px}.detail-accommodation span{padding:5px 9px}.enquiry-text{min-height:195px}
@media(max-width:740px){.accommodation-tags{font-size:8px;gap:4px;margin-top:9px}.accommodation-tags span{padding:4px 6px}.detail-accommodation{font-size:10px;margin:0 0 17px}.enquiry-text{min-height:220px}}

.photo-reference-note{position:absolute;left:12px;bottom:10px;max-width:calc(100% - 65px);padding:4px 7px;border-radius:3px;background:#fffdf1ed;color:#526547;font-size:9px;line-height:1.5;pointer-events:none}.gallery-photo-note{font-size:11px;color:#637456;line-height:1.6;margin:0 0 11px}
@media(max-width:740px){.photo-reference-note{left:8px;bottom:7px;padding:3px 5px;font-size:8px;max-width:calc(100% - 45px)}.gallery-photo-note{font-size:10px;margin-bottom:9px}}

.rate-basis-note{display:block;font-size:9px;line-height:1.6;color:#87917c;margin-top:5px;letter-spacing:0;white-space:normal}.detail-info .rate-basis-note{font-size:10px;margin-top:7px}
@media(max-width:740px){.rate-basis-note{font-size:8px}.detail-info .rate-basis-note{font-size:10px}}

.management-fee{display:block;font-size:9px;line-height:1.6;color:#687c59;margin-top:5px;letter-spacing:0;white-space:normal}.management-fee.fee-pending{color:#95815a}.detail-info .management-fee{font-size:11px;margin-top:8px}
@media(max-width:740px){.management-fee{font-size:8px}.detail-info .management-fee{font-size:11px}}
