:root{--mint: #B2FCE4;--mint-deep: #8FE9CC;--mint-soft: #E6FDF5;--mint-pale: #F4FEFA;--ink: #0A2540;--ink-soft: #3D4E66;--ink-muted: #6B7A8F;--line: #E3E8EE;--line-soft: #F2F5F8;--white: #FFFFFF;--bg: #FAFBFC;--accent: #0B5D3B;--accent-hot: #FF5A5F;--gold: #F7C948;--shadow-sm: 0 1px 2px rgba(10, 37, 64, .06);--shadow-md: 0 4px 16px rgba(10, 37, 64, .08);--shadow-lg: 0 12px 40px rgba(10, 37, 64, .12);--radius: 12px;--radius-lg: 20px;--font-display: "Fraunces", Georgia, serif;--font-body: "Inter Tight", -apple-system, sans-serif}*{box-sizing:border-box;margin:0;padding:0}html,body{font-family:var(--font-body);color:var(--ink);background:var(--bg);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer;border:none;background:none}img{max-width:100%;display:block}input,select,textarea{font-family:inherit;font-size:inherit}.nav{background:var(--white);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:100}.nav-inner{max-width:1280px;margin:0 auto;padding:16px 24px;display:flex;align-items:center;justify-content:space-between}.logo{font-family:var(--font-display);font-size:26px;font-weight:700;letter-spacing:-.02em;color:var(--ink);display:flex;align-items:center;gap:8px}.logo-mark{width:32px;height:32px;background:var(--mint);border-radius:8px;display:grid;place-items:center;font-size:18px}.nav-links{display:flex;gap:32px;align-items:center}.nav-link{font-weight:500;font-size:15px;color:var(--ink-soft);transition:color .15s}.nav-link:hover{color:var(--ink)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;border-radius:999px;font-weight:600;font-size:14px;transition:transform .15s,box-shadow .15s,background .15s;white-space:nowrap}.btn-primary{background:var(--mint);color:var(--accent)}.btn-primary:hover{background:var(--mint-deep);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-dark{background:var(--ink);color:var(--white)}.btn-dark:hover{background:#1a3556;transform:translateY(-1px)}.btn-ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}.btn-ghost:hover{border-color:var(--ink)}.hero{background:linear-gradient(135deg,var(--mint-soft) 0%,var(--mint) 100%);padding:72px 24px 96px;position:relative;overflow:hidden}.hero:before{content:"";position:absolute;top:-100px;right:-100px;width:400px;height:400px;background:radial-gradient(circle,rgba(255,255,255,.6),transparent 70%);border-radius:50%;pointer-events:none}.hero-inner{max-width:1100px;margin:0 auto;text-align:center;position:relative}.eyebrow{display:inline-block;padding:6px 14px;background:#0b5d3b1f;color:var(--accent);border-radius:999px;font-size:13px;font-weight:600;margin-bottom:20px;letter-spacing:.02em}.hero-title{font-family:var(--font-display);font-size:clamp(40px,6vw,68px);font-weight:600;line-height:1.05;letter-spacing:-.03em;color:var(--ink);margin-bottom:20px}.hero-title em{font-style:italic;color:var(--accent);font-weight:500}.hero-sub{font-size:18px;color:var(--ink-soft);max-width:620px;margin:0 auto 36px;line-height:1.5}.search-bar{background:var(--white);border-radius:20px;padding:10px;max-width:780px;margin:0 auto;display:flex;gap:6px;box-shadow:var(--shadow-lg);align-items:center}.search-tabs{display:flex;gap:4px;margin-bottom:12px;justify-content:center}.search-tab{padding:8px 18px;border-radius:999px;font-weight:600;font-size:14px;color:var(--ink-soft);transition:all .15s}.search-tab.active{background:var(--ink);color:var(--white)}.search-input-group{flex:1;padding:10px 16px;display:flex;align-items:center;gap:8px;min-width:0}.search-input-group input,.search-input-group select{border:none;outline:none;background:transparent;width:100%;font-size:15px;color:var(--ink)}.search-input-group label{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-muted);font-weight:600;display:block;margin-bottom:2px}.search-divider{width:1px;background:var(--line);height:36px;align-self:center}.search-btn{background:var(--ink);color:var(--white);width:48px;height:48px;border-radius:14px;display:grid;place-items:center;flex-shrink:0;transition:background .15s,transform .15s}.search-btn:hover{background:#1a3556;transform:scale(1.05)}.stat-strip{display:flex;justify-content:center;gap:48px;margin-top:40px;flex-wrap:wrap}.stat{text-align:center}.stat-num{font-family:var(--font-display);font-size:28px;font-weight:700;color:var(--ink)}.stat-lbl{font-size:13px;color:var(--ink-soft);font-weight:500}.section{max-width:1280px;margin:0 auto;padding:64px 24px}.section-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:32px;gap:24px;flex-wrap:wrap}.section-title{font-family:var(--font-display);font-size:36px;font-weight:600;letter-spacing:-.02em;color:var(--ink)}.section-sub{color:var(--ink-soft);font-size:16px;margin-top:6px}.filter-bar{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:16px;margin-bottom:28px;display:flex;gap:12px;flex-wrap:wrap;align-items:center}.filter-bar select,.filter-bar input{padding:10px 14px;border:1px solid var(--line);border-radius:10px;font-size:14px;background:var(--white);color:var(--ink);outline:none;min-width:140px}.filter-bar select:focus,.filter-bar input:focus{border-color:var(--mint-deep);box-shadow:0 0 0 3px var(--mint-soft)}.filter-count{margin-left:auto;color:var(--ink-muted);font-size:14px;font-weight:500}.property-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px}.property-card{background:var(--white);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm);transition:transform .2s,box-shadow .2s;border:1px solid var(--line);cursor:pointer;display:flex;flex-direction:column}.property-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.property-image{position:relative;aspect-ratio:4 / 3;overflow:hidden;background:var(--line-soft)}.property-image img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.property-card:hover .property-image img{transform:scale(1.05)}.property-badge{position:absolute;top:14px;left:14px;background:var(--mint);color:var(--accent);padding:6px 12px;border-radius:999px;font-size:12px;font-weight:700;letter-spacing:.02em;display:flex;align-items:center;gap:4px}.property-save{position:absolute;top:14px;right:14px;width:36px;height:36px;background:var(--white);border-radius:50%;display:grid;place-items:center;box-shadow:var(--shadow-sm);transition:transform .15s}.property-save:hover{transform:scale(1.1)}.property-body{padding:20px;flex:1;display:flex;flex-direction:column}.property-price{font-family:var(--font-display);font-size:24px;font-weight:700;color:var(--ink);margin-bottom:4px}.property-price small{font-size:13px;color:var(--ink-muted);font-weight:400;font-family:var(--font-body)}.property-address{font-size:15px;color:var(--ink-soft);margin-bottom:14px;line-height:1.4}.property-meta{display:flex;gap:16px;padding-top:14px;border-top:1px solid var(--line);color:var(--ink-soft);font-size:14px;margin-top:auto}.property-meta-item{display:flex;align-items:center;gap:6px}.detail-wrap{max-width:1180px;margin:0 auto;padding:32px 24px 80px}.back-link{display:inline-flex;align-items:center;gap:6px;color:var(--ink-soft);font-weight:500;margin-bottom:20px;font-size:14px}.back-link:hover{color:var(--ink)}.detail-gallery{border-radius:var(--radius-lg);overflow:hidden;aspect-ratio:16/9;background:var(--line-soft);margin-bottom:32px}.detail-gallery img{width:100%;height:100%;object-fit:cover}.detail-grid{display:grid;grid-template-columns:1fr 380px;gap:48px;align-items:start}@media (max-width: 900px){.detail-grid{grid-template-columns:1fr}}.detail-title{font-family:var(--font-display);font-size:32px;font-weight:600;letter-spacing:-.02em;margin-bottom:8px}.detail-address{font-size:17px;color:var(--ink-soft);margin-bottom:24px}.detail-stats{display:flex;gap:24px;padding:20px;background:var(--mint-pale);border-radius:var(--radius);margin-bottom:32px;flex-wrap:wrap}.detail-stat{display:flex;flex-direction:column;gap:2px}.detail-stat-num{font-family:var(--font-display);font-size:22px;font-weight:700;color:var(--ink)}.detail-stat-lbl{font-size:12px;color:var(--ink-muted);text-transform:uppercase;letter-spacing:.04em}.detail-section{margin-bottom:32px}.detail-section h3{font-family:var(--font-display);font-size:22px;font-weight:600;margin-bottom:12px}.detail-section p{color:var(--ink-soft);line-height:1.6}.signal-list{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.signal-tag{background:var(--mint-soft);color:var(--accent);padding:8px 14px;border-radius:999px;font-size:13px;font-weight:600;display:inline-flex;align-items:center;gap:6px;border:1px solid var(--mint-deep)}.inquiry-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-lg);padding:24px;position:sticky;top:90px;box-shadow:var(--shadow-sm)}.inquiry-card h3{font-family:var(--font-display);font-size:22px;font-weight:600;margin-bottom:6px}.inquiry-card .sub{color:var(--ink-muted);font-size:14px;margin-bottom:20px}.form-field{margin-bottom:14px}.form-field label{display:block;font-size:13px;font-weight:600;color:var(--ink);margin-bottom:6px}.form-field input,.form-field textarea{width:100%;padding:11px 14px;border:1px solid var(--line);border-radius:10px;font-size:14px;outline:none;transition:border-color .15s,box-shadow .15s;background:var(--white)}.form-field input:focus,.form-field textarea:focus{border-color:var(--mint-deep);box-shadow:0 0 0 3px var(--mint-soft)}.form-field textarea{resize:vertical;min-height:90px;font-family:inherit}.btn-block{width:100%;padding:14px;font-size:15px;border-radius:12px}.why-section{background:var(--ink);color:var(--white);padding:80px 24px}.why-inner{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}@media (max-width: 900px){.why-inner{grid-template-columns:1fr;gap:32px}}.why-inner h2{font-family:var(--font-display);font-size:42px;font-weight:600;line-height:1.1;letter-spacing:-.02em;margin-bottom:16px}.why-inner h2 em{font-style:italic;color:var(--mint)}.why-inner p{color:#ffffffbf;font-size:17px;line-height:1.55}.why-features{display:grid;gap:16px}.why-feature{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);padding:20px 24px;border-radius:var(--radius);display:flex;gap:16px;align-items:flex-start}.why-feature-icon{width:44px;height:44px;background:var(--mint);border-radius:12px;display:grid;place-items:center;flex-shrink:0;color:var(--accent);font-size:20px}.why-feature h4{font-size:16px;font-weight:700;margin-bottom:4px;color:var(--white)}.why-feature p{font-size:14px;color:#ffffffb3;margin:0}.footer{background:var(--mint-pale);border-top:1px solid var(--line);padding:48px 24px 32px}.footer-inner{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr 1fr;gap:28px}@media (max-width: 900px){.footer-inner{grid-template-columns:1fr 1fr 1fr}}@media (max-width: 600px){.footer-inner{grid-template-columns:1fr 1fr}}.footer h4{font-size:13px;text-transform:uppercase;letter-spacing:.06em;font-weight:700;margin-bottom:14px;color:var(--ink)}.footer a{display:block;color:var(--ink-soft);font-size:14px;padding:4px 0}.footer a:hover{color:var(--ink)}.footer-bottom{max-width:1280px;margin:40px auto 0;padding-top:24px;border-top:1px solid var(--line);display:flex;justify-content:space-between;color:var(--ink-muted);font-size:13px;flex-wrap:wrap;gap:8px}.skeleton{background:linear-gradient(90deg,var(--line-soft),var(--line),var(--line-soft));background-size:200% 100%;animation:shimmer 1.4s infinite;border-radius:var(--radius)}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.empty-state{text-align:center;padding:64px 24px;color:var(--ink-muted)}.empty-state h3{font-family:var(--font-display);color:var(--ink);font-size:22px;margin-bottom:6px}.toast{position:fixed;bottom:24px;right:24px;background:var(--ink);color:var(--white);padding:14px 20px;border-radius:12px;box-shadow:var(--shadow-lg);z-index:1000;animation:toastIn .3s ease-out;max-width:360px;font-size:14px}@keyframes toastIn{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@media (max-width: 640px){.search-bar{flex-direction:column}.search-divider{display:none}.search-input-group{width:100%}.nav-links .nav-link:not(.btn){display:none}.hero{padding:48px 20px 64px}.section{padding:48px 20px}.section-title{font-size:28px}.detail-title{font-size:26px}}
