/* Autumn refresh and a consistent application experience. */
.hero{background-image:url('assets/hero-fall-2026.webp')}
.property-image .property-tag{font-family:var(--experience-font);font-size:13px;line-height:1.4;font-weight:800;letter-spacing:.2px;color:#fff;background:#173f79;border:1px solid #ffffffc7;padding:8px 13px;border-radius:5px;box-shadow:0 2px 10px #10243c30}
.property-body .property-title{margin-bottom:0;line-height:1.3}
.property-body .property-location{margin-top:2px;line-height:1.55}
.property-heading .property-address{margin-top:4px}
.city-tabs button{font-family:var(--experience-font);font-size:14px;font-weight:700;padding:10px 24px}
.city-tabs button.active{background:#245ee8}
.load-more-wrap .button{font-size:15px;min-height:52px;padding-inline:30px;gap:25px;border:1px solid #245ee8;box-shadow:0 4px 15px #245ee815}
.process-promise{max-width:900px;display:flex;justify-content:center;align-items:center;gap:15px;margin:28px auto 30px;padding:16px 22px;border:1px solid #cfdeef;border-radius:8px;background:#e8f0fc;color:#314f7a;font-size:14px;line-height:1.7}
.process-promise strong{color:#1e4a96;white-space:nowrap}
.rental-faq-list summary{font-size:15px}
.faq-answer p{font-size:14px}
.application-dialog{width:min(850px,calc(100% - 40px));max-width:850px;max-height:90dvh;background:#fff;border:1px solid #dce5f2;border-radius:14px;color:#182d4e;box-shadow:0 20px 80px #0d254e35}
.application-dialog .dialog-close{position:absolute;top:17px;right:19px;background:#edf3fc;color:#294c7b;border-radius:50%;width:36px;height:36px;font-size:25px;display:grid;place-content:center;z-index:2}
.application-dialog .application-content{padding:43px 44px 35px;font-family:var(--experience-font)}
.application-content h2{font-size:38px;margin-top:12px}
.application-content .application-intro{font-size:15px;line-height:1.8;margin-top:14px;color:#526681;max-width:650px}
.application-selection{display:grid;grid-template-columns:1fr 2fr;gap:16px;margin-top:27px}
.application-selection label{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:700;color:#2d486c;min-width:0}
.application-selection select{font-family:inherit;font-size:14px;font-weight:500;min-width:0;width:100%;padding:12px 34px 12px 13px;min-height:48px;border:1px solid #bfcfe7;background:#fff;border-radius:6px;color:#213c65;text-overflow:ellipsis}
.application-selection select:disabled{color:#75869d;background:#f5f7fb}
.application-content h3{font-family:inherit;font-weight:800;font-size:17px;line-height:1.5;margin:0;color:#213c65}
.application-essentials{margin-block:25px 27px;padding:21px 23px;background:#f4f7fc;border:1px solid #e0e8f3;border-radius:8px}
.application-essentials ul{display:grid;grid-template-columns:1fr 1fr;gap:10px 25px;padding-left:18px;margin:14px 0 16px;color:#425a7c;font-size:13px;line-height:1.65}
.application-essentials p{font-size:13px;line-height:1.8;color:#536885}
.application-path{list-style:none;padding:0;margin:16px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.application-path li{display:flex;align-items:flex-start;gap:12px;padding:18px 17px;border:1px solid #dce5f1;border-radius:8px;min-width:0;background:#fff}
.application-path li>span{display:grid;place-content:center;height:30px;min-width:30px;border-radius:6px;background:#eaf1ff;color:#245ee8;font-size:12px;font-weight:800}
.application-path h4{font-family:inherit;font-size:14px;line-height:1.5;font-weight:800;margin:2px 0 8px;letter-spacing:-.2px;color:#243e63}
.application-path p{font-size:12.5px;line-height:1.8;color:#526781}
.application-refund{background:#eaf5ef;border:1px solid #cfe5d8;border-radius:7px;padding:14px 17px;color:#286147;font-size:13px;line-height:1.75;margin-top:21px}
.application-refund strong{display:block;font-weight:800}
.application-content .application-request{font-size:15px;width:100%;margin-top:23px;min-height:51px;gap:20px}
.application-request:disabled{opacity:.48;cursor:default;box-shadow:none;transform:none}
.application-content .application-footnote{font-size:12px;line-height:1.8;color:#62748d;margin-top:11px;text-align:center}
.application-city-status,.application-request-status{font-size:13px;line-height:1.8;color:#385783;background:#eef4fe;border:1px solid #d7e3f5;border-radius:6px;padding:13px 16px;margin-top:14px}
.nav-info-dialog{width:min(690px,calc(100% - 40px));max-width:690px;border-radius:12px;max-height:85dvh;color:#1f3c63}
.nav-info-dialog h2{margin-top:14px;font-size:32px}
.nav-info-dialog>p:not(.eyebrow){font-size:15px;line-height:1.9;color:#4a617f;margin-top:18px}
.nav-info-dialog>.button{font-size:14px}
.tour-home-links a{font-size:14px}
.design-preview-page .search-section{margin-top:24px}
.catalog-preview-notice{margin-block:30px 0;padding:20px 24px;border:1px solid #c9d9ef;background:#edf3ff;border-radius:9px;display:flex;gap:18px;align-items:center;font-family:var(--experience-font);color:#36557e}
.catalog-preview-notice>span{font-size:11px;font-weight:800;letter-spacing:1px;white-space:nowrap;color:#234f91}
.catalog-preview-notice>p{font-size:13px;line-height:1.8;flex:1}
.catalog-preview-notice>a{font-size:12px;font-weight:700;color:#245ee8;white-space:nowrap}
.property-image .property-tag.is-preview{background:#eef3fe;color:#214b87;border-color:#b9cef0}
.preview-price-label{display:block;font-size:11px;font-weight:650;color:#526c91;line-height:1.5;margin-bottom:3px}
.card-preview-status{font-size:11px;font-weight:650;color:#526e97;line-height:1.5}
.property-preview-notice{padding:18px 22px;border:1px solid #c9d9ef;background:#edf3ff;border-radius:8px;margin:14px 0 27px;color:#37567f}
.property-preview-notice strong{display:block;color:#264f8c;font-family:var(--experience-font);font-size:15px}
.property-preview-notice p{font-size:13px;line-height:1.8;margin-top:5px}
.property-preview-notice a{display:inline-block;color:#245ee8;font-size:12px;font-weight:700;margin-top:8px}
.preview-status-text{color:#526e97!important}
.availability-badge.is-preview{color:#3d628e;background:#edf3fc;border:1px solid #c9d9ef;font-size:11px}
.availability-badge.is-preview:before{background:#6d91c4}
.source-tour-card{border:1px solid #d6e2f3;border-radius:9px;background:#eef4ff;padding:24px;display:flex;flex-direction:column;gap:22px;align-items:flex-start;margin:20px 0}
.source-tour-card h3{font-family:var(--experience-font);font-size:23px;font-weight:750;color:#213f68;line-height:1.4;margin-top:10px}
.source-tour-card p:not(.eyebrow){font-size:14px;color:#4c6587;line-height:1.8;margin-top:10px}
.source-tour-card .button{font-size:14px;gap:15px;white-space:normal;text-align:center}
.application-dialog .application-request:disabled{background:#6083b9;opacity:.7;color:#fff}
@media(max-width:680px){
  .property-image .property-tag{font-size:12px;padding:7px 11px}
  .city-tabs button{font-size:13px;padding:9px 18px}
  .process-promise{display:block;padding:16px 18px;font-size:13px}
  .process-promise strong{display:block;margin-bottom:5px}
  .rental-faq-list summary{font-size:13px}.faq-answer p{font-size:13px}
  .application-dialog{width:calc(100% - 24px);max-height:92dvh;border-radius:10px}
  .application-dialog .application-content{padding:35px 23px 27px}
  .application-content h2{font-size:31px}
  .application-content .application-intro{font-size:14px;line-height:1.8}
  .application-selection{grid-template-columns:1fr;gap:15px;margin-top:24px}
  .application-selection select{font-size:14px}
  .application-essentials{padding:19px 17px;margin-block:22px}
  .application-essentials ul{grid-template-columns:1fr;gap:9px}
  .application-path{grid-template-columns:1fr;gap:10px}
  .application-path li{padding:16px;gap:12px}
  .application-path h4{font-size:14px}.application-path p{font-size:13px}
  .nav-info-dialog{width:calc(100% - 24px);padding:34px 24px}
  .nav-info-dialog h2{font-size:28px}.nav-info-dialog>p:not(.eyebrow){font-size:14px}
  .catalog-preview-notice{display:block;padding:18px 20px;margin-top:22px}.catalog-preview-notice>p{margin-top:8px}.catalog-preview-notice>a{display:inline-block;margin-top:9px}
  .property-preview-notice{padding:17px}.source-tour-card{padding:20px}.source-tour-card h3{font-size:21px}
  .card-preview-status{font-size:10px}.property-footer .card-media-count{font-size:10px}
  .mobile-rent-bar .preview-status-text{font-size:10px}
}

/* Houston catalogue and application request refinements */
.process-promise{background:linear-gradient(110deg,#e8f2ff 0%,#e4f8ef 100%);border-color:#a9d7cc;box-shadow:0 10px 28px #1e6f5c14;color:#244f61}
.process-promise strong{color:#126b61;font-size:15px}
.pet-tag{font-size:11px!important;font-weight:750;padding:5px 9px!important;background:#eef8f4;border-color:#b9dfd2!important;color:#176658!important}
.application-contact-form{margin-top:24px}
.application-fields{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:16px}
.application-fields label,.application-consent{font-size:11px;font-weight:750;color:#304b70}
.application-fields input,.application-fields select{display:block;width:100%;margin-top:7px;padding:12px 13px;border:1px solid #cfdced;border-radius:6px;background:#fff;color:#183252;font-size:14px}
.application-fields input:focus,.application-fields select:focus{outline:3px solid #bcd4f8;outline-offset:1px;border-color:#5d8fda}
.application-consent{display:flex;gap:10px;align-items:flex-start;margin:17px 0;color:#49617f;font-weight:500;line-height:1.7}
.application-consent input{margin-top:4px;accent-color:#245ee8}
.application-contact-form .application-request{width:100%;margin-top:4px}
.application-request-status{margin-bottom:12px}
.property-heading h1{margin-bottom:0}
.property-heading .property-address{margin-top:3px}
.property-title{margin-bottom:0}
.property-location{margin-top:2px}
.listing-stats:empty{display:none}

/* Main-city browsing, surrounding-city filters, and the mobile two-column grid. */
.city-section{display:block}
.search-panel{grid-template-columns:1.1fr 1.25fr 1fr 1fr auto}
.city-heading{max-width:620px}
.city-carousel{display:flex;align-items:center;gap:12px;margin-top:24px}
.city-options{display:flex;gap:20px;overflow-x:auto;scroll-behavior:smooth;scroll-snap-type:x mandatory;scrollbar-width:thin;flex:1;padding:3px 2px 12px}
.city-card{flex:0 0 min(31%,390px);scroll-snap-align:start}
.city-scroll-button{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border:1px solid #bcc7d6;border-radius:50%;font-size:27px;line-height:1;color:var(--navy);background:#fff}
.city-scroll-button:hover{background:var(--accent);border-color:var(--accent)}
.city-filter-wrap{display:flex;align-items:center;gap:14px;min-width:0}
.subcity-filter{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--muted);white-space:nowrap}
.subcity-filter select{border:1px solid #cbd5e3;border-radius:5px;padding:8px 27px 8px 10px;background:#f7f9fc;color:var(--navy);font-size:11px}
.city-tabs button{border-color:#d6dfea;background:#f7f9fc;color:var(--navy)}
.city-tabs button.active{background:#245ee8;border-color:#245ee8;box-shadow:0 4px 12px #245ee824}
.facts-pending{font-style:italic;color:#7a8596}
.listing-identity{display:inline-block;margin-top:18px;padding:8px 12px;border-left:3px solid var(--accent);background:#fff7f0;color:#42546d;font-size:12px;font-weight:600}
@media(max-width:820px){
  .city-filter-wrap{align-items:stretch;flex-direction:column;gap:11px}
  .subcity-filter{justify-content:flex-start}
  .city-card{flex-basis:calc(50% - 10px)}
}

@media(max-width:680px){
  .application-fields{grid-template-columns:1fr}
  .application-fields input,.application-fields select{font-size:16px}
  .pet-tag{font-size:11px!important}
  .city-carousel{gap:7px}
  .city-scroll-button{flex-basis:32px;width:32px;height:32px;font-size:22px}
  .city-options{gap:12px}
  .city-card{flex-basis:calc(78% - 6px);height:190px}
  .property-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 10px}
  .property-body{padding:12px 11px 0}
  .property-price{font-size:17px}
  .property-title{font-size:12px;margin-top:8px}
  .property-location{font-size:9px}
  .property-facts{gap:6px;flex-wrap:wrap;padding:11px 0 12px;font-size:8px}
  .property-facts svg{width:12px;height:12px}
  .property-footer{padding:9px 11px;display:block}
  .property-footer>span{font-size:7px}
  .card-media-count{display:block;margin-top:3px}
  .card-apply-row .button{width:100%;min-height:38px;padding:8px 10px;font-size:10px;gap:8px}
  .listing-identity{font-size:11px}
}
