:root{--navy:#4a3527;--navy2:#5e4433;--sky:#a9532b;--terra:#c0653a;--skyl:#e6e9dc;--ink:#3b2a1f;--mut:#6b5646;--cream:#f6efe4;--sage:#8a9a7b;--tan:#b98b5e}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--ink);line-height:1.6}
a{color:var(--navy2)}.wrap{max-width:1140px;margin:0 auto;padding:0 20px}
.nav{position:sticky;top:0;background:#fff;box-shadow:0 1px 8px rgba(0,0,0,.08);z-index:10}
.navin{display:flex;align-items:center;justify-content:space-between;height:64px}
.logo{font-weight:800;font-size:1.25rem;color:var(--navy);text-decoration:none}.mark{color:var(--sky)}
nav{display:flex;gap:22px;align-items:center}nav a{text-decoration:none;color:var(--ink);font-weight:500}
.menu{display:none;background:none;border:0;font-size:1.6rem}
.btn{display:inline-block;background:var(--sky);color:#fff;padding:14px 26px;border-radius:8px;font-weight:700;text-decoration:none;border:0;cursor:pointer;font-size:1rem}
.btn:hover{background:#8f4423}.btn.sm{padding:8px 14px;color:#fff}.btn.ghost{background:transparent;border:2px solid #fff}.btn.big{font-size:1.2rem;margin:10px 0}
.hero{background:#4a3527;color:#fff;padding:110px 0 120px}
.hero h1{font-size:clamp(2rem,5vw,3.4rem);line-height:1.15;margin:.2em 0;max-width:820px}
.eyebrow{text-transform:uppercase;letter-spacing:.15em;color:#f3dcc4;font-weight:600}
.lead{font-size:1.2rem;max-width:640px;opacity:.92}.ctas{display:flex;gap:14px;flex-wrap:wrap;margin-top:26px}
.sec{padding:80px 20px}h2{font-size:2rem;color:var(--navy);margin:0 0 .3em}.sub{color:var(--mut);margin-top:0}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:30px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:24px}
.card{background:#fff;border-radius:12px;box-shadow:0 4px 18px rgba(74,53,39,.08);padding:20px;margin:0}
.card h3{color:var(--navy);margin:.6em 0 .2em}
.ph{display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.9);font-weight:600;border-radius:10px;aspect-ratio:4/3;font-size:.95rem}
.g1{background:linear-gradient(135deg,#d9b48c,#b98b5e)}.g2{background:linear-gradient(135deg,#c0653a,#5e4433)}.g3{background:linear-gradient(135deg,#8a9a7b,#4a3527)}.g4{background:linear-gradient(135deg,#a7b597,#5e6b52)}
.tall{aspect-ratio:4/5}.band{background:var(--skyl)}
.county{background:#fff;border-left:4px solid var(--sky);padding:18px 20px;border-radius:8px}.county h3{margin:0 0 6px;color:var(--navy)}
.note{margin-top:24px}.two{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}
.placeholder{background:#fff6d6;border:1px dashed #d9a400;padding:2px 6px;border-radius:4px}
.small{font-size:.9rem;color:var(--mut)}.mt{margin-top:60px}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:24px}
blockquote{font-style:italic}cite{display:block;margin-top:10px;font-style:normal;color:var(--mut);font-size:.9rem}
.form{display:grid;gap:14px;background:#fff;padding:28px;border-radius:12px;box-shadow:0 4px 18px rgba(74,53,39,.1)}
.form label{display:grid;gap:4px;font-weight:600;font-size:.9rem}
.form input,.form select,.form textarea{font:inherit;padding:10px 12px;border:1px solid #d8c6ae;border-radius:6px}
.hp{display:none}
footer{background:var(--navy);color:#efe3d3;padding:30px 0}footer a{color:#fff}footer .small{color:#d9c6ae}
.fab{display:none}
@media(max-width:900px){.grid4{grid-template-columns:1fr 1fr}.grid3,.two{grid-template-columns:1fr}.gallery{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.menu{display:block}nav{display:none;position:absolute;top:64px;left:0;right:0;background:#fff;flex-direction:column;padding:16px;box-shadow:0 6px 12px rgba(0,0,0,.1)}
body.open nav{display:flex}.grid4{grid-template-columns:1fr}.hero{padding:70px 0 80px}.sec{padding:56px 20px}
.fab{display:block;position:fixed;right:16px;bottom:16px;background:var(--sky);color:#fff;padding:14px 20px;border-radius:40px;font-weight:700;text-decoration:none;box-shadow:0 4px 14px rgba(0,0,0,.25);z-index:20}}
.hero{background:linear-gradient(160deg,rgba(43,29,20,.88),rgba(74,53,39,.72) 55%,rgba(94,68,51,.55)),url(photos/web/house2-01.jpg) center/cover no-repeat}
.hero h1,.hero .lead{text-shadow:0 2px 12px rgba(0,0,0,.4)}
.cimg{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:10px;display:block}
.gt{color:var(--navy);margin:28px 0 0}
.gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:10px;display:block}

body{background:var(--cream)}
.nav{background:var(--navy)}.logo,nav a{color:var(--cream)}.mark{color:var(--terra)}.menu{color:var(--cream)}
@media(max-width:640px){nav{background:var(--navy)}}
.card,.county,.form{background:#fffaf2}.card{box-shadow:0 4px 18px rgba(74,53,39,.10);border:1px solid #eadcc8}
.county{border-left-color:var(--tan)}
.band{background:var(--skyl);border-top:1px solid #d3d9c6;border-bottom:1px solid #d3d9c6}
h2{position:relative}h2::after{content:"";display:block;width:56px;height:3px;background:var(--terra);margin-top:8px;border-radius:2px}
.hero h2::after{display:none}
.cimg,.gallery img{border:3px solid #fffaf2;box-shadow:0 0 0 1px var(--tan)}
.btn.ghost{border-color:var(--cream);color:var(--cream)}.btn.ghost:hover{background:rgba(246,239,228,.15)}
.eyebrow{color:#f3dcc4}
footer{border-top:4px solid var(--tan)}
.form input:focus,.form select:focus,.form textarea:focus{border-color:var(--tan);outline:none;box-shadow:0 0 0 3px rgba(185,139,94,.35)}
a:focus-visible,button:focus-visible,.btn:focus-visible{outline:3px solid var(--tan);outline-offset:3px}
.placeholder{background:#fbeed6;border-color:var(--tan)}
.fab{background:var(--sky)}

.ba-proj{margin-top:10px}.ba{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:18px;align-items:start}
.ba-col{display:grid;gap:12px;position:relative}.ba-col img{width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;border-radius:10px;display:block;border:3px solid #fffaf2;box-shadow:0 0 0 1px var(--tan)}
.ba-label{justify-self:start;background:var(--navy);color:var(--cream);font-weight:700;text-transform:uppercase;letter-spacing:.1em;font-size:.8rem;padding:4px 12px;border-radius:20px}
.ba-label.after{background:var(--sage)}
.ba-cap{color:var(--mut);margin:12px 0 0;font-size:.95rem}
@media(max-width:640px){.ba{grid-template-columns:1fr}}
.ba-label.during{background:var(--terra)}
.ba-rows{display:grid;gap:12px;margin-top:18px}.ba-grid{display:grid;gap:16px}.ba-grid.c4{grid-template-columns:repeat(4,1fr)}.ba-grid.c2{grid-template-columns:1fr 1fr}
.ba-grid img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:10px;display:block;border:3px solid #fffaf2;box-shadow:0 0 0 1px var(--tan)}
.ba-rows .ba-label.after{margin-top:6px}
@media(max-width:900px){.ba-grid.c4{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.ba-grid.c2{grid-template-columns:1fr}}
.logo{display:flex;align-items:center}.logo img{height:44px;width:auto;display:block}
.flogo{display:inline-block;margin-top:6px}.flogo img{height:35px;width:auto;display:block}
@media(max-width:1100px){.logo img{height:36px}nav{gap:16px}}
@media(max-width:640px){.logo img{height:30px}}
.tabs{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0 6px}
.tabs[hidden]{display:none}
.tabs button{font:inherit;font-weight:600;padding:10px 18px;border-radius:30px;border:2px solid var(--tan);background:#fffaf2;color:var(--navy);cursor:pointer}
.tabs button:hover{background:#f1e4d2}
.tabs button[aria-selected=true]{background:#a9532b;border-color:#a9532b;color:#fff}
.tabs button:focus-visible{outline:3px solid var(--tan);outline-offset:3px}
.cat-h{font-size:1.5rem;color:var(--navy);margin:40px 0 0;padding-bottom:6px;border-bottom:2px solid var(--tan)}
.js-tabs .cat-h{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.cat[hidden]{display:none}
@media(max-width:640px){.tabs button{padding:8px 14px;font-size:.95rem}}
