:root{--bg: #f7f8fa;--surface: #ffffff;--ink: #1c2430;--ink-soft: #5b6675;--accent: #2f6f4f;--accent-dark: #245540;--rent: #2f6f4f;--sale: #2563a8;--border: #e6e9ee;--shadow: 0 1px 3px rgba(20, 30, 45, .08), 0 6px 20px rgba(20, 30, 45, .06);--radius: 14px;--maxw: 1180px}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--ink);line-height:1.5;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}.app-shell{display:flex;flex-direction:column;min-height:100vh}.main-content{flex:1;width:100%}.navbar{background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:20}.navbar-inner{max-width:var(--maxw);margin:0 auto;padding:0 20px;height:64px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.brand{font-size:1.2rem;font-weight:700;letter-spacing:-.01em;display:inline-flex;align-items:center;gap:8px}.brand-mark{color:var(--accent)}.nav-links{display:flex;gap:6px}.nav-link{padding:8px 14px;border-radius:999px;font-weight:500;color:var(--ink-soft);transition:background .15s,color .15s}.nav-link:hover{background:var(--bg);color:var(--ink)}.nav-link.active{background:var(--accent);color:#fff}.hero{background:linear-gradient(135deg,#234b3a,#2f6f4f 60%,#3c8a63);color:#fff}.hero-content{max-width:var(--maxw);margin:0 auto;padding:72px 20px}.hero-content h1{font-size:clamp(2rem,5vw,3.2rem);margin:0 0 14px;letter-spacing:-.02em}.hero-content p{max-width:560px;font-size:1.05rem;color:#ffffffe6;margin:0 0 28px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.btn{display:inline-block;padding:12px 22px;border-radius:999px;font-weight:600;cursor:pointer;transition:transform .1s,background .15s,opacity .15s}.btn:active{transform:translateY(1px)}.btn-primary{background:#fff;color:var(--accent-dark)}.btn-primary:hover{opacity:.92}.btn-ghost{background:#ffffff1f;color:#fff;border:1px solid rgba(255,255,255,.4)}.btn-ghost:hover{background:#fff3}.section{max-width:var(--maxw);margin:0 auto;padding:48px 20px}.section-head{margin-bottom:24px}.section-head h2{font-size:1.6rem;margin:0 0 4px;letter-spacing:-.01em}.section-head p{margin:0;color:var(--ink-soft)}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:22px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column;transition:transform .12s,box-shadow .12s}.card:hover{transform:translateY(-3px);box-shadow:0 4px 10px #141e2d1a,0 14px 36px #141e2d1f}.card-media{position:relative;aspect-ratio:4 / 3;background:#eef1f5}.card-media img{width:100%;height:100%;object-fit:cover;display:block}.card-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;text-align:center;padding:16px;background:repeating-linear-gradient(45deg,#eef1f5,#eef1f5 12px,#e7ebf1 12px,#e7ebf1 24px);color:var(--ink-soft);font-weight:600}.badge{position:absolute;top:12px;padding:4px 10px;border-radius:999px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#fff}.badge-sale{left:12px;background:var(--sale)}.badge-rent{left:12px;background:var(--rent)}.badge-featured{right:12px;background:#d68a1e}.card-body{padding:16px 18px 18px;display:flex;flex-direction:column;gap:6px}.card-title{font-size:1.1rem;margin:0;letter-spacing:-.01em}.card-location{margin:0;color:var(--ink-soft);font-size:.9rem}.card-price{margin:6px 0 0;font-size:1.25rem;font-weight:700;color:var(--accent-dark)}.per-month{font-size:.85rem;font-weight:500;color:var(--ink-soft)}.card-specs{list-style:none;display:flex;gap:14px;padding:12px 0 0;margin:8px 0 0;border-top:1px solid var(--border);color:var(--ink-soft);font-size:.88rem}.empty-state{color:var(--ink-soft);padding:40px 0;text-align:center}.footer{background:var(--surface);border-top:1px solid var(--border);margin-top:24px}.footer-inner{max-width:var(--maxw);margin:0 auto;padding:22px 20px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;color:var(--ink-soft);font-size:.88rem}.footer-muted{opacity:.8}@media (max-width: 520px){.hero-content{padding:52px 20px}.navbar-inner{height:auto;padding:12px 20px}}
