.ns-page{max-width:var(--container-max,1200px);margin:0 auto;padding:var(--space-12) var(--space-6) var(--space-24)}.ns-hero{margin-bottom:var(--space-10)}.ns-hero h1{font-family:var(--font-display);font-size:var(--text-4xl);font-weight:600;color:var(--text-primary);margin:0 0 var(--space-3)}.ns-hero-subtitle{color:var(--text-muted);font-size:var(--text-lg);margin:0}.ns-pagecontent{max-width:72ch;margin:0 0 var(--space-10);color:var(--text-muted);font-size:var(--text-base);line-height:1.7}.ns-pagecontent p{margin:0 0 var(--space-4)}.ns-pagecontent p:last-child{margin-bottom:0}.ns-filters{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-6);margin-bottom:var(--space-10)}.ns-filters-row{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.ns-search{flex:1;min-width:200px}.ns-search-input{width:100%;background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);color:var(--text-primary);font-size:var(--text-base);font-family:var(--font-body);transition:border-color var(--duration-fast) ease,box-shadow var(--duration-fast) ease}.ns-search-input:focus{outline:none;border-color:var(--border-focus);box-shadow:0 0 0 3px rgba(45,98,255,.1)}.ns-search-input::placeholder{color:var(--text-muted)}.ns-select{background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);color:var(--text-primary);font-size:var(--text-base);font-family:var(--font-body);cursor:pointer;transition:border-color var(--duration-fast) ease;min-width:140px}.ns-select:focus{outline:none;border-color:var(--border-focus)}.ns-clear-btn{background:none;border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);color:var(--text-muted);font-size:var(--text-base);font-family:var(--font-body);cursor:pointer;transition:all var(--duration-fast) ease;white-space:nowrap}.ns-clear-btn:hover{color:var(--text-primary);border-color:var(--border-hover)}.ns-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-8)}.ns-results{scroll-margin-top:calc(3rem + var(--space-6))}.ns-result-count{margin:0 0 var(--space-6);font-family:var(--font-body);font-size:var(--text-sm);color:var(--text-muted)}.ns-card{display:block;color:inherit;text-decoration:none;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-base);overflow:hidden;transition:border-color var(--duration-fast) ease,box-shadow var(--duration-fast) ease}.ns-card:hover{border-color:var(--border-hover);box-shadow:var(--shadow-sm)}.ns-img-wrap{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--bg-surface)}.ns-img{width:100%;height:100%;object-fit:cover}.ns-status{position:absolute;top:var(--space-3);left:var(--space-3);z-index:1;display:inline-block;font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;padding:var(--space-2) var(--space-4);border-radius:var(--radius-pill);line-height:1.3;box-shadow:var(--shadow-sm)}.ns-status.is-sold{background:#3a3a36;color:#faf9f7}.ns-status.is-in-contract{background:#fef3cd;color:#856404}.ns-status.is-active{background:#e6f4ea;color:#1e7e34}.ns-status.is-off-market{background:var(--bg-elevated);color:var(--text-muted)}.ns-body{padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-2)}.ns-name{font-family:var(--font-heading);font-size:var(--text-lg);font-weight:400;color:var(--text-primary);margin:0;line-height:1.3}.ns-neighborhood{font-size:var(--text-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.ns-price{font-family:var(--font-heading);font-size:var(--text-2xl);font-weight:400;color:var(--text-primary)}.ns-price,.ns-stats{margin-top:var(--space-1)}.ns-stats{display:flex;gap:var(--space-4);font-size:var(--text-sm)}.ns-empty,.ns-stats{color:var(--text-muted)}.ns-empty{text-align:center;padding:var(--space-16) var(--space-6);font-size:var(--text-lg)}@media (max-width:1024px) and (min-width:769px){.ns-grid{grid-template-columns:repeat(2,1fr);gap:var(--space-6)}}@media (max-width:768px){.ns-page{padding:var(--space-8) var(--space-5) var(--space-16)}.ns-hero h1{font-size:var(--text-2xl)}.ns-filters{padding:var(--space-4)}.ns-filters-row{flex-direction:column;align-items:stretch}.ns-search{min-width:0}.ns-grid{grid-template-columns:1fr;gap:var(--space-5)}}