/* Address suggestions and the progressive rental estimate flow. */
[hidden]{display:none!important}
#search-results{position:absolute;inset:auto 0;max-height:340px;overflow:auto;overscroll-behavior:contain;z-index:12;padding:8px;animation:suggestion-appear .18s ease-out}
#search-results #address-status{font-size:14px;color:var(--muted);padding:10px 12px}
#search-results .address-credit{font-size:12px;color:var(--muted);padding:9px 12px;border-top:1px solid #42424210;margin-top:5px}
#address-options button{padding:12px;text-align:left;transition:background .15s ease}
#address-options button.is-active,#address-options button:hover{background:var(--ice)}
.address-label{display:flex;flex-direction:column;gap:3px}
.address-label strong{font-size:16px;font-weight:600;line-height:1.45}
.address-label>span{font-size:14px;color:var(--muted);line-height:1.45}
.estimate-dialog{max-width:710px;padding:44px;border:1px solid #42424210;box-shadow:0 24px 100px #0002;animation:estimate-appear .32s cubic-bezier(.2,.8,.2,1)}
.estimate-dialog .eyebrow{font-size:13px;letter-spacing:.07em;color:#527e85;margin:0 0 15px;padding-right:25px}
.estimate-dialog h2{font-size:36px;margin-bottom:15px;line-height:1.2}
.estimate-address{color:var(--muted);font-size:15px;margin-bottom:28px;padding-bottom:22px;border-bottom:1px solid #42424215;overflow-wrap:anywhere}
.estimate-loading{padding:30px 10px 36px;text-align:center;min-height:265px}
.estimate-loading h3{font-family:Gilroy,'PingFang SC',sans-serif;font-size:22px;line-height:1.4;margin:22px 0 16px;font-weight:500}
.estimate-orbit{width:48px;height:48px;margin:auto;border-radius:50%;border:3px solid var(--ice);border-top-color:#6a9298;animation:estimate-spin 1s linear infinite}
#estimate-step{font-size:15px;color:var(--muted);margin:0 0 20px;min-height:24px}
.estimate-track{height:5px;border-radius:99px;background:#edf2f3;max-width:360px;overflow:hidden;margin:auto}
#estimate-meter{width:12%;height:100%;border-radius:inherit;background:#6a9298;transition:width .7s cubic-bezier(.2,.8,.2,1)}
#estimate-result{animation:estimate-appear .5s cubic-bezier(.2,.8,.2,1)}
.income-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:5px 0 24px}
.income-card{padding:24px 20px;border:1px solid #6a92982b;border-radius:16px;background:linear-gradient(150deg,#f5f9fa,#e8f0f3);overflow:hidden}
.income-card>p{margin:0 0 17px;font-size:15px;font-weight:600}
.masked-income{font-size:34px;line-height:1.3;letter-spacing:-.04em;font-weight:600;filter:blur(7px);user-select:none;white-space:nowrap;color:#527e85;opacity:.8;padding:4px 0}
.income-period{display:block;font-size:14px;color:var(--muted);margin-top:14px}
.estimate-explanation{font-size:16px;color:var(--muted);line-height:1.6;margin:0 0 22px}
#unlock-estimate{width:100%}
.estimate-lead{padding-top:8px;animation:estimate-appear .5s cubic-bezier(.2,.8,.2,1)}
.estimate-lead h3{font-family:Gilroy,'PingFang SC',sans-serif;font-size:22px;font-weight:600;line-height:1.4;margin:0 0 9px}
.estimate-lead>p{font-size:15px;color:var(--muted);margin:0 0 20px}
.estimate-form .form-note{font-size:13px}
.estimate-form input[type=hidden]{display:none}
@keyframes suggestion-appear{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
@keyframes estimate-appear{from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:none}}
@keyframes estimate-spin{to{transform:rotate(360deg)}}
@media(max-width:520px){#search-results{max-height:290px}.estimate-dialog{padding:34px 22px}.estimate-dialog h2{font-size:28px}.estimate-dialog .eyebrow{font-size:12px}.estimate-address{margin-bottom:20px;font-size:14px}.income-grid{gap:10px}.income-card{padding:20px 12px}.masked-income{font-size:27px;filter:blur(6px)}.income-card>p{font-size:14px}.estimate-lead h3,.estimate-loading h3{font-size:20px}}
