*{margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root{--bg:#f4f1ec;--surface:#fff;--surface-2:#faf8f5;--text:#1a1a1a;--text-muted:#5c5c5c;--border:#e5dfd6;--primary:#1b4332;--primary-light:#2d6a4f;--accent:#bc6c25;--accent-light:#dda15e;--vacant:#2d6a4f;--vacant-bg:#d8f3dc;--construction:#bc6c25;--construction-bg:#fef3e2;--occupied:#6c757d;--occupied-bg:#e9ecef;--whatsapp:#25d366;--whatsapp-dark:#128c7e;--shadow:0 2px 12px #1b433214;--shadow-lg:0 8px 32px #1b43321f;--radius:12px;--radius-sm:8px;color:var(--text);background:var(--bg);font-family:Segoe UI,system-ui,-apple-system,sans-serif;line-height:1.5}*,:before,:after{box-sizing:border-box}body{min-height:100vh;margin:0}#root{min-height:100vh}.app{flex-direction:column;min-height:100vh;display:flex}.header{background:linear-gradient(135deg, var(--primary) 0%, var(--primary-light) 100%);color:#fff;padding:1.25rem 1.5rem}.header-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;max-width:1200px;margin:0 auto;display:flex}.brand{color:inherit;align-items:center;gap:.875rem;text-decoration:none;display:flex}.brand-name{color:#fff;font-size:1.35rem;font-weight:700;display:block}.brand h1,.brand p{margin:0}.brand p{opacity:.85;color:#fff;font-size:.875rem}.header-nav{gap:.25rem;display:flex}.nav-link{color:#ffffffd9;border-radius:var(--radius-sm);padding:.35rem .75rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:background .2s}.nav-link:hover,.nav-link.active{color:#fff;background:#ffffff26}.brand-mark{color:#fff;background:#ffffff26;border:2px solid #ffffff4d;border-radius:10px;flex-shrink:0;place-items:center;width:48px;height:48px;font-size:1.5rem;font-weight:700;display:grid}.header-actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.header-link{color:#fff;opacity:.9;font-size:.9rem;text-decoration:none}.header-whatsapp{background:var(--whatsapp);color:#fff;border-radius:var(--radius-sm);padding:.5rem 1rem;font-size:.875rem;font-weight:600;text-decoration:none;transition:background .2s}.header-whatsapp:hover{background:var(--whatsapp-dark)}.stats-bar{z-index:1;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.75rem;max-width:1200px;margin:-1rem auto 0;padding:0 1.5rem;display:grid;position:relative}.stat{background:var(--surface);border-radius:var(--radius);text-align:center;box-shadow:var(--shadow);border:1px solid var(--border);padding:1rem}.stat-value{color:var(--primary);font-size:1.75rem;font-weight:700;line-height:1.2;display:block}.stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.75rem}.stat-vacant .stat-value{color:var(--vacant)}.stat-construction .stat-value{color:var(--construction)}.stat-occupied .stat-value{color:var(--occupied)}.main{flex:1;width:100%;max-width:1200px;margin:0 auto;padding:1.5rem}.filter-bar{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:1.5rem;padding:1.25rem}.filter-row{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:.875rem;display:flex}.filter-row:last-child{margin-bottom:0}.search-box{flex:1;min-width:220px;position:relative}.search-icon{width:18px;height:18px;color:var(--text-muted);pointer-events:none;position:absolute;top:50%;left:.75rem;transform:translateY(-50%)}.search-box input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);width:100%;padding:.625rem .75rem .625rem 2.5rem;font-size:.9rem}.search-box input:focus{outline:2px solid var(--primary-light);outline-offset:-1px}.toggle-vacant{cursor:pointer;white-space:nowrap;align-items:center;gap:.5rem;font-size:.875rem;font-weight:500;display:flex}.filter-controls select{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);cursor:pointer;padding:.5rem .75rem;font-size:.875rem}.reset-btn{border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;color:var(--text-muted);background:0 0;padding:.5rem 1rem;font-size:.875rem}.reset-btn:hover{background:var(--surface-2);color:var(--text)}.sqft-range{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.sqft-range label{color:var(--text-muted);flex-direction:column;gap:.25rem;font-size:.8rem;display:flex}.sqft-range input[type=range]{width:100%;accent-color:var(--primary)}.result-count{color:var(--text-muted);margin:.75rem 0 0;font-size:.875rem}.status-badge{text-transform:uppercase;letter-spacing:.03em;border-radius:999px;padding:.2rem .6rem;font-size:.75rem;font-weight:600;display:inline-block}.status-badge.size-sm{padding:.15rem .5rem;font-size:.65rem}.status-vacant{background:var(--vacant-bg);color:var(--vacant)}.status-under_construction{background:var(--construction-bg);color:var(--construction)}.status-occupied{background:var(--occupied-bg);color:var(--occupied)}.property-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.25rem;display:grid}.property-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:.625rem;padding:1.25rem;transition:box-shadow .2s,transform .2s;display:flex}.card-link{color:inherit;flex-direction:column;flex:1;gap:.625rem;text-decoration:none;display:flex}.property-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.card-top{justify-content:space-between;align-items:center;display:flex}.card-type{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.75rem}.property-card h3{color:var(--primary);margin:0;font-size:1.05rem;line-height:1.3}.card-location{color:var(--text-muted);align-items:center;gap:.35rem;margin:0;font-size:.85rem;display:flex}.card-location svg{flex-shrink:0;width:14px;height:14px}.card-details{color:var(--text-muted);flex-wrap:wrap;gap:.5rem;font-size:.8rem;display:flex}.card-details span{background:var(--surface-2);border-radius:4px;padding:.2rem .5rem}.card-pricing{align-items:baseline;gap:.75rem;display:flex}.card-pricing .rent{color:var(--primary);font-size:1.1rem;font-weight:700}.card-pricing .price{color:var(--accent);font-size:.875rem;font-weight:600}.card-tags{flex-wrap:wrap;gap:.35rem;display:flex}.tag{background:var(--primary);color:#fff;opacity:.85;border-radius:4px;padding:.15rem .5rem;font-size:.7rem}.card-actions{gap:.5rem;margin-top:auto;padding-top:.5rem;display:flex}.view-btn{border:1px solid var(--primary);color:var(--primary);border-radius:var(--radius-sm);cursor:pointer;text-align:center;background:0 0;flex:1;justify-content:center;align-items:center;padding:.5rem;font-size:.85rem;font-weight:600;text-decoration:none;transition:background .2s;display:inline-flex}.view-btn:hover{background:var(--primary);color:#fff}.whatsapp-btn{border-radius:var(--radius-sm);white-space:nowrap;justify-content:center;align-items:center;gap:.4rem;padding:.5rem 1rem;font-size:.85rem;font-weight:600;text-decoration:none;transition:background .2s,color .2s;display:inline-flex}.whatsapp-btn.variant-primary{background:var(--whatsapp);color:#fff}.whatsapp-btn.variant-primary:hover{background:var(--whatsapp-dark)}.whatsapp-btn.variant-outline{color:var(--whatsapp-dark);border:1px solid var(--whatsapp);background:0 0}.whatsapp-btn.variant-outline:hover{background:var(--whatsapp);color:#fff}.whatsapp-icon{width:16px;height:16px}.card-actions .whatsapp-btn{flex:1}.modal-overlay{z-index:100;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000080;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal{background:var(--surface);border-radius:var(--radius);width:100%;max-width:640px;max-height:90vh;box-shadow:var(--shadow-lg);position:relative;overflow-y:auto}.modal-close{background:var(--surface-2);cursor:pointer;width:32px;height:32px;color:var(--text-muted);z-index:1;border:none;border-radius:50%;place-items:center;font-size:1.25rem;display:grid;position:absolute;top:.75rem;right:.75rem}.modal-close:hover{background:var(--border);color:var(--text)}.modal-header{border-bottom:1px solid var(--border);padding:1.5rem 1.5rem 1rem}.modal-header>div:first-child{align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.modal-type{color:var(--text-muted);font-size:.8rem}.modal-header h2{color:var(--primary);margin:0 0 .25rem;font-size:1.35rem}.modal-location{color:var(--text-muted);margin:0;font-size:.9rem}.modal-landmark{color:var(--accent);margin:.25rem 0 0;font-size:.85rem}.modal-body{padding:1.25rem 1.5rem}.detail-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.75rem;margin-bottom:1.25rem;display:grid}.detail-item{background:var(--surface-2);border-radius:var(--radius-sm);padding:.625rem .75rem}.detail-item.highlight{background:var(--vacant-bg)}.detail-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:.15rem;font-size:.7rem;display:block}.detail-value{font-size:.95rem;font-weight:600}.detail-section{margin-bottom:1.25rem}.detail-section h3{color:var(--primary);margin:0 0 .5rem;font-size:.95rem}.detail-section p{color:var(--text-muted);margin:0;font-size:.9rem;line-height:1.6}.amenity-list{flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.amenity-list li{background:var(--surface-2);border-radius:999px;padding:.3rem .75rem;font-size:.8rem}.building-summary{font-weight:600;color:var(--primary)!important;margin-bottom:.75rem!important}.floor-breakdown{flex-direction:column;gap:.75rem;display:flex}.floor-group h4{color:var(--text-muted);margin:0 0 .35rem;font-size:.85rem}.floor-group ul{margin:0;padding:0;list-style:none}.unit-row{border-bottom:1px solid var(--border);grid-template-columns:1fr auto auto;align-items:center;gap:.75rem;padding:.4rem 0;font-size:.85rem;display:grid}.property-map-section{margin-bottom:0}.property-map{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);box-shadow:var(--shadow);overflow:hidden}.property-map iframe{border:0;width:100%;height:240px;display:block}.maps-external-link{color:var(--text-muted);margin-top:.5rem;font-size:.8rem;text-decoration:none;transition:color .2s;display:inline-block}.maps-external-link:hover{color:var(--primary-light)}.modal-footer{border-top:1px solid var(--border);flex-direction:column;gap:.75rem;padding:1rem 1.5rem 1.5rem;display:flex}.enquiry-note{color:var(--text-muted);text-align:center;margin:0;font-size:.875rem}.empty-state{text-align:center;background:var(--surface);border-radius:var(--radius);border:1px dashed var(--border);padding:3rem 1rem}.empty-state h2{color:var(--primary);margin:0 0 .5rem}.empty-state p{color:var(--text-muted);margin:0 0 1rem}.empty-state button{background:var(--primary);color:#fff;border-radius:var(--radius-sm);cursor:pointer;border:none;padding:.625rem 1.25rem;font-weight:600}.footer{background:var(--primary);color:#ffffffd9;text-align:center;margin-top:auto;padding:1.25rem;font-size:.85rem}.footer p{margin:.25rem 0}.footer a{color:#fff;text-decoration:none}.footer a:hover{text-decoration:underline}.footer-credit{opacity:.75;font-size:.8rem}@media (width<=640px){.header-inner{flex-direction:column;align-items:flex-start}.header-nav{order:3;width:100%}.stats-bar{grid-template-columns:repeat(2,1fr)}.sqft-range{grid-template-columns:1fr}.card-actions{flex-direction:column}.hero-inner h1{font-size:1.75rem}.type-grid{grid-template-columns:1fr}}.hero{background:linear-gradient(135deg, var(--primary) 0%, var(--primary-light) 100%);color:#fff;padding:3rem 1.5rem}.hero-inner{max-width:1200px;margin:0 auto}.hero-inner h1{margin:0 0 1rem;font-size:2.25rem;font-weight:700;line-height:1.2}.hero-subtitle{opacity:.9;margin-top:.5rem;font-size:1.1rem;font-weight:500;display:block}.hero-text{opacity:.92;max-width:640px;margin:0 0 1.5rem;font-size:1.05rem;line-height:1.65}.hero-actions{flex-wrap:wrap;gap:.75rem;display:flex}.btn{border-radius:var(--radius-sm);align-items:center;padding:.625rem 1.25rem;font-size:.9rem;font-weight:600;text-decoration:none;transition:background .2s,color .2s;display:inline-flex}.btn-primary{color:var(--primary);background:#fff}.btn-primary:hover{background:var(--surface-2)}.btn-outline{color:#fff;border:1px solid #fff9}.btn-outline:hover{background:#ffffff1f}.home-section{margin-bottom:2.5rem}.section-header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:1rem;display:flex}.section-header h2,.home-section>h2{color:var(--primary);margin:0 0 .75rem;font-size:1.35rem}.section-link{color:var(--accent);font-size:.9rem;font-weight:600;text-decoration:none}.section-link:hover{text-decoration:underline}.section-intro{color:var(--text-muted);max-width:640px;margin:0 0 1rem}.area-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.area-grid a{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--primary);text-align:center;padding:.75rem 1rem;font-weight:600;text-decoration:none;transition:box-shadow .2s,border-color .2s;display:block}.area-grid a:hover{box-shadow:var(--shadow);border-color:var(--primary-light)}.type-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem;display:grid}.type-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:inherit;padding:1.25rem;text-decoration:none;transition:box-shadow .2s,transform .2s}.type-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.type-card h3{color:var(--primary);margin:0 0 .35rem;font-size:1rem}.type-card p{color:var(--text-muted);margin:0;font-size:.85rem;line-height:1.5}.faq-list{margin:0}.faq-item{border-bottom:1px solid var(--border);padding:1rem 0}.faq-item dt{color:var(--text);margin-bottom:.35rem;font-weight:600}.faq-item dd{color:var(--text-muted);margin:0;line-height:1.6}.page-header{margin-bottom:1.25rem}.page-header h1{color:var(--primary);margin:0 0 .35rem;font-size:1.5rem}.page-header p{color:var(--text-muted);margin:0;font-size:.9rem}.property-page-wrap{max-width:720px}.breadcrumb{color:var(--text-muted);margin-bottom:1.25rem;font-size:.85rem}.breadcrumb a{color:var(--primary-light);text-decoration:none}.breadcrumb a:hover{text-decoration:underline}.property-page{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.detail-header{border-bottom:1px solid var(--border);padding:1.5rem 1.5rem 1rem}.detail-title{color:var(--primary);margin:.5rem 0 .25rem;font-size:1.5rem;line-height:1.3}.detail-body{padding:1.25rem 1.5rem}.detail-footer{border-top:1px solid var(--border);flex-direction:column;gap:.75rem;padding:1rem 1.5rem 1.5rem;display:flex}.property-page .detail-section h2{color:var(--primary);margin:0 0 .5rem;font-size:.95rem}.property-page .floor-group h3{color:var(--text-muted);margin:0 0 .35rem;font-size:.85rem}
