:root{--green:#174f3d;--green2:#0d3528;--cream:#f7f5ee;--paper:#fff;--gold:#d3a34c;--text:#173d32;--muted:#65756e;--line:#dfe6df;--shadow:0 18px 50px rgba(19,61,48,.11)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.5}button,input,select{font:inherit}a{text-decoration:none;color:inherit}
.header{height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;background:#fff;position:sticky;top:0;z-index:20;border-bottom:1px solid #edf0eb}.brand{display:flex;align-items:center;gap:9px}.brand .logo{width:52px;height:52px}.brand b,.brand strong,.brand small{display:block;line-height:1}.brand b{font-size:14px}.brand strong{font-size:18px}.brand small{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:5px}.header nav{display:flex;gap:26px;font-size:14px;font-weight:700}.header nav a:hover{color:#2d8b54}.nav-toggle{display:none;background:none;border:0;font-size:24px}
.hero{min-height:590px;position:relative;display:flex;align-items:center;overflow:hidden;color:#fff;background:linear-gradient(120deg,#235c48,#6f9470 55%,#b7c9b0)}.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 77% 28%,rgba(255,255,255,.38),transparent 27%),linear-gradient(90deg,rgba(7,44,33,.76),rgba(7,44,33,.12))}.hero:after{content:"🐕";position:absolute;font-size:235px;right:8%;bottom:-17px;filter:drop-shadow(0 18px 18px rgba(0,0,0,.18));opacity:.9}.hero-inner{position:relative;z-index:2;width:min(1120px,90%);margin:auto;padding:75px 0}.eyebrow{text-transform:uppercase;letter-spacing:.17em;font-size:11px;font-weight:850;color:#b88c3d;margin:0 0 12px}.hero .eyebrow{color:#e5c879}.hero h1{font-size:clamp(46px,6.4vw,78px);line-height:.97;letter-spacing:-.055em;margin:0 0 22px;max-width:800px}.hero h1 em{font-family:Georgia,serif;font-weight:400;color:#e6c879}.lead{font-size:18px;max-width:610px;color:#eef5f0;margin:0 0 30px}.searchbox{display:flex;align-items:center;gap:8px;background:#fff;border-radius:15px;padding:8px 9px 8px 17px;max-width:800px;box-shadow:var(--shadow)}.searchbox span{font-size:28px;color:var(--green)}.searchbox input{border:0;outline:0;flex:1;min-width:0;padding:12px;font-size:16px;color:var(--text)}.searchbox button,.button{border:0;border-radius:10px;padding:13px 17px;background:var(--gold);color:#19362c;font-weight:800;cursor:pointer}.filters{display:flex;gap:9px;flex-wrap:wrap;margin-top:13px}.filters button{border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.09);color:#fff;border-radius:100px;padding:8px 13px;cursor:pointer}.filters button:hover{background:rgba(255,255,255,.18)}
.section{width:min(1120px,90%);margin:auto;padding:82px 0}.heading-row{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:30px}.heading-row h2,.map-section h2,.cta h2,.coming h2{font-size:42px;line-height:1.03;letter-spacing:-.045em;margin:0}.heading-row>p{max-width:450px;color:var(--muted);margin:0}.areas{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.area{border:1px solid var(--line);background:#fff;border-radius:18px;padding:20px;text-align:left;cursor:pointer;transition:.18s;box-shadow:0 5px 18px rgba(20,52,43,.04);color:var(--text)}.area:hover,.area.active{border-color:#9dbda6;transform:translateY(-2px)}.area span{display:block;font-size:28px;margin-bottom:12px}.area b,.area small{display:block}.area b{font-size:15px}.area small{font-size:12px;color:var(--muted);margin-top:3px}.area.disabled{opacity:.55;cursor:not-allowed}.ad-slot{height:92px;width:min(1120px,90%);margin:0 auto;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:#9aa59f;font-size:10px;text-transform:uppercase;letter-spacing:.16em}
.selects{display:flex;gap:8px}.selects select{border:1px solid var(--line);background:#fff;border-radius:10px;padding:10px 13px;color:var(--text)}.result-count{color:var(--muted);font-size:13px;margin:-13px 0 18px}.listing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.card{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:0 8px 24px rgba(20,52,43,.05);display:flex;flex-direction:column}.card-top{height:155px;background:linear-gradient(135deg,#dbe8d9,#9eb89b);position:relative;display:flex;align-items:center;justify-content:center;font-size:66px}.badge{position:absolute;left:13px;top:13px;background:#2e9651;color:#fff;border-radius:100px;padding:5px 9px;font-size:11px;font-weight:800}.card-body{padding:18px;display:flex;flex-direction:column;flex:1}.card h3{margin:0 0 4px;font-size:19px;line-height:1.15}.meta{color:var(--muted);font-size:12px}.rating{color:#a87517;font-weight:800;font-size:13px;margin-top:9px}.chips{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}.chip{background:#edf3ed;border-radius:100px;padding:5px 8px;font-size:11px}.price{font-weight:800;margin-top:auto}.card-actions{display:flex;gap:8px;margin-top:14px}.card-actions a{flex:1;text-align:center;padding:10px;border-radius:9px;border:1px solid #a6c1ad;font-size:12px;font-weight:800}.card-actions a:first-child{background:#217d43;color:#fff;border-color:#217d43}.empty{text-align:center;padding:50px;background:#fff;border:1px dashed #ccd8ce;border-radius:16px}.hidden{display:none}
.map-section{width:100%;background:#e7efe6;display:grid;grid-template-columns:1fr 1fr;min-height:420px}.map-copy{padding:75px 7vw}.map-copy p:not(.eyebrow){color:var(--muted);max-width:440px}.map-search{display:flex;max-width:520px;background:#fff;border-radius:11px;padding:5px;margin:22px 0 10px}.map-search input{border:0;outline:0;flex:1;padding:12px}.map-search button{border:0;border-radius:8px;background:var(--green);color:#fff;padding:11px 14px;font-weight:800;cursor:pointer}.map-copy small{color:#75817b}.map-art{position:relative;overflow:hidden;background:#d5e3d0}.coast{position:absolute;inset:-10% -10% -10% 10%;background:#bdd5b7;clip-path:polygon(57% 0,100% 0,100% 100%,34% 100%,42% 78%,27% 63%,43% 48%,29% 34%,45% 20%)}.road{position:absolute;height:4px;background:#fff;opacity:.9;border-radius:5px;transform-origin:left center}.r1{width:95%;top:53%;left:2%;transform:rotate(-10deg)}.r2{width:70%;top:26%;left:21%;transform:rotate(58deg)}.r3{width:70%;top:73%;left:18%;transform:rotate(-55deg)}.map-pin{position:absolute;font-size:25px;filter:drop-shadow(0 4px 4px rgba(0,0,0,.15))}.p1{left:67%;top:42%}.p2{left:48%;top:23%}.p3{left:52%;top:64%}.p4{left:77%;top:18%}.ml{position:absolute;background:#fff;padding:5px 8px;border-radius:6px;font-size:11px;box-shadow:0 4px 10px rgba(0,0,0,.08)}.m1{left:72%;top:49%}.m2{left:45%;top:29%}.m3{left:45%;top:70%}.m4{left:78%;top:25%}
.feature-strip{background:#f0f5ed;border-top:1px solid #d9e4d8;border-bottom:1px solid #d9e4d8;display:grid;grid-template-columns:repeat(4,1fr);padding:30px 7vw}.feature-strip div{padding:4px 25px;border-right:1px solid #d4ded4}.feature-strip div:last-child{border:0}.feature-strip span{font-size:25px;color:#227644;display:block}.feature-strip b,.feature-strip small{display:block}.feature-strip small{font-size:12px;color:var(--muted);margin-top:3px}.cta{background:var(--green);color:#fff;padding:65px 7vw;display:flex;align-items:center;justify-content:space-between;gap:30px}.cta h2{max-width:650px}.cta p:not(.eyebrow){color:#d4e2dc;max-width:650px}.button.light{background:#d6aa55}.coming-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:28px}.coming-grid article{background:#fff;border:1px solid var(--line);border-radius:17px;padding:26px}.coming-grid span{font-size:30px}.coming-grid h3{margin:15px 0 5px}.coming-grid p{margin:0;color:var(--muted);font-size:14px}
footer{background:#0d3528;color:#dce8e1;padding:55px 7vw 22px}.footer-main{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:35px}.footer-brand{display:flex;gap:10px;align-items:center}.footer-brand img{width:56px}.footer-brand b,.footer-brand strong,.footer-brand small{display:block;line-height:1}.footer-brand strong{font-size:18px}.footer-brand small{font-size:9px;letter-spacing:.15em;text-transform:uppercase;margin-top:5px;color:#9bb2a7}.footer-main h4{color:#fff;margin:0 0 13px}.footer-main a,.footer-main span{display:block;color:#afc3ba;font-size:13px;margin:8px 0}.footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:40px;padding-top:18px;display:flex;justify-content:space-between;gap:20px;color:#91a79e;font-size:11px}
@media(max-width:850px){.header nav{display:none}.nav-toggle{display:block}.hero:after{right:-80px;opacity:.35}.areas{grid-template-columns:repeat(2,1fr)}.listing-grid{grid-template-columns:1fr 1fr}.heading-row{align-items:start;flex-direction:column}.selects{width:100%}.selects select{flex:1}.map-section{grid-template-columns:1fr}.map-art{height:330px}.feature-strip{grid-template-columns:1fr 1fr}.feature-strip div:nth-child(2){border-right:0}.feature-strip div{margin:10px 0}.footer-main{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.header{height:70px}.brand .logo{width:45px;height:45px}.hero{min-height:620px}.hero-inner{padding:55px 0}.searchbox{flex-wrap:wrap}.searchbox input{width:calc(100% - 45px);flex:auto}.searchbox button{width:100%}.listing-grid,.coming-grid{grid-template-columns:1fr}.areas{grid-template-columns:1fr 1fr}.area:last-child{display:none}.heading-row h2,.map-section h2,.cta h2,.coming h2{font-size:34px}.cta{flex-direction:column;align-items:flex-start}.footer-main{grid-template-columns:1fr}.footer-bottom{flex-direction:column}.feature-strip{grid-template-columns:1fr}.feature-strip div{border-right:0;border-bottom:1px solid #d4ded4!important;padding-bottom:15px}.feature-strip div:last-child{border-bottom:0!important}}

.detail-hero{padding-bottom:35px}.lead.dark{color:var(--muted);max-width:720px;font-size:18px}.detail-grid{display:grid;grid-template-columns:1.4fr .8fr;gap:30px;margin-top:35px;background:#fff;border:1px solid var(--line);border-radius:20px;padding:30px}.detail-grid h2{margin-top:0}.detail-actions{display:flex;flex-direction:column;gap:10px;justify-content:center}.button.secondary{background:#fff;border:1px solid #9dbda6}.info-box{background:#fff;border:1px solid var(--line);border-radius:18px;padding:28px;max-width:760px}.info-box h3{margin-top:0}.card h3 a:hover{color:#217d43}@media(max-width:700px){.detail-grid{grid-template-columns:1fr}.detail-actions{align-items:stretch}}
