.browse-intro {display:grid;grid-template-columns:1.35fr 1fr;background:#17323a;color:#fffdf5}
.browse-intro-copy {padding:clamp(36px,5.5vw,82px) 7vw;align-self:center}
.browse-intro .kicker {color:#e3d6bd}
.browse-intro h1,.detail-intro h1,.property-error h1 {font-size:clamp(50px,5.8vw,88px);line-height:1;margin:16px 0;letter-spacing:-.045em}
.browse-intro p,.property-error p {max-width:52ch;font-size:16px;line-height:1.75}
.browse-intro img {width:100%;height:100%;min-height:250px;object-fit:cover}
.property-browse,.property-detail,.property-error {padding:clamp(30px,4vw,68px) 7vw}
.property-controls {display:grid;align-items:start;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px 20px}
.property-controls .search-location {grid-column:span 2}
.search-location {min-width:0}
.property-controls .search-location > label {margin-bottom:6px}
.property-city-field {position:relative}
.property-city-selected[hidden],.property-city-options[hidden] {display:none}
.property-city-options {position:absolute;z-index:12;inset-inline:0;top:100%;max-height:14rem;overflow:auto;overscroll-behavior:contain;list-style:none;margin:2px 0 0;padding:4px;background:#fffdf8;color:#142d35;border:1px solid #91a69e;box-shadow:0 6px 16px #142d351f}
.property-city-option {padding:10px 12px;cursor:pointer;line-height:1.4;overflow-wrap:anywhere}
.property-city-option:hover,.property-city-option[aria-selected="true"] {background:#e1ece8;color:#153c3e}
#property-city-help {display:block;margin-top:5px;color:#455951;font-size:.82rem}
.property-city-selected {display:flex;flex-wrap:wrap;gap:6px;margin:7px 0 0;padding:0;list-style:none}
.property-city-chip {display:inline-flex;max-width:100%;color:#193c3f;font-size:.88rem}
.property-city-remove {font:inherit;border:1px solid #a3b6af;border-radius:1rem;background:#eaf0ec;color:inherit;min-height:32px;padding:3px 11px;overflow-wrap:anywhere;cursor:pointer}
.property-city-remove:hover {background:#d1e0d9}
.property-city-status {position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}

.property-controls label,.save-controls label,.property-result-head label {display:grid;gap:6px;font-size:14px;color:#364c51}
.property-controls input,.property-controls select,.save-controls input,.property-result-head select {font:inherit;background:#fffdf8;color:#142d35;min-height:43px;padding:10px;border:1px solid #adb8b2;border-radius:0;min-width:0;width:100%}
.property-control-actions {display:flex;align-items:end;gap:15px}
.property-controls .button,.save-controls .button {min-height:44px;padding:9px 20px}
.property-browse .textlink {border:0;background:transparent;cursor:pointer;padding:5px}
.property-controls .textlink {margin-bottom:7px}
.saved-panel {margin:22px 0 42px;border-block:1px solid #cbc9bf;padding:16px 0;font-size:15px}
.saved-panel summary,.property-gallery summary {cursor:pointer;color:#163742}
.saved-panel>p {margin:10px 0}
.save-controls {display:flex;flex-wrap:wrap;align-items:end;gap:12px;margin:16px 0}
.save-controls label {width:min(330px,100%)}
#property-saved {list-style:none;margin:0;padding:0}
.saved-search-item {display:flex;gap:18px;align-items:center;margin-top:8px}
.saved-search-link {color:#183540;text-decoration:underline;overflow-wrap:anywhere}
.saved-search-remove {font:inherit;color:#40565a;background:none;border:0;padding:7px;cursor:pointer}
.saved-search-remove:hover {text-decoration:underline}
.property-result-head,.property-summary {display:flex;align-items:baseline;flex-wrap:wrap;gap:12px;justify-content:space-between}
.property-result-head h2,.detail-columns h2 {font-size:clamp(32px,3.5vw,54px);letter-spacing:-.03em}
.property-result-head label {width:min(170px,100%)}
.property-summary,.property-notice {font-size:14px;line-height:1.7;color:#4b5d61}
.property-summary {margin:12px 0 18px}
#property-more {display:block;margin:24px auto;min-height:44px}
.property-results {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}
.search-result {border:1px solid #dcdad2;background:#fffdf8}
.search-result-link {display:block;height:100%;text-decoration:none}
.property-browse :focus-visible,.property-gallery summary:focus-visible {outline:2px solid #486b74;outline-offset:3px}
.search-result-media {position:relative;aspect-ratio:1.6;background:#dcdfd9;display:grid;place-items:center;overflow:hidden}
.search-result-image {width:100%;height:100%;object-fit:cover;inset:0;position:absolute}
.search-result-placeholder {font:12px/1.5 Manrope,Arial,sans-serif;color:#405255}
.search-result-type {position:absolute;bottom:12px;left:14px;font:11px/1.3 Manrope,Arial,sans-serif;padding:6px 9px;color:white;background:#18353b}
.search-result-content {padding:clamp(16px,2vw,27px)}
.search-result-city {font-size:14px;letter-spacing:.08em;color:#536265}
.search-result-title {margin:8px 0;font-size:clamp(27px,2.3vw,40px);line-height:1.05}
.search-result-price {font-size:17px;color:#1b3840}
.search-result-facts,.search-result-attribution {margin-top:10px;font-size:14px;line-height:1.65;color:#526265}
.search-result-attribution {border-top:1px solid #dad9d0;padding-top:9px}
.property-return {color:#2f515a;text-decoration:underline;font-size:15px}
.detail-intro {display:flex;align-items:end;justify-content:space-between;flex-wrap:wrap;column-gap:24px;margin:25px 0}
.detail-intro .kicker,.detail-intro p {color:#526166}
.detail-intro h1 {max-width:21ch}
.detail-price {display:grid;gap:7px;padding:14px 0}
.detail-price strong {font-family:Display,Georgia,serif;font-weight:400;font-size:clamp(31px,3.3vw,50px)}
.detail-price .textlink {color:#163641;justify-self:start}
.property-lead {background:#e5e5dd;margin:0}
.property-lead img {display:block;width:100%;height:clamp(300px,45vw,640px);object-fit:contain}
.property-gallery {padding:17px 0;border-bottom:1px solid #d1d3cd;font-size:16px}
.property-gallery div {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding-top:16px}
.property-gallery img {width:100%;height:clamp(135px,23vw,325px);object-fit:contain;background:#e5e5dd}
.detail-columns {margin:35px 0;display:grid;grid-template-columns:1.5fr 1fr;gap:clamp(24px,5vw,90px);align-items:start}
.detail-facts {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 30px;margin:20px 0 0}
.detail-facts div {padding-bottom:10px;border-bottom:1px solid #cfcec6}
.detail-facts dt {font-size:14px;color:#55676a}
.detail-facts dd {margin:4px 0 0}
.detail-attribution {padding:clamp(20px,3vw,40px);background:#e9e7df}
.detail-attribution h2 {font-size:clamp(29px,2.8vw,43px);margin:14px 0}
.detail-attribution .button,.property-error .button {margin-top:16px}
.property-notice {margin:24px 0 0}
.property-browse [hidden] {display:none!important}
@media(max-width:1000px){.property-results{grid-template-columns:repeat(2,minmax(0,1fr))}.property-controls{grid-template-columns:repeat(3,minmax(0,1fr))}.property-controls .search-location{grid-column:auto}}
@media(max-width:680px){.browse-intro{grid-template-columns:1fr}.browse-intro img{display:none}.property-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.property-controls .search-location,.property-control-actions{grid-column:1/-1}.property-results,.detail-columns,.property-gallery div{grid-template-columns:1fr}.property-result-head label{width:auto}}
.property-result-head .show-saved-homes { display:flex;width:auto;align-items:center;gap:8px;margin-left:auto;margin-right:8px }
.show-saved-homes input { accent-color:#17343d;width:17px;height:17px }
.search-result { display:flex;flex-direction:column }
.search-result-link { height:auto;flex:1 }
.search-result-favorite,.saved-home-remove,.detail-saving button { background:#fffdf7;color:#1e3d44;border:1px solid #a7b5b0;padding:9px 13px;font:inherit;font-size:15px;cursor:pointer }
.search-result-favorite { margin:0 clamp(16px,2vw,27px) 18px;align-self:flex-start }
.search-result-favorite[aria-pressed=true],.detail-saving button[aria-pressed=true] { background:#1c3941;color:white }
.detail-saving { display:flex;align-items:center;gap:16px;margin-bottom:10px }
.detail-saving [hidden] { display:none }
#property-favorite-status,#property-favorites-status { color:#455b60;font-size:14px;line-height:1.7;min-height:1px }
.saved-home-unavailable { padding:20px;border:1px solid #d4d4cd;background:#efeee7;font-size:16px }
.saved-home-remove { margin-top:12px }
@media(max-width:680px) { .property-result-head .show-saved-homes { margin-left:0; } }
