[hidden]{display:none!important}
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;600;700;800&display=swap');
:root{--green:#294b3b;--green2:#456b54;--cream:#f4f2e9;--paper:#fbfaf6;--gold:#c5a66a;--ink:#1f2b24;--muted:#707a72;--line:#e3e4dc}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}.site-header{height:82px;padding:0 6.5%;display:flex;align-items:center;justify-content:space-between;background:var(--paper);position:sticky;top:0;z-index:10;border-bottom:1px solid #e9e9e2}.brand{display:flex;align-items:center;gap:11px;font:800 15px Manrope,sans-serif;letter-spacing:1.2px;color:var(--green)}.brand b{font-weight:500}.brand small{display:block;font:600 8px "DM Sans";letter-spacing:2px;color:#899187;margin-top:4px}.brand-mark{height:39px;width:39px;border:1px solid var(--gold);display:grid;place-items:center;border-radius:50%;font:700 21px Georgia;color:var(--gold)}nav{display:flex;align-items:center;gap:32px;font-size:12px;font-weight:600;color:#59645c}nav a:hover{color:var(--green2)}.nav-cta{background:var(--green);color:white;padding:13px 19px;border-radius:3px}.menu-toggle{display:none;background:none;border:0;font-size:24px;color:var(--green)}
.hero{padding:65px 6.5% 38px;display:grid;grid-template-columns:.88fr 1.12fr;gap:5%;align-items:center;position:relative}.hero-copy{padding:28px 0 50px}.eyebrow,.section-kicker{font-size:9px;letter-spacing:2px;font-weight:700;color:var(--green2)}.eyebrow i{display:inline-block;width:7px;height:7px;background:var(--gold);border-radius:50%;margin-right:8px}.hero h1,.intro h2,.section-heading h2,.location h2,.contact h2{font:700 clamp(38px,5vw,66px)/1.12 Manrope,sans-serif;letter-spacing:-2.5px;margin:22px 0}.hero h1 em,.intro h2 em,.location h2 em,.contact h2 em{font-style:normal;color:var(--green2)}.hero-copy>p,.intro-grid p,.location-copy>p,.contact p{font-size:14px;line-height:1.9;color:var(--muted);max-width:480px}.hero-actions{display:flex;gap:12px;margin-top:30px}.button{padding:15px 21px;display:inline-flex;gap:25px;align-items:center;font-size:12px;font-weight:700;border-radius:3px}.button-primary{background:var(--green);color:white}.button-quiet{border:1px solid var(--line);color:var(--green)}.hero-note{display:flex;align-items:center;gap:12px;margin-top:46px}.note-icon{width:38px;height:38px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;color:var(--green);font-size:20px}.hero-note b,.hero-note small{display:block}.hero-note b{font-size:11px}.hero-note small{font-size:10px;color:var(--muted);margin-top:4px}.hero-photo{height:520px;position:relative;overflow:hidden;background:#e5e5dc}.hero-photo>img{width:100%;height:100%;object-fit:cover}.photo-label{position:absolute;left:0;bottom:0;background:var(--paper);padding:18px 24px;min-width:220px}.photo-label span,.photo-label b{display:block}.photo-label span{font-size:8px;letter-spacing:2px;color:var(--green2)}.photo-label b{font:700 15px Manrope;margin-top:6px}.photo-index{position:absolute;right:18px;top:18px;background:#fff;color:var(--green);padding:9px 12px;font-size:10px;font-weight:700}.photo-index span{color:var(--gold);padding:0 5px}.hero-bottom{grid-column:1/-1;border-top:1px solid var(--line);padding-top:20px;font-size:8px;letter-spacing:3px;color:#899187}
.promo-strip{background:var(--green);color:white;padding:38px 8%;display:grid;grid-template-columns:1.5fr 1fr 1.2fr;gap:25px;align-items:center}.light{color:#d5c49e}.promo-strip h2{font:600 21px Manrope;margin:9px 0 0}.promo-item{border-left:1px solid #ffffff35;padding-left:25px}.promo-item small,.promo-item strong{display:block}.promo-item small{font-size:10px;color:#d4dfd5}.promo-item strong{font:700 30px Manrope;margin-top:5px}.promo-item strong i{font:500 12px "DM Sans"}.promo-footnote{grid-column:2/-1;font-size:9px;color:#c5d1c7;margin:0}
.section{padding:100px 8%}.intro{background:var(--cream)}.intro-grid{display:grid;grid-template-columns:1fr .8fr;gap:10%;align-items:end}.intro h2,.section-heading h2,.location h2{font-size:clamp(34px,4vw,49px);margin-bottom:0}.intro-grid p{margin-bottom:22px}.text-link{font-size:11px;font-weight:700;color:var(--green);border-bottom:1px solid var(--gold);padding-bottom:8px}.homes{background:var(--paper)}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:35px}.section-heading>p{max-width:260px;font-size:11px;line-height:1.8;color:var(--muted)}.gallery{display:grid;grid-template-columns:1.5fr 1fr 1fr;grid-template-rows:190px 190px;gap:10px}.gallery button{padding:0;border:0;position:relative;overflow:hidden;background:#e5e5dc;cursor:pointer}.gallery button img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.gallery button:hover img{transform:scale(1.04)}.gallery .gallery-main{grid-row:span 2}.gallery-main span{position:absolute;bottom:15px;left:15px;background:white;color:var(--green);padding:10px 13px;font-size:9px;font-weight:700;letter-spacing:1px}.spec-card{display:grid;grid-template-columns:repeat(4,1fr);background:var(--cream);margin-top:25px;padding:25px}.spec-card div{padding:0 20px;border-right:1px solid #dedfd5}.spec-card div:first-child{padding-left:0}.spec-card div:last-child{border:0}.spec-card small,.spec-card strong{display:block}.spec-card small{font-size:8px;letter-spacing:1.5px;color:var(--muted)}.spec-card strong{font:700 16px Manrope;color:var(--green);margin-top:9px}
.location{background:#efeee6;display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.location h2{margin:20px 0}.small-muted{font-size:10px!important}.map-placeholder{height:280px;background:linear-gradient(135deg,#dce4d9,#e9e4d5);display:flex;flex-direction:column;justify-content:center;align-items:center;color:var(--green);position:relative;overflow:hidden}.map-placeholder:before,.map-placeholder:after{content:"";position:absolute;width:150%;height:1px;background:#b8c8b7;transform:rotate(25deg)}.map-placeholder:after{transform:rotate(-25deg)}.map-pin{font-size:36px;color:#a98242;z-index:1}.map-placeholder b,.map-placeholder small,.map-caption{z-index:1}.map-placeholder b{font:700 14px Manrope;letter-spacing:2px;margin-top:8px}.map-placeholder small{font-size:9px;letter-spacing:2px;margin-top:6px}.map-caption{position:absolute;bottom:15px;font-size:9px;color:#647368}
.contact{background:var(--green);color:white;padding:75px 8%;display:flex;align-items:end;justify-content:space-between;gap:30px;flex-wrap:wrap}.contact h2{font-size:clamp(36px,4.5vw,56px);margin:18px 0}.contact p{color:#d0d9d1;max-width:490px}.button-light{background:#f4f2e9;color:var(--green);margin-bottom:12px}.contact-disclaimer{width:100%;font-size:9px;color:#c5d1c7}
footer{padding:30px 8%;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}footer p{font-size:9px;color:var(--muted);max-width:300px;line-height:1.6}footer>span{font-size:9px;color:var(--muted)}.footer-brand{transform:scale(.9);transform-origin:left center}
.chat-launcher{position:fixed;right:22px;bottom:22px;z-index:20;border:0;border-radius:30px;background:var(--green);color:white;padding:14px 20px;box-shadow:0 8px 30px #172e2233;font-weight:700;font-size:12px;cursor:pointer}.chat-launcher span{color:#e0c58f;margin-right:7px}.chat-panel{position:fixed;z-index:21;right:22px;bottom:82px;width:min(360px,calc(100vw - 30px));height:470px;background:white;box-shadow:0 15px 50px #172e2230;border:1px solid var(--line);display:flex;flex-direction:column}.chat-head{background:var(--green);color:white;padding:16px;display:flex;justify-content:space-between;align-items:center}.chat-head small{display:block;color:#d1ddd3;font-size:10px;margin-top:4px}.chat-head button,.lightbox button{background:none;border:0;color:white;font-size:25px;cursor:pointer}.chat-messages{padding:15px;flex:1;overflow:auto;display:flex;flex-direction:column;gap:10px}.message{max-width:88%;padding:11px 13px;border-radius:12px;font-size:12px;line-height:1.6}.message.bot{background:#f0f2ec;align-self:flex-start}.message.user{background:var(--green);color:white;align-self:flex-end}.chat-form{padding:12px;border-top:1px solid var(--line);display:flex;gap:8px}.chat-form input{min-width:0;flex:1;border:1px solid var(--line);padding:11px;font:12px "DM Sans";outline-color:var(--green)}.chat-form button{border:0;background:var(--green);color:white;width:42px;cursor:pointer}.chat-hint{padding:0 12px 10px;color:var(--muted);font-size:9px}.lightbox{position:fixed;inset:0;background:#101a15ed;z-index:30;display:grid;place-items:center;padding:30px}.lightbox img{max-width:95vw;max-height:85vh;object-fit:contain}.lightbox button{position:absolute;right:25px;top:15px;font-size:36px}
@media(max-width:760px){.site-header{height:70px;padding:0 5%}.menu-toggle{display:block}nav{display:none;position:absolute;top:70px;left:0;right:0;background:var(--paper);padding:20px 6%;flex-direction:column;align-items:stretch;gap:20px;border-bottom:1px solid var(--line)}nav.open{display:flex}.hero{padding:35px 5% 25px;grid-template-columns:1fr;gap:25px}.hero-copy{padding:15px 0 0}.hero h1{font-size:43px}.hero-photo{height:390px}.hero-bottom{margin-top:8px}.promo-strip{padding:30px 6%;grid-template-columns:1fr 1fr;gap:22px}.promo-strip>div:first-child{grid-column:1/-1}.promo-strip h2{font-size:19px}.promo-item{padding-left:13px}.promo-item strong{font-size:24px}.promo-footnote{grid-column:1/-1}.section{padding:65px 6%}.intro-grid,.location{grid-template-columns:1fr;gap:20px}.section-heading{display:block}.section-heading>p{margin-top:15px}.gallery{grid-template-columns:1fr 1fr;grid-template-rows:220px 140px 140px}.gallery .gallery-main{grid-column:span 2;grid-row:auto}.spec-card{grid-template-columns:1fr 1fr;gap:22px;padding:20px}.spec-card div{padding:0 10px;border-right:0}.spec-card div:nth-child(odd){padding-left:0}.contact{padding:60px 6%;display:block}.button-light{margin-top:20px}.contact-disclaimer{display:block;margin-top:12px}footer{padding:25px 6%;display:block}footer p{margin:15px 0}footer>span{display:block;margin-top:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
