/* Shared customer website foundation. Four independent identities; all selectors stay inside the theme. */
.re-site { --re-paper:#fffdfa;--re-ink:#253e35;--re-muted:#5c6c62;--re-accent:#28624b;--re-on-accent:#fff;--re-line:#dfe4d9;--re-soft:#eef3e9;--re-header-bg:#fffdfa;--re-radius:10px;--re-heading:Arial,sans-serif;--re-body:Arial,sans-serif;--re-width:1320px;--re-header-height:108px;--re-scroll-offset:128px;background:var(--re-paper);color:var(--re-ink);font:16px/1.6 var(--re-body);text-align:left;position:relative;isolation:isolate; }
.re-site.master-wrapper-page { width:100%;max-width:none;margin:0; }
.re-site * { box-sizing:border-box; }
.re-site [hidden] { display:none!important; }
.re-site a { color:inherit; }
.re-site h1,.re-site h2,.re-site h3,.re-site p { margin:0; }
.re-site h1,.re-site h2,.re-site h3 { color:inherit; }
.re-site button,.re-site input,.re-site select,.re-site textarea { font:inherit; }
.re-site button,.re-site summary { cursor:pointer; }
.re-site a:focus-visible,.re-site button:focus-visible,.re-site input:focus-visible,.re-site select:focus-visible,.re-site summary:focus-visible { outline:3px solid var(--re-accent);outline-offset:4px; }
.re-site :target { scroll-margin-top:var(--re-scroll-offset); }
.re-site .re-skip { position:absolute;left:16px;top:0;transform:translateY(-160%);z-index:1400;background:var(--re-paper);color:var(--re-ink);padding:12px 20px;border:2px solid var(--re-accent); }
.re-site .re-skip:focus { transform:translateY(0); }
.re-site .re-header { position:relative;z-index:1100;background:var(--re-header-bg);color:var(--re-ink);border-bottom:1px solid var(--re-line);transition:background-color .2s,color .2s,box-shadow .2s; }
.re-site[data-sticky=true] .re-header { position:sticky;top:0; }
.re-site.re-overlay:not(.re-scrolled) .re-header { background:transparent;color:#fff;border-bottom-color:#ffffff38; }
.re-site.re-scrolled[data-sticky=true] .re-header { box-shadow:0 8px 30px #0d201522; }
.re-site .re-header-inner { max-width:var(--re-width);margin:auto;padding:20px 28px;display:flex;align-items:center;gap:26px;min-height:108px; }
.re-site .re-brand { min-width:120px;max-width:240px;margin-right:auto; }
.re-site .re-brand a { display:block;font:500 22px/1.2 var(--re-heading);text-decoration:none; }
.re-site .re-brand img { display:block;max-width:100%;width:auto;max-height:62px;height:auto; }
.re-site.re-overlay:not(.re-scrolled) .re-brand:has(img) { background:#fffffff2;padding:8px 12px;border-radius:5px; }
.re-site .idx-client-nav { color:inherit;margin:0;font:500 13px/1.4 var(--re-body); }
.re-site .idx-client-nav ul.idx-nav-desktop { gap:22px; }
.re-site .idx-nav-desktop>li>a,.re-site .idx-nav-desktop>li>details>summary { display:block;min-height:44px;align-content:center;padding:12px 0; }
.re-site .idx-client-nav .idx-nav-contact { padding:11px 16px;border:1px solid currentColor;border-radius:var(--re-radius); }
.re-site .idx-nav-dropdown,.re-site .idx-nav-mobile-panel { background:var(--re-paper);color:var(--re-ink);border-color:var(--re-line);box-shadow:0 18px 34px #16251e26; }
.re-site .idx-nav-dropdown a:hover,.re-site .idx-nav-mobile-panel a:hover { background:var(--re-soft); }
.re-site .idx-nav-mobile-panel a,.re-site .idx-nav-mobile-panel .idx-nav-search { border-color:var(--re-line); }
.re-site .idx-nav-mobile-panel { left:0;right:0;top:100%;max-height:calc(100dvh - var(--re-header-height) - 20px);overflow:auto;overscroll-behavior:contain; }
.re-site .re-account { flex-shrink:0; }
.re-site .idx-account-menu { color:inherit;position:relative; }
.re-site .idx-account-menu .idx-account-signin,.re-site .idx-account-menu>details>summary { color:inherit!important;display:block;min-height:44px;padding:10px 0;font-size:12px;white-space:nowrap;background:transparent;border:0; }
.re-site .idx-account-menu .idx-account-dropdown { color:var(--re-ink);background:var(--re-paper);border-color:var(--re-line);z-index:1110;right:0;max-width:calc(100vw - 32px); }
.re-site .re-main { min-height:50vh; }
.re-site.re-overlay .re-main { margin-top:calc(-1 * var(--re-header-height)); }
.re-site .center-1,.re-site .center-2 { float:none;width:100%;margin:0;min-height:0; }
.re-site.re-interior .center-1 { max-width:var(--re-width);margin:auto;padding:32px 24px 60px; }
.re-site .re-main>.page { max-width:var(--re-width);margin:auto; }
.re-site .re-hero { position:relative;isolation:isolate;min-height:720px;display:flex;align-items:center;overflow:hidden;color:#fff;background:#263b32; }
.re-site .re-hero-image,.re-site .re-hero-shade { position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2; }
.re-site .re-hero-shade { z-index:-1;background:linear-gradient(180deg,#10271ed9 0,transparent 230px),linear-gradient(90deg,#10231ecc,#10231e18),linear-gradient(0deg,#10231e99,transparent 65%); }
.re-site .re-hero-inner { width:min(var(--re-width),100%);margin:auto;padding:66px 28px; }
.re-site.re-overlay .re-hero-inner { padding-top:calc(var(--re-header-height) + 62px); }
.re-site .re-eyebrow { font:600 11px/1.6 var(--re-body);letter-spacing:.19em;text-transform:uppercase; }
.re-site .re-hero h1 { font:500 clamp(42px,5.5vw,76px)/1.09 var(--re-heading);letter-spacing:-.035em;max-width:790px;margin:19px 0 23px;color:inherit; }
.re-site .re-introduction { max-width:590px;font-size:17px;line-height:1.7; }
.re-site .re-hero-actions { display:flex;align-items:center;gap:24px;margin-top:27px;flex-wrap:wrap; }
.re-site .re-button { display:inline-flex;align-items:center;justify-content:center;gap:22px;min-height:48px;padding:14px 24px;border:1px solid var(--re-accent);border-radius:var(--re-radius);background:var(--re-accent);color:var(--re-on-accent);font:600 14px/1.4 var(--re-body);text-decoration:none; }
.re-site .re-button:hover { filter:brightness(1.08); }
.re-site .re-hero-link { text-decoration:underline;text-underline-offset:6px; }
.re-site .re-search-panel { margin-top:45px;padding:23px;background:var(--re-paper);color:var(--re-ink);border-radius:var(--re-radius); }
.re-site .re-search-panel>h2 { font:500 20px/1.3 var(--re-heading);margin:0 0 15px; }
.re-site .re-home-search.idx-native-filters { display:grid;grid-template-columns:1.4fr 1fr 1fr .75fr 1.2fr auto;gap:13px;align-items:end;margin:0;padding:0;border:0;background:transparent;border-radius:0; }
.re-site .re-home-search>label { display:flex;flex-direction:column;gap:6px;font:500 11px/1.5 var(--re-body);min-width:0;letter-spacing:0; }
.re-site .re-home-search input,.re-site .re-home-search select { width:100%;height:46px;min-width:0;border:1px solid var(--re-line);background:var(--re-paper);color:var(--re-ink);border-radius:calc(var(--re-radius) * .5);padding:10px;font:400 15px/1.3 var(--re-body); }
.re-site .re-home-search .idx-search-submit { min-height:46px;padding:10px 17px;border:0;background:var(--re-accent);color:var(--re-on-accent);font:600 13px/1.4 var(--re-body);border-radius:calc(var(--re-radius) * .5);white-space:nowrap; }
.re-site .re-home-search .idx-more-filters { grid-column:1/4;min-width:0; }
.re-site .re-home-search .idx-more-filters summary { font:500 12px/1.4 var(--re-body);color:var(--re-ink);padding:9px 0;list-style:revert; }
.re-site .re-home-search .idx-more-filters[open] { grid-column:1/-1; }
.re-site .re-home-search .idx-more-filters>div { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:13px 0; }
.re-site .re-home-search .idx-more-filters label { display:grid;gap:6px;font-size:12px;min-width:0; }
.re-site .re-home-search .idx-clear-search { grid-column:4/-1;justify-self:end;font-size:11px;text-decoration:underline;color:var(--re-muted); }
.re-site .re-smart-link { display:inline-block;margin-top:11px;font-size:11px;color:var(--re-muted);text-decoration:underline; }
.re-site .re-homes,.re-site .re-company-homes,.re-site .re-paths { max-width:var(--re-width);margin:auto;padding:65px 28px 0; }
.re-site .re-section-heading { display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:27px; }
.re-site .re-section-heading h2 { font:500 clamp(30px,3.6vw,46px)/1.2 var(--re-heading);letter-spacing:-.025em;margin-top:10px; }
.re-site .re-section-heading>a { font-size:13px;text-decoration:underline;text-underline-offset:5px;flex-shrink:0; }
.re-site .re-homes .estoreware-idx-section-heading { display:none; }
.re-site .estoreware-idx-featured-widget.idx-homepage-homes { max-width:none;margin:0;padding:0;border:0;background:transparent; }
.re-site .estoreware-idx-featured-widget .estoreware-idx-property-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;margin:0; }
.re-site .estoreware-idx-property-card { color:var(--re-ink);background:var(--re-paper);border:1px solid var(--re-line);border-radius:var(--re-radius)!important;box-shadow:none!important;overflow:hidden;min-width:0; }
.re-site .estoreware-idx-property-card__image { display:block;position:relative;width:100%;aspect-ratio:4/3;height:auto;overflow:hidden; }
.re-site .estoreware-idx-property-card__image img { position:absolute;inset:0;width:100%;height:100%;object-fit:cover; }
.re-site .estoreware-idx-property-card__body { padding:23px; }
.re-site .estoreware-idx-property-card__body strong { color:var(--re-ink);font:500 22px/1.4 var(--re-body); }
.re-site .estoreware-idx-property-card__body h3 { font:500 17px/1.4 var(--re-heading);margin:10px 0 4px; }
.re-site .estoreware-idx-property-card__body h3 a,.re-site .estoreware-idx-property-link { color:var(--re-ink); }
.re-site .estoreware-idx-property-card__body p,.re-site .estoreware-idx-property-meta { color:var(--re-muted);font-size:12px; }
.re-site .estoreware-idx-property-card__body .idx-source { font-size:11px!important;color:var(--re-muted);line-height:1.5; }
.re-site .estoreware-idx-property-card__image em { background:var(--re-accent);color:var(--re-on-accent); }
.re-site .estoreware-idx-property-link { display:inline-block;margin-top:14px;font-size:12px;text-decoration:underline; }
.re-site .estoreware-idx-disclaimer,.re-site .idx-location-notice { color:var(--re-muted);font-size:11px;line-height:1.6; }
.re-site .re-company-homes { padding-top:0; }
.re-site .re-company-homes>.estoreware-idx-widget { margin-top:60px; }
.re-site .re-company-homes .estoreware-idx-section-heading { margin-bottom:24px; }
.re-site .re-company-homes .estoreware-idx-section-heading h2 { font:500 34px/1.2 var(--re-heading); }
.re-site .re-company-homes .estoreware-idx-section-heading p { color:var(--re-muted); }
.re-site .re-guidance { max-width:calc(var(--re-width) - 56px);margin:65px auto;padding:40px;display:flex;align-items:center;justify-content:space-between;gap:40px;background:var(--re-soft);border-radius:var(--re-radius); }
.re-site .re-guidance h2 { font:500 clamp(28px,3vw,40px)/1.2 var(--re-heading);margin:12px 0 16px;max-width:680px; }
.re-site .re-guidance p:not(.re-eyebrow) { max-width:650px;color:var(--re-muted);font-size:15px; }
.re-site .re-guidance .re-button { flex-shrink:0; }
.re-site .re-footer { border-top:1px solid var(--re-line);padding:42px 28px 22px;background:var(--re-header-bg); }
.re-site .re-footer-inner,.re-site .re-footer-legal { max-width:calc(var(--re-width) - 56px);margin:auto; }
.re-site .re-footer-inner { display:flex;justify-content:space-between;gap:30px; }
.re-site .re-footer-brand { font:500 24px/1.3 var(--re-heading);text-decoration:none; }
.re-site .re-footer p { margin-top:8px;color:var(--re-muted);font-size:13px; }
.re-site .re-footer nav { display:flex;flex-wrap:wrap;gap:14px 24px;align-items:start;font-size:12px; }
.re-site .re-footer-legal { padding-top:30px;font-size:11px;color:var(--re-muted); }
.re-site .re-paths { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;padding-top:34px; }
.re-site .re-paths>a { background:var(--re-soft);padding:27px;border-radius:var(--re-radius);text-decoration:none; }
.re-site .re-paths>a:nth-child(2) { background:#f8eadc; }
.re-site .re-paths>a:nth-child(3) { background:#e8f0f2; }
.re-site .re-paths h2 { font:500 20px/1.3 var(--re-heading);margin:9px 0; }
.re-site .re-paths p { font-size:13px;color:var(--re-muted); }
.re-site .re-lifestyle { max-width:900px;margin:55px auto 0;text-align:center;padding:0 28px; }
.re-site .re-lifestyle h2 { font:400 clamp(30px,3.8vw,47px)/1.2 var(--re-heading);margin:15px 0 20px; }
.re-site .re-lifestyle a { font-size:13px;text-underline-offset:5px; }
/* Signature: cinematic photography, editorial serif, charcoal and champagne. */
.re-site.re-signature { --re-paper:#141c19;--re-ink:#f7f2e8;--re-muted:#c2c6bd;--re-accent:#d4bd89;--re-on-accent:#17221c;--re-line:#3a463e;--re-soft:#222e26;--re-header-bg:#141c19;--re-radius:0px;--re-heading:Georgia,'Times New Roman',serif; }
.re-signature .re-hero { min-height:820px; }
.re-signature .re-hero-copy { max-width:800px; }
.re-signature .re-hero h1 { font-weight:400;max-width:780px; }
.re-signature .re-hero .re-eyebrow { color:#e6d4a8; }
.re-signature .re-search-panel { background:#1c2822f2;border:1px solid #66705b; }
.re-signature .estoreware-idx-property-card { border:0; }
.re-signature .estoreware-idx-property-card__body { padding-left:0;padding-right:0; }
/* Metropolitan: geometric search panel, cobalt and clean sans-serif. */
.re-site.re-metropolitan { --re-paper:#fff;--re-ink:#16243a;--re-muted:#5a677b;--re-accent:#254bd6;--re-on-accent:#fff;--re-line:#dfe5ef;--re-soft:#eef3fc;--re-header-bg:#fff;--re-radius:2px;--re-heading:Arial,sans-serif; }
.re-metropolitan .re-hero-inner { display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:0; }
.re-metropolitan .re-hero-copy { grid-column:1;padding:34px 36px 27px;background:#fff;color:var(--re-ink); }
.re-metropolitan .re-hero h1 { font-size:clamp(42px,4.9vw,66px);font-weight:700; }
.re-metropolitan .re-hero .re-eyebrow { color:var(--re-accent); }
.re-metropolitan .re-search-panel { grid-column:1;background:#fff;border-top:1px solid var(--re-line);margin:0;padding:25px 36px 30px; }
.re-metropolitan .re-home-search.idx-native-filters { grid-template-columns:repeat(2,minmax(0,1fr)); }
.re-metropolitan .re-home-search>label:first-of-type,.re-metropolitan .re-home-search .idx-search-submit,.re-metropolitan .re-home-search .idx-more-filters,.re-metropolitan .re-home-search .idx-clear-search { grid-column:1/-1; }
.re-metropolitan .re-home-search .idx-clear-search { justify-self:start; }
.re-metropolitan .re-home-search .idx-more-filters>div { grid-template-columns:repeat(2,minmax(0,1fr)); }
.re-metropolitan .re-section-heading h2 { font-weight:700; }
/* Coastal: sunwashed colors, soft type, gentle shapes and a wide lifestyle hero. */
.re-site.re-coastal { --re-paper:#f8f5ed;--re-ink:#244944;--re-muted:#5c7067;--re-accent:#286960;--re-on-accent:#fff;--re-line:#d9ded1;--re-soft:#e8ede1;--re-header-bg:#f8f5ed;--re-radius:22px;--re-heading:Georgia,'Times New Roman',serif; }
.re-coastal .re-hero-shade { background:linear-gradient(180deg,#152d28d9,transparent 230px),linear-gradient(90deg,#234c41b8,#234c4108),linear-gradient(0deg,#122b2580,transparent); }
.re-coastal .re-hero-copy { max-width:690px; }
.re-coastal .re-hero h1 { font-weight:400;max-width:700px; }
.re-coastal .re-search-panel { background:#f8f5edf5;border-radius:14px; }
.re-coastal .estoreware-idx-property-card { border:0;border-radius:8px!important; }
.re-coastal .estoreware-idx-property-card__body { padding-left:0;padding-right:0; }
/* Neighborhood: warm, reassuring copy; rounded paper panel on the right. */
.re-neighborhood .re-hero-inner { display:grid;grid-template-columns:1fr 1fr;gap:0; }
.re-neighborhood .re-hero-copy { grid-column:2;padding:34px 35px 27px;background:#fffdfaf7;color:var(--re-ink);border-radius:35px 35px 0 0; }
.re-neighborhood .re-hero h1 { font-size:clamp(39px,4.1vw,59px);letter-spacing:-.045em; }
.re-neighborhood .re-search-panel { grid-column:2;margin:0;padding:25px 35px 30px;border-radius:0 0 35px 35px;background:#fffdfaf7;border-top:1px solid var(--re-line); }
.re-neighborhood .re-home-search.idx-native-filters { grid-template-columns:repeat(2,minmax(0,1fr)); }
.re-neighborhood .re-home-search>label:first-of-type,.re-neighborhood .re-home-search .idx-search-submit,.re-neighborhood .re-home-search .idx-more-filters,.re-neighborhood .re-home-search .idx-clear-search { grid-column:1/-1; }
.re-neighborhood .re-home-search .idx-clear-search { justify-self:start; }
.re-neighborhood .re-home-search .idx-more-filters>div { grid-template-columns:repeat(2,minmax(0,1fr)); }
@media(max-width:1240px) {
  .re-site .re-header-inner { gap:20px;padding:15px 24px;min-height:92px; }
  .re-site .re-brand { max-width:260px; }
  .re-site .idx-client-nav { margin-left:auto; }
  .re-site .re-home-search.idx-native-filters { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .re-site .re-home-search .idx-search-submit { grid-column:auto; }
  .re-site .re-home-search .idx-more-filters { grid-column:1/3; }
  .re-site .re-home-search .idx-clear-search { grid-column:3; }
  .re-site .re-home-search .idx-more-filters[open] { grid-column:1/-1; }
  .re-metropolitan .re-home-search.idx-native-filters,.re-neighborhood .re-home-search.idx-native-filters { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .re-metropolitan .re-home-search .idx-search-submit,.re-metropolitan .re-home-search .idx-more-filters,.re-metropolitan .re-home-search .idx-clear-search,.re-neighborhood .re-home-search .idx-search-submit,.re-neighborhood .re-home-search .idx-more-filters,.re-neighborhood .re-home-search .idx-clear-search { grid-column:1/-1; }
}
@media(max-width:900px) {
  .re-site .re-hero-inner { padding:45px 24px; }
  .re-site.re-overlay .re-hero-inner { padding-top:calc(var(--re-header-height) + 45px); }
  .re-metropolitan .re-hero-inner,.re-neighborhood .re-hero-inner { grid-template-columns:1fr 1fr;gap:0; }
  .re-metropolitan .re-hero-copy,.re-metropolitan .re-search-panel { grid-column:1/-1;max-width:550px; }
  .re-neighborhood .re-hero-copy,.re-neighborhood .re-search-panel { grid-column:1/-1;max-width:550px;margin-left:auto;width:100%; }
  .re-site .re-guidance { margin:45px 24px;display:block;padding:30px; }
  .re-site .re-guidance .re-button { margin-top:25px; }
  .re-site .estoreware-idx-featured-widget .estoreware-idx-property-grid { gap:16px;grid-template-columns:repeat(2,minmax(0,1fr)); }
  .re-site .re-footer-inner { flex-direction:column; }
}
@media(max-width:600px) {
  .re-site { font-size:15px;--re-header-height:88px; }
  .re-site .re-header-inner { padding:12px 16px;gap:13px;min-height:88px;flex-wrap:wrap; }
  .re-site .re-brand { min-width:0;max-width:calc(100% - 155px);flex:1 1 auto; }
  .re-site .re-brand img { max-height:48px; }
  .re-site .re-brand a { font-size:18px; }
  .re-site .idx-client-nav { flex:0 0 auto; }
  .re-site .idx-account-menu .idx-account-signin,.re-site .idx-account-menu>details>summary { font-size:11px; }
  .re-site .idx-nav-mobile>summary { padding:12px 0; }
  .re-site .re-hero { min-height:0; }
  .re-site .re-hero-image { object-position:62% center; }
  .re-site .re-hero-inner { padding:38px 16px; }
  .re-site.re-overlay .re-hero-inner { padding-top:calc(var(--re-header-height) + 40px); }
  .re-site .re-hero h1 { font-size:clamp(36px,9.4vw,48px);max-width:460px; }
  .re-site .re-eyebrow { font-size:10px;letter-spacing:.13em; }
  .re-site .re-introduction { font-size:15px; }
  .re-site .re-search-panel { margin-top:30px;padding:19px 16px; }
  .re-site .re-home-search.idx-native-filters { grid-template-columns:repeat(2,minmax(0,1fr));gap:12px; }
  .re-site .re-home-search>label:first-of-type,.re-site .re-home-search .idx-search-submit,.re-site .re-home-search .idx-more-filters,.re-site .re-home-search .idx-clear-search { grid-column:1/-1; }
  .re-site .re-home-search input,.re-site .re-home-search select { font-size:16px; }
  .re-site .re-home-search .idx-clear-search { justify-self:start; }
  .re-site .re-home-search .idx-more-filters>div { grid-template-columns:1fr; }
  .re-metropolitan .re-hero-inner,.re-neighborhood .re-hero-inner { display:block; }
  .re-metropolitan .re-hero-copy,.re-neighborhood .re-hero-copy { padding:26px 20px; }
  .re-metropolitan .re-search-panel,.re-neighborhood .re-search-panel { margin:0;padding:22px 20px; }
  .re-neighborhood .re-hero-copy { border-radius:25px 25px 0 0; }
  .re-neighborhood .re-search-panel { border-radius:0 0 25px 25px; }
  .re-site .re-homes,.re-site .re-company-homes { padding:40px 16px 0; }
  .re-site .re-company-homes { padding-top:0; }
  .re-site .re-section-heading { align-items:start;flex-direction:column;gap:13px;margin-bottom:23px; }
  .re-site .re-section-heading h2 { font-size:32px; }
  .re-site .estoreware-idx-featured-widget .estoreware-idx-property-grid { grid-template-columns:1fr;gap:23px; }
  .re-site .re-paths { grid-template-columns:1fr;padding:26px 16px 0;gap:13px; }
  .re-site .re-paths>a { padding:22px; }
  .re-site .re-paths h2 { font-size:21px; }
  .re-site .re-guidance { margin:40px 16px;padding:25px; }
  .re-site .re-guidance h2 { font-size:31px; }
  .re-site .re-footer { padding:32px 20px 22px; }
  .re-site .re-footer-inner,.re-site .re-footer-legal { max-width:none; }
  .re-site .re-footer nav { gap:13px 22px; }
}
@media(prefers-reduced-motion:reduce) { .re-site .re-header { transition:none; } }
