:root{--ink:#111;--mut:#5b6070;--line:#e6e6e6;--red:#dc1c2e;--blue:#003da5;--bg:#fafafa}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font:16px/1.6 Montserrat,system-ui,sans-serif;color:var(--ink);background:#fff}
a{color:inherit}img{max-width:100%;display:block}h1,h2,h3{line-height:1.15;margin:0 0 .5em;font-weight:800;letter-spacing:-.01em}h1{font-size:clamp(2rem,4.5vw,3.4rem)}h2{font-size:clamp(1.5rem,3vw,2.2rem)}
.top{position:sticky;top:0;z-index:20;background:#000;color:#fff}.bar{max-width:1240px;margin:auto;display:flex;align-items:center;gap:18px;padding:10px 20px}
.brand{display:flex;gap:10px;align-items:center;text-decoration:none;font-weight:800;font-size:.95rem}.brand small{display:block;font-weight:400;font-size:.7rem;opacity:.75}
nav{display:flex;gap:16px;flex:1;justify-content:center;flex-wrap:wrap}nav a{text-decoration:none;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;opacity:.9}nav a:hover{opacity:1;text-decoration:underline}
.call{background:#fff;color:#000;text-decoration:none;font-weight:800;padding:9px 14px;border-radius:2px;white-space:nowrap}
@media(max-width:900px){nav{display:none}.brand small{display:none}}
.hero{min-height:82vh;background-size:cover;background-position:center;color:#fff;display:flex;align-items:center;text-align:center}.hin{max-width:900px;margin:auto;padding:80px 20px}
.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.72rem;font-weight:600;color:var(--mut);margin:0 0 .6em}.hero .eyebrow,.dark .eyebrow,.ph-hero .eyebrow{color:#ddd}
.lede{font-size:1.15rem}.ctas{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:24px}.lhead .ctas{justify-content:flex-start}
.btn{display:inline-block;background:#000;color:#fff;border:2px solid #000;padding:12px 22px;text-decoration:none;font-weight:600;text-transform:uppercase;font-size:.8rem;letter-spacing:.1em}.hero .btn,.dark .btn,.ph-hero .btn{background:#fff;color:#000;border-color:#fff}
.btn.ghost{background:transparent;color:#fff;border-color:#fff}.btn.ghost.dk{color:#000;border-color:#000}
.wrap{max-width:1240px;margin:auto;padding:64px 20px}.narrow{max-width:820px}.center{text-align:center;margin-top:28px}
.sh{display:flex;align-items:baseline;gap:18px;flex-wrap:wrap;margin-bottom:24px}.sh h2{margin:0;flex:1}.sh .eyebrow{flex-basis:100%;margin:0}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:22px}
.card{text-decoration:none;background:#fff;border:1px solid var(--line);transition:.2s}.card:hover{box-shadow:0 10px 30px rgba(0,0,0,.12);transform:translateY(-2px)}
.ph{position:relative;aspect-ratio:3/2;overflow:hidden;background:#ddd}.ph img{width:100%;height:100%;object-fit:cover}.tag{position:absolute;left:10px;top:10px;background:#000;color:#fff;font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;padding:4px 8px}
.cb{padding:14px 16px;display:grid;gap:2px}.price{font-size:1.3rem}.addr{font-weight:600}.meta{color:var(--mut);font-size:.85rem}
.dark{background:#000;color:#fff}.tint{background:var(--bg)}
.cats{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.cat{min-height:340px;background-size:cover;background-position:center;display:flex;align-items:flex-end;text-decoration:none;color:#fff;position:relative}.cat:before{content:"";position:absolute;inset:0;background:linear-gradient(transparent 40%,rgba(0,0,0,.8))}.cat span{position:relative;padding:20px;font-weight:800;font-size:1.4rem;text-transform:uppercase}.cat small{display:block;font-size:.75rem;font-weight:400;letter-spacing:.1em}
.split{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}.split img{width:100%;height:auto}@media(max-width:800px){.split{grid-template-columns:1fr}}
.qgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:22px}.q{margin:0;background:#fff;border-left:3px solid #000;padding:22px 24px;font-family:Lora,serif;font-style:italic}.q cite{display:block;margin-top:10px;font:600 .75rem Montserrat,sans-serif;text-transform:uppercase;letter-spacing:.12em;font-style:normal;color:var(--mut)}
.chips{display:flex;flex-wrap:wrap;gap:10px}.chips a{border:1px solid #000;padding:8px 14px;text-decoration:none;font-size:.9rem}.chips a:hover{background:#000;color:#fff}.chips b{margin-left:6px}
.faq details{border-bottom:1px solid var(--line);padding:14px 0}.faq summary{font-weight:600;cursor:pointer}
.lead{background:#000;color:#fff;display:grid;grid-template-columns:1fr 1fr;gap:40px;padding:64px max(20px,calc((100vw - 1200px)/2))}.lead a{color:#fff}@media(max-width:800px){.lead{grid-template-columns:1fr}}
.lead form{display:grid;gap:12px}.lead label{display:grid;gap:4px;font-size:.8rem;text-transform:uppercase;letter-spacing:.08em}.lead input,.lead textarea{padding:12px;border:0;font:inherit;font-size:1rem}.lead button{background:#fff;color:#000;border:0;padding:14px;font-weight:800;text-transform:uppercase;letter-spacing:.1em;cursor:pointer}
.ph-hero{background:#111 center/cover;color:#fff}.ph-hero .wrap{padding:72px 20px}.crumb{font-size:.8rem;color:var(--mut)}.ph-hero .crumb,.ph-hero .crumb a{color:#ccc}
.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:24px}.filters button,.filters select{border:1px solid #000;background:#fff;padding:8px 14px;font:inherit;font-size:.85rem;cursor:pointer}.filters .on{background:#000;color:#fff}
.lhead{padding-bottom:20px}.bigprice{font-size:2rem;font-weight:800;margin:0}.bigprice span{display:block;font-size:1rem;font-weight:400;color:var(--mut)}
.gallery{display:flex;gap:6px;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 20px}.gallery img{height:min(62vh,560px);width:auto;scroll-snap-align:start;object-fit:cover}
.ldet{display:grid;grid-template-columns:1fr 320px;gap:48px}@media(max-width:900px){.ldet{grid-template-columns:1fr}}
.facts{width:100%;border-collapse:collapse;margin-bottom:28px}.facts th,.facts td{text-align:left;padding:9px 0;border-bottom:1px solid var(--line)}.facts th{width:40%;color:var(--mut);font-weight:600}
.mls{white-space:pre-line}.small{font-size:.85rem}
.agentbox{position:sticky;top:90px;align-self:start;border:1px solid var(--line);padding:24px;text-align:center}.agentbox img{width:140px;height:140px;object-fit:cover;border-radius:50%;margin:0 auto 12px}.agentbox h3 a{text-decoration:none}
.tgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:24px}.tcard{text-decoration:none;display:grid;gap:4px}.tcard img{aspect-ratio:1;object-fit:cover;width:100%;filter:grayscale(.2)}.tcard span{color:var(--mut);font-size:.85rem}
.profile{display:grid;grid-template-columns:420px 1fr;gap:48px}.profile .role{text-transform:uppercase;letter-spacing:.1em;font-size:.8rem;color:var(--mut)}@media(max-width:800px){.profile{grid-template-columns:1fr}}
.ticks{padding-left:1.1em}.ticks li{margin-bottom:8px}
.cols3{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:32px}
footer{background:#0b0b0b;color:#ccc;padding:48px 20px 24px}.fwrap{max-width:1240px;margin:auto;display:grid;grid-template-columns:2fr 1fr 1fr;gap:32px}footer a{display:block;color:#ddd;text-decoration:none;margin:4px 0}footer p a{display:inline}footer h4{color:#fff;text-transform:uppercase;letter-spacing:.12em;font-size:.75rem}.legal{max-width:1240px;margin:32px auto 0;font-size:.72rem;color:#888}@media(max-width:700px){.fwrap{grid-template-columns:1fr}}
