#plan .lot.sold .boundary,#plan .lot.sold.selected .boundary,#plan .lot.sold:hover .boundary,#plan .lot.sold.area-match .boundary{fill:#d85652;stroke:#8d252b;stroke-width:.75}#plan .lot.sold polygon:not(.boundary){fill:#d77c76}#plan .lot.sold.selected .boundary{stroke:#64121c;stroke-width:1.4}.dot.sold{background:#d85652}.lot-choice.sold{background:#fff0ee;border-color:#c85d59}.lot-choice.sold.active{border-color:#922d32}.availability-badge{display:block;letter-spacing:0;font-size:11px;margin-top:10px}.sold .availability-badge,.status-sold{color:#a52d33}.lot-panel .status-sold{color:#ffc3bb;font-weight:700}.lot-panel button:disabled{opacity:.6;cursor:not-allowed}#selectedReference{font-size:12px;margin-top:-13px;color:#d9e7c1}.ownership-points{display:flex;flex-wrap:wrap;gap:9px;padding:0;list-style:none;margin:24px 0}.ownership-points li{padding:8px 12px;border:1px solid #c2cbb9;border-radius:3px;font-size:13px}.reservation-line{border-left:3px solid #b59659;padding:12px 0 12px 19px;margin:24px 0!important;color:#163e33!important;font:27px/1.2 Georgia!important}.reservation-line strong{display:block;font-size:38px;margin-top:5px}.story .seller-note{font-size:11px;line-height:1.6}.author-mark{font-size:10px;letter-spacing:.06em;color:#5c7164}.hero-media img{height:100%;object-fit:contain}.hero-media{border-radius:90px 3px 3px 3px}.view-card strong{font-size:21px}@media(max-width:720px){.hero-media{height:330px}.reservation-line strong{font-size:32px}.ownership-points{gap:7px}.story .seller-note{font-size:11px}}

.hero-media{align-self:center;justify-content:center;min-height:440px;aspect-ratio:1.15;background:#849d7e}.hero-media img{width:165%;max-width:none;height:auto;object-fit:contain;flex:none}@media(max-width:720px){.hero-media{height:350px;min-height:350px;aspect-ratio:auto}}

.hero-media{width:calc(100% - 15px);height:clamp(380px,40vw,620px);min-height:0;aspect-ratio:auto}@media(max-width:720px){.hero-media{width:100%;height:350px;min-height:0}}

/* Status colors remain visible during selection, hovering and area filtering. */
#plan .lot.available{--lot-fill:#69ad78;--lot-building:#9bc9a4;--lot-stroke:#286a3b}
#plan .lot.sold{--lot-fill:#d85652;--lot-building:#e69a93;--lot-stroke:#8d252b}
#plan .lot.reserved{--lot-fill:#9ca3a6;--lot-building:#bec3c5;--lot-stroke:#586369}
#plan .lot:is(.available,.sold,.reserved) .boundary{fill:var(--lot-fill);stroke:var(--lot-stroke);stroke-width:.65}
#plan .lot:is(.available,.sold,.reserved) polygon:not(.boundary){fill:var(--lot-building)}
#plan .lot:is(.available,.sold,.reserved):is(.selected,:hover,:focus,.area-match) .boundary{fill:var(--lot-fill);stroke:var(--lot-stroke);stroke-width:1}
#plan .lot:is(.available,.sold,.reserved).selected .boundary{stroke:#192d27;stroke-width:1.5}
.dot.available{background:#69ad78}.dot.reserved{background:#9ca3a6}.dot.sold{background:#d85652}
.plan-help{padding:0 16px 12px;font-size:11px;color:#5b6b61;margin:0}
.lot-choice.available{background:#eff8f0;border-color:#7fae86}.lot-choice.reserved{background:#eef0f1;border-color:#929a9e}
.lot-choice.available.active,.lot-choice.reserved.active{border:2px solid #163e33}
.available .availability-badge{color:#286a3b}.reserved .availability-badge{color:#586369}
.lot-panel .status-available{color:#b9e6bc}.lot-panel .status-reserved{color:#d9dfe1}
