[hidden]{display:none!important}.rental-hero{position:relative;background:var(--navy);color:white;overflow:hidden}.rental-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 60%;opacity:.28}.rental-hero>.wrap{position:relative;display:grid;grid-template-columns:1fr 260px;align-items:end;gap:70px;padding-top:86px;padding-bottom:82px}.rental-hero h1{font-size:clamp(44px,5.4vw,76px);max-width:850px}.rental-hero p{max-width:650px;font-size:19px;color:#e0e6f5}.home-count{border-left:1px solid #ffffff50;padding-left:36px}.home-count strong{font-size:78px;line-height:1.1;display:block;font-family:Manrope,sans-serif}.home-count>span{font-size:13px;font-weight:700;letter-spacing:.12em}.home-count p{font-size:16px;margin:22px 0 0}.rental-benefits{display:grid;grid-template-columns:repeat(3,1fr);padding:0}.rental-benefits>div{padding:25px 30px;border-left:1px solid var(--line)}.rental-benefits>div:last-child{border-right:1px solid var(--line)}.rental-benefits span{display:block;color:var(--muted);font-size:14px}.rental-search{padding-top:60px;border-top:1px solid var(--line)}.rental-search .section-head{align-items:end;margin-bottom:30px}.rental-search .section-head h2{margin:0}.rental-search .section-head p{font-size:14px;margin:0}.rental-search .eyebrow{margin-bottom:12px}.rental-filters{display:grid;grid-template-columns:2fr 1fr 1fr .8fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:0 24px}.rental-filters label{font-size:12px;color:var(--muted);padding:12px 20px;border-right:1px solid var(--line);display:block}.rental-filters input,.rental-filters select{border:0;border-radius:0;width:100%;min-height:34px;background:white;color:var(--ink);padding:4px 0;font-size:15px}.more-filters{background:white;border:0;padding:20px;text-align:left;font-weight:700;color:var(--navy)}#extra-filters{grid-column:1/-1;display:flex;gap:20px;align-items:center;padding:12px 0;border-top:1px solid var(--line)}#extra-filters label{min-width:200px}.search-layout{display:grid;grid-template-columns:1fr 1fr;align-items:start;background:var(--pale)}.map-panel{position:sticky;top:90px;height:calc(100vh - 100px);min-height:450px;z-index:1}.map-panel #rental-map{height:100%;background:#e8ece9}.show-all{position:absolute;top:12px;right:12px;left:auto;display:inline-flex;align-items:center;gap:8px;z-index:500;border:0;background:var(--navy);color:white;text-transform:uppercase;font-size:11px;letter-spacing:.03em;font-weight:700;padding:12px}.map-status:empty{display:none}.map-status,.tile-notice{position:absolute;bottom:24px;left:12px;right:12px;z-index:500;background:white;border-radius:4px;padding:10px;font-size:12px;box-shadow:0 2px 10px #14265320}.rental-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;padding:22px;align-content:start}.rental-card{min-width:0;background:white;border:1px solid var(--line);overflow:hidden}.rental-card-media{position:relative;height:230px;background:#dce3ef}.rental-card-media>a{display:block;height:100%}.rental-card-media img{height:100%;width:100%;object-fit:cover}.availability{position:absolute;left:12px;top:12px;background:#fff;padding:7px 10px;font-size:9px;letter-spacing:.09em;font-weight:800;text-transform:uppercase;max-width:65%;color:var(--navy)}.availability:before{content:'●';color:#57956a;margin-right:6px;font-size:8px}.card-tools{position:absolute;right:10px;top:10px;display:flex;gap:4px;opacity:0;transition:opacity .15s}.rental-card:hover .card-tools,.rental-card:focus-within .card-tools{opacity:1}.card-tools button{border:0;background:#142653ed;color:white;font-size:22px;min-width:48px;padding:3px 7px 6px}.card-tools small{display:block;font-size:8px;letter-spacing:.05em;text-transform:uppercase}.card-tools button[aria-pressed=true]{background:var(--blue)}.photo-prev,.photo-next{position:absolute;top:50%;transform:translateY(-50%);border:0;background:#142653b8;color:white;width:30px;height:42px;font-size:30px;line-height:1}.photo-prev{left:8px}.photo-next{right:8px}.photo-count{position:absolute;right:10px;bottom:10px;background:#142653db;border-radius:20px;color:white;font-size:11px;padding:4px 12px}.rental-card-body{padding:22px 18px}.rental-card .rent{font-size:26px;color:var(--navy);line-height:1.2;margin:0 0 12px;font-weight:800}.rental-card .rent small{font-size:12px;margin-left:2px}.rental-card .facts{font-size:13px;font-weight:700;gap:12px;flex-wrap:wrap;border:0;padding:0;margin-bottom:18px}.rental-card h3{font-size:19px;margin-bottom:6px;letter-spacing:-.02em}.card-location{font-size:12px;color:var(--muted);margin-bottom:18px}.card-actions{display:flex;flex-wrap:wrap;gap:12px;font-size:11px;font-weight:700;border-top:1px solid var(--line);padding-top:16px}.card-actions a:last-child{margin-left:auto}.card-actions a:hover{text-decoration:underline}.portal-fallback{padding-top:20px;padding-bottom:35px}.price-marker{background:var(--navy);color:white;text-align:center;padding:5px;font-size:12px;font-weight:700;border:2px solid white;border-radius:4px;box-shadow:0 2px 8px #14265335;white-space:nowrap}.home-cluster{background:var(--navy);border:2px solid white;color:white;border-radius:5px;text-align:center;box-shadow:0 2px 8px #14265335}.home-cluster strong{display:block;font-size:18px;line-height:24px}.home-cluster small{font-size:9px}.map-home{display:grid;gap:6px;color:var(--navy)!important;min-width:190px}.map-home img{width:220px;height:130px;object-fit:cover}.map-home strong{font-size:19px}.map-home b{font-size:12px}.view-switch{display:none}.empty{grid-column:1/-1;padding:40px 20px}.compare-bar{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);z-index:1100;background:white;border:1px solid var(--line);box-shadow:0 5px 40px #14265335;padding:12px 18px;display:flex;gap:14px;align-items:center;border-radius:8px;white-space:nowrap}.compare-bar span{font-size:13px}.rental-dialog{border:0;border-radius:8px;padding:40px;max-width:min(960px,94vw);width:94vw;max-height:90dvh;color:var(--ink);box-shadow:0 20px 80px #0005}.rental-dialog::backdrop{background:#0b1733d9}.dialog-close{position:absolute;right:10px;top:8px;border:0;background:var(--pale);color:var(--navy);font-size:30px;width:42px;height:42px;line-height:1;z-index:2;border-radius:50%}.rental-dialog h2{font-size:30px;padding-right:30px}.comparison-table{overflow:auto}.comparison-table table{border-collapse:collapse;width:100%;min-width:420px;font-size:14px}.comparison-table td,.comparison-table th{padding:16px;text-align:left;border-bottom:1px solid var(--line)}.comparison-table thead{background:var(--pale)}.lightbox{background:#0d1730;color:white;padding:50px 20px 15px;width:1100px;max-width:96vw}.lightbox-image{position:relative}.lightbox-image img{width:100%;height:70dvh;object-fit:contain}.lightbox-image button{position:absolute;top:45%;background:white;border:0;color:var(--navy);font-size:32px;width:44px;height:50px}.lightbox-image [data-back]{left:0}.lightbox-image [data-next]{right:0}.lightbox-count{text-align:center;margin:12px 0 0}.rental-breadcrumb{display:flex;gap:12px;flex-wrap:wrap;font-size:12px;padding:30px 0}.rental-breadcrumb a{font-weight:700}.rental-gallery{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:240px 240px;gap:7px}.gallery-photo{padding:0;border:0;background:var(--pale);position:relative;overflow:hidden}.gallery-photo:first-child{grid-row:span 2}.gallery-photo img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.gallery-photo:hover img{transform:scale(1.025)}.gallery-photo span{position:absolute;right:12px;bottom:12px;background:white;color:var(--navy);padding:10px 16px;font-size:12px;font-weight:700}.few-photos{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-template-rows:400px}.few-photos .gallery-photo:first-child{grid-row:auto}.rental-detail .results-status{margin:16px 0 40px;font-size:12px}.rental-detail-columns{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:70px;align-items:start}.rental-detail h1{font-size:clamp(36px,3.4vw,52px);margin-bottom:16px}.property-address{color:var(--muted);font-size:17px}.rental-stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:25px 0;gap:14px}.rental-stats>div{display:flex;flex-direction:column-reverse}.rental-detail dt{text-transform:uppercase;letter-spacing:.08em;font-size:10px;color:var(--muted);font-weight:700}.rental-detail dd{margin:0;font-size:16px}.rental-stats dd{font-size:26px;font-weight:700;letter-spacing:-.03em;color:var(--navy)}.detail-section{padding:40px 0;border-bottom:1px solid var(--line)}.detail-section h2{font-size:32px}.detail-section .eyebrow{margin-bottom:12px}.tour-section{background:var(--pale);padding:30px;margin-top:35px;border:1px solid var(--line)}.rental-features{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-bottom:40px}.description{white-space:pre-line}.rental-cta{position:sticky;top:110px;border:1px solid var(--line);background:var(--pale);padding:30px}.rental-cta h2{font-size:31px}.rental-cta p{font-size:14px}.rental-cta .rent{font-size:26px;color:var(--navy)}.rental-cta .rent small{font-size:12px}.rental-cta .actions{display:grid;gap:10px}.rental-cta .button{width:100%;font-size:12px;gap:10px}.rental-cta hr{border:0;border-top:1px solid var(--line);margin:26px 0}.rental-cta>strong{font-size:12px;display:block}.rental-cta>a{display:block;font-size:12px;padding-top:10px;overflow-wrap:anywhere}.pricing-breakdown dl>div{display:flex;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--line)}.pricing-breakdown dd{font-weight:700}.pricing-breakdown p{font-size:14px;margin-top:25px}.related-homes{grid-template-columns:repeat(3,minmax(0,1fr));padding:0}.rental-detail .detail-section:last-child{border:0;margin-bottom:30px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0)}
@media(min-width:1500px){.rental-card-media{height:280px}}
@media(max-width:1100px){.rental-detail-columns{gap:30px;grid-template-columns:minmax(0,1fr) 290px}.rental-gallery{grid-template-rows:190px 190px}.rental-cards{gap:14px;padding:14px}.rental-card-media{height:200px}.rental-card-body{padding:18px 14px}.rental-card .facts{gap:8px;font-size:11px}.rental-card h3{font-size:17px}.card-actions{gap:10px}.rental-hero>.wrap{gap:30px;grid-template-columns:1fr 210px}.rental-benefits>div{padding:22px 15px}}
@media(max-width:800px){.rental-hero>.wrap{display:block;padding-top:60px;padding-bottom:60px}.home-count{display:none}.rental-hero h1{font-size:45px}.rental-hero p{font-size:16px}.rental-benefits{grid-template-columns:1fr}.rental-benefits>div{border:0!important;border-bottom:1px solid var(--line)!important;padding:15px 0}.rental-search{padding-top:40px}.rental-search .section-head{display:block}.rental-search .section-head p{margin-top:14px}.rental-filters{grid-template-columns:1fr 1fr;padding:0 16px}.rental-filters .search-field{grid-column:1/-1;border-right:0;border-bottom:1px solid var(--line)}.rental-filters label{padding:10px}.more-filters{grid-column:1/-1;padding:14px 10px;border-top:1px solid var(--line)}#extra-filters{flex-wrap:wrap;gap:10px}#extra-filters label{min-width:0;flex:1}.view-switch{display:flex;padding:12px 20px;gap:10px}.view-switch button{padding:8px 22px;border:1px solid var(--line);background:white;color:var(--navy);border-radius:4px}.view-switch button[aria-pressed=true]{background:var(--navy);color:white}.search-layout{display:block}.map-panel{position:relative;top:0;height:65dvh;min-height:350px}.search-layout[data-view-mode=list] .map-panel{display:none}.search-layout[data-view-mode=map]>.rental-cards{display:none}.rental-card-media{height:240px}.card-tools{opacity:1}.rental-detail-columns{display:flex;flex-direction:column;gap:30px}.rental-detail-columns>article{width:100%}.rental-cta{position:static;width:100%}.rental-gallery{grid-template-columns:2fr 1fr;grid-template-rows:170px 170px}.gallery-photo:nth-child(4),.gallery-photo:nth-child(5){display:none}.rental-gallery:after{content:none}.rental-breadcrumb{padding:22px 0}.rental-stats{grid-template-columns:repeat(2,1fr);gap:20px}.rental-features{gap:20px}.related-homes{grid-template-columns:1fr 1fr}.related-homes .rental-card:last-child{display:none}.rental-dialog{padding:45px 18px 20px}.compare-bar{width:calc(100% - 24px);gap:8px;padding:10px;flex-wrap:wrap;bottom:10px}.compare-bar span{flex:1 0 100%}.compare-bar .button{font-size:12px;min-height:40px;padding:8px 16px}.few-photos{grid-template-rows:320px}.rental-detail h1{font-size:36px}}
@media(max-width:480px){.rental-cards{grid-template-columns:1fr;padding:16px}.rental-card-media{height:260px}.rental-gallery{grid-template-rows:130px 130px;gap:4px}.rental-hero h1{font-size:40px}.rental-detail .wrap{width:calc(100% - 36px)}.rental-features{grid-template-columns:1fr}.rental-detail h1{font-size:32px}.related-homes{padding:0}.rental-breadcrumb{font-size:10px;gap:7px}.rental-detail .results-status{margin-bottom:30px}.tour-section{padding:22px}.few-photos{grid-template-rows:260px}.rental-card .facts{font-size:13px}.card-actions{font-size:12px}}
@media(prefers-reduced-motion:reduce){.gallery-photo img,.card-tools{transition:none}}
.gallery-all{display:none}@media(max-width:800px){.gallery-all{display:inline-flex;margin-top:12px;font-size:12px;min-height:40px}.rental-detail .results-status{margin-top:12px}}

.leaflet-marker-icon.home-cluster{border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0;box-sizing:border-box}.home-cluster strong{font-size:17px;line-height:20px}.home-cluster small{font-size:8px;line-height:12px}.leaflet-marker-icon.price-marker{border-radius:999px;display:flex;align-items:center;justify-content:center;padding:0 8px}.price-marker.is-selected{background:var(--blue);box-shadow:0 0 0 3px #345ce54d}.rental-card.map-selected{outline:3px solid var(--blue);outline-offset:2px;box-shadow:0 8px 24px #14265324}.rental-cards>.rental-card{scroll-margin-top:115px}@media(max-width:850px){.rental-cards>.rental-card{scroll-margin-top:96px}}
.rental-detail [data-detail-status]:empty{display:none}.rental-detail-columns{margin-top:40px}.rental-stats dd{display:flex;align-items:center;gap:9px}.stat-icon{width:24px;height:24px;flex:none;color:var(--muted)}.school-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:24px 0}.school-card{border:1px solid var(--line);border-radius:8px;padding:24px;background:var(--pale)}.school-card h3{font-size:18px;line-height:1.4;margin:0 0 12px}.school-card h3 a:hover{text-decoration:underline}.school-card p{font-size:14px;margin:0 0 18px}.school-distance{font-size:13px;color:var(--muted)}.nearby-schools [data-school-status]{font-size:14px;color:var(--muted)}.sitemap-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}.sitemap-group h2{font-size:25px}.sitemap-group ul{list-style:none;padding:0}.sitemap-group li{padding:10px 0;border-bottom:1px solid var(--line)}.sitemap-group a:hover{text-decoration:underline}@media(max-width:1000px){.school-grid,.sitemap-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.school-grid,.sitemap-grid{grid-template-columns:1fr}.stat-icon{width:22px;height:22px}.rental-stats dd{gap:8px}}
/* Side-by-side rental comparison */
.comparison-dialog{width:calc(100vw - 48px);max-width:1440px;max-height:94dvh;padding:34px;border-radius:6px}.comparison-dialog>.eyebrow{color:var(--blue);margin-bottom:12px}.comparison-dialog>h2{font-size:clamp(28px,3vw,44px);margin-bottom:28px}.comparison-scroll{overflow-x:auto}.comparison-grid{display:grid;grid-template-columns:repeat(var(--compare-count),minmax(280px,1fr));gap:20px;align-items:stretch}.comparison-card{min-width:0;border:1px solid var(--line);display:flex;flex-direction:column;background:white}.comparison-card .rental-card-media{height:260px}.comparison-summary{padding:20px;border-bottom:3px solid var(--blue);min-height:160px}.comparison-summary h3{font-size:19px;line-height:1.4;margin:0 0 6px}.comparison-summary p{font-size:13px;color:var(--muted);margin:0 0 20px}.comparison-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.comparison-actions .button{padding:10px 5px;min-height:42px;font-size:10px;justify-content:center;text-align:center;letter-spacing:0}.comparison-body{padding:0 20px 24px;display:flex;flex-direction:column;flex:1}.comparison-facts{margin:18px 0}.comparison-facts>div{display:grid;grid-template-columns:1fr 1.3fr;gap:12px;border-top:1px solid var(--line);padding:13px 0;font-size:13px}.comparison-facts dt{color:var(--muted)}.comparison-facts dd{margin:0;text-align:right;font-weight:700;overflow-wrap:anywhere}.comparison-card h4{font-size:13px;letter-spacing:.08em;text-transform:uppercase;margin:0 0 14px;color:var(--navy)}.comparison-amenities{border-top:1px solid var(--line);padding:20px 0;min-height:155px}.comparison-amenities p,.comparison-location p{font-size:13px;color:var(--muted)}.comparison-amenities ul{padding:0;list-style:none;font-size:13px}.comparison-amenities li:before{content:'✓';color:var(--blue);margin-right:8px}.comparison-location{border-top:1px solid var(--line);padding-top:20px;margin-top:auto}.comparison-map{height:210px;position:relative;background:var(--pale);z-index:0}.virtual-tour-section{scroll-margin-top:110px}.virtual-tour-frame{display:block;width:100%;aspect-ratio:16/10;min-height:360px;border:1px solid var(--line);background:var(--pale);margin-bottom:18px;border-radius:6px}.virtual-tour-section .textlink{font-size:13px}@media(max-width:800px){.comparison-dialog{width:96vw;max-width:96vw;padding:24px 14px}.comparison-grid{gap:12px;grid-template-columns:repeat(var(--compare-count),minmax(280px,1fr))}.comparison-card .rental-card-media{height:210px}.comparison-summary{padding:16px}.comparison-body{padding:0 16px 20px}.virtual-tour-frame{min-height:340px}}

/* Shared loading state for the map and rental cards. */
.search-layout{position:relative;min-height:calc(100dvh - 100px)}
.search-loading{position:absolute;top:0;left:0;right:0;z-index:700;height:calc(100dvh - 100px);min-height:450px;display:grid;place-items:center;background:rgba(242,245,250,.94);color:var(--navy)}
.search-loading-content{display:flex;flex-direction:column;align-items:center;gap:15px;padding:28px;text-align:center;font-size:15px;font-weight:600}
.search-loading-content img{width:66px;height:78px;object-fit:contain;animation:rental-logo-pulse 1.35s ease-in-out infinite}
@keyframes rental-logo-pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.1)}}
@media(max-width:800px){.search-layout,.search-loading{min-height:350px}.search-loading{height:65dvh}}
@media(prefers-reduced-motion:reduce){.search-loading-content img{animation:none}}

