.property-search{padding:3.5rem clamp(1.5rem,8vw,8rem);background:var(--navy);color:#fff}.search-heading{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:2rem}.search-heading h2{font-size:clamp(2rem,4vw,3.5rem);margin-bottom:0}.search-heading>p{color:#ced5df}.property-filter{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;align-items:end}.property-filter label{display:block;margin-bottom:.45rem;color:#d7dce5;font-size:.67rem;text-transform:uppercase;letter-spacing:.1em}.property-filter select,.property-filter input{width:100%;height:48px;border:1px solid rgba(255,255,255,.25);border-radius:0;background:#fff;color:var(--ink);padding:0 .85rem;font:inherit}.filter-actions{display:flex;align-items:center;gap:1rem;min-height:48px}.filter-actions .button{height:48px}.filter-actions a{color:#fff;font-size:.72rem;text-decoration:underline;text-underline-offset:.3rem}.filter-errors{grid-column:1/-1;color:#ffe6b8}.listing-grid{padding-top:3.5rem}.listing-card-image img{width:100%;height:100%;object-fit:cover}.card-facts{display:flex;flex-wrap:wrap;gap:.5rem 1rem;margin:.3rem 0 .7rem;color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.06em}.listing-price{font-family:var(--serif);font-size:1.35rem!important;color:var(--navy)!important;margin:.55rem 0}.detail-meta{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-meta>div{min-width:0}.public-location{margin-top:2rem;padding:2.5rem clamp(2rem,5vw,4rem);background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:2rem}.public-location h2{font-size:clamp(2rem,4vw,3.5rem);margin-bottom:.6rem}.public-location p{color:#ced5df}.public-location .eyebrow{color:var(--gold)}
@media(max-width:1000px){.property-filter{grid-template-columns:repeat(2,minmax(0,1fr))}}
.filter-close,.mobile-filter-fab{display:none}.advanced-filters,.advanced-filter-grid{display:contents}.advanced-filters>summary{display:none}
@media(max-width:680px){.public-location{align-items:flex-start;flex-direction:column}.property-search-hero{grid-template-columns:1fr;padding:2.75rem 1.25rem 3rem;gap:1.25rem}.property-search-hero h1{font-size:clamp(2.85rem,13vw,3.35rem);line-height:1.02;margin-bottom:.7rem}.property-search-hero>p{margin:0;line-height:1.55}.property-search{position:relative;margin-top:-1rem;border-radius:22px 22px 0 0;padding:1.5rem 1.25rem 1.25rem}.property-search .search-heading{display:grid;grid-template-columns:1fr auto;align-items:end;margin-bottom:1rem}.property-search .search-heading>div{grid-column:1}.property-search .search-heading>p{grid-column:2;grid-row:1;margin:0;align-self:end;font-size:.85rem}.property-search .search-heading h2{font-size:1.8rem;line-height:1}.property-search .eyebrow{margin:0 0 .25rem}.property-filter{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.property-filter label{margin-bottom:.2rem;font-size:.62rem;letter-spacing:.075em}.property-filter select,.property-filter input{height:42px;padding:0 .55rem;font-size:.82rem}.advanced-filters{display:block;grid-column:1/-1;border-top:1px solid rgba(255,255,255,.18);padding-top:.25rem}.advanced-filters>summary{display:flex;align-items:center;justify-content:space-between;padding:.65rem 0;color:#fff;cursor:pointer;font-size:.7rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;list-style:none}.advanced-filters>summary::-webkit-details-marker{display:none}.advanced-filters>summary span{font-size:1.1rem;transition:transform .2s}.advanced-filters[open]>summary span{transform:rotate(180deg)}.advanced-filter-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;padding:.2rem 0 .75rem}.advanced-filter-grid>div:first-child,.advanced-filter-grid>div:nth-child(2),.advanced-filter-grid>div:nth-child(3){grid-column:1/-1}.filter-actions{position:sticky;bottom:0;grid-column:1/-1;flex-wrap:wrap;min-height:40px;gap:.75rem;margin:0 -.15rem;padding:.65rem .15rem .1rem;background:var(--navy);z-index:2}.filter-actions .button{height:40px;flex:1;border-radius:2px}.mobile-filter-fab{position:fixed;right:1rem;bottom:1rem;z-index:45;align-items:center;justify-content:center;width:3.25rem;height:3.25rem;padding:0;border:0;border-radius:50%;background:var(--gold);color:#fff;box-shadow:0 8px 24px rgba(11,23,43,.3);transform:translateY(130%);opacity:0;transition:transform .2s ease,opacity .2s ease}.mobile-filter-fab svg{display:block;width:1.5rem;height:1.5rem}.mobile-filter-fab.is-visible{display:flex;transform:translateY(0);opacity:1}.filter-close{border:0;background:transparent;color:#fff;font-size:2rem;line-height:1;cursor:pointer}.property-search.filter-panel-open{position:fixed;inset:0;z-index:70;overflow:auto;margin:0;border-radius:0;padding:1.25rem}.property-search.filter-panel-open .search-heading>p{display:none}.property-search.filter-panel-open .filter-close{display:block;grid-column:2;grid-row:1;align-self:start}.property-search.filter-panel-open .property-filter{padding-bottom:1rem}body.filter-panel-open{overflow:hidden}.property-search.filter-panel-open+.mobile-filter-fab{display:none}}

/* Property detail page */
.property-detail .detail-hero{grid-template-columns:minmax(0,1.04fr) minmax(400px,.96fr);min-height:560px}.property-detail .detail-copy{align-items:flex-start;padding:clamp(2rem,4vw,3.5rem)}.property-detail .detail-copy h1{max-width:100%;margin-bottom:.65rem;font-size:clamp(2.6rem,4.2vw,3.9rem);overflow-wrap:break-word;text-wrap:balance}.detail-price{margin:0 0 1.35rem;font:600 clamp(1.6rem,2.5vw,2.15rem) var(--serif);color:var(--gold)}.detail-summary{max-width:34rem;font-size:1.08rem;line-height:1.65;color:var(--muted);margin:.2rem 0 1rem}.detail-description{max-width:34rem;color:var(--muted);line-height:1.7;margin-bottom:1.5rem}.detail-description p:first-child{margin-top:0}.detail-description p:last-child{margin-bottom:0}.property-detail .detail-copy>.button{margin-top:.4rem}
@media(max-width:850px){.property-detail .detail-hero{grid-template-columns:1fr;min-height:0}.property-detail .detail-image{min-height:430px}.property-detail .detail-copy{padding:2.5rem}}
@media(max-width:520px){.property-detail{padding-top:1.5rem;padding-bottom:4rem}.property-detail .detail-hero{margin-top:1.25rem}.property-detail .detail-image{min-height:0;aspect-ratio:4/3}.property-detail .detail-copy{padding:1.75rem 1.25rem 2rem}.property-detail .detail-copy h1{font-size:2.55rem}.detail-price{font-size:1.55rem}.detail-summary{font-size:1rem}.property-detail .detail-copy>.button{width:100%}}

/* Details elements do not consistently participate in a parent CSS grid on desktop. */
@media(min-width:681px){.advanced-filters{display:block;grid-column:1/-1}.advanced-filter-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1rem;align-items:end}.filter-actions{grid-column:1/-1}}
@media(min-width:681px) and (max-width:1000px){.advanced-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
