:root{--ivory:#f7f2ea;--pine:#1f2a26;--rust:#b4532a;--rust-d:#93411f;--sand:#e8dcc8;--ink:#2a2a27;--muted:#5c5a54}
*{box-sizing:border-box}html{scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;font:400 17px/1.65 Inter,system-ui,sans-serif;color:var(--ink);background:var(--ivory);overflow-x:hidden}
h1,h2,h3{font-family:Fraunces,Georgia,serif;font-weight:600;line-height:1.12;margin:.2em 0 .5em;color:var(--pine)}
h1{font-size:clamp(2.3rem,5vw,4rem)}h2{font-size:clamp(1.9rem,3.5vw,2.8rem)}h3{font-size:1.35rem}
a{color:inherit}.wrap{max-width:1180px;margin:auto;padding:0 24px}
.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.78rem;font-weight:600;color:var(--rust);margin:0}.eyebrow.light{color:#e9a27f}
.nav{position:sticky;top:0;z-index:10;background:rgba(247,242,234,.94);backdrop-filter:blur(8px);border-bottom:1px solid #ddd2c0}
.nav-in{display:flex;align-items:center;gap:24px;min-height:68px}.nav nav{display:flex;gap:22px;margin-left:auto}
.nav nav a{text-decoration:none;font-weight:500;font-size:.95rem}.nav nav a:hover{color:var(--rust)}
.logo{font-family:Fraunces,serif;font-weight:600;font-size:1.4rem;text-decoration:none;color:var(--pine)}.logo span{letter-spacing:.2em;font-size:.8em;color:var(--rust)}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 24px;background:var(--rust);color:#fff;border:0;border-radius:4px;font:600 1rem Inter,sans-serif;text-decoration:none;cursor:pointer;transition:background .2s}
.btn:hover{background:var(--rust-d)}.btn-sm{min-height:44px;padding:0 18px;font-size:.9rem}
.btn-ghost{background:transparent;color:var(--pine);border:1.5px solid var(--pine)}.btn-ghost:hover{background:var(--pine);color:#fff}
:focus-visible{outline:3px solid #e9a27f;outline-offset:3px}
.hero{padding:72px 0 88px}.hero-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:56px;align-items:center}
.lead{font-size:1.2rem;color:var(--muted);max-width:34em}.ctas{display:flex;flex-wrap:wrap;gap:14px;margin-top:28px}
.photo{position:relative;aspect-ratio:4/3;border-radius:6px;overflow:hidden;display:flex;align-items:flex-end;
 background:var(--img) center/cover no-repeat,repeating-linear-gradient(135deg,#d9cab1 0 14px,#cfbea2 14px 28px)}
.photo.tall{aspect-ratio:16/9;background-position:58% center,0 0;box-shadow:0 20px 40px -20px #0006}
.photo span{margin:14px;padding:8px 12px;background:rgba(31,42,38,.85);color:#fff;font-size:.8rem;border-radius:3px;line-height:1.4}
.band{padding:96px 0}.band.dark{background:var(--pine);color:#e8e4dc}.band.dark h2{color:#fff}.band.sand{background:var(--sand)}
.two{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}.stack{display:grid;gap:20px}
.tags{list-style:none;padding:0;margin:24px 0 32px;display:flex;flex-wrap:wrap;gap:10px}
.tags li{border:1px solid #5d6a63;padding:7px 14px;border-radius:40px;font-size:.92rem}
.cards{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:32px}.card h3{margin-top:22px}.card p{color:var(--muted)}
.link{color:var(--rust);font-weight:600;text-decoration:none;display:inline-block;padding:10px 0}.link:hover{text-decoration:underline}
.steps{list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:36px}
.steps li{border-top:2px solid var(--rust);padding-top:18px}.steps b{color:var(--rust);font-family:Fraunces,serif;font-size:1.1rem}.steps p{color:var(--muted);margin:0}
.realty{background:#fff;border:1px solid #ddd2c0;padding:36px;border-radius:6px}
.contact{font-size:1.1rem;line-height:2}.contact a{color:#fff;font-weight:600;text-decoration:none}.contact a:hover{text-decoration:underline}
.foot a{color:#e8e4dc}.foot .xlink{color:#e9a27f;font-weight:600}
.form{background:var(--ivory);color:var(--ink);padding:32px;border-radius:6px;display:grid;gap:16px}
.row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
label{display:grid;gap:6px;font-weight:600;font-size:.9rem}
input,select,textarea{font:16px Inter,sans-serif;padding:12px;min-height:48px;border:1px solid #c7bba8;border-radius:4px;background:#fff;width:100%}
.notice{margin:0;font-size:.85rem;background:var(--sand);padding:10px 12px;border-radius:4px}.ok{margin:0;color:var(--rust-d);font-weight:600}.full{width:100%}
.foot{background:#161e1b;color:#b9b4a9;padding:48px 0;font-size:.92rem}.foot .logo{color:#fff}.foot-in{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;align-items:center}
@media(max-width:880px){
 .nav nav{display:none}.nav-in{justify-content:space-between}
 .hero{padding:40px 0 64px}.hero-grid,.two,.cards,.row{grid-template-columns:1fr;gap:32px}.row{gap:16px}
 .steps{grid-template-columns:1fr 1fr}.band{padding:64px 0}.ctas .btn,.band .btn{width:100%}.photo.tall{aspect-ratio:4/3}
}
@media(max-width:480px){.steps{grid-template-columns:1fr}.form{padding:22px}}

.soon{border:1px solid #5d6a63;border-radius:6px;padding:40px;min-height:280px;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(135deg,#26332e,#1b2421)}.soon h3{color:#fff}.soon p{margin:0}

.fig{margin:0}.fig figcaption{font-size:.85rem;color:#b9c2bc;margin-top:8px}
.gallery{list-style:none;padding:0;margin:32px 0 0;display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.gi{all:unset;cursor:pointer;display:block;width:100%}.gi img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:5px;display:block;transition:transform .3s}
.gi:hover img{transform:scale(1.02)}.gi:focus-visible{outline:3px solid var(--rust);outline-offset:3px}
.gi span{display:block;font-size:.85rem;color:var(--muted);margin-top:8px;line-height:1.4}
#lb{border:0;padding:0;background:transparent;max-width:92vw}#lb::backdrop{background:#000d}
#lb img{max-width:92vw;max-height:82vh;display:block;border-radius:4px}#lb p{color:#fff;text-align:center;margin:10px 0 0}
.lb-x{position:fixed;top:12px;right:16px;font-size:2.2rem;background:none;border:0;color:#fff;cursor:pointer;width:48px;height:48px}
@media(max-width:880px){.gallery{grid-template-columns:1fr 1fr}}

.interiors{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:40px}
.fig.light figcaption{color:var(--muted)}
@media(max-width:880px){.interiors{grid-template-columns:1fr}}

#commercial .two{grid-template-columns:.8fr 1.2fr;align-items:start}
.cgrid{grid-template-columns:1fr 1fr;gap:18px}.cgrid .fig:first-child{grid-column:1/-1}
@media(max-width:880px){#commercial .two{grid-template-columns:1fr}}

.cgrid .fig.wide{grid-column:1/-1}

.logo{display:inline-flex;align-items:center;gap:12px}.logo img{width:52px;height:52px;display:block}
.foot .logo img{background:#fff;border-radius:50%;padding:2px}

.wordmark{font-family:Fraunces,serif}.hp{position:absolute;left:-9999px}
.gallery.g3{grid-template-columns:repeat(3,1fr)}@media(max-width:880px){.gallery.g3{grid-template-columns:1fr 1fr}}
.points{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:36px}.points div{border-top:2px solid var(--rust);padding-top:16px}.points p{color:var(--muted);margin:0}.dark .points p{color:#c9cfca}.dark .points h3{color:#fff}@media(max-width:880px){.points{grid-template-columns:1fr}}

.pimg{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:6px;display:block}.serving{margin-top:18px;font-size:.95rem;color:var(--muted)}.serving a{color:var(--rust);font-weight:600}
.towns{list-style:none;padding:0;margin:28px 0 0;display:flex;flex-wrap:wrap;gap:10px}.towns li{border:1px solid #c7bba8;border-radius:40px;padding:7px 14px;font-size:.92rem;background:#fff}
.callbar{display:none}@media(max-width:880px){.callbar{display:flex;position:fixed;left:12px;right:12px;bottom:12px;z-index:20;min-height:52px;align-items:center;justify-content:center;background:var(--rust);color:#fff;font-weight:600;text-decoration:none;border-radius:6px;box-shadow:0 8px 24px #0005}body{padding-bottom:76px}}
.wordmark{font-family:Fraunces,serif}.hp{position:absolute;left:-9999px}
.gallery.g3{grid-template-columns:repeat(3,1fr)}@media(max-width:880px){.gallery.g3{grid-template-columns:1fr 1fr}}
.points{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:36px}.points div{border-top:2px solid var(--rust);padding-top:16px}.points p{color:var(--muted);margin:0}.dark .points p{color:#c9cfca}.dark .points h3{color:#fff}@media(max-width:880px){.points{grid-template-columns:1fr}}

.gi img{height:auto}.pimg{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:6px;display:block}.serving{margin-top:18px;font-size:.95rem;color:var(--muted)}.serving a{color:var(--rust);font-weight:600}
.towns{list-style:none;padding:0;margin:28px 0 0;display:flex;flex-wrap:wrap;gap:10px}.towns li{border:1px solid #c7bba8;border-radius:40px;padding:7px 14px;font-size:.92rem;background:#fff}
.callbar{display:none}@media(max-width:880px){.callbar{display:flex;position:fixed;left:12px;right:12px;bottom:12px;z-index:20;min-height:52px;align-items:center;justify-content:center;background:var(--rust);color:#fff;font-weight:600;text-decoration:none;border-radius:6px;box-shadow:0 8px 24px #0005}body{padding-bottom:76px}}
.wordmark{font-family:Fraunces,serif}.hp{position:absolute;left:-9999px}
.gallery.g3{grid-template-columns:repeat(3,1fr)}@media(max-width:880px){.gallery.g3{grid-template-columns:1fr 1fr}}
.points{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:36px}.points div{border-top:2px solid var(--rust);padding-top:16px}.points p{color:var(--muted);margin:0}.dark .points p{color:#c9cfca}.dark .points h3{color:#fff}@media(max-width:880px){.points{grid-template-columns:1fr}}
