.tabs { display:flex; gap:.5rem; margin:1rem 0 1.2rem; flex-wrap:wrap; }
.tab-btn {
  border:1px solid var(--line);
  background:var(--white);
  color:var(--navy-800);
  border-radius:999px;
  padding:.45rem .9rem;
  font-weight:600;
}
.tab-btn[aria-selected="true"] {
  background:var(--navy-900);
  color:var(--cream-50);
  border-color:var(--navy-900);
}
.tab-panel[hidden] { display:none; }
.form-card a { color:var(--navy-700); font-weight:600; }

.ov-hero{position:relative;background:#10243a;min-height:52vh}
.ov-gallery{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scroll-behavior:smooth}
.ov-gallery::-webkit-scrollbar{display:none}
.ov-slide{min-width:100%;scroll-snap-align:center;margin:0;height:min(72vh,560px);background:#10243a}
.ov-slide img{width:100%;height:100%;object-fit:cover;display:block}
.ov-slide-empty{display:flex;align-items:center;justify-content:center;color:#f6f1e8}
.ov-nav{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border:0;border-radius:999px;background:rgba(246,241,232,.92);color:#10243a;font-size:1.6rem;cursor:pointer}
.ov-prev{left:12px}.ov-next{right:12px}
.ov-price{position:absolute;top:16px;right:16px;background:rgba(16,36,58,.82);color:#f6f1e8;padding:.55rem .8rem;border-radius:12px;font-weight:700}
.ov-badge{position:absolute;bottom:16px;right:16px;background:rgba(16,36,58,.7);color:#f6f1e8;padding:.25rem .6rem;border-radius:999px;font-size:.8rem}
.ov-status{position:absolute;top:16px;left:16px;background:#c9a227;color:#10243a;padding:.3rem .7rem;border-radius:999px;font-size:.75rem;font-weight:700;letter-spacing:.04em}
.ov-stats{font-weight:600;margin:.4rem 0 1rem}
.ov-highlights ul{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.7rem 1rem;list-style:none;padding:0;margin:0 0 2rem}
.ov-highlights li{background:#fff;border:1px solid var(--line,#d7c9a8);border-radius:12px;padding:.7rem .85rem;font-weight:600}
.ov-about{max-width:40rem}
.listing-card .home-card-foot{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap;margin-top:.7rem}
.listing-card .ov-card-price{position:absolute;top:.6rem;right:.6rem;background:rgba(16,36,58,.8);color:#f6f1e8;padding:.3rem .55rem;border-radius:10px;font-size:.85rem}
.listing-card{position:relative}

.ov-gallery{touch-action:pan-y pinch-zoom;cursor:grab}
.ov-gallery:active{cursor:grabbing}

.listing-photo-link,.listing-photo-link img{display:block;width:100%}
.listing-photo-link .listing-photo,.listing-card .listing-photo{height:210px;object-fit:cover;width:100%;background:#10243a}
.listing-card h3 a{color:inherit;text-decoration:none}
.listing-actions{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin-top:1rem}
.listing-actions .btn{display:flex;align-items:center;justify-content:center;min-height:48px;width:100%;text-align:center;font-weight:700}
.btn-navy{background:#10243a;color:#f6f1e8;border:0;border-radius:999px;padding:.7rem 1rem;text-decoration:none}
.btn-navy:visited,.btn-navy:hover{color:#f6f1e8;background:#163251}


.ov-card-status{position:absolute;top:.6rem;left:.6rem;background:#c9a227;color:#10243a;padding:.25rem .55rem;border-radius:999px;font-size:.72rem;font-weight:700}
.ov-dl{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.8rem;margin:1rem 0 2rem}
.ov-dl dt{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:#6b7280}
.ov-dl dd{margin:.2rem 0 0;font-weight:600}
.stat-grid{display:grid;gap:1rem;margin:0 0 2rem}
.stat-card{display:grid;grid-template-columns:1.3fr .9fr;gap:1rem;background:#f3f1ec;border:1px solid #d9d3c7;border-radius:16px;padding:1.1rem 1.2rem}
.stat-kicker{margin:0;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:#6b7280}
.stat-num{margin:.35rem 0 0;font-size:1.45rem;font-weight:700}
.stat-score{width:64px;height:64px;border-radius:999px;border:4px solid #2f7d4a;display:flex;align-items:center;justify-content:center;font-weight:800;color:#2f7d4a;margin:.2rem 0 0 auto}
.stat-change{margin:.35rem 0 0;font-size:1.6rem;font-weight:700;color:#2f7d4a}
.ov-tabs{display:flex;gap:.5rem;flex-wrap:wrap;margin:1.4rem 0 1rem}


.ring{width:72px;height:72px;display:block;margin-left:auto}
.range-track{position:relative;height:10px;background:#e6e1d6;border-radius:999px;margin:.7rem 0 .4rem}
.range-fill{display:block;height:100%;background:linear-gradient(90deg,#c9a227,#2f7d4a);border-radius:999px}
.range-pin{position:absolute;top:-5px;width:12px;height:20px;margin-left:-6px;background:#10243a;border-radius:4px}
.bar-row{display:grid;grid-template-columns:72px 1fr auto;gap:.4rem;align-items:center;margin:.35rem 0}
.bar-row span{font-size:.75rem;color:#6b7280}
.bar-row b{display:block;height:10px;background:#c9a227;border-radius:999px}
.bar-row b.now{background:#2f7d4a}
.bar-row em{font-style:normal;font-size:.75rem}
.stack{display:flex;height:14px;border-radius:999px;overflow:hidden;background:#e6e1d6;margin:.6rem 0}
.stack .land{background:#10243a}.stack .impr{background:#c9a227}
.stat-card .full{grid-column:1 / -1}

