:root { --green:#075b36; --deep:#063f2c; --lime:#8cbd4d; --ink:#243c32; }
* { box-sizing:border-box; }
html { min-height:100%; }
body { margin:0; min-height:100vh; font-family:Arial,Helvetica,sans-serif; color:var(--ink); background:linear-gradient(140deg,#eaf3e8,#f7faf5 45%,#e1eee0); }
.page-shell { min-height:100vh; display:flex; align-items:center; justify-content:center; padding:42px 18px; }
.card { width:min(100%,1000px); overflow:hidden; text-align:center; background:#fff; border-radius:18px; box-shadow:0 18px 65px rgba(16,71,45,.14); }
.eyebrow { padding:26px 15px 5px; font-size:11px; letter-spacing:3px; text-transform:uppercase; font-weight:700; color:#638b68; }
.brand-logo { display:block; width:min(80%,570px); height:auto; margin:15px auto 24px; }
.hero { height:clamp(190px,32vw,345px); background:url('villages_bkgd.png') center 56% / cover no-repeat; }
.content { padding:36px 25px 32px; }
.section-label { display:block; color:#5b965f; font-size:12px; letter-spacing:4px; font-weight:700; }
h1 { font-family:Georgia,'Times New Roman',serif; font-size:clamp(27px,4vw,43px); font-weight:normal; color:var(--deep); margin:12px 0 14px; }
.accent { width:72px; height:3px; background:var(--lime); margin:0 auto 22px; border-radius:2px; }
p { margin:9px 0; line-height:1.65; }
.detail { max-width:600px; margin:0 auto; color:#65736a; font-size:15px; }
.contact-button { display:inline-flex; align-items:center; justify-content:center; gap:14px; margin-top:26px; padding:15px 30px; border-radius:5px; background:var(--green); color:white; text-decoration:none; font-size:13px; font-weight:700; letter-spacing:1.5px; transition:background .2s,transform .2s; }
.contact-button:hover,.contact-button:focus-visible { background:#0b7948; transform:translateY(-2px); }
footer { border-top:1px solid #edf1eb; background:#fbfdf9; padding:24px 15px 22px; }
.footer-leaves { width:58px; height:58px; object-fit:contain; display:block; margin:0 auto 10px; }
footer p { margin:0; color:#63856c; font-size:11px; font-weight:700; letter-spacing:2px; overflow-wrap:anywhere; }
@media(max-width:600px){.page-shell{padding:16px 10px}.card{border-radius:12px}.eyebrow{padding-top:24px}.brand-logo{width:90%;margin:15px auto 20px}.hero{height:215px}.content{padding:32px 18px}.detail{font-size:14px}footer p{letter-spacing:1px;font-size:10px}}
