.bre-idx{--bre-idx-navy:#102b46;--bre-idx-navy-dark:#091d30;--bre-idx-gold:#c7a34d;--bre-idx-cream:#f8f4ea;--bre-idx-ink:#303235;--bre-idx-muted:#5c6670;box-sizing:border-box;max-width:100%;overflow-wrap:anywhere;color:var(--bre-idx-ink);font-family:inherit;line-height:1.55}
.bre-idx *{box-sizing:border-box}
.bre-idx__header{max-width:760px;margin:0 0 1.4rem}
.bre-idx__eyebrow{margin:0 0 .35rem;color:#785e18;font-family:inherit;font-size:.78rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase}
.bre-idx h1,.bre-idx h2,.bre-idx h3{color:var(--bre-idx-navy);font-family:inherit;line-height:1.2}
.bre-idx h2{font-size:clamp(1.55rem,3vw,2.35rem);margin:.15rem 0 .55rem}
.bre-idx__search-form{display:grid;grid-template-columns:minmax(260px,2fr) repeat(2,minmax(130px,1fr));gap:.75rem;align-items:end;margin:1rem 0 1.25rem;padding:1rem;border:1px solid #d8d2c4;border-radius:14px;background:var(--bre-idx-cream)}
.bre-idx label{display:grid;gap:.35rem;min-width:0;font-size:.82rem;font-weight:700}
.bre-idx input,.bre-idx select{width:100%;min-height:44px;border:1px solid #77818b;border-radius:8px;background:#fff;color:var(--bre-idx-ink);font:inherit;padding:.65rem .7rem}
.bre-idx button:disabled{cursor:not-allowed;opacity:.58}
.bre-idx input:focus-visible,.bre-idx select:focus-visible,.bre-idx a:focus-visible,.bre-idx button:focus-visible{outline:3px solid #fff;box-shadow:0 0 0 5px var(--bre-idx-navy);outline-offset:1px}
.bre-idx button,.bre-idx__button{display:inline-flex;min-height:44px;align-items:center;justify-content:center;border:2px solid var(--bre-idx-navy);border-radius:999px;background:var(--bre-idx-navy);color:#fff!important;font-family:inherit;font-size:.92rem;font-weight:700;line-height:1.2;padding:.7rem 1.05rem;text-decoration:none;cursor:pointer}
.bre-idx__button--secondary{background:#fff;color:var(--bre-idx-navy)!important}
.bre-idx__results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.bre-idx__results[aria-busy=true]{opacity:.72}
.bre-idx__results>.bre-idx__state{grid-column:1/-1}
.bre-idx__mobile-load{display:none}
.bre-idx__toolbar{display:flex;flex-wrap:wrap;gap:1rem;align-items:end;justify-content:space-between;margin:0 0 1rem}
.bre-idx__toolbar label{min-width:min(100%,230px)}
.bre-idx__result-count{margin:.25rem 0;font-weight:700;color:var(--bre-idx-navy)}
.bre-idx__pagination{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;justify-content:center;margin:1.25rem 0}
.bre-idx__pagination:empty{display:none}
.bre-idx__card{min-width:0;overflow:hidden;border:1px solid #d8dce0;border-radius:14px;background:#fff;box-shadow:0 8px 24px rgba(16,43,70,.08)}
.bre-idx__media{position:relative;aspect-ratio:3/2;background:#e9edf0;overflow:hidden}
.bre-idx__media img{display:block;width:100%;height:100%;object-fit:cover}
.bre-idx__image-fallback{display:grid;width:100%;height:100%;place-items:center;background:linear-gradient(135deg,var(--bre-idx-navy),#284f72);color:#fff;font-family:inherit;font-size:1.1rem;font-weight:700;text-align:center;padding:1rem}
.bre-idx__card-body{display:grid;gap:.55rem;padding:1rem}
.bre-idx__card h3,.bre-idx__card p{margin:0}
.bre-idx__price{color:var(--bre-idx-navy);font-size:1.2rem;font-weight:800}
.bre-idx__facts,.bre-idx__meta{color:var(--bre-idx-muted);font-size:.88rem}
.bre-idx__facts-review{border-left:3px solid var(--bre-idx-gold);padding-left:.55rem;color:#5a4616;font-size:.78rem}
.bre-idx__listing-attribution{color:#4d5964;font-size:.78rem}
.bre-idx__status-badge,.bre-idx__media-label{position:absolute;z-index:1;border-radius:999px;font-size:.72rem;font-weight:800;line-height:1.2;box-shadow:0 2px 10px rgba(9,29,48,.18)}
.bre-idx__status-badge{top:.75rem;right:.75rem;background:#fff;color:var(--bre-idx-navy);padding:.45rem .7rem;text-transform:uppercase;letter-spacing:.06em}
.bre-idx__status-badge.is-pending{background:var(--bre-idx-gold);color:var(--bre-idx-navy-dark)}
.bre-idx__status-badge.is-active{background:#1f7a3f;color:#fff}
.bre-idx__status-badge.is-under-contract{background:var(--bre-idx-gold);color:var(--bre-idx-navy-dark)}
.bre-idx__status-badge.is-coming-soon{background:#1d4f91;color:#fff}
.bre-idx__status-badge.is-closed,.bre-idx__status-badge.is-off-market{background:#5b6570;color:#fff}
.bre-idx__status-badge.is-other{background:#fff;color:var(--bre-idx-navy)}
.bre-idx__media-label{left:.75rem;bottom:.75rem;max-width:calc(100% - 1.5rem);border-radius:6px;background:rgba(9,29,48,.92);color:#fff;padding:.4rem .55rem}
.bre-idx__card--curated .bre-idx__eyebrow{margin:0}
.bre-idx__attribution{margin-top:1.25rem;border-top:1px solid #d8dce0;padding-top:.8rem;color:var(--bre-idx-muted);font-size:.75rem}
.bre-idx__attribution p{margin:.25rem 0}
.bre-idx__status:empty{display:none}
.bre-idx__state{border:1px solid #d8d2c4;border-left:5px solid var(--bre-idx-gold);border-radius:8px;background:var(--bre-idx-cream);padding:1rem}
.bre-idx__state p{margin:.1rem 0 .45rem}
.bre-idx__state>a{display:inline-flex;min-height:44px;align-items:center;padding:.65rem .75rem;margin-top:.25rem;border-radius:8px}
.bre-idx__calculator-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.bre-idx__estimate{display:grid;grid-column:span 2;align-content:center;border-radius:12px;background:var(--bre-idx-navy);color:#fff;padding:1rem}
.bre-idx__estimate strong{font-size:1.8rem}
.bre-idx__disclosure{color:var(--bre-idx-muted);font-size:.78rem}
.bre-idx--calculator{border-radius:16px;background:var(--bre-idx-cream);padding:clamp(1rem,3vw,2rem)}
.bre-idx--detail{width:min(1180px,100%);margin-inline:auto;padding:clamp(1rem,3vw,2rem) 0}
.bre-idx--detail h1{font-size:clamp(1.8rem,4vw,3.2rem);margin:.15rem 0 .5rem}
.bre-idx__detail-summary{display:flex;gap:1.25rem;align-items:center;justify-content:space-between;margin:1rem 0 1.25rem;padding:1rem 0;border-top:1px solid #d8dce0;border-bottom:1px solid #d8dce0}
.bre-idx__detail-price{margin:0;color:var(--bre-idx-navy);font-size:clamp(1.65rem,4vw,2.6rem);font-weight:800}
.bre-idx__detail-actions{display:flex;flex-wrap:wrap;gap:.65rem;justify-content:flex-end}
.bre-idx__detail-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin:1rem 0 1.5rem}
.bre-idx__detail-photo{aspect-ratio:3/2;overflow:hidden;margin:0;border-radius:12px;background:#e9edf0}
.bre-idx__detail-photo--primary{grid-row:span 2;aspect-ratio:auto;min-height:100%}
.bre-idx__detail-photo img{display:block;width:100%;height:100%;object-fit:cover}
.bre-idx__detail-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;margin:1.5rem 0}
.bre-idx__detail-fact{border:1px solid #d8dce0;border-radius:10px;background:#fff;padding:.8rem}
.bre-idx__detail-fact dt{color:var(--bre-idx-muted);font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}
.bre-idx__detail-fact dd{margin:.2rem 0 0;color:var(--bre-idx-navy);font-size:1.05rem;font-weight:800}
.bre-idx__detail-remarks{max-width:850px;margin:1.5rem 0}
.bre-idx__detail-remarks h2,.bre-idx__detail-similar h2{margin-bottom:.6rem}
.bre-idx__detail-similar{margin:2rem 0 0;padding-top:1.25rem;border-top:1px solid #d8dce0}
@media(min-width:1051px){.bre-idx--current-listings[data-limit="4"] .bre-idx__results{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1050px){.bre-idx__search-form{grid-template-columns:repeat(3,minmax(0,1fr))}
.bre-idx__results{grid-template-columns:repeat(2,minmax(0,1fr))}
.bre-idx__calculator-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.bre-idx__detail-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:767px){[data-bre-idx-desktop-only="1"]{display:none!important}
.bre-idx__mobile-load{display:inline-flex;grid-column:1/-1;width:100%}
.bre-idx--gallery .bre-idx__state[data-bre-idx-state="viewport-deferred"]{display:none}
}
@media(max-width:640px){.bre-idx__search-form,.bre-idx__results,.bre-idx__calculator-grid{grid-template-columns:minmax(0,1fr)}
.bre-idx__detail-summary{display:grid;align-items:stretch}
.bre-idx__detail-actions{display:grid;justify-content:stretch}
.bre-idx__detail-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem}
.bre-idx__detail-photo--primary{grid-column:1/-1;grid-row:auto;aspect-ratio:3/2}
.bre-idx__detail-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
.bre-idx__toolbar{align-items:stretch}
.bre-idx__toolbar label,.bre-idx__pagination>*{width:100%}
.bre-idx__estimate{grid-column:auto}
.bre-idx button,.bre-idx__button{width:100%}
.bre-idx{width:100%;max-width:100%;overflow-x:clip}
.bre-idx__card,.bre-idx__search-form{min-width:0}
}
@media(prefers-reduced-motion:reduce){.bre-idx *{scroll-behavior:auto!important;transition:none!important;animation:none!important}
}
/* rc.33: photo placeholders (no alt text flashing while a photo loads) */
.bre-idx__media img,.bre-idx__detail-photo img{color:transparent;background:linear-gradient(110deg,#e9edf0 8%,#f4f6f8 18%,#e9edf0 33%);background-size:200% 100%}
.bre-idx__media img[src]{animation:bre-idx-shimmer 1.4s linear infinite}
.bre-idx__media img.is-loaded,.bre-idx__detail-photo img.is-loaded{animation:none;background:none}
@keyframes bre-idx-shimmer{to{background-position:-200% 0}}
/* rc.33: detail header, price aligned with the title column */
.bre-idx__detail-summary>*:first-child{flex:1 1 auto;min-width:0}
.bre-idx__detail-price{text-align:left}
/* rc.33: detail gallery layouts by photo count */
.bre-idx__detail-gallery{position:relative}
.bre-idx__detail-photo-link{display:block;width:100%;height:100%;cursor:zoom-in}
.bre-idx__detail-gallery--count-1{grid-template-columns:minmax(0,1fr)}
.bre-idx__detail-gallery--count-1 .bre-idx__detail-photo--primary{grid-row:auto;aspect-ratio:16/9;max-height:680px;min-height:0}
.bre-idx__detail-gallery--count-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.bre-idx__detail-gallery--count-2 .bre-idx__detail-photo--primary{grid-row:auto;aspect-ratio:3/2;min-height:0}
.bre-idx__detail-gallery--count-3{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}
.bre-idx__detail-gallery--count-many{grid-template-columns:minmax(0,2fr) repeat(2,minmax(0,1fr))}
.bre-idx__detail-gallery--count-3 .bre-idx__detail-photo--primary,.bre-idx__detail-gallery--count-many .bre-idx__detail-photo--primary{grid-row:span 2;aspect-ratio:auto;min-height:100%}
.bre-idx__detail-photo--more{display:none}
.bre-idx__detail-photo{position:relative}
.bre-idx__detail-photo-more{position:absolute;inset:0;display:grid;place-items:center;background:rgba(9,29,48,.55);color:#fff;font-size:1.6rem;font-weight:800;pointer-events:none}
.bre-idx__detail-gallery-all{position:absolute;right:.75rem;bottom:.75rem;z-index:2;background:#fff}
@media(max-width:640px){
.bre-idx__detail-gallery--count-3,.bre-idx__detail-gallery--count-many{grid-template-columns:repeat(2,minmax(0,1fr))}
.bre-idx__detail-gallery--count-3 .bre-idx__detail-photo--primary,.bre-idx__detail-gallery--count-many .bre-idx__detail-photo--primary{grid-column:1/-1;grid-row:auto;aspect-ratio:3/2}
.bre-idx__detail-gallery--count-many .bre-idx__detail-photo:nth-of-type(n+4){display:none}
.bre-idx__detail-gallery--count-many .bre-idx__detail-photo-more{display:none}
.bre-idx__detail-gallery--count-1 .bre-idx__detail-photo--primary{aspect-ratio:3/2}
.bre-idx__detail-gallery-all{position:static;grid-column:1/-1;justify-self:stretch}
}
/* rc.33: lightbox */
.bre-idx-lightbox{width:min(1200px,96vw);max-width:none;max-height:94vh;padding:0;border:0;border-radius:12px;background:#0b1b2b;color:#fff}
.bre-idx-lightbox::backdrop{background:rgba(5,14,24,.86)}
.bre-idx-lightbox__frame{position:relative;display:grid;place-items:center;min-height:50vh}
.bre-idx-lightbox__frame img{display:block;max-width:100%;max-height:82vh;width:auto;height:auto;object-fit:contain}
.bre-idx-lightbox__bar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.6rem .9rem}
.bre-idx-lightbox button{min-width:44px;min-height:44px;border:1px solid rgba(255,255,255,.35);border-radius:999px;background:transparent;color:#fff;font-size:1rem;font-weight:800;cursor:pointer}
.bre-idx-lightbox button:focus-visible{outline:3px solid #c7a34d;outline-offset:2px}
.bre-idx-lightbox__prev,.bre-idx-lightbox__next{position:absolute;top:50%;transform:translateY(-50%);background:rgba(9,29,48,.7)!important}
.bre-idx-lightbox__prev{left:.6rem}.bre-idx-lightbox__next{right:.6rem}
@media(prefers-reduced-motion:reduce){.bre-idx__media img[src]{animation:none}}
