:root{--navy:#111111;--navy2:#2b2b2b;--accent:#c43547;--accent-dk:#a82c3b;--accent-lt:#ef6b7b;--red:#c43547;--ink:#1a1a1a;--muted:#5c5c5c;--bg:#f6f6f6;--line:#e5e5e5}
*{box-sizing:border-box}body{margin:0;font:16px/1.65 Inter,system-ui,sans-serif;color:var(--ink);background:#fff}
h1,h2,h3{font-family:"Playfair Display",Georgia,serif;color:var(--navy);line-height:1.2}h1{font-size:clamp(2rem,4.5vw,3.3rem);margin:.2em 0}h2{font-size:1.9rem;margin-top:2.2rem}
a{color:var(--accent-dk)}a:hover{color:var(--navy)}.wrap{max-width:1160px;margin:0 auto;padding:0 22px}.skip{position:absolute;left:-999px}.skip:focus{left:10px;top:10px}
header.site{position:sticky;top:0;z-index:9;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.hdr{display:flex;align-items:center;gap:20px;height:72px}.brand{display:flex;gap:10px;align-items:center;text-decoration:none;color:var(--navy);font-weight:600}
.brand small{display:block;font-family:Inter,system-ui,sans-serif;font-weight:500;font-size:.72rem;letter-spacing:.04em;color:var(--muted)}.brand .team{color:var(--accent-dk);font-weight:600}.logo-mark{display:block;height:44px;width:auto}.bname{font-family:"Playfair Display",Georgia,serif;font-size:1.2rem;font-weight:700;line-height:1.15;color:var(--navy);padding-left:12px;border-left:1px solid var(--line)}
nav{display:flex;gap:18px;margin-left:auto}nav a{text-decoration:none;color:var(--ink);font-size:.92rem;font-weight:500}nav a[aria-current]{color:var(--navy);border-bottom:2px solid var(--accent)}
.menu{display:none;margin-left:auto;background:none;border:0;font-size:1.6rem}
.btn{display:inline-block;background:var(--accent);color:#fff;padding:12px 22px;border-radius:8px;text-decoration:none;font-weight:600;border:0;cursor:pointer;margin:4px 6px 4px 0}.btn:hover{background:var(--accent-dk);color:#fff}
.btn.sm{padding:8px 14px;font-size:.9rem}.btn.ghost{background:transparent;color:#fff;border:1.5px solid var(--accent)}.btn.ghost:hover{background:var(--accent);color:#fff}
.hero{background:linear-gradient(135deg,#111111 0%,#1d1d1d 60%,#2a2a2a 100%);color:#e6e6e6;border-bottom:4px solid var(--accent);padding:80px 0}.hero h1{color:#fff}.hero.small{padding:56px 0}.lead{font-size:1.15rem;max-width:640px}
.herogrid{display:grid;grid-template-columns:1.3fr 1fr;gap:48px;align-items:center}.eyebrow{color:var(--accent-lt);text-transform:uppercase;letter-spacing:.14em;font-size:.8rem;font-weight:600}
.ph-img{background:repeating-linear-gradient(45deg,#ececec,#ececec 10px,#f4f4f4 10px,#f4f4f4 20px);color:var(--muted);display:flex;align-items:center;justify-content:center;text-align:center;font-size:.85rem;padding:12px;min-height:180px}
.photo{min-height:400px;border-radius:14px;border:3px solid var(--accent)}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:-40px;position:relative}.stats div{background:#fff;border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,.10);padding:22px;text-align:center}
.stats b{display:block;font-family:"Playfair Display";font-size:2rem;color:var(--navy)}.stats span,.src,.muted{color:var(--muted);font-size:.85rem}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:24px}.card.link{text-decoration:none;color:inherit;transition:.2s}.card.link:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(0,0,0,.09);border-color:var(--accent)}
.band{background:var(--bg);padding:30px 0 50px;margin-top:50px}.review blockquote{margin:0;font-style:italic}.review figcaption{margin-top:12px;font-weight:600}.review figcaption span{font-weight:400;color:var(--muted);font-size:.85rem}.ph{border-style:dashed}
.sold{padding:0;overflow:hidden}.sold .pad{padding:16px 20px}.sold h3{margin:.3em 0 0}.price{font-weight:700;font-size:1.2rem;color:var(--navy);margin:.2em 0}.tag{background:var(--red);color:#fff;font-size:.7rem;padding:3px 8px;border-radius:4px;font-weight:700}
.note{background:#fbeef0;border-left:4px solid var(--accent);padding:12px 16px}.idx{border:2px dashed var(--accent);border-radius:14px;padding:32px;margin:40px 0;background:var(--bg)}
.fakesearch{display:flex;gap:10px;flex-wrap:wrap}.fakesearch input,.fakesearch select,.form input,.form select,.form textarea{padding:12px;border:1px solid #cfcfcf;border-radius:8px;font:inherit}.fakesearch input{flex:1;min-width:220px}
.chips{display:flex;flex-wrap:wrap;gap:10px;list-style:none;padding:0}.chips li{background:var(--bg);border:1px solid var(--line);padding:6px 14px;border-radius:99px}
.prose{max-width:820px}.steps{list-style:none;padding:0;counter-reset:s}.steps li{border-left:3px solid var(--accent);padding:2px 0 8px 22px;margin:18px 0}.steps h3{margin:.2em 0}
.tbl{width:100%;border-collapse:collapse}.tbl th,.tbl td{border-bottom:1px solid var(--line);padding:10px;text-align:left}.tbl th{background:var(--navy);color:#fff}
.faq{max-width:820px;padding-bottom:40px}details{border-bottom:1px solid var(--line);padding:14px 0}summary{font-weight:600;cursor:pointer;color:var(--navy)}
.form label{display:block;margin:10px 0;font-weight:500}.form input,.form select,.form textarea{display:block;width:100%;margin-top:4px}section.grid2{margin:40px auto}
footer.site{background:var(--navy);color:#cfcfcf;border-top:4px solid var(--accent);margin-top:60px;padding:44px 0 20px}footer a{color:#fff}.fgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}address{font-style:normal}.brand-f{font-family:"Playfair Display";font-size:1.4rem;color:#fff;margin:0}.legal{border-top:1px solid #2e2e2e;margin-top:24px;font-size:.8rem}
@media(max-width:900px){nav{display:none;position:absolute;top:72px;left:0;right:0;background:#fff;flex-direction:column;padding:20px}.open nav{display:flex}.menu{display:block}.hdr .btn{display:none}.herogrid,.grid3,.grid2,.fgrid{grid-template-columns:1fr}.stats{grid-template-columns:1fr 1fr}}
.tagline{color:var(--accent-lt);margin-left:8px;opacity:.85}
.rmeta{font-size:.82rem;color:var(--muted);margin:0 0 8px}.stars{color:var(--accent);letter-spacing:2px}
.wrap .btn.ghost{color:var(--navy)}.hero .btn.ghost{color:#fff}
.photo{display:block;min-height:0;border-radius:14px;overflow:hidden;border:2px solid rgba(255,255,255,.18);box-shadow:0 20px 50px rgba(0,0,0,.35)}.photo img{display:block;width:100%;height:auto}
.tblwrap{overflow-x:auto}
.pullquote{display:flex;gap:22px;align-items:flex-start;background:var(--navy);color:#ececec;border-radius:14px;padding:28px 30px;margin:28px 0;border-left:6px solid var(--accent)}.pullquote img{border-radius:50%;border:3px solid var(--accent);flex:none}.pullquote blockquote{margin:6px 0 10px;font-family:"Playfair Display",serif;font-size:1.15rem;line-height:1.6}.pq-label{color:var(--accent-lt);text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;font-weight:600;margin:0}.pullquote figcaption{font-size:.85rem;color:#c4c4c4}@media(max-width:600px){.pullquote{flex-direction:column}}
.sold img,.nophoto{display:block;width:100%;aspect-ratio:3/2;object-fit:cover;background:#ececec}.nophoto{display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:.85rem;background:linear-gradient(135deg,#ececec,#f6f6f6)}
.sold .side{font-size:.75rem;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.sold h3{font-size:1rem}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin:24px 0 8px}.stats div{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px;text-align:center}.stats b{display:block;font-family:'Playfair Display',serif;font-size:1.6rem;color:var(--navy)}.stats span{color:var(--muted);font-size:.85rem}
.small{font-size:.85rem}.filters{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:12px 0}.filters input,.filters select{padding:10px 12px;border:1px solid #d4d4d4;border-radius:8px;font:inherit}.filters input{flex:1;min-width:220px}
.tblwrap{overflow-x:auto;max-height:640px;overflow-y:auto;border:1px solid var(--line);border-radius:12px;background:#fff}.soldtbl{width:100%;border-collapse:collapse;font-size:.9rem}.soldtbl th{position:sticky;top:0;background:var(--navy);color:#fff;text-align:left;padding:10px}.soldtbl td{padding:8px 10px;border-top:1px solid #eeeeee}.soldtbl tr:nth-child(even) td{background:#fafafa}.soldtbl .num{white-space:nowrap;font-weight:600}

/* Mucciolo Group brand */
.logo-f{display:block;width:150px;height:auto;margin:0 0 14px}.logo-c{display:block;width:120px;height:auto;margin:0 0 6px}
footer.site .brand-f{margin-top:4px}footer a:hover{color:var(--accent-lt)}
nav a:hover{color:var(--accent-dk)}nav a[aria-current]{color:var(--navy);border-bottom-color:var(--accent)}
.stars{color:var(--accent)}.tag{background:var(--accent)}
:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
@media(max-width:900px){.bname{font-size:1.05rem;padding-left:10px}.logo-mark{height:38px}}
@media(max-width:420px){.brand small{font-size:.66rem}}

/* Sales record (MLS) */
.buytile{display:flex;flex-direction:column;gap:8px;align-items:center;justify-content:center;width:100%;aspect-ratio:3/2;background:linear-gradient(135deg,#1b1b1b,#2b2b2b);color:#fff;border-bottom:3px solid var(--accent)}.buytile svg{color:var(--accent-lt)}.buytile span{font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600}
.soldviz{display:grid;grid-template-columns:2fr 1fr;gap:16px;margin:16px 0}.yrchart,.topcities{margin:0;background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px 20px}
.yrchart figcaption,.topcities h3{font-family:'Playfair Display',serif;font-size:1.1rem;font-weight:700;color:var(--navy);margin:0 0 10px}
.yrchart svg{display:block;width:100%;height:auto}.yrchart rect{fill:var(--accent)}.yrchart g:hover rect{fill:var(--navy)}.yrchart text{font:600 11px Inter,sans-serif;text-anchor:middle}.yrchart .v{fill:var(--navy)}.yrchart .y{fill:var(--muted);font-weight:500}.yrchart p{margin:6px 0 0}
.topcities ol{margin:0;padding-left:1.3em;font-size:.92rem;line-height:1.85}.topcities li b{float:right;color:var(--accent-dk)}
.sold img{height:auto}
@media(max-width:900px){.soldviz{grid-template-columns:1fr}}
@media(min-width:1000px){.stats.s7{grid-template-columns:repeat(7,1fr);gap:12px}.stats.s7 div{padding:16px 8px}.stats.s7 b{font-size:1.35rem;white-space:nowrap}}
.soldtbl td:last-child,.soldtbl td:first-child{white-space:nowrap}
@media(max-width:999px){.stats.s7{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}}
