@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Playfair+Display:wght@500;600&display=swap');

:root{--ink:#1d1c1a;--muted:#77736c;--cream:#f4f1eb;--line:#ddd8cf;--white:#fff}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font-family:"DM Sans",Arial,sans-serif}a{text-decoration:none;color:inherit}
.site-header{height:82px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(0,0,0,.08);background:#fff;position:sticky;top:0;z-index:20}
.logo,.footer-brand{font-size:20px;letter-spacing:5px;font-weight:600}.logo span,.footer-brand span{font-weight:400}.nav{display:flex;gap:34px;font-size:14px}.nav a:hover,.header-cta:hover,.text-link:hover{opacity:.6}.header-cta{border-bottom:1px solid var(--ink);padding-bottom:4px;font-size:14px}.menu-toggle{display:none;background:none;border:0;font-size:25px}
.hero{min-height:76vh;position:relative;display:flex;align-items:flex-end;padding:9vw 7vw;background:url("https://images.unsplash.com/photo-1600607687920-4e2a09cf159d?auto=format&fit=crop&w=2000&q=85") center/cover}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.55),rgba(0,0,0,.08))}.hero-content{position:relative;color:#fff;max-width:720px}.eyebrow{font-size:11px;letter-spacing:2.5px;font-weight:600;margin:0 0 18px}.hero h1{font-family:"Playfair Display",serif;font-size:clamp(45px,6vw,82px);line-height:1.02;font-weight:500;margin:0 0 22px}.hero-copy{max-width:500px;line-height:1.7;margin-bottom:30px}.button{display:inline-block;border:0;padding:15px 25px;cursor:pointer;font:600 12px "DM Sans";letter-spacing:1px;text-transform:uppercase}.button-light{background:#fff;color:var(--ink)}.button-dark{background:var(--ink);color:#fff}
.section{padding:100px 7vw}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:35px}.section-heading h2,.split-copy h2,.contact-section h2{font:500 clamp(38px,5vw,62px)/1.08 "Playfair Display",serif;margin:0}.section-intro{max-width:390px;line-height:1.7;color:var(--muted);margin:0}.filters{display:flex;gap:10px;margin-bottom:30px}.filter{border:1px solid var(--line);background:#fff;padding:10px 18px;cursor:pointer;font:500 12px "DM Sans";text-transform:uppercase;letter-spacing:1px}.filter.active{background:var(--ink);color:#fff;border-color:var(--ink)}.property-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:55px 25px}.property-image{height:440px;background-position:center;background-size:cover;position:relative}.image-one{background-image:url("https://images.unsplash.com/photo-1600607688969-a5bfcd646154?auto=format&fit=crop&w=1200&q=80")}.image-two{background-image:url("https://images.unsplash.com/photo-1600585154340-be6161a56a0c?auto=format&fit=crop&w=1200&q=80")}.image-three{background-image:url("https://images.unsplash.com/photo-1600047509807-ba8f99d2cdde?auto=format&fit=crop&w=1200&q=80")}.image-four{background-image:url("https://images.unsplash.com/photo-1600566753086-00f18fb6b3ea?auto=format&fit=crop&w=1200&q=80")}.image-five{background-image:url("https://images.unsplash.com/photo-1600566753190-17f0baa2a6c3?auto=format&fit=crop&w=1200&q=80")}.image-six{background-image:url("https://images.unsplash.com/photo-1600607687939-ce8a6c25118c?auto=format&fit=crop&w=1200&q=80")}.badge{position:absolute;top:18px;left:18px;background:#fff;padding:8px 12px;font-size:10px;letter-spacing:1.2px;text-transform:uppercase}.badge.sold{background:var(--ink);color:#fff}.property-info{display:flex;justify-content:space-between;gap:20px;padding-top:17px}.property-info h3{font:500 27px "Playfair Display";margin:3px 0 6px}.property-info p{color:var(--muted);margin:0;font-size:13px}.property-type{font-size:9px!important;letter-spacing:1.5px;color:#999!important}.property-info strong{font-size:14px;white-space:nowrap;padding-top:3px}
.split-section{display:grid;grid-template-columns:1.05fr .95fr;background:var(--cream)}.split-image{min-height:650px;background:url("https://images.unsplash.com/photo-1600607687920-4e2a09cf159d?auto=format&fit=crop&w=1400&q=80") center/cover}.split-copy{padding:9vw;display:flex;flex-direction:column;justify-content:center}.split-copy p:not(.eyebrow){color:var(--muted);line-height:1.8;max-width:500px;margin:28px 0}.text-link{font-size:13px;font-weight:600;letter-spacing:1px}
.centered{text-align:center;display:block}.location-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.location-card{min-height:230px;padding:25px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between;transition:.25s}.location-card:hover{background:var(--cream)}.location-card span{font-size:11px;color:var(--muted)}.location-card h3{font:500 28px "Playfair Display";margin:0}
.contact-section{padding:100px 7vw;background:#20201e;color:#fff;display:grid;grid-template-columns:1fr 1fr;gap:70px}.contact-form{max-width:520px}.contact-form label{display:block;font-size:11px;letter-spacing:1px;text-transform:uppercase;margin-bottom:22px}.contact-form input,.contact-form textarea{display:block;width:100%;border:0;border-bottom:1px solid #666;background:transparent;color:#fff;padding:12px 0;font:16px "DM Sans";outline:none}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#aaa}.contact-form .button{margin-top:5px}.form-message{font-size:13px;margin-top:15px}
footer{padding:35px 7vw;display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:11px;color:var(--muted);border-top:1px solid var(--line)}footer p{margin:0}footer a{text-decoration:underline}
@media(max-width:800px){.site-header{height:70px}.nav,.header-cta{display:none}.menu-toggle{display:block}.nav.open{display:flex;position:absolute;top:70px;left:0;right:0;background:#fff;padding:25px;flex-direction:column;gap:20px;border-bottom:1px solid var(--line)}.hero{min-height:75vh;padding:12vw 7vw}.section{padding:70px 6vw}.section-heading{display:block}.section-intro{margin-top:20px}.property-grid{grid-template-columns:1fr;gap:45px}.property-image{height:370px}.split-section{grid-template-columns:1fr}.split-image{min-height:400px}.location-grid{grid-template-columns:1fr 1fr}.contact-section{grid-template-columns:1fr;padding:70px 6vw;gap:35px}footer{flex-direction:column;align-items:flex-start}}