/* Nearby schools: matching numbered list and map markers. */
.schools-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(290px,1fr);gap:28px;align-items:start;margin:24px 0}
.school-map{height:510px;min-width:0;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--pale)}
.school-list{list-style:none;margin:0;padding:0;max-height:510px;overflow-y:auto;border:1px solid var(--line);border-radius:10px;background:#fff}
.school-list .school-card{display:flex;align-items:flex-start;gap:16px;margin:0;padding:18px 20px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:#fff}
.school-list .school-card:last-child{border-bottom:0}
.school-list .school-card:hover,.school-list .school-card:focus-within{background:var(--pale)}
.school-list .school-card>div{min-width:0}
.school-list .school-card h3{font-size:17px;line-height:1.35;margin:0 0 7px}
.school-list .school-card h3 a{text-decoration:none}
.school-list .school-card h3 a:hover,.school-list .school-card h3 a:focus-visible{text-decoration:underline}
.school-list .school-card p{font-size:13px;margin:0 0 5px;color:var(--muted)}
.school-list .school-card address{font-size:13px;line-height:1.4;font-style:normal;color:var(--muted)}
.school-number,.school-map-pin,.school-home-pin{display:flex;align-items:center;justify-content:center;flex:none;width:34px;height:34px;border-radius:50%;box-sizing:border-box;font-weight:700;font-size:14px;color:#fff;background:#142653;border:2px solid #fff;box-shadow:0 2px 8px #14265355}
.school-home-pin{background:#345ce5;font-size:22px;line-height:1}
.school-pin-wrap{background:transparent;border:0}
.school-map-fallback{padding:24px;font-size:14px}
.school-map .leaflet-popup-content{font-size:13px;line-height:1.5}
.school-map .leaflet-popup-content a{text-decoration:underline}
@media(max-width:900px){.schools-layout{grid-template-columns:1fr}.school-map{height:390px}.school-list{max-height:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.school-list .school-card{border-right:1px solid var(--line)}}
@media(max-width:600px){.school-map{height:340px}.school-list{display:block}.school-list .school-card{border-right:0}}

.schools-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:20px 0 6px}
.schools-footer>.textlink{flex:none;white-space:nowrap}
.schools-credit{display:flex;align-items:center;justify-content:flex-end;gap:14px;min-width:0;color:var(--muted);font-size:12px;line-height:1.4;white-space:nowrap}
.schools-credit>a{display:block;padding:15px;flex:none}
.schools-credit img{display:block;width:95px;height:auto}
.schools-credit span a{text-decoration:underline}
@media(max-width:850px){.schools-footer{flex-wrap:wrap;gap:4px}.schools-credit{width:100%;justify-content:space-between;white-space:normal}}
@media(max-width:600px){.schools-credit{gap:8px}.schools-credit img{width:85px}}

/* Keep the full price disclosure with the listing's tour and application actions. */
.cta-pricing{margin:22px 0;padding:17px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.cta-pricing h3{font-size:17px;line-height:1.3;margin:0 0 12px;color:var(--navy)}
.cta-pricing dl{margin:0}
.cta-pricing dl>div{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:8px 0}
.cta-pricing dl>div+div{border-top:1px solid var(--line)}
.cta-pricing dt{font-size:10px;line-height:1.4}
.cta-pricing dd{font-size:16px;font-weight:800;color:var(--navy);white-space:nowrap}
.rental-cta .cta-pricing p{font-size:11px;line-height:1.5;color:var(--muted);margin:12px 0 0}
