:root{--ink:#1f2a24;--muted:#5e6a62;--bg:#faf8f3;--card:#fff;--line:#e4dfd3;--accent:#2f4a3a;--accent2:#9a7b4f;--sold:#8a2f2f}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.6 Inter,system-ui,sans-serif}
a{color:var(--accent)}img{max-width:100%;display:block}
h1,h2,.brand,.foot-name,.ac-name,.card-price{font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;line-height:1.15}
h1{font-size:2.1rem;margin:.2em 0}h2{font-size:1.6rem;margin:0 0 .5em}
.wrap{max-width:1180px;margin:0 auto;padding:0 16px}
.top{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--card);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}
.brand{font-size:1.35rem;text-decoration:none;color:var(--ink)}.brand span{font-size:.85rem;color:var(--muted);font-family:Inter,sans-serif;font-weight:500}
.top-call{font-weight:600;text-decoration:none;white-space:nowrap}
.hero{position:relative;min-height:62vh;background:#3b4a40 center/cover no-repeat;display:flex;align-items:flex-end}
.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 35%,rgba(0,0,0,.65))}
.hero-in{position:relative;color:#fff;padding:24px 16px 28px;max-width:1180px;margin:0 auto;width:100%}
.hero h1{color:#fff;font-size:2.3rem}.hero-addr{margin:0;opacity:.92}
.badge{display:inline-block;font:600 .72rem/1 Inter,sans-serif;letter-spacing:.08em;text-transform:uppercase;padding:7px 10px;border-radius:3px;background:var(--accent);color:#fff}
.st-sold,.st-off-market{background:var(--sold)}.st-pending,.st-under-contract{background:var(--accent2)}.st-tbd,.st-coming-soon{background:#4b5563}
.facts{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border-bottom:1px solid var(--line)}
.fact{background:var(--card);padding:12px 16px}.fact .k{display:block;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.fact:last-child:nth-child(even){grid-column:1/-1}
.fact .v{font-weight:600;font-size:1.05rem}.fact-price{grid-column:1/-1}.fact-price .v{font-size:1.5rem;font-family:"Cormorant Garamond",serif}
s{color:var(--muted);font-weight:400;font-size:.8em}
.two{display:grid;gap:8px;padding-top:8px;padding-bottom:24px}
.block{background:var(--card);border:1px solid var(--line);border-radius:6px;padding:20px 16px;margin:12px 0}
.lede{font-size:1.08rem}.muted{color:var(--muted)}
.hl{padding-left:1.1em;margin:.5em 0 1em}.hl li{margin:.2em 0}
.links{display:flex;gap:10px;flex-wrap:wrap}
.btn,.btn-o{display:inline-block;padding:12px 18px;border-radius:4px;font-weight:600;text-decoration:none;border:2px solid var(--accent);cursor:pointer;font-size:1rem;text-align:center}
.btn{background:var(--accent);color:#fff}.btn-o{background:transparent;color:var(--accent)}
.gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.g{padding:0;border:0;cursor:zoom-in;background:none;aspect-ratio:4/3;overflow:hidden;border-radius:4px}.g img{width:100%;height:100%;object-fit:cover}
.gallery .g:only-child{grid-column:1/-1;aspect-ratio:16/9}
.ratio{position:relative;aspect-ratio:16/9;border-radius:4px;overflow:hidden;background:#eee}.ratio iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.map{aspect-ratio:4/3}
.quick{display:flex;flex-direction:column;gap:8px}
form label{display:block;font-size:.85rem;font-weight:500;margin:10px 0 0}
form input,form textarea{width:100%;padding:11px;border:1px solid var(--line);border-radius:4px;font:inherit;margin-top:4px;background:#fff}
form .btn{width:100%;margin-top:14px}.hp{position:absolute;left:-9999px}
.agent-card{background:var(--accent);color:#fff;border-radius:6px;padding:20px 16px;margin:12px 0}
.agent-card a{color:#fff}.agent-card .btn{background:#fff;color:var(--accent);border-color:#fff}
.eyebrow{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;opacity:.8;margin:0}
.ac-name{font-size:1.5rem;margin:.2em 0}.ac-meta{opacity:.9;font-size:.92rem}
.intro{padding-top:28px;padding-bottom:8px}.intro .eyebrow{color:var(--muted)}
.cards{display:grid;gap:16px;padding-bottom:12px}
.card{display:block;background:var(--card);border:1px solid var(--line);border-radius:6px;overflow:hidden;text-decoration:none;color:inherit}
.card-img{aspect-ratio:16/10;background:#3b4a40 center/cover;position:relative}.card-img .badge{position:absolute;top:12px;left:12px}
.card-body{padding:14px 16px}.card-body h2{font-size:1.35rem;margin:.1em 0}.card-price{font-size:1.4rem;margin:0}.card-facts{font-size:.9rem;margin:.3em 0 0}
.foot{background:#1f2a24;color:#e8e4da;margin-top:24px;font-size:.92rem}.foot a{color:#fff}
.foot-in{max-width:1180px;margin:0 auto;padding:28px 16px;display:grid;gap:20px}.foot p{margin:.2em 0}
.foot-name{font-size:1.3rem}.eho{width:48px;height:48px;color:#fff}.fine{opacity:.7;font-size:.8rem;margin-top:.6em!important}
.lb{border:0;padding:0;background:rgba(0,0,0,.92);max-width:100vw;max-height:100vh;width:100vw;height:100vh}
.lb[open]{display:flex;align-items:center;justify-content:center}.lb img{max-width:92vw;max-height:86vh;object-fit:contain}
.lb button{position:absolute;background:none;border:0;color:#fff;font-size:2.6rem;cursor:pointer;padding:10px 16px}
.lb-x{top:8px;right:8px}.lb-p{left:4px;top:50%;transform:translateY(-50%)}.lb-n{right:4px;top:50%;transform:translateY(-50%)}
@media(min-width:760px){
  .facts{grid-template-columns:repeat(auto-fit,minmax(110px,1fr))}.fact-price,.fact:last-child:nth-child(even){grid-column:auto/span 2}.map{aspect-ratio:16/9}
  .cards{grid-template-columns:repeat(2,1fr)}.gallery{grid-template-columns:repeat(3,1fr)}
  .foot-in{grid-template-columns:2fr 1fr}h1{font-size:2.8rem}.hero h1{font-size:3.4rem}
  .quick{flex-direction:row;flex-wrap:wrap}
}
@media(min-width:1024px){
  .two{grid-template-columns:minmax(0,1fr) 360px;gap:24px}.side-col{position:sticky;top:64px;align-self:start}
  .cards{grid-template-columns:repeat(3,1fr)}.hero{min-height:70vh}.hero-in{padding:40px 16px}
  .facts{max-width:1180px;margin:0 auto;border-left:1px solid var(--line);border-right:1px solid var(--line)}
}
.areas-nav{display:flex;gap:8px;flex-wrap:wrap;padding-bottom:16px}
.areas-nav a{padding:8px 12px;border:1px solid var(--line);border-radius:20px;background:var(--card);text-decoration:none;font-size:.9rem}
.areas-nav a[aria-current]{background:var(--accent);color:#fff;border-color:var(--accent)}
.placeholder{background:#fff6d6;border:1px dashed #c9a227;padding:10px 12px;border-radius:4px}
