:root{--brand-navy:#0f3a5c;--brand-burgundy:#98272d;--brand-soft:#f6e4e5;--ink:var(--brand-navy);--green:var(--brand-navy);--lime:#f3bdc0;--line:#dee5ea;--paper:#f6f8fa;--muted:#627180}
header{min-height:124px;height:auto;padding-top:6px;padding-bottom:6px}
.brand{display:flex;align-items:center;gap:16px;letter-spacing:normal;color:var(--brand-navy)}
.brand-logo{display:block;width:144px;height:auto;flex-shrink:0;object-fit:contain}
.brand small{font-family:'DM Sans',sans-serif;font-size:9px;letter-spacing:1.5px;line-height:1.6;max-width:150px;padding:0;margin:0}
footer .brand{margin-bottom:10px}
footer .brand-logo{width:112px}
footer strong{display:block}
.primary,.button,.chips button.on{background:var(--brand-burgundy);border-color:var(--brand-burgundy);color:white}
.primary:hover,.button:not(.secondary):hover,.chips button.on:hover{background:#782027;border-color:#782027}
.button.secondary{background:#edf2f6;color:var(--brand-navy)}
nav .active{border-bottom-color:var(--brand-burgundy)}
.details,.bottom span,.filter-sheet summary{color:var(--brand-burgundy)}
.favorite.saved,.eyebrow{color:var(--brand-burgundy)}
.hero .eyebrow{color:var(--lime)}
.map-price{background:var(--brand-navy)}
.map-price.marker-selected{background:var(--brand-burgundy)}
.badge.special,.special{background:var(--brand-soft);color:#782027}
.check-grid input{accent-color:var(--brand-burgundy)}
.search:focus-within{border-color:var(--brand-burgundy);box-shadow:0 0 0 3px #98272d18}
.area-links a:hover{border-color:var(--brand-burgundy)}
:focus-visible{outline:2px solid var(--brand-burgundy);outline-offset:4px}
@media(max-width:900px){.brand{gap:8px}.brand small{max-width:110px;font-size:8px;letter-spacing:1px}}
@media(max-width:640px){header{min-height:96px;padding-top:4px;padding-bottom:4px;gap:12px}.brand-logo{width:112px}.brand small{display:none}header nav{gap:12px}header nav .active{padding:20px 0}footer .brand-logo{width:100px}}

/* Blue, yellow and red brand palette. Yellow identifies selections and offers. */
:root{--brand-yellow:#ffcf33;--brand-red:#c52d36;--brand-burgundy:var(--brand-red);--brand-soft:#fff3c4;--lime:var(--brand-yellow)}
.primary,.button{background:var(--brand-navy);border-color:var(--brand-navy);color:white}
.primary:hover,.button:not(.secondary):hover{background:#164e79;border-color:#164e79}
.chips button.on,.chips .popular-area-menu button.on,.toggle button.on,#tourOnly.on,#specialOnly.on{background:var(--brand-yellow);border-color:var(--brand-yellow);color:var(--brand-navy)}
.badge.special,.special{background:var(--brand-yellow);color:var(--brand-navy)}
.favorite.saved{background:var(--brand-yellow);color:var(--brand-navy)}
.active-filters button:not(.clear-all){background:#fff3c4;color:var(--brand-navy)}
.check-grid input,.must-haves-options input{accent-color:var(--brand-navy)}
.searchbar .rent-input{font-size:15px;font-weight:700;flex-basis:145px}
.filter-field:has(#f-minRent),.filter-field:has(#f-maxRent){font-size:16px;font-weight:700}
.searchbar .search{min-height:44px;padding:8px 12px;flex:0 1 290px;min-width:220px}
.searchbar .search input{padding:0;min-height:26px;font-size:14px;width:100%}
.bedroom-rents{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0;font-size:12px;color:var(--brand-navy)}
.bedroom-rents span{background:#edf2f6;padding:4px 7px;border-radius:5px}
.contact-viewer{width:min(560px,94vw);padding:24px;box-sizing:border-box}
.contact-viewer h2{font-size:24px;margin:0 40px 8px 0}.contact-viewer p{line-height:1.5;font-size:14px}
.contact-form{display:grid;gap:14px}.contact-form label{display:grid;gap:6px;font-size:14px;font-weight:600}
.contact-form input,.contact-form textarea{box-sizing:border-box;width:100%;font:inherit;font-size:16px;padding:11px;border:1px solid var(--line);border-radius:8px}.contact-form textarea{min-height:110px;resize:vertical}
.contact-status{font-size:14px;line-height:1.5}.contact-status[data-error]{color:var(--brand-red)}
@media(max-width:640px){.searchbar .search{flex-basis:100%;min-width:0}.searchbar .search input{font-size:16px}.searchbar .rent-input{flex:1 1 40%}}

.contact-form .contact-opt-in{display:flex;align-items:flex-start;gap:10px;font-size:13px;font-weight:400;line-height:1.5}.contact-form .contact-opt-in input{width:18px;height:18px;flex:none;margin:2px 0;accent-color:var(--brand-navy)}

.photo .badge.special,.photo:has(.featured) .badge.special{top:auto;left:auto;right:12px;bottom:12px}
.photo:has(.badge.special) .photo-bottom{max-width:calc(100% - 125px);flex-wrap:wrap}

@media(min-width:641px){
 .searchbar>.search,.searchbar>select,.searchbar>button,.searchbar .must-haves>summary{height:48px;min-height:48px;box-sizing:border-box}
 .searchbar .must-haves>summary{padding:12px;line-height:22px}
}

/* One consistent chevron for rental dropdowns. */
.searchbar>select,#allAreas,#sort,.searchbar .must-haves>summary{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='M4 6l4 4 4-4' fill='none' stroke='%230f3a5c' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:16px;padding-right:36px}
.searchbar .must-haves>summary::after{content:none}

.map-expand{position:absolute;top:12px;right:12px;z-index:600;min-height:44px;padding:10px 14px;background:white;color:var(--brand-navy);border:1px solid var(--line);border-radius:9px;box-shadow:0 2px 8px #0002;font-size:13px;font-weight:600}
.mapbox.expanded-map{display:block!important;position:fixed!important;inset:12px;z-index:1500;width:auto!important;height:auto!important;min-height:0!important;border-radius:15px;box-shadow:0 0 0 20px #0f3a5c66}
body.map-expanded{overflow:hidden}
@media(max-width:640px){.mapbox.expanded-map{inset:6px}.map-expand{font-size:12px;padding:8px 10px}}

@media(min-width:641px){.searchbar{align-items:flex-end}.searchbar .rent-input{font-size:13px;font-weight:600}.searchbar .rent-input input{height:48px;font-size:14px;font-weight:400}.searchbar>select,.searchbar>button,.searchbar .must-haves>summary,.searchbar .search input{font-size:14px}.searchbar .must-haves>summary{font-weight:700}}
.tour-unit-list{overflow:auto}.tour-unit-list .floorplans{min-width:470px}

/* Compact rent labels and property contact controls. */
.bedroom-rents{gap:4px}
.bedroom-rents span{padding:3px 5px;white-space:nowrap}
.property-phone{margin:8px 0;font-weight:600}
.property-phone a{color:var(--brand-navy);text-decoration:none}
.property-actions{gap:6px;margin-top:12px}
.property-actions .primary,.property-actions .button,.property-actions .action-unavailable{min-height:36px;padding:6px 8px;border-radius:6px}
@media(pointer:coarse){.property-actions .primary,.property-actions .button{min-height:44px}}

.floorplan-icon{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;padding:4px;vertical-align:middle;border:1px solid #ccd6df;border-radius:5px;background:#edf2f6;color:var(--brand-navy);cursor:pointer}

.property-special{padding:14px;margin:16px 0;border-radius:8px;background:#fff3bd;color:#173c58}.property-special h2{font-size:18px;margin:0 0 8px}.unit-availability{display:block;font-size:12px;margin:4px 0}

#specialOnly{margin-left:0}.detail-contact-actions{grid-template-columns:repeat(3,minmax(0,1fr))}.card-price-contact{display:flex;justify-content:space-between;align-items:start;gap:8px}.card-price-contact>div:first-child{min-width:0}.quick-contact{display:flex;flex-direction:column;align-items:flex-end;gap:5px;flex-shrink:0}.quick-contact a,.quick-contact button{font-size:11px;padding:3px 0;color:var(--brand-navy);background:none;border:0;text-decoration:none;white-space:nowrap}.available-plan-groups{display:grid;gap:16px}.available-plan-group{border:1px solid #dee5ea;border-radius:8px;padding:12px}.available-plan-heading{display:flex;align-items:center;gap:8px}.available-plan-heading h3{font-size:16px;margin:0 auto 0 0}.available-plan-group .floorplans{margin-top:8px}.property-description{line-height:1.6}@media(max-width:480px){.detail-contact-actions{grid-template-columns:1fr}.card-price-contact{flex-wrap:wrap}.quick-contact{flex-direction:row;gap:12px}}

#dialog{width:min(1040px,96vw);max-width:96vw}.available-plan-group .floorplans{font-size:14px}.available-plan-group .floorplans td,.available-plan-group .floorplans th{padding:12px 10px}.available-plan-heading h3{font-size:18px}@media(min-width:1001px){.searchbar{grid-template-columns:minmax(220px,2fr) repeat(2,minmax(105px,.7fr)) repeat(2,minmax(120px,1fr)) auto auto}}

.available-plan-heading .floorplan-icon{width:auto;min-width:36px;padding:6px 9px;gap:5px;white-space:nowrap}.available-plan-heading h3{margin:0;flex:1}.plan-tour-button{margin-left:auto}

/* Readable filter labels and prominent contact actions. */
#beds,#pets,#moreFilters,#mustHaves>summary{background-color:var(--brand-navy);color:#ffdf00;font-weight:700}
#beds option,#pets option{background:#fff;color:var(--brand-navy)}
.quick-contact a,.quick-contact button{font-size:18px;font-weight:700;line-height:1.35;padding:6px 0}
.quick-contact{gap:6px}.card-price-contact{flex-wrap:wrap;gap:10px}.quick-contact{margin-left:auto}
.property-phone a,.detail-contact-actions a[href^="tel:"]{font-size:18px;font-weight:700}

/* Consistent readable type throughout search and property details. */
body{font-size:16px;line-height:1.5}
.searchbar .search input,.searchbar .rent-input input,.searchbar>select,.searchbar>button,.searchbar .must-haves>summary{font-size:16px}
.searchbar>select{max-width:none;min-width:0}.searchbar .must-haves>summary{white-space:nowrap}
.chips button,.chips select,.toolbar select,.toggle button,.map-expand{font-size:16px}
.card h3{font-size:20px;line-height:1.4}.card .price{font-size:22px!important}
.card .area,.card .specs,.card-footer,.bedroom-rents,.sub,.dialog-body p,.amenities span,.filter-field,.check-grid label,.must-haves-options label{font-size:16px;line-height:1.5;color:#344b5e}
.property-actions .primary,.property-actions .button,.plan-tour-button,.available-plan-heading .floorplan-icon{font-size:16px;line-height:1.4;min-height:44px}
.available-plan-group .floorplans{font-size:16px}.available-plan-group .floorplans th,.available-plan-group .floorplans td{padding:12px;white-space:nowrap}
.available-plan-group{overflow-x:auto}.available-plan-heading{flex-wrap:wrap;gap:12px}.available-plan-heading h3{font-size:20px}
.contact-viewer p,.contact-form label,.contact-form .contact-opt-in,.contact-status{font-size:16px}
.property-description,.property-special{font-size:16px;line-height:1.65}
#beds,#pets,#mustHaves>summary{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='M4 6l4 4 4-4' fill='none' stroke='%23ffdf00' stroke-width='2'/%3E%3C/svg%3E")}
@media(min-width:1001px) and (max-width:1400px){.searchbar{grid-template-columns:repeat(4,minmax(0,1fr))}.searchbar>.search{grid-column:span 2}.cards{grid-template-columns:1fr}}
@media(max-width:640px){.detail-contact-actions{grid-template-columns:1fr}.quick-contact{flex-wrap:wrap}.toolbar-actions{flex-wrap:wrap}}

.property-actions .primary,.property-actions .button,.detail-contact-actions a[href^="tel:"]{font-size:18px;font-weight:700;line-height:1.4;min-height:48px;display:flex;align-items:center;justify-content:center;text-align:center;font-family:inherit}
@media(max-width:850px){.detail-contact-actions{grid-template-columns:1fr}}

#pets{text-transform:uppercase;text-align:center;text-align-last:center;padding-left:36px;padding-right:36px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='M4 6l4 4 4-4' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
#pets option{text-transform:none;text-align:left}
.dialog-body .property-special p{font-size:18px;line-height:1.6}

#allAreas{font-size:18px;font-weight:700;min-height:48px;padding-top:10px;padding-bottom:10px}

/* One contact row: rent, telephone, then email. */
.card-price-contact{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.card-price-contact>.price{white-space:nowrap}
.quick-contact{display:flex;flex-direction:row;align-items:center;justify-content:flex-end;gap:16px;margin-left:auto;flex-wrap:wrap}
.quick-contact a{order:0}.quick-contact button{order:1}

@media(max-width:640px){.quick-contact{gap:12px}.card-price-contact{gap:8px}}

@media(min-width:1001px){.results .cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
.card-info{min-width:0}.card-price-contact{column-gap:10px;row-gap:4px}.quick-contact{gap:10px;max-width:100%}.card .area,.card .specs{overflow-wrap:anywhere}

#beds,#baths,#pets,#mustHaves>summary,#moreFilters{font-size:18px;font-weight:700;text-transform:none;text-align:center;text-align-last:center;background-color:var(--brand-navy);color:var(--brand-yellow)}
.searchbar>select,#allAreas,#sort,.searchbar .must-haves>summary{background-color:var(--brand-navy);color:var(--brand-yellow);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='M4 6l4 4 4-4' fill='none' stroke='white' stroke-width='2'/%3E%3C/svg%3E");padding-left:36px;padding-right:36px}
select option{background:white;color:var(--brand-navy)}
@media(min-width:1401px){.searchbar{grid-template-columns:minmax(220px,2fr) repeat(2,minmax(100px,.7fr)) repeat(3,minmax(110px,1fr)) auto auto}}
.dialog-body .property-description{font-size:18px;line-height:1.65}

/* Consistent filter grid with room for readable labels. */
@media(min-width:1001px){.searchbar{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));align-items:stretch}.searchbar>.search{grid-column:span 3;min-width:0}.searchbar>.rent-input{min-width:0}.searchbar .rent-input input{width:100%;min-width:0}.searchbar>.must-haves{grid-column:span 2;min-width:0}.searchbar>select,.searchbar>button,.searchbar>.search,.searchbar .must-haves>summary,.searchbar .rent-input input{height:52px;min-height:52px;width:100%;margin:0}.searchbar .must-haves>summary{display:flex;align-items:center;justify-content:center}}

.searchbar #beds,.searchbar #baths,.searchbar #pets,.searchbar #mustHaves>summary,#allAreas,#sort{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='M4 6l4 4 4-4' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
@media(min-width:1001px){.searchbar .search input{font-size:18px}.searchbar>.rent-input input{font-size:18px}.searchbar>.search{padding:10px 14px}.searchbar #moreFilters{white-space:nowrap}}

.beds-baths{position:relative;min-width:0}.beds-baths>summary{list-style:none;cursor:pointer;border-radius:9px;background:var(--brand-navy);color:var(--brand-yellow);font-size:18px;font-weight:700;min-height:52px;padding:12px 34px 12px 12px;text-align:center;display:flex;align-items:center;justify-content:center}.beds-baths>summary::-webkit-details-marker{display:none}.beds-baths>summary:after{content:'';position:absolute;right:16px;top:22px;width:7px;height:7px;border-right:2px solid white;border-bottom:2px solid white;transform:rotate(45deg)}
.beds-baths-panel{position:absolute;top:calc(100% + 8px);left:0;z-index:1001;width:320px;max-width:85vw;padding:20px;background:white;border:1px solid var(--line);border-radius:12px;box-shadow:0 10px 30px #0f3a5c22;display:grid;gap:16px}.beds-baths-panel label{display:grid;gap:6px;font-size:18px;font-weight:700}.beds-baths-panel select{width:100%;height:48px;border:1px solid var(--line);border-radius:8px;appearance:auto!important;background-image:none!important}.beds-baths-panel p{font-size:14px;margin:0;line-height:1.5}
@media(min-width:1001px){.searchbar>.beds-baths{grid-column:span 2}}

/* View modes override responsive split layouts. */
#results.grid-only,#results.map-only{display:grid;grid-template-columns:minmax(0,1fr)}
#results>[hidden]{display:none!important}
#results.map-only>.mapbox{display:block;width:100%;height:calc(100vh - 150px);min-height:400px}

.quick-contact button{color:var(--brand-navy);border:1px solid var(--brand-yellow);border-radius:8px;padding:6px 10px;background:var(--brand-yellow)}.quick-contact button:hover{background:#ffe077;border-color:#ffe077}.sort-label{font-size:16px;font-weight:700;white-space:nowrap}

.badge.special,.special{background:var(--brand-red);color:white}

/* Four cards fill the desktop grid; split view keeps two beside the map. */
@media(min-width:1001px){#results.grid-only .cards{grid-template-columns:repeat(4,minmax(0,1fr))}}
.photo .badge,.photo .photo-bottom{font-size:13px;line-height:1.3;padding:7px 10px}
.photo .favorite{width:40px;height:40px;font-size:27px;line-height:1;display:grid;place-items:center}
.photo .badge.featured{max-width:calc(100% - 76px)}
.photo:has(.badge.special) .photo-bottom{max-width:calc(100% - 140px)}

.hero .herotext{width:min(100%,1000px)}
.hero .eyebrow{font-size:clamp(18px,1.6vw,24px);line-height:1.45;letter-spacing:1px;color:var(--brand-yellow)}
.hero h1{font-size:clamp(42px,4.6vw,64px);line-height:1.1}
.hero .herotext p{font-size:clamp(20px,1.7vw,24px);line-height:1.5}

#dialog .dialog-image{display:block;width:100%;height:auto;object-fit:contain;margin:0 auto}

/* Readable, compact controls on a shared desktop row. */
.filter-controls{display:flex;gap:10px;align-items:stretch;flex-wrap:wrap;padding-top:14px}
.filter-controls>select,.filter-controls>button,.filter-controls>details>summary{font-size:17px;font-weight:700;min-height:48px;height:48px;border-radius:9px;margin:0;white-space:nowrap}
.filter-controls>details{position:relative;flex:0 1 auto;min-width:0}
.filter-controls>details>summary{display:flex;align-items:center;justify-content:center;padding:10px 30px 10px 12px}
.filter-controls>select{max-width:210px;width:auto;padding:10px 30px 10px 12px}
.filter-controls>button{padding:10px 12px}
.filter-controls .beds-baths>summary:after{top:19px;right:12px}
.filter-controls #tourOnly,.filter-controls #specialOnly{font-weight:800;font-size:17px}
.filter-controls #tourOnly.on,.filter-controls #specialOnly.on{background:var(--brand-navy);color:white}
#bedsBaths .beds-baths-panel{width:280px;padding:16px;gap:12px}
#bedsBaths .beds-baths-panel #beds,#bedsBaths .beds-baths-panel #baths{background:white;color:var(--brand-navy);font-size:18px;width:100%;max-width:none;text-align:left;text-align-last:left;padding:8px 12px}
.sort-label,#sort{font-weight:800}
.photo .badge.special,.photo .photo-bottom{background:var(--brand-navy);color:white;font-size:15px;font-weight:800;line-height:1.3;padding:8px 10px}
.photo:has(.badge.special) .photo-bottom{max-width:calc(100% - 155px)}
@media(min-width:1200px){.filter-controls{flex-wrap:nowrap}.filter-controls>#allAreas{flex:1;min-width:150px}.filter-controls>.beds-baths{min-width:170px}.filter-controls>.must-haves{min-width:140px}}

/* Dropdown controls retain their styling outside the search-input row. */
.filter-controls #pets,.filter-controls #mustHaves>summary{appearance:none;-webkit-appearance:none;background-color:var(--brand-navy);color:var(--brand-yellow);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='M4 6l4 4 4-4' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:16px 16px;padding-right:36px;border:1px solid var(--brand-navy)}
.filter-controls #mustHaves>summary::after{content:none}
.filter-controls #pets option{background:white;color:var(--brand-navy)}
.filter-controls .must-haves-actions button,.filter-controls .beds-baths-panel button{font-size:16px;font-weight:700;min-height:42px;border-radius:8px;padding:8px 14px}
.filter-controls .must-haves-actions .primary,.filter-controls .beds-baths-panel .primary{background:var(--brand-navy);border-color:var(--brand-navy);color:white}

.card-price-contact{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;column-gap:10px;row-gap:8px}
.card-price-contact>.price{grid-column:1}
.card-price-contact>.quick-contact{display:contents}
.card-price-contact>.quick-contact>a{grid-column:2;grid-row:1;justify-self:center;text-align:center}
.card-price-contact>.quick-contact>button{grid-column:3;grid-row:1;justify-self:end}
.card-info{container-type:inline-size}
@container(max-width:420px){.card-price-contact{grid-template-columns:minmax(0,1fr) auto}.card-price-contact>.price{grid-column:1/-1}.card-price-contact>.quick-contact>a{grid-column:1;grid-row:2}.card-price-contact>.quick-contact>button{grid-column:2;grid-row:2}}

.searchbar>.toolbar-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}
.searchbar>.toolbar-actions #sort{max-width:230px;padding-left:10px;font-size:16px}
.searchbar>.toolbar-actions .toggle{white-space:nowrap}
@media(min-width:1600px){.searchbar{grid-template-columns:minmax(230px,1fr) 110px 110px 110px auto}.searchbar>.search{grid-column:auto}.searchbar>.toolbar-actions{flex-wrap:nowrap}}
@media(min-width:1001px) and (max-width:1599px){.searchbar>.toolbar-actions{grid-column:1/-1;justify-content:flex-end}}
@media(max-width:1000px){.searchbar>.toolbar-actions{width:100%}}
.explore-footer{margin:24px 4%;padding:28px 0;border-top:1px solid var(--line)}
.explore-footer p{font-size:17px;line-height:1.6}.area-directory{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;font-size:17px}.area-directory a{line-height:1.5}
footer .equal-housing{font-size:20px;font-weight:700}
@media(max-width:800px){.area-directory{grid-template-columns:repeat(2,minmax(0,1fr))}}

.renter-guides details{border-bottom:1px solid var(--line);padding:16px 0;max-width:980px}.renter-guides summary{cursor:pointer;font-size:18px;font-weight:700;line-height:1.5}.renter-guides details p{max-width:850px}.social-icon{width:24px;height:24px;vertical-align:middle;margin-right:7px;flex-shrink:0}.footer-links a{display:inline-flex;align-items:center}

#browse .searchbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:20px}
#browse .searchbar>.search{flex:1 1 210px;max-width:280px;min-width:180px;height:48px;padding:0 12px}
#browse .searchbar>.search input{font-size:16px;min-width:0}
#browse .searchbar>details,#browse .searchbar>select,#browse .searchbar>button{flex:0 0 auto;width:auto;height:auto;min-height:48px;grid-column:auto;margin:0}
#browse .searchbar>select,#browse .searchbar>button{font-size:16px;padding:10px 30px 10px 12px}
#browse .searchbar #allAreas{max-width:170px}
#browse .searchbar>details>summary{min-height:48px;height:48px;font-size:16px;padding:12px 30px 12px 12px}
.compact-range{position:relative}.compact-range summary{cursor:pointer;list-style:none;background:var(--brand-navy);color:var(--brand-yellow);font-weight:700;border-radius:9px;position:relative}.compact-range summary::-webkit-details-marker{display:none}.compact-range summary:after{content:'';position:absolute;right:12px;top:19px;width:7px;height:7px;border-right:2px solid white;border-bottom:2px solid white;transform:rotate(45deg)}
.range-panel{position:absolute;top:calc(100% + 8px);left:0;width:260px;max-width:85vw;z-index:1003;background:white;padding:18px;border:1px solid var(--line);border-radius:12px;box-shadow:0 10px 30px #0f3a5c22;display:grid;gap:12px}.range-panel label{font-size:16px;font-weight:700;display:grid;gap:6px}.range-panel input{width:100%;padding:10px;border:1px solid var(--line);border-radius:8px;font-size:18px}
#browse .searchbar>.toolbar-spacer{flex-basis:100%;height:0}
#browse .searchbar>.toolbar-actions{margin-left:auto;width:auto;flex-wrap:wrap}
#browse .searchbar #tourOnly,#browse .searchbar #specialOnly{font-weight:800;padding:10px 12px}

#browse .searchbar.filter-controls{padding:0;border:0}

.map-activation{position:absolute;inset:0;z-index:500;width:100%;height:100%;border:0;border-radius:14px;background:#0f3a5c18;color:var(--brand-navy);font-size:22px;font-weight:800;text-shadow:0 1px 3px white;touch-action:pan-y}
.map-activation[hidden],.map-lock[hidden]{display:none}
.map-lock{position:absolute;bottom:65px;right:12px;z-index:501;background:white;color:var(--brand-navy);font-size:16px;font-weight:700}
.map-locked #map{pointer-events:none}

@media(min-width:1001px){
#browse .searchbar{flex-wrap:nowrap;gap:6px;margin-left:2%;margin-right:2%}
#browse .searchbar>.search{flex:1 1 180px;min-width:145px;max-width:220px}
#browse .searchbar>.toolbar-actions{flex:0 0 auto;flex-wrap:nowrap;gap:5px;margin-left:0}
#browse .searchbar>.toolbar-actions .toggle button{padding:10px 8px;font-size:15px}
#browse .searchbar>.toolbar-actions #sort{width:115px;max-width:115px;padding-left:8px;padding-right:24px;font-size:15px}
#browse .searchbar .sort-label{font-size:15px}
#browse .searchbar>details>summary,#browse .searchbar>select,#browse .searchbar>button{font-size:15px;padding-left:9px;padding-right:26px}
#browse .searchbar>.beds-baths,#browse .searchbar>.must-haves{min-width:0}
#browse .searchbar #allAreas{min-width:115px;max-width:135px;flex:0 1 135px}
#browse .searchbar #tourOnly,#browse .searchbar #specialOnly{font-size:15px;padding:10px 8px}
}
@media(min-width:1001px) and (max-width:1550px){#browse .searchbar{flex-wrap:wrap}#browse .searchbar>.toolbar-actions{margin-left:auto}}

#browse .searchbar #moreFilters,#browse .searchbar #tourOnly,#browse .searchbar #specialOnly{padding:8px;font-size:14px;min-height:42px}
#browse .searchbar{gap:5px}

/* Consistent compact search controls and wider location field. */
#browse .searchbar .search{flex:1 1 280px;min-width:240px;max-width:none}
#browse .searchbar>button,#browse .searchbar>select,#browse .searchbar>details>summary,#browse .searchbar .search,#browse .toggle,#browse .toggle button{border-radius:6px!important}
#browse .toolbar-actions{margin-left:auto;flex:0 0 auto}
#browse #sort[hidden]{display:none!important}
#browse .toolbar-actions .toggle button{padding:8px 9px}

/* Keep location entry readable and match filter control dimensions. */
#browse .searchbar>.search{flex:1 1 340px;min-width:300px;max-width:none}
#browse .searchbar #moreFilters,#browse .searchbar #tourOnly,#browse .searchbar #specialOnly{height:48px;min-height:48px;font-size:16px;padding:10px 12px;font-weight:700;line-height:normal}
@media(min-width:1001px){#browse .searchbar #moreFilters,#browse .searchbar #tourOnly,#browse .searchbar #specialOnly{font-size:15px}}
@media(max-width:600px){#browse .searchbar>.search{flex-basis:100%;min-width:0;width:100%}}
/* Contain the controls within the same edges as the property results. */
#browse .searchbar{margin-left:4%;margin-right:4%;max-width:92%;flex-wrap:wrap;gap:8px;box-sizing:border-box}
#browse .searchbar>.toolbar-actions{margin-left:16px;max-width:100%;flex-wrap:wrap}
#browse .searchbar>.search{min-width:min(300px,100%)}
@media(max-width:600px){#browse .searchbar>.toolbar-actions{margin-left:0;width:100%}.searchbar>.toolbar-actions .toggle{max-width:100%;flex-wrap:wrap}}
#browse .searchbar>.search{flex:0 1 280px;min-width:240px;max-width:280px}
@media(max-width:600px){#browse .searchbar>.search{flex:1 1 100%;min-width:0;max-width:none}}

#browse .searchbar>.search{margin-right:16px}
#dialog .dialog-image{width:50%;max-width:520px!important;aspect-ratio:1;object-fit:contain;height:auto;margin:20px auto 0;display:block}
.property-gallery{padding:12px 26px}.gallery-controls{display:flex;align-items:center;gap:8px;margin-bottom:10px}.gallery-controls strong{margin-right:auto}.gallery-controls button{padding:6px 14px}.gallery-strip{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory}.gallery-strip button{flex:0 0 120px;padding:0;overflow:hidden;scroll-snap-align:start}.gallery-strip img{display:block;width:120px;height:100px;object-fit:cover}
@media(max-width:600px){#dialog .dialog-image{width:85%}#browse .searchbar>.search{margin-right:0}}
/* Location fills the first row; grouped filters sit below. */
#browse .searchbar>.search{flex:1 0 100%;width:100%;min-width:0;max-width:none;margin:0 0 8px}
#browse .searchbar #tourOnly{margin-left:12px}
#browse .searchbar #specialOnly{margin-left:12px}
#browse .searchbar>.toolbar-actions{margin-left:16px}
/* Align location width with the first property card; separate control groups. */
@media(min-width:1001px){#browse .searchbar>.search{flex:0 0 calc(26.415% - 16.34px);width:calc(26.415% - 16.34px);min-width:240px;max-width:none;margin:0 16px 0 0}}
#browse .searchbar #tourOnly{margin-left:16px}
#browse .searchbar #specialOnly{margin-left:0}
#browse .searchbar>.toolbar-actions{margin-left:auto;padding-left:16px}
/* Equal 24px separation between the four search-control groups. */
#browse .searchbar{gap:8px}
#browse .searchbar>.search{margin-right:16px}
#browse .searchbar #tourOnly{margin-left:16px}
#browse .searchbar>.toolbar-actions{margin-left:16px;padding-left:0}
/* Distribute spare row width equally at the three group boundaries. */
#browse .searchbar>.search{margin-right:0}
#browse .searchbar>#priceMenu,#browse .searchbar #tourOnly,#browse .searchbar>.toolbar-actions{margin-left:auto}
#browse .searchbar>.toolbar-actions{padding-left:0;justify-content:flex-end}
.card-price-contact>.quick-contact>a[href^="tel:"]{font-size:22px;font-weight:800;line-height:1.3;white-space:nowrap}

.main-photo-frame{position:relative;width:50%;max-width:520px;margin:20px auto 0}
.main-photo-frame[data-property-photo="1765531"]{width:62.5%;max-width:650px}
#dialog .main-photo-frame .dialog-image{width:100%;max-width:100%!important;margin:0}
.main-photo-frame>button{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;padding:0;border-radius:50%;background:white;color:var(--brand-navy);font-size:32px;font-weight:700;box-shadow:0 2px 8px #0003;z-index:1}
.main-photo-prev{left:8px}.main-photo-next{right:8px}
@media(max-width:600px){.main-photo-frame,.main-photo-frame[data-property-photo="1765531"]{width:95%}}
.main-photo-frame[data-property-photo="1765531"]{width:75%;max-width:780px}
@media(max-width:600px){.main-photo-frame[data-property-photo="1765531"]{width:95%}}

#dialog .main-photo-frame>button{display:flex;align-items:center;justify-content:center;width:44px;height:44px;min-width:44px;min-height:44px;padding:0;border:1px solid #dbe3ea;border-radius:50%;background:#fff;color:#0f3a5c;line-height:1;box-shadow:0 2px 6px #0002}
#dialog .main-photo-frame>button svg{display:block;width:24px;height:24px;flex:none;pointer-events:none}
#dialog .main-photo-frame>button svg path{stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
#dialog .main-photo-frame>button:hover{background:#f0f4f8}

.main-photo-frame{aspect-ratio:16/10}
#dialog .main-photo-frame .dialog-image{height:100%!important;aspect-ratio:auto;object-fit:contain}
.gallery-controls{justify-content:flex-end;margin-bottom:6px}
.gallery-strip button[hidden]{display:none}
.property-gallery{padding-top:6px;padding-bottom:8px}

#dialog .main-photo-frame .dialog-image{object-fit:cover;object-position:center;width:100%;height:100%!important}

/* Shared property gallery layout, matching the approved Sage LA window. */
.main-photo-frame,.main-photo-frame[data-property-photo]{width:75%;max-width:780px}
@media(max-width:600px){.main-photo-frame,.main-photo-frame[data-property-photo]{width:95%}}

/* Mobile filters use an even grid instead of desktop group spacing. */
@media(max-width:1000px){
 #browse .searchbar.filter-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:18px 4% 12px;align-items:stretch}
 #browse .searchbar.filter-controls>.search{grid-column:1/-1;width:100%;min-width:0;max-width:none;margin:0;box-sizing:border-box}
 #browse .searchbar.filter-controls>details,#browse .searchbar.filter-controls>select,#browse .searchbar.filter-controls>button{width:100%;min-width:0;max-width:none;margin:0;box-sizing:border-box}
 #browse .searchbar.filter-controls>details>summary,#browse .searchbar.filter-controls>select,#browse .searchbar.filter-controls>button{font-size:14px;min-height:48px;height:48px;box-sizing:border-box}
 #browse .searchbar.filter-controls>.toolbar-actions{grid-column:1/-1;margin:0;padding:4px 0 0;width:100%;justify-content:stretch}
 #browse .toolbar-actions .toggle{display:flex;width:100%;box-sizing:border-box}
 #browse .toolbar-actions .toggle button{flex:1;min-height:44px;font-size:14px;padding:8px 4px}
 #browse .searchbar.filter-controls>details{position:static}
 #browse .searchbar.filter-controls{position:relative}
 #browse .range-panel,#browse .beds-baths-panel,#browse .must-haves-menu{left:0;right:0;top:auto;margin-top:8px;width:100%;max-width:100%;box-sizing:border-box;z-index:1003}
 #browse input,#browse .beds-baths-panel select{font-size:16px}
 .card-price-contact{grid-template-columns:minmax(0,1fr) auto;gap:8px}
 .card-price-contact>.price{grid-column:1/-1;line-height:1.4}
 .card-price-contact>.quick-contact>a{grid-column:1;grid-row:2;justify-self:start}
 .card-price-contact>.quick-contact>a[href^="tel:"]{font-size:17px}
 .card-price-contact>.quick-contact>button{grid-column:2;grid-row:2;min-height:44px}
 .workspace{padding-top:14px}
}
