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

:root{--ink:#10251f;--ink-soft:#29433a;--gold:#d4b278;--gold-dark:#a47e43;--cream:#f6f3ed;--paper:#fff;--mist:#e8eee9;--muted:#65746e;--line:#d9e0db;--shadow:0 22px 55px rgba(16,37,31,.11);--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--sans);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
.container{width:min(1180px,calc(100% - 40px));margin:0 auto}
.narrow{width:min(780px,calc(100% - 40px))}
.topbar{background:var(--ink);color:#dce7e1;font-size:13px}
.topbar-inner{height:38px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.topbar p{margin:0}
.topbar-inner div{display:flex;gap:24px}
.topbar a:hover{color:var(--gold)}
.nav-wrap{background:rgba(255,255,255,.97);border-bottom:1px solid rgba(16,37,31,.09);position:relative;z-index:20}
.nav-inner{min-height:88px;padding:10px 0;display:flex;align-items:center;gap:28px}
.brand-link{display:flex;align-items:center;margin-right:auto;flex:0 0 auto}
.brand-logo{width:var(--logo-width);height:auto;max-width:none;object-fit:contain;object-position:left center}
.desktop-nav{display:flex;align-items:center;gap:21px;font-size:14px;font-weight:600;white-space:nowrap}
.desktop-nav>a,.nav-dropdown>summary{padding:31px 0;cursor:pointer;list-style:none}
.desktop-nav>a:hover,.nav-dropdown>summary:hover{color:var(--gold-dark)}
.nav-dropdown{position:relative}
.nav-dropdown summary::-webkit-details-marker{display:none}
.nav-dropdown summary::after{content:'⌄';margin-left:6px;color:var(--gold-dark)}
.nav-dropdown div{position:absolute;top:73px;left:-24px;width:180px;padding:10px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);display:grid}
.nav-dropdown div a{padding:10px 12px}
.nav-dropdown div a:hover{background:var(--cream)}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:11px 22px;border:1px solid transparent;font-weight:700;font-size:14px;letter-spacing:.01em;cursor:pointer;transition:.2s ease}
.button:hover{transform:translateY(-1px)}
.button-dark{background:var(--ink);color:#fff}
.button-dark:hover{background:var(--ink-soft)}
.button-gold{background:var(--gold);color:var(--ink)}
.button-gold:hover{background:#e1c08a}
.button-outline{border-color:var(--ink);color:var(--ink);background:transparent}
.button-outline:hover{background:var(--ink);color:#fff}
.button-ghost{border-color:rgba(255,255,255,.55);color:#fff;background:rgba(255,255,255,.04)}
.button-ghost:hover{background:#fff;color:var(--ink)}
.header-cta{min-height:44px;padding:9px 16px;white-space:nowrap}
.mobile-menu{display:none;position:relative}
.mobile-menu summary{width:42px;height:42px;border:1px solid var(--line);display:grid;align-content:center;gap:5px;padding:10px;list-style:none;cursor:pointer}
.mobile-menu summary::-webkit-details-marker{display:none}
.mobile-menu summary span{height:2px;background:var(--ink);display:block}
.mobile-menu nav{position:absolute;top:53px;right:0;width:min(310px,calc(100vw - 40px));background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);padding:10px;display:grid}
.mobile-menu nav a{padding:11px 12px;border-bottom:1px solid #edf0ee;font-weight:600}
.hero{min-height:680px;position:relative;background-image:var(--hero-image);background-size:cover;background-position:center;display:flex;align-items:center;color:#fff}
.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,29,23,.88) 0%,rgba(9,29,23,.6) 48%,rgba(9,29,23,.16) 100%)}
.hero-inner{position:relative;z-index:1;padding:100px 0;max-width:1180px}
.hero-inner h1{font:600 clamp(50px,6.4vw,88px)/1.02 var(--serif);letter-spacing:-.03em;max-width:760px;margin:18px 0 24px}
.hero-inner>p:not(.eyebrow){font-size:19px;line-height:1.7;max-width:620px;color:#e5ece8}
.hero-actions{display:flex;gap:14px;margin-top:34px;flex-wrap:wrap}
.eyebrow{margin:0 0 12px;color:var(--gold-dark);font-size:12px;font-weight:700;letter-spacing:.18em}
.eyebrow.light{color:#efd49f}
.section{padding:100px 0}
.section-heading{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(260px,.65fr);gap:60px;align-items:end;margin-bottom:42px}
.section-heading h2,.content-section h2,.detail-copy h1,.article-header h1{font:600 clamp(36px,4.2vw,58px)/1.13 var(--serif);letter-spacing:-.025em;margin:0}
.section-heading>p{margin:0;color:var(--muted);font-size:17px}
.property-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.property-card{border:1px solid var(--line);background:#fff;transition:.2s ease;min-width:0}
.property-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.property-image-wrap{height:260px;position:relative;overflow:hidden;display:block;background:var(--mist)}
.property-image-wrap img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.property-card:hover .property-image-wrap img{transform:scale(1.035)}
.property-status,.property-note{position:absolute;top:14px;background:var(--ink);color:#fff;padding:6px 10px;font-size:11px;font-weight:700;letter-spacing:.05em}
.property-status{left:14px}.property-note{right:14px;background:var(--gold);color:var(--ink)}
.property-body{padding:22px}
.property-body>p{font-size:12px;letter-spacing:.08em;color:var(--gold-dark);font-weight:700;margin:0 0 9px;text-transform:uppercase}
.property-body h3{font:600 23px/1.25 var(--serif);margin:0 0 17px}
.property-body h3 a:hover{color:var(--gold-dark)}
.property-specs{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:21px}
.property-specs span{background:var(--cream);padding:6px 9px;font-size:12px;color:var(--ink-soft)}
.property-footer{border-top:1px solid var(--line);padding-top:17px;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px}
.property-footer a{color:var(--gold-dark);font-weight:700;white-space:nowrap}
.center-action{text-align:center;margin-top:40px}
.services{background:var(--cream)}
.service-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #dcd8cd}
.service-grid article{padding:35px 27px;border-right:1px solid #dcd8cd}
.service-grid article:last-child{border:0}
.service-grid span{color:var(--gold-dark);font-weight:700;font-size:12px}
.service-grid h3{font:600 25px/1.25 var(--serif);margin:44px 0 12px}
.service-grid p{margin:0;color:var(--muted);font-size:14px}
.text-link{font-weight:700;color:var(--gold-dark);font-size:14px}
.text-link:hover{color:var(--ink)}
.region-section{overflow:hidden}
.region-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.region-card{height:390px;background-image:linear-gradient(0deg,rgba(7,28,21,.86),rgba(7,28,21,.05) 70%),var(--region-image);background-size:cover;background-position:center;display:flex;flex-direction:column;justify-content:flex-end;padding:28px;color:#fff;transition:.25s}
.region-card:hover{transform:translateY(-4px)}
.region-card span{font:600 29px var(--serif)}
.region-card small{color:#dce6e0;margin-top:7px}
.sell-band{background:var(--ink);color:#fff;padding:72px 0}
.sell-band-inner{display:flex;align-items:center;justify-content:space-between;gap:60px}
.sell-band h2{font:600 clamp(34px,4vw,54px)/1.15 var(--serif);margin:0 0 12px}
.sell-band p:not(.eyebrow){color:#cad8d1;margin:0}
.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}
.post-card{border-bottom:1px solid var(--line);padding-bottom:24px}
.post-card>a{display:block;height:225px;overflow:hidden;background:var(--mist);margin-bottom:22px}
.post-card>a img{height:100%;width:100%;object-fit:cover;transition:.3s}
.post-card:hover>a img{transform:scale(1.035)}
.post-card div>p:first-child{font-size:12px;color:var(--muted)}
.post-card div>p:first-child span{color:var(--gold-dark);font-weight:700}
.post-card h2{font:600 25px/1.3 var(--serif);margin:10px 0}
.post-card h2 a:hover{color:var(--gold-dark)}
.post-card h2+p{color:var(--muted);font-size:14px}
.site-footer{background:#0b1b16;color:#c7d2cc;padding:74px 0 22px}
.footer-grid{display:grid;grid-template-columns:1.7fr repeat(3,1fr);gap:62px}
.footer-logo{width:min(var(--logo-width),100%);height:auto;filter:brightness(0) invert(1);opacity:.94;margin-bottom:22px}
.footer-intro p{max-width:360px;color:#93a59d}
.footer-grid h3{color:#fff;font-size:15px;margin:0 0 18px}
.footer-grid>div:not(:first-child){display:flex;flex-direction:column;align-items:flex-start;gap:10px;font-size:14px}
.footer-grid a:hover{color:var(--gold)}
.footer-grid>div>p{margin:0}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1);margin-top:52px;padding-top:22px;display:flex;justify-content:space-between;gap:20px;font-size:12px;color:#7f9189}
.footer-bottom p{margin:0}.footer-bottom div{display:flex;gap:18px}
.whatsapp{position:fixed;right:22px;bottom:22px;z-index:30;background:#1f9d61;color:#fff;border-radius:999px;display:flex;align-items:center;gap:9px;padding:9px 16px 9px 9px;box-shadow:0 12px 30px rgba(10,50,34,.28);font-size:13px}
.whatsapp span{width:32px;height:32px;border-radius:50%;background:#fff;color:#177a4b;display:grid;place-items:center;font-weight:800;font-size:11px}
.page-hero{padding:95px 0 85px;background:var(--cream)}
.page-hero .container{max-width:960px;margin-left:max(20px,calc((100% - 1180px)/2))}
.page-hero h1{font:600 clamp(44px,6vw,72px)/1.1 var(--serif);letter-spacing:-.03em;margin:12px 0 20px;max-width:850px}
.page-hero .container>p:last-child{font-size:18px;color:var(--muted);max-width:760px;margin:0}
.listing-section{padding:58px 0 100px}
.filter-panel{display:grid;grid-template-columns:repeat(3,1fr) auto auto;gap:12px;align-items:end;background:var(--cream);padding:24px;margin-bottom:26px}
.filter-panel label{display:grid;gap:7px}.filter-panel label span{font-size:12px;font-weight:700;color:var(--muted)}
.filter-panel select,.lead-form input,.lead-form textarea{width:100%;height:48px;border:1px solid var(--line);background:#fff;padding:9px 12px;color:var(--ink);border-radius:0}
.filter-clear{height:48px;display:flex;align-items:center;color:var(--gold-dark);font-weight:700;font-size:13px;padding:0 5px}
.listing-count{display:flex;justify-content:space-between;gap:18px;margin:28px 0;color:var(--muted);font-size:14px}
.listing-count strong{color:var(--ink)}
.empty-state{text-align:center;padding:75px 20px;background:var(--cream)}
.empty-state h2{font:600 34px var(--serif)}
.empty-state p{color:var(--muted);margin-bottom:26px}
.content-section{padding:85px 0 110px}
.prose{font-size:18px;color:var(--ink-soft)}
.prose p{margin:0 0 24px}
.value-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:55px}
.value-grid article{padding:25px;background:var(--cream)}
.value-grid h3{font:600 25px var(--serif);margin:0 0 9px}
.value-grid p{font-size:14px;color:var(--muted);margin:0}
.lead-form-wrap{margin-top:65px;background:var(--ink);color:#fff;padding:40px;display:grid;grid-template-columns:.8fr 1.2fr;gap:45px;align-items:start}
.lead-form-wrap>div>p:not(.eyebrow){color:#b9c8c1;font-size:15px}
.lead-form-wrap h2{font:600 35px/1.2 var(--serif);margin:0 0 14px}
.lead-form{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.lead-form label{display:grid;gap:6px}.lead-form label>span{font-size:12px;color:#cfdbd5}
.lead-form textarea{height:auto;resize:vertical}
.lead-form .full{grid-column:1/-1}
.lead-form .consent{display:flex;flex-direction:row;align-items:flex-start;gap:8px}
.lead-form .consent input{margin-top:4px}.lead-form .consent span{font-size:11px}
.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}
.team-card{border:1px solid var(--line)}.team-card img{height:330px;width:100%;object-fit:cover}.team-card>div{padding:25px}
.team-card h2{font:600 28px var(--serif);margin:0 0 10px}.team-card>div>p:last-child{color:var(--muted);font-size:14px}
.region-list{display:grid;gap:35px}
.region-list article{display:grid;grid-template-columns:1fr 1fr;background:var(--cream);min-height:380px}
.region-list article:nth-child(even) img{order:2}
.region-list img{width:100%;height:100%;object-fit:cover;min-height:380px}
.region-list article>div{padding:50px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.region-list h2{font:600 42px var(--serif);margin:0 0 7px}.region-list strong{font-size:15px}.region-list div>p:not(.eyebrow){color:var(--muted)}
.contact-grid{display:grid;grid-template-columns:.65fr 1.35fr;gap:32px;align-items:start}
.contact-card{background:var(--cream);padding:38px;display:flex;flex-direction:column;gap:22px}
.contact-card h2{font-size:38px;margin-bottom:10px}.contact-card a,.contact-card>div{display:grid;gap:3px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.contact-card small{color:var(--muted)}.contact-card strong{font-size:15px}
.contact-grid .lead-form-wrap{margin:0;display:block}.contact-grid .lead-form-wrap>div{margin-bottom:25px}
.detail-section{padding:75px 0 105px}
.detail-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:60px;align-items:start}
.detail-image{position:relative}.detail-image img{width:100%;height:620px;object-fit:cover}.detail-image span{position:absolute;left:18px;top:18px;background:var(--ink);color:#fff;padding:7px 12px;font-size:12px;font-weight:700}
.detail-copy{padding-top:22px}.detail-copy h1{font-size:52px}.detail-copy h2{font:600 25px/1.35 var(--serif)}.detail-copy .location{color:var(--gold-dark);font-weight:700}
.listing-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:10px}.listing-gallery a{height:125px;background:var(--mist);overflow:hidden}.listing-gallery img{width:100%;height:100%;object-fit:cover;transition:.2s}.listing-gallery a:hover img{transform:scale(1.04)}
.detail-address{color:var(--muted);font-size:14px}.detail-specs{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);margin:28px 0}
.detail-specs div{padding:14px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-width:0}.detail-specs small{display:block;color:var(--muted);font-size:11px}.detail-specs strong{font-size:13px;overflow-wrap:anywhere}
.detail-copy .prose{font-size:16px}.feature-list{background:var(--cream);padding:22px;margin-top:25px}.feature-list h2{font:600 23px var(--serif);margin:0 0 12px}.feature-list ul{display:grid;grid-template-columns:1fr 1fr;gap:7px 20px;margin:0;padding-left:18px}.feature-list li{font-size:13px}.detail-price{display:block;font-size:18px;margin:25px 0 15px}.detail-actions{display:flex;gap:9px;flex-wrap:wrap}.back-link{display:block;margin-top:22px}
.article-header{padding:85px 0 50px;background:var(--cream)}.article-header h1{font-size:60px;margin:12px 0 20px}.article-header p:last-child{color:var(--muted);font-size:18px}
.article-image{height:520px;width:100%;object-fit:cover;margin-top:55px}.article-body{padding:50px 0 100px}
.not-found{padding:140px 0;text-align:center;background:var(--cream);min-height:58vh}.not-found h1{font:600 56px var(--serif);margin:10px}.not-found p:not(.eyebrow){color:var(--muted);margin-bottom:25px}

@media (max-width:1080px){.desktop-nav{gap:13px;font-size:13px}.header-cta{display:none}.property-grid{grid-template-columns:repeat(2,1fr)}.service-grid{grid-template-columns:repeat(2,1fr)}.service-grid article:nth-child(2){border-right:0}.service-grid article:nth-child(-n+2){border-bottom:1px solid #dcd8cd}.region-grid{grid-template-columns:repeat(2,1fr)}.region-card{height:340px}.footer-grid{grid-template-columns:1.5fr repeat(2,1fr)}.footer-grid>div:last-child{grid-column:2/4}.detail-grid{gap:35px}.detail-image img{height:540px}}
@media (max-width:820px){.topbar{display:none}.nav-inner{min-height:74px;padding:8px 0}.desktop-nav,.header-cta{display:none}.mobile-menu{display:block}.brand-logo{width:var(--logo-mobile-width)}.hero{min-height:610px}.hero-inner{padding:80px 0}.hero-inner h1{font-size:52px}.section{padding:72px 0}.section-heading{grid-template-columns:1fr;gap:17px}.property-grid{grid-template-columns:1fr 1fr}.property-image-wrap{height:220px}.service-grid{grid-template-columns:1fr}.service-grid article{border-right:0;border-bottom:1px solid #dcd8cd!important}.service-grid article:last-child{border:0!important}.service-grid h3{margin-top:20px}.post-grid{grid-template-columns:1fr}.post-card{display:grid;grid-template-columns:.7fr 1.3fr;gap:22px}.post-card>a{height:210px;margin:0}.footer-grid{grid-template-columns:1fr 1fr}.footer-intro{grid-column:1/-1}.footer-grid>div:last-child{grid-column:auto}.page-hero{padding:70px 0}.filter-panel{grid-template-columns:1fr 1fr}.filter-panel .button{align-self:end}.detail-grid{grid-template-columns:1fr}.detail-image img{height:500px}.contact-grid{grid-template-columns:1fr}.lead-form-wrap{grid-template-columns:1fr}.team-grid{grid-template-columns:1fr 1fr}.region-list article{grid-template-columns:1fr}.region-list article:nth-child(even) img{order:0}.region-list img{height:330px;min-height:0}.article-header h1{font-size:48px}}
@media (max-width:560px){.container,.narrow{width:min(100% - 28px,1180px)}.hero{min-height:570px}.hero-inner h1{font-size:43px}.hero-inner>p:not(.eyebrow){font-size:16px}.hero-actions{display:grid}.section{padding:58px 0}.section-heading h2,.content-section h2{font-size:37px}.property-grid,.region-grid,.team-grid{grid-template-columns:1fr}.property-image-wrap{height:250px}.region-card{height:320px}.sell-band-inner{align-items:flex-start;flex-direction:column;gap:25px}.post-card{display:block}.post-card>a{height:225px;margin-bottom:18px}.footer-grid{grid-template-columns:1fr;gap:35px}.footer-grid>div:last-child,.footer-intro{grid-column:auto}.footer-bottom{display:block}.footer-bottom div{margin-top:10px}.whatsapp strong{display:none}.whatsapp{padding-right:9px}.page-hero h1{font-size:43px}.page-hero{padding:58px 0}.filter-panel{grid-template-columns:1fr;padding:18px}.filter-clear{justify-content:center}.listing-count{display:grid}.property-body{padding:19px}.lead-form-wrap{padding:27px 20px}.lead-form{grid-template-columns:1fr}.lead-form label.full{grid-column:auto}.value-grid{grid-template-columns:1fr}.region-list article>div{padding:30px 23px}.region-list img{height:260px}.contact-card{padding:28px 22px}.detail-section{padding-top:28px}.detail-image img{height:330px}.listing-gallery a{height:90px}.detail-specs{grid-template-columns:1fr 1fr}.feature-list ul{grid-template-columns:1fr}.detail-copy h1{font-size:40px}.article-header h1{font-size:41px}.article-image{height:280px;margin-top:28px}.not-found h1{font-size:42px}}
