/* RSE Header & Footer v1.4.0 */
:root{
  --rse-navy:#07111f;
  --rse-navy-2:#0b1827;
  --rse-white:#fff;
  --rse-text:#d8e0e8;
  --rse-muted:#aeb9c4;
  --rse-line:rgba(255,255,255,.13);
  --rse-blue:#2068f2;
  --rse-orange:#ff9b18;
  --rse-ui-font:"Inter","Montserrat","Avenir Next",Arial,Helvetica,sans-serif;
}

/* Hide legacy Astra / Elementor global header & footer while this plugin is active. */
body.rse-hf-active #masthead,
body.rse-hf-active .site-header:not(.rse-site-header),
body.rse-hf-active header.site-header:not(.rse-site-header),
body.rse-hf-active .elementor-location-header,
body.rse-hf-active [data-elementor-type="header"],
body.rse-hf-active #colophon,
body.rse-hf-active .site-footer:not(.rse-site-footer),
body.rse-hf-active footer.site-footer:not(.rse-site-footer),
body.rse-hf-active .elementor-location-footer,
body.rse-hf-active [data-elementor-type="footer"]{
  display:none!important;
}

.rse-site-header,.rse-site-header *,.rse-site-footer,.rse-site-footer *{box-sizing:border-box}

/* RSE adaptive glass header.
   Homepage: transparent over the hero, then compact glass on scroll.
   Interior pages: glass from the first pixel so white page backgrounds never wash out the nav. */
.rse-site-header{
  position:absolute;
  top:0;
  left:0;
  right:0;
  z-index:9998;
  width:100%;
  color:#fff;
  background:linear-gradient(90deg,rgba(8,12,18,.84),rgba(18,23,30,.76));
  border:0!important;
  border-bottom:0!important;
  box-shadow:0 8px 28px rgba(0,0,0,.12);
  -webkit-backdrop-filter:blur(16px) saturate(125%);
  backdrop-filter:blur(16px) saturate(125%);
  transition:background .30s ease,box-shadow .30s ease,backdrop-filter .30s ease,-webkit-backdrop-filter .30s ease;
}
body.rse-hf-home .rse-site-header:not(.rse-is-scrolled):not(.rse-menu-open){
  background:transparent!important;
  border:0!important;
  border-bottom:0!important;
  box-shadow:none!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
}
body.rse-hf-sticky .rse-site-header{position:fixed}
.admin-bar .rse-site-header{top:32px}
.rse-site-header.rse-is-scrolled,
.rse-site-header.rse-menu-open,
body.rse-hf-interior .rse-site-header{
  background:linear-gradient(90deg,rgba(8,12,18,.88),rgba(21,25,31,.78));
  border:0!important;
  border-bottom:0!important;
  box-shadow:0 9px 28px rgba(0,0,0,.15);
  -webkit-backdrop-filter:blur(17px) saturate(130%);
  backdrop-filter:blur(17px) saturate(130%);
}

.rse-header-inner{
  width:min(1225px,calc(100% - 36px));
  min-height:72px;
  margin:0 auto;
  padding:8px 0;
  display:flex;
  align-items:center;
  gap:24px;
  transition:min-height .30s ease,padding .30s ease,gap .30s ease;
}
.rse-site-header.rse-is-scrolled .rse-header-inner{
  min-height:50px;
  padding:1px 0 2px;
  gap:21px;
}
.rse-brand{display:flex;align-items:center;flex:0 0 auto;text-decoration:none!important}
.rse-brand img{
  display:block;
  width:170px;
  height:auto;
  max-height:58px;
  object-fit:contain;
  filter:drop-shadow(0 1px 3px rgba(0,0,0,.22));
  transition:width .30s ease,max-height .30s ease,transform .30s ease;
}
.rse-site-header.rse-is-scrolled .rse-brand img{
  width:145px;
  max-height:44px;
}
.rse-primary-nav{margin-left:auto;display:flex;align-items:center;gap:28px;min-width:0;transition:gap .30s ease}
.rse-site-header.rse-is-scrolled .rse-primary-nav{gap:24px}
.rse-site-header.rse-is-scrolled .rse-nav-link,.rse-site-header.rse-is-scrolled .rse-signin{font-size:17px}
.rse-primary-nav a,.rse-primary-nav button{font-family:var(--rse-ui-font)}
.rse-nav-link,.rse-signin,.rse-phone{
  -webkit-appearance:none!important;
  appearance:none!important;
  border:0!important;
  outline:0;
  background:transparent!important;
  box-shadow:none!important;
  border-radius:0!important;
  color:#fff!important;
  text-decoration:none!important;
  font-size:18px;
  font-weight:800;
  letter-spacing:-.015em;
  line-height:1.2;
  white-space:nowrap;
  text-shadow:0 1px 4px rgba(0,0,0,.35);
  transition:opacity .18s ease,color .18s ease,background .18s ease,border-color .18s ease,font-size .30s ease,padding .30s ease;
}
.rse-nav-link:hover,.rse-nav-link:focus,.rse-signin:hover,.rse-signin:focus{opacity:.82;background:transparent!important;box-shadow:none!important;color:#fff!important}
.rse-nav-dropdown{position:relative;display:flex;align-items:stretch}
.rse-dropdown-toggle{cursor:pointer;padding:18px 0!important;margin:0!important;transition:padding .30s ease,opacity .18s ease!important}
.rse-site-header.rse-is-scrolled .rse-dropdown-toggle{padding:13px 0!important}
.rse-dropdown-menu{
  position:absolute;
  top:100%;
  left:50%;
  transform:translateX(-50%) translateY(-3px);
  width:292px;
  padding:8px;
  margin:0;
  background:rgba(7,12,18,.96);
  border:1px solid rgba(255,255,255,.10);
  border-radius:9px;
  box-shadow:0 18px 45px rgba(0,0,0,.34);
  -webkit-backdrop-filter:blur(18px);
  backdrop-filter:blur(18px);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:.18s ease;
  z-index:10001;
}
.rse-nav-dropdown:hover .rse-dropdown-menu,.rse-nav-dropdown.is-open .rse-dropdown-menu{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0)}
.rse-dropdown-menu a{display:block;color:#fff!important;text-decoration:none!important;padding:12px 13px;border-radius:5px!important;font-size:14px;font-weight:750;line-height:1.35;text-shadow:none;background:transparent!important;box-shadow:none!important}
.rse-dropdown-menu a:hover,.rse-dropdown-menu a:focus{background:rgba(255,255,255,.075)!important;color:#fff!important;box-shadow:none!important}
.rse-homes-link{display:flex;align-items:center;gap:10px}
.rse-dot{width:9px;height:9px;border-radius:99px;background:#155cff;box-shadow:0 0 0 3px rgba(21,92,255,.12)}
.rse-signin{font-weight:500;color:rgba(255,255,255,.66)!important}
.rse-phone{padding:10px 15px;border:1px solid rgba(255,255,255,.18)!important;border-radius:999px!important;background:rgba(255,255,255,.045)!important;font-size:17px;box-shadow:none!important}
.rse-site-header.rse-is-scrolled .rse-phone{padding:8px 13px;font-size:16px}
.rse-phone:hover{background:rgba(255,255,255,.11)}
.rse-menu-toggle{display:none;margin-left:auto;border:1px solid rgba(255,255,255,.18);background:rgba(8,12,18,.25);color:#fff;border-radius:10px;padding:9px 11px;align-items:center;gap:10px;font-family:var(--rse-ui-font);font-weight:800;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.rse-hamburger{display:grid;gap:4px}.rse-hamburger i{display:block;width:20px;height:2px;background:#fff;border-radius:2px}

.rse-site-footer{position:relative;z-index:5;background:#050c18;color:var(--rse-text);border-top:1px solid rgba(255,255,255,.08);font-family:var(--rse-ui-font)}
.rse-footer-inner{max-width:1210px;margin:0 auto;padding:68px 26px 28px}
.rse-footer-grid{display:grid;grid-template-columns:1.55fr .9fr .95fr .8fr;gap:72px}
.rse-site-footer h2{margin:0 0 22px;color:#fff;font-size:18px!important;line-height:1.2!important;text-transform:uppercase;letter-spacing:.08em;font-weight:900!important}
.rse-site-footer p{margin:0 0 11px;color:#d7dee6;font-size:14px;line-height:1.7}
.rse-site-footer a{color:#fff!important;text-decoration:none!important}
.rse-site-footer a:hover{text-decoration:underline!important;text-underline-offset:3px}
.rse-strong{font-weight:800!important;color:#fff!important}.rse-brand-name{margin-top:18px!important}.rse-small{font-size:12px!important;color:#a9b4bf!important}.rse-contact-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.rse-site-footer ul{list-style:none!important;margin:0!important;padding:0!important}.rse-site-footer li{margin:0 0 17px!important;padding:0!important;font-size:14px;line-height:1.5}
.rse-compliance-logos{margin-top:18px;display:flex;align-items:center;gap:22px;flex-wrap:wrap}.rse-compliance-logos img{display:block;height:auto;object-fit:contain;max-width:180px;max-height:58px}.rse-compliance-logos .rse-rse-logo{max-width:145px;max-height:55px}.rse-compliance-small{gap:12px;margin-top:12px}.rse-compliance-small img{max-width:100px;max-height:36px;filter:grayscale(1) brightness(1.7)}
.rse-footer-bottom{margin-top:50px;padding-top:22px;border-top:1px solid var(--rse-line);display:flex;align-items:center;justify-content:space-between;gap:20px}.rse-footer-bottom p,.rse-footer-bottom a{margin:0;font-size:12px!important;color:#d9e0e7!important}

@media(max-width:1180px){
  .rse-header-inner{width:min(100% - 28px,1225px);gap:17px}.rse-brand img{width:155px}.rse-site-header.rse-is-scrolled .rse-brand img{width:136px}.rse-primary-nav{gap:17px}.rse-site-header.rse-is-scrolled .rse-primary-nav{gap:15px}.rse-nav-link,.rse-signin{font-size:13px}.rse-phone{font-size:13px;padding:8px 11px}
  .rse-footer-grid{grid-template-columns:1.35fr 1fr 1fr;gap:46px}.rse-footer-contact{grid-row:span 2}
}
@media(max-width:920px){
  .rse-header-inner{width:calc(100% - 28px);min-height:66px;padding:7px 0;flex-wrap:wrap}.rse-site-header.rse-is-scrolled .rse-header-inner{min-height:54px;padding:3px 0}.rse-brand img{width:148px;max-height:52px}.rse-site-header.rse-is-scrolled .rse-brand img{width:130px;max-height:44px}.rse-menu-toggle{display:flex}
  .rse-primary-nav{display:none;width:100%;margin:0;padding:8px 0 14px;flex-direction:column;align-items:stretch;gap:4px;border-top:0}
  .rse-primary-nav.is-open{display:flex}.rse-nav-link,.rse-signin,.rse-phone{display:flex;width:100%;justify-content:space-between;align-items:center;padding:13px 12px;border-radius:10px;font-size:15px}.rse-nav-link:hover,.rse-signin:hover{background:rgba(255,255,255,.055)!important;opacity:1}
  .rse-phone{width:max-content;margin-top:8px;background:rgba(255,255,255,.09)}
  .rse-nav-dropdown{width:100%}.rse-dropdown-toggle{width:100%}.rse-dropdown-menu{position:static;width:100%;transform:none!important;margin-top:4px;border-radius:7px;box-shadow:none;display:none;opacity:1;visibility:visible;pointer-events:auto;background:rgba(0,0,0,.18)}.rse-nav-dropdown.is-open .rse-dropdown-menu{display:block}
  .rse-footer-grid{grid-template-columns:1fr 1fr;gap:40px}.rse-footer-contact{grid-row:auto;grid-column:1/-1;max-width:620px}.rse-footer-inner{padding-top:52px}
}
@media(max-width:782px){.admin-bar .rse-site-header{top:46px}}
@media(max-width:620px){
  .rse-header-inner{width:calc(100% - 24px);min-height:62px;padding:6px 0}.rse-site-header.rse-is-scrolled .rse-header-inner{min-height:50px;padding:2px 0}.rse-brand img{width:132px}.rse-site-header.rse-is-scrolled .rse-brand img{width:118px}.rse-menu-toggle-label{display:none}
  .rse-footer-inner{padding:44px 20px 24px}.rse-footer-grid{grid-template-columns:1fr;gap:34px}.rse-footer-contact{grid-column:auto}.rse-site-footer h2{margin-bottom:15px}.rse-site-footer li{margin-bottom:12px!important}.rse-footer-bottom{margin-top:36px;align-items:flex-start;flex-direction:column-reverse}
}
@media(prefers-reduced-motion:reduce){.rse-site-header,.rse-header-inner,.rse-brand img,.rse-primary-nav,.rse-dropdown-toggle,.rse-nav-link,.rse-signin,.rse-phone,.rse-dropdown-menu{transition:none}}

/* =========================================================
   RSE Header & Footer v1.5.0 — Luxury mobile navigation pass
   ========================================================= */

/* Refined phone CTA + subtle radar pulse */
.rse-phone{
  position:relative;
  isolation:isolate;
  overflow:visible;
}
.rse-phone::before,
.rse-phone::after{
  content:"";
  position:absolute;
  inset:-1px;
  z-index:-1;
  border:1px solid rgba(255,255,255,.20);
  border-radius:inherit;
  pointer-events:none;
  opacity:0;
  transform:scale(1);
  animation:rse-phone-radar 4.8s cubic-bezier(.20,.62,.28,1) infinite;
}
.rse-phone::after{animation-delay:2.4s}
@keyframes rse-phone-radar{
  0%{opacity:0;transform:scale(1)}
  10%{opacity:.18}
  72%{opacity:0;transform:scale(1.24)}
  100%{opacity:0;transform:scale(1.24)}
}

@media(max-width:920px){
  /* Header shell */
  .rse-site-header{
    overflow:visible!important;
  }
  .rse-header-inner{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    column-gap:16px!important;
    row-gap:0!important;
    width:calc(100% - 36px)!important;
    min-height:82px!important;
    padding:10px 0!important;
  }
  .rse-site-header.rse-is-scrolled .rse-header-inner{
    min-height:68px!important;
    padding:7px 0!important;
  }
  .rse-brand{
    min-width:0;
    justify-self:start;
  }
  .rse-brand img{
    width:176px!important;
    max-height:62px!important;
  }
  .rse-site-header.rse-is-scrolled .rse-brand img{
    width:154px!important;
    max-height:52px!important;
  }

  /* Premium hamburger: compact rounded square, never turns into a blank white control */
  .rse-menu-toggle,
  .rse-menu-toggle:hover,
  .rse-menu-toggle:focus,
  .rse-menu-toggle:active,
  .rse-menu-toggle[aria-expanded="true"]{
    display:inline-flex!important;
    width:48px!important;
    height:48px!important;
    min-width:48px!important;
    min-height:48px!important;
    margin:0!important;
    padding:0!important;
    justify-content:center!important;
    align-items:center!important;
    justify-self:end!important;
    border:1px solid rgba(255,255,255,.16)!important;
    border-radius:13px!important;
    background:rgba(6,12,20,.42)!important;
    color:#fff!important;
    box-shadow:0 7px 22px rgba(0,0,0,.12)!important;
    outline:none!important;
    -webkit-tap-highlight-color:transparent;
    -webkit-backdrop-filter:blur(14px) saturate(125%)!important;
    backdrop-filter:blur(14px) saturate(125%)!important;
  }
  .rse-menu-toggle:focus-visible{
    outline:2px solid rgba(255,255,255,.72)!important;
    outline-offset:3px!important;
  }
  .rse-menu-toggle-label{display:none!important}
  .rse-hamburger{
    position:relative!important;
    display:block!important;
    width:24px!important;
    height:18px!important;
  }
  .rse-hamburger i{
    position:absolute!important;
    left:0!important;
    display:block!important;
    width:24px!important;
    height:2px!important;
    margin:0!important;
    background:#fff!important;
    border-radius:2px!important;
    opacity:1!important;
    transform-origin:center!important;
    transition:top .20s ease,transform .24s ease,opacity .16s ease!important;
  }
  .rse-hamburger i:nth-child(1){top:0!important}
  .rse-hamburger i:nth-child(2){top:8px!important}
  .rse-hamburger i:nth-child(3){top:16px!important}
  .rse-menu-toggle[aria-expanded="true"] .rse-hamburger i:nth-child(1){top:8px!important;transform:rotate(45deg)!important}
  .rse-menu-toggle[aria-expanded="true"] .rse-hamburger i:nth-child(2){opacity:0!important;transform:scaleX(.35)!important}
  .rse-menu-toggle[aria-expanded="true"] .rse-hamburger i:nth-child(3){top:8px!important;transform:rotate(-45deg)!important}

  /* Mobile navigation becomes one deliberate, compact column */
  .rse-primary-nav{
    grid-column:1/-1!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:0!important;
    max-height:0!important;
    opacity:0!important;
    visibility:hidden!important;
    overflow:hidden!important;
    transform:translateY(-6px)!important;
    border:0!important;
    transition:max-height .34s ease,opacity .22s ease,transform .28s ease,padding .28s ease!important;
  }
  .rse-primary-nav.is-open{
    max-height:760px!important;
    opacity:1!important;
    visibility:visible!important;
    overflow:visible!important;
    transform:none!important;
    padding:12px 0 18px!important;
  }

  .rse-primary-nav > .rse-nav-link,
  .rse-primary-nav > .rse-signin,
  .rse-nav-dropdown > .rse-dropdown-toggle{
    width:100%!important;
    min-height:52px!important;
    margin:0!important;
    padding:14px 10px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:10px!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    font-size:17px!important;
    font-weight:800!important;
    line-height:1.25!important;
    text-align:left!important;
  }
  .rse-primary-nav > .rse-signin{
    color:rgba(255,255,255,.72)!important;
    font-weight:520!important;
  }
  .rse-primary-nav > .rse-nav-link:hover,
  .rse-primary-nav > .rse-nav-link:focus,
  .rse-nav-dropdown > .rse-dropdown-toggle:hover,
  .rse-nav-dropdown > .rse-dropdown-toggle:focus,
  .rse-primary-nav > .rse-signin:hover,
  .rse-primary-nav > .rse-signin:focus{
    background:transparent!important;
    color:#fff!important;
    opacity:.82!important;
  }

  /* Buy A Home behaves as a true accordion on touch screens */
  .rse-nav-dropdown{
    width:100%!important;
    display:block!important;
    margin:0!important;
  }
  .rse-nav-dropdown > .rse-dropdown-toggle{
    justify-content:space-between!important;
  }
  .rse-nav-dropdown > .rse-dropdown-toggle span{
    margin-left:auto!important;
    font-size:13px!important;
    opacity:.82!important;
    transition:transform .20s ease!important;
  }
  .rse-nav-dropdown.is-open > .rse-dropdown-toggle span{
    transform:rotate(180deg)!important;
  }
  .rse-dropdown-menu{
    position:static!important;
    left:auto!important;
    top:auto!important;
    width:100%!important;
    max-height:0!important;
    margin:0!important;
    padding:0 0 0 13px!important;
    display:block!important;
    overflow:hidden!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transform:none!important;
    background:transparent!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important;
    transition:max-height .28s ease,opacity .18s ease,padding .22s ease!important;
  }
  .rse-nav-dropdown.is-open .rse-dropdown-menu{
    max-height:290px!important;
    padding:4px 0 9px 13px!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
  }
  .rse-dropdown-menu a{
    position:relative!important;
    display:block!important;
    padding:11px 12px 11px 18px!important;
    margin:0!important;
    border-radius:0!important;
    background:transparent!important;
    color:rgba(255,255,255,.88)!important;
    font-size:15px!important;
    font-weight:650!important;
    line-height:1.35!important;
  }
  .rse-dropdown-menu a::before{
    content:"";
    position:absolute;
    left:2px;
    top:50%;
    width:5px;
    height:5px;
    margin-top:-2.5px;
    border-radius:50%;
    background:rgba(67,121,255,.92);
    box-shadow:0 0 10px rgba(32,104,242,.32);
  }
  .rse-dropdown-menu a:hover,
  .rse-dropdown-menu a:focus{
    background:transparent!important;
    color:#fff!important;
  }

  /* Keep icon and copy together — no split-across-the-row behavior */
  .rse-homes-link{
    justify-content:flex-start!important;
  }
  .rse-homes-link .rse-dot{
    flex:0 0 8px!important;
    width:8px!important;
    height:8px!important;
    margin-right:2px!important;
  }

  /* Phone CTA sits naturally in the menu instead of floating far right */
  .rse-primary-nav > .rse-phone{
    width:max-content!important;
    min-height:44px!important;
    margin:9px 0 0 10px!important;
    padding:10px 15px!important;
    display:inline-flex!important;
    justify-content:center!important;
    border:1px solid rgba(255,255,255,.22)!important;
    border-radius:12px!important;
    background:rgba(255,255,255,.045)!important;
    font-size:16px!important;
    font-weight:800!important;
    box-shadow:0 8px 22px rgba(0,0,0,.10)!important;
  }

  /* Menu-open panel stays luxe but avoids a giant blocky takeover */
  .rse-site-header.rse-menu-open{
    background:linear-gradient(180deg,rgba(7,13,22,.96),rgba(10,20,34,.92))!important;
    -webkit-backdrop-filter:blur(22px) saturate(125%)!important;
    backdrop-filter:blur(22px) saturate(125%)!important;
    box-shadow:0 18px 40px rgba(0,0,0,.20)!important;
    border:0!important;
  }
  body.rse-hf-home .rse-site-header:not(.rse-is-scrolled):not(.rse-menu-open){
    border-bottom:0!important;
    box-shadow:none!important;
  }
}

@media(max-width:620px){
  .rse-header-inner{
    width:calc(100% - 30px)!important;
    min-height:78px!important;
    padding:9px 0!important;
  }
  .rse-site-header.rse-is-scrolled .rse-header-inner{
    min-height:64px!important;
    padding:6px 0!important;
  }
  .rse-brand img{width:168px!important;max-height:59px!important}
  .rse-site-header.rse-is-scrolled .rse-brand img{width:148px!important;max-height:50px!important}
  .rse-menu-toggle,
  .rse-menu-toggle:hover,
  .rse-menu-toggle:focus,
  .rse-menu-toggle:active,
  .rse-menu-toggle[aria-expanded="true"]{
    width:46px!important;
    height:46px!important;
    min-width:46px!important;
    min-height:46px!important;
    border-radius:12px!important;
  }
  .rse-primary-nav.is-open{padding:10px 0 16px!important}
  .rse-primary-nav > .rse-nav-link,
  .rse-primary-nav > .rse-signin,
  .rse-nav-dropdown > .rse-dropdown-toggle{
    min-height:49px!important;
    padding:12px 8px!important;
    font-size:16px!important;
  }
  .rse-dropdown-menu a{font-size:14px!important;padding-top:10px!important;padding-bottom:10px!important}
  .rse-primary-nav > .rse-phone{margin-left:8px!important}
}

@media(prefers-reduced-motion:reduce){
  .rse-phone::before,.rse-phone::after{animation:none!important}
}


/* =========================================================
   RSE Header & Footer v1.6.0 — Live MLS status + nav hierarchy
   ========================================================= */

/* Buy first, with the chevron visually attached to the label. */
.rse-dropdown-toggle{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:6px!important;
}
.rse-dropdown-label{display:inline-block!important}
.rse-dropdown-chevron{
  display:inline-block!important;
  margin:0!important;
  font-size:.72em!important;
  line-height:1!important;
  opacity:.78!important;
  transform-origin:center!important;
  transition:transform .2s ease,opacity .2s ease!important;
}
.rse-nav-dropdown.is-open .rse-dropdown-chevron{transform:rotate(180deg)!important}

/* Live MLS nav treatment: status cue, not a loud CTA. */
.rse-homes-link{
  position:relative;
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
}
.rse-live-dot{
  position:relative;
  flex:0 0 8px;
  width:8px;
  height:8px;
  border-radius:50%;
  background:#37c977;
  box-shadow:0 0 0 2px rgba(55,201,119,.12),0 0 10px rgba(55,201,119,.18);
}
.rse-live-dot::after{
  content:"";
  position:absolute;
  inset:-1px;
  border:1px solid rgba(76,219,134,.52);
  border-radius:50%;
  opacity:0;
  transform:scale(1);
  animation:rse-live-radar 2.8s cubic-bezier(.20,.60,.30,1) infinite;
}
.rse-live-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:19px;
  padding:2px 6px 1px;
  margin-left:1px;
  border:1px solid rgba(77,220,135,.42);
  border-radius:4px;
  background:rgba(29,132,76,.16);
  color:#83e9ad;
  font-size:9px;
  font-weight:900;
  line-height:1;
  letter-spacing:.12em;
  text-shadow:none;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.015);
  animation:rse-live-breathe 2.8s ease-in-out infinite;
}
@keyframes rse-live-radar{
  0%{opacity:0;transform:scale(1)}
  18%{opacity:.46}
  72%{opacity:0;transform:scale(2.25)}
  100%{opacity:0;transform:scale(2.25)}
}
@keyframes rse-live-breathe{
  0%,100%{opacity:.72}
  50%{opacity:1}
}

@media(max-width:920px){
  /* On mobile the chevron stays right beside Buy A Home, not marooned at screen edge. */
  .rse-nav-dropdown > .rse-dropdown-toggle{
    justify-content:flex-start!important;
    gap:7px!important;
  }
  .rse-nav-dropdown > .rse-dropdown-toggle .rse-dropdown-chevron{
    margin-left:0!important;
    font-size:12px!important;
  }
  .rse-nav-dropdown.is-open > .rse-dropdown-toggle .rse-dropdown-chevron{
    transform:rotate(180deg)!important;
  }
  .rse-homes-link{
    justify-content:flex-start!important;
    gap:8px!important;
  }
  .rse-live-dot{
    flex:0 0 8px!important;
    width:8px!important;
    height:8px!important;
    margin-right:1px!important;
  }
  .rse-live-badge{
    min-height:18px!important;
    padding:2px 6px!important;
    margin-left:2px!important;
    border-radius:4px!important;
    font-size:9px!important;
    letter-spacing:.11em!important;
  }
}
@media(prefers-reduced-motion:reduce){
  .rse-live-dot::after,.rse-live-badge{animation:none!important}
}


/* =========================================================
   RSE Header & Footer v1.7.0 — Mobile identity + alignment pass
   ========================================================= */

/* Desktop keeps the existing compact phone treatment. */
.rse-phone-cluster{
  display:flex;
  align-items:center;
  flex:0 0 auto;
}
.rse-phone-name{display:none}

@media(max-width:920px){
  /* Force the mobile navigation into a single left-aligned luxury stack. */
  .rse-primary-nav,
  .rse-primary-nav.is-open,
  .rse-primary-nav > *,
  .rse-nav-dropdown,
  .rse-nav-dropdown > .rse-dropdown-toggle{
    margin-left:0!important;
    margin-right:0!important;
    align-self:stretch!important;
    text-align:left!important;
  }
  .rse-nav-dropdown{
    display:block!important;
    width:100%!important;
    justify-self:stretch!important;
  }
  .rse-nav-dropdown > .rse-dropdown-toggle{
    width:100%!important;
    max-width:none!important;
    display:flex!important;
    justify-content:flex-start!important;
    align-items:center!important;
    gap:7px!important;
    padding-left:10px!important;
    padding-right:10px!important;
    float:none!important;
  }
  .rse-dropdown-label,
  .rse-dropdown-chevron{
    flex:0 0 auto!important;
    margin-left:0!important;
    margin-right:0!important;
  }

  /* Personal conversion block: make it obvious who the visitor is calling. */
  .rse-phone-cluster{
    width:max-content!important;
    max-width:100%!important;
    margin:14px 0 0 10px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    gap:7px!important;
  }
  .rse-phone-name{
    display:block!important;
    margin:0 0 0 2px!important;
    color:rgba(255,255,255,.62)!important;
    font-family:var(--rse-ui-font)!important;
    font-size:10px!important;
    font-weight:850!important;
    line-height:1!important;
    letter-spacing:.14em!important;
    text-transform:uppercase!important;
    text-shadow:0 1px 4px rgba(0,0,0,.25)!important;
  }
  .rse-primary-nav > .rse-phone{margin:0!important}
  .rse-phone-cluster .rse-phone{
    width:max-content!important;
    margin:0!important;
  }
}

@media(max-width:620px){
  .rse-phone-cluster{margin-left:8px!important;margin-top:12px!important}
  .rse-phone-name{font-size:9.5px!important;letter-spacing:.13em!important}
}


/* =========================================================
   RSE Header & Footer v1.8.0 — Final mobile alignment lock
   Fixes Buy A Home being pushed to the right by an older,
   more-specific mobile span rule. Keeps every mobile item
   on one clean left-aligned visual rail.
   ========================================================= */
@media(max-width:920px){
  /* One consistent mobile rail */
  #rse-primary-nav.rse-primary-nav,
  #rse-primary-nav.rse-primary-nav.is-open{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    width:100%!important;
    text-align:left!important;
  }

  #rse-primary-nav > .rse-nav-dropdown,
  #rse-primary-nav > .rse-nav-link,
  #rse-primary-nav > .rse-signin,
  #rse-primary-nav > .rse-phone-cluster{
    align-self:stretch!important;
    justify-self:stretch!important;
    float:none!important;
    clear:both!important;
  }

  /* Critical specificity fix: the old rule applied margin-left:auto to
     every span inside the dropdown button. Override it here explicitly. */
  #rse-primary-nav .rse-nav-dropdown > .rse-dropdown-toggle span.rse-dropdown-label,
  #rse-primary-nav .rse-nav-dropdown > .rse-dropdown-toggle span.rse-dropdown-chevron{
    margin-left:0!important;
    margin-right:0!important;
    width:auto!important;
    max-width:none!important;
    flex:0 0 auto!important;
    float:none!important;
    position:static!important;
    left:auto!important;
    right:auto!important;
  }

  #rse-primary-nav .rse-nav-dropdown > .rse-dropdown-toggle{
    display:inline-flex!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    justify-content:flex-start!important;
    align-items:center!important;
    gap:7px!important;
    text-align:left!important;
    padding-left:10px!important;
    padding-right:10px!important;
    margin:0!important;
    transform:none!important;
  }

  #rse-primary-nav .rse-dropdown-label{
    display:inline-block!important;
    text-align:left!important;
  }
  #rse-primary-nav .rse-dropdown-chevron{
    display:inline-block!important;
    font-size:12px!important;
    line-height:1!important;
    opacity:.82!important;
  }

  /* Keep the rest of the menu on exactly the same left edge. */
  #rse-primary-nav > a.rse-nav-link,
  #rse-primary-nav > a.rse-signin{
    padding-left:10px!important;
    padding-right:10px!important;
    justify-content:flex-start!important;
    text-align:left!important;
  }
  #rse-primary-nav > a.rse-homes-link{
    display:flex!important;
    align-items:center!important;
    flex-wrap:nowrap!important;
    gap:8px!important;
  }

  /* A little tighter, more tailored vertical rhythm. */
  #rse-primary-nav.rse-primary-nav.is-open{
    padding-top:8px!important;
    padding-bottom:17px!important;
  }
  #rse-primary-nav > .rse-nav-link,
  #rse-primary-nav > .rse-signin,
  #rse-primary-nav .rse-nav-dropdown > .rse-dropdown-toggle{
    min-height:48px!important;
    padding-top:11px!important;
    padding-bottom:11px!important;
  }

  /* Personal call block remains left aligned and visually separate. */
  #rse-primary-nav > .rse-phone-cluster{
    width:max-content!important;
    max-width:calc(100% - 20px)!important;
    margin:11px 0 0 10px!important;
    align-items:flex-start!important;
  }
}

@media(max-width:620px){
  #rse-primary-nav .rse-nav-dropdown > .rse-dropdown-toggle,
  #rse-primary-nav > a.rse-nav-link,
  #rse-primary-nav > a.rse-signin{
    padding-left:8px!important;
    padding-right:8px!important;
  }
  #rse-primary-nav > .rse-phone-cluster{
    margin-left:8px!important;
  }
}


/* =========================================================
   RSE Header & Footer v1.8.1 — Mobile Buy/Sell typography match
   ========================================================= */
@media(max-width:920px){
  #rse-primary-nav .rse-nav-dropdown > .rse-dropdown-toggle{
    color:#fff!important;
    font-family:var(--rse-ui-font)!important;
    font-size:18px!important;
    font-weight:800!important;
    letter-spacing:-.015em!important;
    line-height:1.2!important;
  }
  #rse-primary-nav .rse-nav-dropdown > .rse-dropdown-toggle .rse-dropdown-label{
    color:#fff!important;
    font:inherit!important;
    letter-spacing:inherit!important;
    line-height:inherit!important;
  }
  #rse-primary-nav .rse-nav-dropdown > .rse-dropdown-toggle .rse-dropdown-chevron{
    color:#fff!important;
    font-size:12px!important;
    font-weight:800!important;
    line-height:1!important;
    opacity:.82!important;
  }
  #rse-primary-nav > a.rse-nav-link:not(.rse-homes-link){
    font-size:18px!important;
    font-weight:800!important;
    letter-spacing:-.015em!important;
    line-height:1.2!important;
  }
}


/* =========================================================
   RSE Header & Footer v1.8.3 — Menu order + exact Buy/Sell match
   Mobile order: View Homes, Buy, Sell, Sign in, Robert + phone.
   ========================================================= */
@media(max-width:920px){
  #rse-primary-nav .rse-nav-dropdown > button.rse-dropdown-toggle,
  #rse-primary-nav .rse-nav-dropdown > button.rse-dropdown-toggle > span.rse-dropdown-label{
    color:#fff!important;
    -webkit-text-fill-color:#fff!important;
    opacity:1!important;
    font-family:var(--rse-ui-font)!important;
    font-size:18px!important;
    font-weight:800!important;
    letter-spacing:-.015em!important;
    line-height:1.2!important;
    text-shadow:none!important;
  }
  #rse-primary-nav .rse-nav-dropdown > button.rse-dropdown-toggle > span.rse-dropdown-chevron{
    color:#fff!important;
    -webkit-text-fill-color:#fff!important;
    opacity:.82!important;
  }
}

/* =========================================================
   RSE Header & Footer v1.8.5 — Mobile top-row alignment fix
   Logo | Sign in / Sign up | Menu/X stay on one row.
   ========================================================= */
.rse-signin-mobile-top{display:none!important;}

@media(max-width:920px){
  #rse-primary-nav > a.rse-signin{display:none!important;}

  .rse-header-inner{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto 48px!important;
    align-items:center!important;
    column-gap:10px!important;
    row-gap:0!important;
    flex-wrap:nowrap!important;
  }
  .rse-brand{
    grid-column:1!important;
    grid-row:1!important;
    justify-self:start!important;
    min-width:0!important;
  }
  .rse-header-inner > .rse-signin-mobile-top{
    display:flex!important;
    grid-column:2!important;
    grid-row:1!important;
    justify-self:end!important;
    align-self:center!important;
    width:auto!important;
    margin:0!important;
    padding:6px 0!important;
    color:rgba(255,255,255,.82)!important;
    -webkit-text-fill-color:rgba(255,255,255,.82)!important;
    font-family:var(--rse-ui-font)!important;
    font-size:14px!important;
    font-weight:600!important;
    line-height:1!important;
    letter-spacing:-.01em!important;
    white-space:nowrap!important;
    text-decoration:none!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    text-shadow:0 1px 3px rgba(0,0,0,.28)!important;
  }
  .rse-menu-toggle,
  .rse-menu-toggle:hover,
  .rse-menu-toggle:focus,
  .rse-menu-toggle:active,
  .rse-menu-toggle[aria-expanded="true"]{
    grid-column:3!important;
    grid-row:1!important;
    justify-self:end!important;
    align-self:center!important;
    margin:0!important;
  }
  #rse-primary-nav{
    grid-column:1 / -1!important;
    grid-row:2!important;
  }
}

@media(max-width:620px){
  .rse-header-inner{
    grid-template-columns:minmax(0,1fr) auto 48px!important;
    column-gap:8px!important;
  }
  .rse-header-inner > .rse-signin-mobile-top{font-size:13px!important;}
}

@media(max-width:390px){
  .rse-header-inner > .rse-signin-mobile-top{font-size:12.5px!important;}
  .rse-brand img{width:124px!important;}
}

/* =========================================================
   RSE Header & Footer v1.8.6 — Mobile conversion row polish
   Preserves v1.8.5 top row + nav order. Moves LIVE pulse to
   the right and adds balanced Call / Text Robert actions.
   ========================================================= */
.rse-call-block{display:flex;align-items:center;gap:0}
.rse-text-block{display:none}

@media(max-width:920px){
  /* Exact mobile order/rail: View Homes, Buy, Sell. */
  #rse-primary-nav > a.rse-homes-link{order:1!important}
  #rse-primary-nav > .rse-nav-dropdown{order:2!important}
  #rse-primary-nav > a.rse-nav-link:not(.rse-homes-link){order:3!important}
  #rse-primary-nav > .rse-phone-cluster{order:4!important}

  /* View Homes aligns exactly with Buy/Sell; status sits after the text. */
  #rse-primary-nav > a.rse-homes-link{
    padding-left:8px!important;
    padding-right:8px!important;
    gap:8px!important;
    justify-content:flex-start!important;
    font-family:var(--rse-ui-font)!important;
    font-size:18px!important;
    font-weight:800!important;
    letter-spacing:-.015em!important;
    line-height:1.2!important;
    color:#fff!important;
  }
  #rse-primary-nav > a.rse-homes-link .rse-homes-text{
    color:#fff!important;
    font:inherit!important;
    letter-spacing:inherit!important;
    line-height:inherit!important;
  }
  #rse-primary-nav > a.rse-homes-link .rse-live-badge{margin-left:3px!important}
  #rse-primary-nav > a.rse-homes-link .rse-live-dot{
    order:3!important;
    margin:0 0 0 1px!important;
    flex:0 0 8px!important;
  }

  /* Two-column conversion row beneath nav. */
  #rse-primary-nav > .rse-phone-cluster{
    width:calc(100% - 16px)!important;
    max-width:none!important;
    margin:12px 8px 0!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    align-items:end!important;
    column-gap:18px!important;
  }
  .rse-call-block,
  .rse-text-block{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    text-align:center!important;
    min-width:0!important;
    gap:7px!important;
  }
  .rse-text-label{
    color:rgba(255,255,255,.62)!important;
    font-family:var(--rse-ui-font)!important;
    font-size:9.5px!important;
    font-weight:850!important;
    line-height:1!important;
    letter-spacing:.13em!important;
    text-transform:uppercase!important;
    white-space:nowrap!important;
  }
  .rse-text-cta{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:7px!important;
    min-height:43px!important;
    padding:10px 14px!important;
    border:1px solid rgba(77,220,135,.58)!important;
    border-radius:12px!important;
    background:rgba(29,132,76,.12)!important;
    color:#83e9ad!important;
    -webkit-text-fill-color:#83e9ad!important;
    font-family:var(--rse-ui-font)!important;
    font-size:15px!important;
    font-weight:850!important;
    line-height:1!important;
    text-decoration:none!important;
    white-space:nowrap!important;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.015)!important;
    transition:background .18s ease,border-color .18s ease,transform .18s ease!important;
  }
  .rse-text-cta:hover,.rse-text-cta:focus{
    background:rgba(29,132,76,.2)!important;
    border-color:rgba(77,220,135,.8)!important;
    color:#9cf0bd!important;
    -webkit-text-fill-color:#9cf0bd!important;
  }
  .rse-call-block .rse-phone-name{margin-left:0!important}
  .rse-call-block .rse-phone{margin:0!important}
}

@media(max-width:430px){
  #rse-primary-nav > .rse-phone-cluster{column-gap:12px!important}
  .rse-text-cta{font-size:14px!important;padding:10px 12px!important}
}

@media(max-width:360px){
  #rse-primary-nav > .rse-phone-cluster{
    grid-template-columns:1fr!important;
    row-gap:12px!important;
  }
  .rse-text-block{align-items:flex-start!important;text-align:left!important}
}


/* =========================================================
   RSE Header & Footer v1.8.8 — Mobile contact symmetry only
   No layout/order changes. Text block mirrors call block.
   ========================================================= */
@media(max-width:920px){
  /* Match the right-side label exactly to ROBERT CAMPBELL. */
  .rse-text-label{
    margin:0!important;
    color:rgba(255,255,255,.62)!important;
    -webkit-text-fill-color:rgba(255,255,255,.62)!important;
    font-family:var(--rse-ui-font)!important;
    font-size:10px!important;
    font-weight:850!important;
    line-height:1!important;
    letter-spacing:.14em!important;
    text-transform:uppercase!important;
    text-shadow:0 1px 4px rgba(0,0,0,.25)!important;
  }

  /* Match TEXT ROBERT exactly to the phone-number bubble. */
  .rse-text-cta,
  .rse-text-cta:hover,
  .rse-text-cta:focus{
    display:inline-flex!important;
    width:max-content!important;
    min-height:0!important;
    align-items:center!important;
    justify-content:center!important;
    gap:7px!important;
    padding:10px 15px!important;
    border:1px solid rgba(255,255,255,.18)!important;
    border-radius:999px!important;
    background:rgba(255,255,255,.045)!important;
    color:#fff!important;
    -webkit-text-fill-color:#fff!important;
    font-family:var(--rse-ui-font)!important;
    font-size:17px!important;
    font-weight:850!important;
    line-height:1!important;
    text-decoration:none!important;
    white-space:nowrap!important;
    box-shadow:none!important;
  }
  .rse-text-cta:hover,.rse-text-cta:focus{
    background:rgba(255,255,255,.11)!important;
  }
}

@media(max-width:620px){
  .rse-text-label{
    font-size:9.5px!important;
    letter-spacing:.13em!important;
  }
  .rse-text-cta,
  .rse-text-cta:hover,
  .rse-text-cta:focus{
    font-size:17px!important;
    padding:10px 15px!important;
  }
}

/* =========================================================
   RSE Header & Footer v1.8.9 — Contact row precision only
   No other layout, navigation, color, or behavior changes.
   ========================================================= */
@media(max-width:920px){
  /* Keep the two contact actions perfectly symmetrical and push them
     to equal outside edges of the existing mobile navigation rail. */
  #rse-primary-nav > .rse-phone-cluster{
    width:calc(100% - 16px)!important;
    margin:12px 8px 0!important;
    grid-template-columns:184px 184px!important;
    justify-content:space-between!important;
    column-gap:0!important;
  }

  .rse-call-block,
  .rse-text-block{
    width:184px!important;
    min-width:184px!important;
    max-width:184px!important;
    align-items:center!important;
    text-align:center!important;
    gap:7px!important;
  }

  /* Both labels use the exact same typography and are centered
     directly above their matching action. */
  .rse-phone-name,
  .rse-text-label{
    display:block!important;
    width:100%!important;
    margin:0!important;
    color:rgba(255,255,255,.62)!important;
    -webkit-text-fill-color:rgba(255,255,255,.62)!important;
    font-family:var(--rse-ui-font)!important;
    font-size:10px!important;
    font-weight:850!important;
    line-height:1!important;
    letter-spacing:.14em!important;
    text-transform:uppercase!important;
    text-align:center!important;
    white-space:nowrap!important;
  }

  /* Call and text controls are now identical dimensions. */
  .rse-call-block .rse-phone,
  .rse-text-block .rse-text-cta,
  .rse-text-block .rse-text-cta:hover,
  .rse-text-block .rse-text-cta:focus{
    display:inline-flex!important;
    width:184px!important;
    min-width:184px!important;
    max-width:184px!important;
    height:60px!important;
    min-height:60px!important;
    padding:0 15px!important;
    margin:0!important;
    align-items:center!important;
    justify-content:center!important;
    border:1px solid rgba(255,255,255,.18)!important;
    border-radius:999px!important;
    background:rgba(255,255,255,.045)!important;
    color:#fff!important;
    -webkit-text-fill-color:#fff!important;
    font-family:var(--rse-ui-font)!important;
    font-size:17px!important;
    font-weight:850!important;
    line-height:1!important;
    text-decoration:none!important;
    white-space:nowrap!important;
    box-shadow:none!important;
  }
}

@media(max-width:430px){
  #rse-primary-nav > .rse-phone-cluster{
    grid-template-columns:172px 172px!important;
  }
  .rse-call-block,
  .rse-text-block,
  .rse-call-block .rse-phone,
  .rse-text-block .rse-text-cta,
  .rse-text-block .rse-text-cta:hover,
  .rse-text-block .rse-text-cta:focus{
    width:172px!important;
    min-width:172px!important;
    max-width:172px!important;
  }
}


/* =========================================================
   RSE Header & Footer v1.8.10 — Mobile contact alignment only
   No navigation, color, order, animation, or other layout changes.
   ========================================================= */
@media(max-width:920px){
  /* Use the full mobile nav rail so the call action starts on the
     exact same left edge as the primary links and the text action
     mirrors that spacing on the right edge. */
  #rse-primary-nav > .rse-phone-cluster{
    box-sizing:border-box!important;
    width:100%!important;
    max-width:none!important;
    margin:12px 0 0!important;
    padding:0 8px!important;
    display:grid!important;
    grid-template-columns:176px 176px!important;
    justify-content:space-between!important;
    align-items:end!important;
    column-gap:0!important;
  }

  .rse-call-block,
  .rse-text-block{
    box-sizing:border-box!important;
    width:176px!important;
    min-width:176px!important;
    max-width:176px!important;
    gap:7px!important;
  }

  /* Left contact block follows the exact left rail of View/Buy/Sell. */
  .rse-call-block{
    justify-self:start!important;
    align-items:flex-start!important;
    text-align:left!important;
  }

  /* Right contact block mirrors the same outside-edge spacing. */
  .rse-text-block{
    justify-self:end!important;
    align-items:flex-end!important;
    text-align:right!important;
  }

  /* The two CTA labels are identical in size/style. Each label keeps
     the same width as its button so the pair reads as one unit. */
  .rse-phone-name,
  .rse-text-label{
    display:block!important;
    box-sizing:border-box!important;
    width:176px!important;
    min-width:176px!important;
    max-width:176px!important;
    margin:0!important;
    color:rgba(255,255,255,.62)!important;
    -webkit-text-fill-color:rgba(255,255,255,.62)!important;
    font-family:var(--rse-ui-font)!important;
    font-size:10px!important;
    font-weight:850!important;
    line-height:1!important;
    letter-spacing:.14em!important;
    text-transform:uppercase!important;
    text-align:center!important;
    white-space:nowrap!important;
  }

  /* Call and text actions are forced to the exact same dimensions,
     type size, border, radius and internal alignment. */
  .rse-call-block .rse-phone,
  .rse-text-block .rse-text-cta,
  .rse-text-block .rse-text-cta:hover,
  .rse-text-block .rse-text-cta:focus{
    box-sizing:border-box!important;
    display:inline-flex!important;
    width:176px!important;
    min-width:176px!important;
    max-width:176px!important;
    height:58px!important;
    min-height:58px!important;
    max-height:58px!important;
    margin:0!important;
    padding:0 14px!important;
    align-items:center!important;
    justify-content:center!important;
    gap:7px!important;
    border:1px solid rgba(255,255,255,.18)!important;
    border-radius:999px!important;
    background:rgba(255,255,255,.045)!important;
    color:#fff!important;
    -webkit-text-fill-color:#fff!important;
    font-family:var(--rse-ui-font)!important;
    font-size:17px!important;
    font-weight:850!important;
    line-height:1!important;
    text-decoration:none!important;
    white-space:nowrap!important;
    box-shadow:none!important;
  }
}

@media(max-width:390px){
  #rse-primary-nav > .rse-phone-cluster{
    grid-template-columns:168px 168px!important;
  }
  .rse-call-block,
  .rse-text-block,
  .rse-phone-name,
  .rse-text-label,
  .rse-call-block .rse-phone,
  .rse-text-block .rse-text-cta,
  .rse-text-block .rse-text-cta:hover,
  .rse-text-block .rse-text-cta:focus{
    width:168px!important;
    min-width:168px!important;
    max-width:168px!important;
  }
}

/* =========================================================
   RSE Header & Footer v1.8.11 — CTA color test only
   Preserve all existing sizing, spacing, borders and layout.
   ========================================================= */
@media(max-width:920px){
  .rse-call-block .rse-phone,
  .rse-call-block .rse-phone:hover,
  .rse-call-block .rse-phone:focus{
    background:#34C759!important;
    color:#fff!important;
    -webkit-text-fill-color:#fff!important;
  }

  .rse-text-block .rse-text-cta,
  .rse-text-block .rse-text-cta:hover,
  .rse-text-block .rse-text-cta:focus{
    background:#007AFF!important;
    color:#fff!important;
    -webkit-text-fill-color:#fff!important;
  }
}

/* =========================================================
   RSE Header & Footer v1.8.12 — Smaller mobile contact buttons only
   No navigation/order/spacing/color changes outside the call/text CTAs.
   ========================================================= */
@media(max-width:920px){
  .rse-call-block .rse-phone,
  .rse-call-block .rse-phone:hover,
  .rse-call-block .rse-phone:focus,
  .rse-text-block .rse-text-cta,
  .rse-text-block .rse-text-cta:hover,
  .rse-text-block .rse-text-cta:focus{
    width:150px!important;
    min-width:150px!important;
    max-width:150px!important;
    height:46px!important;
    min-height:46px!important;
    max-height:46px!important;
    padding:0 12px!important;
    font-size:15.5px!important;
  }
}

@media(max-width:390px){
  .rse-call-block .rse-phone,
  .rse-call-block .rse-phone:hover,
  .rse-call-block .rse-phone:focus,
  .rse-text-block .rse-text-cta,
  .rse-text-block .rse-text-cta:hover,
  .rse-text-block .rse-text-cta:focus{
    width:146px!important;
    min-width:146px!important;
    max-width:146px!important;
  }
}

/* =========================================================
   RSE Header & Footer v2.0.0 — Property Journal luxury system
   Matches the editorial blue / ivory / midnight visual language
   ========================================================= */
:root{
  --rse-lux-navy:#081225;
  --rse-lux-navy-2:#0d1a33;
  --rse-lux-blue:#1f5eff;
  --rse-lux-blue-soft:#3c70f2;
  --rse-lux-ivory:#f8f9fc;
  --rse-lux-muted:#aeb9ca;
}

/* DESKTOP HEADER — quiet, tailored, expensive */
@media(min-width:921px){
  .rse-site-header,
  body.rse-hf-home .rse-site-header:not(.rse-is-scrolled):not(.rse-menu-open),
  body.rse-hf-interior .rse-site-header,
  .rse-site-header.rse-is-scrolled{
    background:linear-gradient(90deg,rgba(7,13,23,.965),rgba(17,23,34,.94))!important;
    border-bottom:1px solid rgba(255,255,255,.07)!important;
    box-shadow:0 10px 34px rgba(3,9,20,.13)!important;
    -webkit-backdrop-filter:blur(20px) saturate(135%)!important;
    backdrop-filter:blur(20px) saturate(135%)!important;
  }
  .rse-header-inner{width:min(1240px,calc(100% - 44px))!important;min-height:68px!important;padding:7px 0!important;gap:26px!important}
  .rse-site-header.rse-is-scrolled .rse-header-inner{min-height:58px!important;padding:4px 0!important}
  .rse-brand img{width:164px!important;max-height:54px!important;filter:drop-shadow(0 2px 8px rgba(0,0,0,.18))!important}
  .rse-site-header.rse-is-scrolled .rse-brand img{width:148px!important;max-height:48px!important}
  .rse-primary-nav{gap:25px!important}
  .rse-nav-link,.rse-signin{font-size:15px!important;font-weight:760!important;letter-spacing:-.01em!important}
  .rse-nav-link{position:relative}
  #rse-primary-nav > .rse-nav-link:not(.rse-homes-link)::after,
  #rse-primary-nav > .rse-nav-dropdown > .rse-dropdown-toggle::after{
    content:"";position:absolute;left:0;right:0;bottom:7px;height:1px;background:var(--rse-lux-blue-soft);transform:scaleX(0);transform-origin:left;transition:transform .22s ease;opacity:.9
  }
  #rse-primary-nav > .rse-nav-link:hover::after,
  #rse-primary-nav > .rse-nav-dropdown:hover > .rse-dropdown-toggle::after{transform:scaleX(1)}
  .rse-signin{color:rgba(255,255,255,.67)!important;font-weight:520!important}
  .rse-signin:hover{color:#fff!important}
  .rse-dropdown-menu{width:304px!important;padding:10px!important;background:rgba(7,15,29,.985)!important;border:1px solid rgba(93,131,255,.20)!important;border-radius:14px!important;box-shadow:0 24px 65px rgba(0,0,0,.36)!important}
  .rse-dropdown-menu a{padding:13px 14px!important;border-radius:9px!important;font-size:13px!important;letter-spacing:.005em!important}
  .rse-dropdown-menu a:hover{background:linear-gradient(90deg,rgba(31,94,255,.16),rgba(31,94,255,.06))!important}
}

/* Live marker becomes a small premium status chip */
.rse-live-badge{font-size:9px!important;line-height:1!important;letter-spacing:.08em!important;font-weight:900!important;color:#6ff0a6!important;border:1px solid rgba(78,225,139,.38)!important;background:rgba(34,190,104,.10)!important;padding:4px 6px!important;border-radius:5px!important;text-shadow:none!important}
.rse-live-dot{width:7px!important;height:7px!important;border-radius:50%!important;background:#3be08b!important;box-shadow:0 0 0 4px rgba(59,224,139,.08),0 0 13px rgba(59,224,139,.48)!important;animation:rse-lux-live 2.6s ease-in-out infinite!important}
@keyframes rse-lux-live{0%,100%{opacity:.72;transform:scale(.92)}50%{opacity:1;transform:scale(1.08)}}

/* Phone / text cluster: glass micro-card rather than a generic pill */
@media(min-width:921px){
  .rse-phone-cluster{gap:7px!important;margin-left:1px!important}
  .rse-phone-name,.rse-text-label{font-size:8px!important;letter-spacing:.10em!important;text-transform:uppercase!important;color:rgba(255,255,255,.48)!important;font-weight:800!important}
  .rse-phone,.rse-text-cta{border-radius:999px!important;min-height:34px!important}
  .rse-phone{padding:8px 13px!important;background:rgba(255,255,255,.055)!important;border:1px solid rgba(255,255,255,.14)!important;font-size:13px!important;font-weight:800!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.04)!important}
  .rse-phone:hover{background:rgba(255,255,255,.10)!important;border-color:rgba(255,255,255,.23)!important}
  .rse-text-cta{background:linear-gradient(135deg,#2866ff,#174bd0)!important;border:1px solid rgba(118,153,255,.52)!important;box-shadow:0 7px 20px rgba(17,70,205,.18)!important}
}

/* FOOTER — editorial midnight panel */
.rse-site-footer{
  background:
    radial-gradient(circle at 18% 0%,rgba(36,86,196,.12),transparent 34%),
    linear-gradient(180deg,#07111f 0%,#050b15 100%)!important;
  border-top:1px solid rgba(72,116,222,.18)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025)!important;
}
.rse-footer-inner{max-width:1240px!important;padding:76px 28px 30px!important}
.rse-footer-grid{gap:68px!important}
.rse-site-footer h2{position:relative;margin-bottom:25px!important;font-size:13px!important;letter-spacing:.15em!important;font-weight:900!important;color:#fff!important}
.rse-site-footer h2::after{content:"";display:block;width:28px;height:2px;margin-top:11px;background:linear-gradient(90deg,var(--rse-lux-blue),rgba(31,94,255,0));border-radius:2px}
.rse-site-footer p{color:#b8c3d2!important;font-size:13px!important;line-height:1.75!important}
.rse-site-footer li{margin-bottom:14px!important;font-size:13px!important}
.rse-site-footer a{color:#e9eef7!important;transition:color .18s ease,opacity .18s ease!important}
.rse-site-footer a:hover{color:#fff!important;text-decoration:none!important;opacity:1!important}
.rse-footer-contact{position:relative}
.rse-footer-contact::before{content:"PRIVATE LOCAL GUIDANCE";display:block;margin-bottom:12px;color:#4f7cff;font-size:9px;font-weight:900;letter-spacing:.16em}
.rse-strong{color:#fff!important}.rse-brand-name{color:#fff!important}
.rse-contact-row a:first-child{border-bottom:1px solid rgba(79,124,255,.65);padding-bottom:2px}
.rse-compliance-logos{gap:18px!important;margin-top:20px!important}
.rse-compliance-logos img{opacity:.88;transition:opacity .2s ease,transform .2s ease}.rse-compliance-logos img:hover{opacity:1;transform:translateY(-1px)}
.rse-footer-bottom{margin-top:56px!important;padding-top:22px!important;border-top:1px solid rgba(255,255,255,.09)!important}
.rse-footer-bottom p,.rse-footer-bottom a{color:#8f9bad!important;font-size:11px!important}

/* MOBILE — preserve the proven ordering, upgrade the surfaces */
@media(max-width:920px){
  .rse-site-header,
  body.rse-hf-home .rse-site-header:not(.rse-is-scrolled):not(.rse-menu-open),
  body.rse-hf-interior .rse-site-header,
  .rse-site-header.rse-is-scrolled,
  .rse-site-header.rse-menu-open{background:rgba(6,13,24,.955)!important;border-bottom:1px solid rgba(255,255,255,.07)!important;box-shadow:0 10px 30px rgba(0,0,0,.18)!important;-webkit-backdrop-filter:blur(20px) saturate(135%)!important;backdrop-filter:blur(20px) saturate(135%)!important}
  .rse-menu-toggle,.rse-menu-toggle:hover,.rse-menu-toggle:focus,.rse-menu-toggle:active,.rse-menu-toggle[aria-expanded="true"]{border-color:rgba(84,124,229,.32)!important;background:linear-gradient(145deg,rgba(21,35,61,.90),rgba(7,15,29,.92))!important;box-shadow:0 8px 25px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.05)!important}
  #rse-primary-nav{margin-top:7px!important;padding-top:7px!important;border-top:1px solid rgba(255,255,255,.07)!important}
  #rse-primary-nav > .rse-nav-link,#rse-primary-nav > .rse-nav-dropdown > .rse-dropdown-toggle,#rse-primary-nav > .rse-signin{border-radius:10px!important}
  #rse-primary-nav > .rse-nav-link:hover,#rse-primary-nav > .rse-nav-dropdown > .rse-dropdown-toggle:hover,#rse-primary-nav > .rse-signin:hover{background:rgba(44,91,202,.12)!important}
  .rse-dropdown-menu{border:1px solid rgba(76,113,210,.18)!important;background:rgba(3,9,18,.44)!important;border-radius:10px!important}
  .rse-footer-inner{padding-top:56px!important}
  .rse-site-footer h2{margin-bottom:18px!important}
}
@media(max-width:620px){
  .rse-footer-inner{padding:48px 22px 24px!important}
  .rse-footer-grid{gap:38px!important}
  .rse-footer-bottom{margin-top:40px!important}
}
@media(prefers-reduced-motion:reduce){.rse-live-dot{animation:none!important}}

/* =========================================================
   RSE Header & Footer v2.1.0 — SIGNATURE LUXURY REDESIGN
   A visibly richer, editorial treatment that matches the
   RSE Property Journal / premium blog visual system.
   ========================================================= */
:root{
  --rse-signature-ink:#07101f;
  --rse-signature-navy:#0a1730;
  --rse-signature-blue:#2f67ff;
  --rse-signature-blue-2:#6f93ff;
  --rse-signature-line:rgba(118,151,255,.24);
  --rse-signature-glass:rgba(10,21,42,.84);
}

/* ---- HEADER: a true visual redesign, not micro-polish ---- */
.rse-site-header::before{
  content:"";
  position:absolute;
  left:0;right:0;top:0;
  height:2px;
  background:linear-gradient(90deg,transparent 0%,rgba(61,108,255,.18) 12%,#3a6cff 50%,rgba(61,108,255,.18) 88%,transparent 100%);
  opacity:.95;
  pointer-events:none;
}
.rse-site-header::after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:-1px;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(94,128,231,.30),transparent);
  pointer-events:none;
}

@media(min-width:921px){
  .rse-site-header,
  body.rse-hf-home .rse-site-header:not(.rse-is-scrolled):not(.rse-menu-open),
  body.rse-hf-interior .rse-site-header,
  .rse-site-header.rse-is-scrolled{
    background:
      radial-gradient(circle at 18% -70%,rgba(58,108,255,.20),transparent 35%),
      linear-gradient(90deg,rgba(5,11,21,.985),rgba(12,23,43,.965) 52%,rgba(5,11,21,.985))!important;
    border-bottom:1px solid rgba(255,255,255,.055)!important;
    box-shadow:0 14px 38px rgba(1,7,18,.24)!important;
    -webkit-backdrop-filter:blur(22px) saturate(145%)!important;
    backdrop-filter:blur(22px) saturate(145%)!important;
  }

  .rse-header-inner{
    width:min(1320px,calc(100% - 48px))!important;
    min-height:82px!important;
    padding:9px 0!important;
    gap:32px!important;
  }
  .rse-site-header.rse-is-scrolled .rse-header-inner{
    min-height:66px!important;
    padding:5px 0!important;
    gap:28px!important;
  }

  .rse-brand{
    min-width:248px!important;
    gap:15px!important;
    padding-right:25px!important;
    border-right:1px solid rgba(255,255,255,.11)!important;
  }
  .rse-brand img{
    width:132px!important;
    max-height:50px!important;
    filter:drop-shadow(0 4px 12px rgba(0,0,0,.28))!important;
  }
  .rse-site-header.rse-is-scrolled .rse-brand img{width:120px!important;max-height:45px!important}
  .rse-brand-editorial{
    display:flex!important;
    flex-direction:column!important;
    gap:3px!important;
    line-height:1!important;
    color:#fff!important;
    white-space:nowrap!important;
  }
  .rse-brand-editorial>span{
    font-family:Georgia,'Times New Roman',serif!important;
    font-size:14px!important;
    font-weight:700!important;
    letter-spacing:.085em!important;
  }
  .rse-brand-editorial small{
    font-family:var(--rse-ui-font)!important;
    font-size:7px!important;
    font-weight:900!important;
    letter-spacing:.22em!important;
    color:#789cff!important;
  }

  .rse-primary-nav{gap:13px!important}
  .rse-site-header.rse-is-scrolled .rse-primary-nav{gap:11px!important}

  /* Main navigation becomes tailored micro-panels rather than floating text. */
  #rse-primary-nav > .rse-nav-link,
  #rse-primary-nav > .rse-nav-dropdown > .rse-dropdown-toggle,
  #rse-primary-nav > .rse-signin{
    min-height:42px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:0 14px!important;
    border-radius:10px!important;
    border:1px solid transparent!important;
    background:transparent!important;
    font-size:13px!important;
    font-weight:800!important;
    letter-spacing:.005em!important;
    transition:background .2s ease,border-color .2s ease,transform .2s ease,color .2s ease!important;
  }
  #rse-primary-nav > .rse-nav-link:not(.rse-homes-link):hover,
  #rse-primary-nav > .rse-nav-dropdown:hover > .rse-dropdown-toggle{
    background:rgba(255,255,255,.055)!important;
    border-color:rgba(255,255,255,.10)!important;
    transform:translateY(-1px)!important;
  }
  #rse-primary-nav > .rse-nav-link:not(.rse-homes-link)::after,
  #rse-primary-nav > .rse-nav-dropdown > .rse-dropdown-toggle::after{display:none!important}

  /* Homes is now the signature blue search action. */
  #rse-primary-nav > .rse-homes-link{
    min-height:46px!important;
    padding:0 14px 0 16px!important;
    gap:7px!important;
    border:1px solid rgba(103,142,255,.70)!important;
    background:linear-gradient(135deg,#326cff 0%,#1749c7 100%)!important;
    box-shadow:0 10px 26px rgba(24,72,194,.30),inset 0 1px 0 rgba(255,255,255,.15)!important;
    color:#fff!important;
  }
  #rse-primary-nav > .rse-homes-link:hover{
    background:linear-gradient(135deg,#4078ff 0%,#1d52d5 100%)!important;
    border-color:rgba(135,166,255,.90)!important;
    transform:translateY(-2px)!important;
    box-shadow:0 14px 32px rgba(24,72,194,.38),inset 0 1px 0 rgba(255,255,255,.18)!important;
  }
  .rse-homes-text{white-space:nowrap!important}
  .rse-live-badge{
    color:#bbffd4!important;
    border-color:rgba(142,255,184,.30)!important;
    background:rgba(22,103,54,.28)!important;
    padding:3px 5px!important;
  }
  .rse-live-dot{box-shadow:0 0 0 3px rgba(59,224,139,.09),0 0 12px rgba(59,224,139,.70)!important}

  /* Sign-in is a quiet framed utility action. */
  #rse-primary-nav > .rse-signin{
    color:rgba(255,255,255,.72)!important;
    border-color:rgba(255,255,255,.11)!important;
    padding:0 11px!important;
    font-size:11.5px!important;
    font-weight:700!important;
  }
  #rse-primary-nav > .rse-signin:hover{color:#fff!important;background:rgba(255,255,255,.055)!important}

  /* Contact controls become one purposeful concierge capsule. */
  #rse-primary-nav > .rse-phone-cluster{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
    margin-left:2px!important;
    padding:7px!important;
    border-radius:14px!important;
    border:1px solid rgba(255,255,255,.105)!important;
    background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.022))!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.035)!important;
  }
  .rse-call-block,.rse-text-block{gap:4px!important}
  .rse-phone-name,.rse-text-label{
    font-size:7px!important;
    letter-spacing:.16em!important;
    color:rgba(255,255,255,.46)!important;
  }
  .rse-phone,.rse-text-cta{
    min-height:31px!important;
    padding:0 11px!important;
    font-size:11.5px!important;
    border-radius:8px!important;
  }
  .rse-phone{
    background:rgba(255,255,255,.055)!important;
    border:1px solid rgba(255,255,255,.11)!important;
  }
  .rse-text-cta{
    background:linear-gradient(135deg,#2764f2,#1549bd)!important;
    border:1px solid rgba(111,150,255,.44)!important;
    box-shadow:0 7px 18px rgba(18,62,168,.23)!important;
  }

  /* Dropdown is now a blue-black editorial panel. */
  .rse-dropdown-menu{
    margin-top:11px!important;
    width:320px!important;
    padding:9px!important;
    border-radius:16px!important;
    background:linear-gradient(180deg,rgba(8,18,36,.995),rgba(4,10,20,.995))!important;
    border:1px solid rgba(92,131,236,.28)!important;
    box-shadow:0 28px 76px rgba(0,0,0,.48)!important;
  }
  .rse-dropdown-menu a{
    padding:13px 14px!important;
    border-radius:9px!important;
    border-bottom:1px solid rgba(255,255,255,.045)!important;
    font-size:12.5px!important;
  }
  .rse-dropdown-menu a:last-child{border-bottom:0!important}
  .rse-dropdown-menu a:hover{background:linear-gradient(90deg,rgba(50,103,255,.20),rgba(50,103,255,.05))!important;color:#fff!important}
}

/* ---- FOOTER: new luxury masthead + concierge card ---- */
.rse-site-footer{
  position:relative!important;
  background:
    radial-gradient(circle at 12% 0%,rgba(48,103,255,.17),transparent 31%),
    radial-gradient(circle at 92% 16%,rgba(49,89,172,.11),transparent 26%),
    linear-gradient(180deg,#07111f 0%,#040913 100%)!important;
  border-top:1px solid rgba(92,130,230,.24)!important;
}
.rse-site-footer::before{
  content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);width:min(1180px,88%);height:1px;
  background:linear-gradient(90deg,transparent,#396bff,transparent);opacity:.78
}
.rse-footer-inner{max-width:1260px!important;padding:66px 30px 30px!important}
.rse-footer-signature{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:end!important;
  gap:38px!important;
  padding:0 0 38px!important;
  margin-bottom:44px!important;
  border-bottom:1px solid rgba(255,255,255,.105)!important;
}
.rse-footer-eyebrow{
  display:block!important;
  margin-bottom:10px!important;
  color:#6f93ff!important;
  font-family:var(--rse-ui-font)!important;
  font-size:9px!important;
  font-weight:900!important;
  letter-spacing:.20em!important;
}
.rse-footer-signature-title{
  color:#fff!important;
  font-family:Georgia,'Times New Roman',serif!important;
  font-size:clamp(32px,3.2vw,52px)!important;
  line-height:1!important;
  letter-spacing:-.035em!important;
  font-weight:700!important;
}
.rse-footer-signature-copy p{
  max-width:720px!important;
  margin:14px 0 0!important;
  color:#aeb9ca!important;
  font-size:14px!important;
  line-height:1.75!important;
}
.rse-footer-signature-actions{display:flex!important;gap:10px!important;align-items:center!important;flex-wrap:wrap!important;justify-content:flex-end!important}
.rse-footer-signature-actions a{
  min-height:44px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0 18px!important;
  border-radius:10px!important;
  text-decoration:none!important;
  font-size:12px!important;
  font-weight:900!important;
  letter-spacing:.015em!important;
}
.rse-footer-primary{
  color:#fff!important;
  background:linear-gradient(135deg,#326cff,#1749c7)!important;
  border:1px solid rgba(112,149,255,.58)!important;
  box-shadow:0 12px 26px rgba(19,65,176,.27)!important;
}
.rse-footer-primary:hover{transform:translateY(-1px)!important;background:linear-gradient(135deg,#4078ff,#1d52d5)!important}
.rse-footer-secondary{
  color:#eef3ff!important;
  background:rgba(255,255,255,.045)!important;
  border:1px solid rgba(255,255,255,.13)!important;
}
.rse-footer-secondary:hover{background:rgba(255,255,255,.075)!important}

.rse-footer-grid{
  grid-template-columns:minmax(330px,1.35fr) repeat(3,minmax(145px,.68fr))!important;
  gap:58px!important;
  align-items:start!important;
}
.rse-footer-contact{
  padding:26px!important;
  border:1px solid rgba(104,139,236,.20)!important;
  border-radius:18px!important;
  background:linear-gradient(145deg,rgba(26,44,78,.38),rgba(7,15,29,.24))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035),0 20px 55px rgba(0,0,0,.13)!important;
}
.rse-footer-contact::before{color:#7196ff!important;letter-spacing:.18em!important;margin-bottom:8px!important}
.rse-site-footer h2{
  margin-bottom:20px!important;
  font-family:var(--rse-ui-font)!important;
  font-size:10px!important;
  letter-spacing:.19em!important;
  color:#f6f8ff!important;
}
.rse-site-footer h2::after{width:34px!important;height:1px!important;margin-top:10px!important;background:linear-gradient(90deg,#4a78ff,transparent)!important}
.rse-site-footer p{color:#aeb9c7!important;font-size:12.5px!important}
.rse-site-footer li{margin-bottom:12px!important;font-size:12.5px!important}
.rse-site-footer li a{color:#cbd5e4!important}
.rse-site-footer li a:hover{color:#fff!important}
.rse-compliance-logos{padding-top:4px!important}
.rse-footer-bottom{margin-top:46px!important;padding-top:20px!important}

/* ---- Mobile keeps proven order, but now clearly matches the redesign ---- */
@media(max-width:920px){
  .rse-brand-editorial{display:none!important}
  .rse-site-header,
  body.rse-hf-home .rse-site-header:not(.rse-is-scrolled):not(.rse-menu-open),
  body.rse-hf-interior .rse-site-header,
  .rse-site-header.rse-is-scrolled,
  .rse-site-header.rse-menu-open{
    background:linear-gradient(180deg,rgba(5,12,23,.985),rgba(8,18,34,.975))!important;
    border-bottom:1px solid rgba(97,132,225,.15)!important;
  }
  .rse-menu-toggle,
  .rse-menu-toggle:hover,
  .rse-menu-toggle:focus,
  .rse-menu-toggle:active,
  .rse-menu-toggle[aria-expanded="true"]{
    border:1px solid rgba(104,142,245,.32)!important;
    background:linear-gradient(145deg,rgba(33,55,97,.82),rgba(10,22,43,.92))!important;
    border-radius:10px!important;
  }
  #rse-primary-nav > .rse-homes-link{
    background:linear-gradient(135deg,#326cff,#1749c7)!important;
    border:1px solid rgba(105,145,255,.58)!important;
    box-shadow:0 12px 26px rgba(18,59,161,.25)!important;
  }
  #rse-primary-nav > .rse-phone-cluster{
    padding:10px 8px!important;
    border-radius:14px!important;
    background:rgba(255,255,255,.035)!important;
    border:1px solid rgba(255,255,255,.08)!important;
  }
  .rse-footer-signature{grid-template-columns:1fr!important;align-items:start!important;gap:22px!important;margin-bottom:36px!important;padding-bottom:32px!important}
  .rse-footer-signature-actions{justify-content:flex-start!important}
  .rse-footer-grid{grid-template-columns:1fr 1fr!important;gap:34px 28px!important}
  .rse-footer-contact{grid-column:1/-1!important}
}
@media(max-width:620px){
  .rse-footer-inner{padding:46px 20px 24px!important}
  .rse-footer-signature-title{font-size:36px!important}
  .rse-footer-signature-actions{display:grid!important;grid-template-columns:1fr 1fr!important;width:100%!important}
  .rse-footer-signature-actions a{width:100%!important;padding:0 12px!important}
  .rse-footer-grid{grid-template-columns:1fr!important;gap:30px!important}
  .rse-footer-contact{grid-column:auto!important;padding:22px!important}
}


/* =========================================================
   v2.2.0 — HOMEPAGE CINEMATIC HEADER + DESKTOP PHONE FIX
   Homepage stays visually open over the hero video, then
   resolves to the signature glass header after scrolling.
   Also removes the oversized empty concierge capsule around
   the desktop phone number.
   ========================================================= */
@media (min-width:921px){
  /* Homepage only: reveal the hero/video beneath the header at the top. */
  body.rse-hf-home .rse-site-header:not(.rse-is-scrolled):not(.rse-menu-open){
    background:
      linear-gradient(180deg,
        rgba(4,10,20,.72) 0%,
        rgba(4,10,20,.42) 46%,
        rgba(4,10,20,.14) 76%,
        rgba(4,10,20,0) 100%)!important;
    border-bottom:0!important;
    box-shadow:none!important;
    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important;
  }
  body.rse-hf-home .rse-site-header:not(.rse-is-scrolled):not(.rse-menu-open)::before,
  body.rse-hf-home .rse-site-header:not(.rse-is-scrolled):not(.rse-menu-open)::after{
    opacity:0!important;
  }

  /* Desktop phone: compact luxury pill instead of a wide empty container. */
  #rse-primary-nav > .rse-phone-cluster{
    display:block!important;
    width:auto!important;
    min-width:0!important;
    padding:0!important;
    margin-left:2px!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }
  #rse-primary-nav > .rse-phone-cluster .rse-call-block{
    display:block!important;
    width:auto!important;
  }
  #rse-primary-nav > .rse-phone-cluster .rse-phone-name,
  #rse-primary-nav > .rse-phone-cluster .rse-text-block{
    display:none!important;
  }
  #rse-primary-nav > .rse-phone-cluster .rse-phone,
  #rse-primary-nav > .rse-phone-cluster .rse-phone:hover,
  #rse-primary-nav > .rse-phone-cluster .rse-phone:focus{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:38px!important;
    width:auto!important;
    padding:0 16px!important;
    margin:0!important;
    border-radius:999px!important;
    color:#fff!important;
    font-size:12.5px!important;
    font-weight:850!important;
    letter-spacing:.01em!important;
    text-decoration:none!important;
    border:1px solid rgba(255,255,255,.16)!important;
    background:linear-gradient(145deg,rgba(255,255,255,.11),rgba(255,255,255,.045))!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 8px 22px rgba(0,0,0,.13)!important;
  }
  #rse-primary-nav > .rse-phone-cluster .rse-phone:hover,
  #rse-primary-nav > .rse-phone-cluster .rse-phone:focus{
    transform:translateY(-1px)!important;
    border-color:rgba(112,149,255,.42)!important;
    background:linear-gradient(145deg,rgba(64,101,188,.28),rgba(255,255,255,.06))!important;
  }
}


/* =========================================================
   v2.3.0 — HOMEPAGE HEADER ABOVE HERO / VIDEO
   The homepage header now participates in document flow so
   the hero video begins directly beneath it instead of being
   covered by it. It remains sticky while scrolling.
   ========================================================= */
@media (min-width:921px){
  body.rse-hf-home .rse-site-header,
  body.rse-hf-home.rse-hf-sticky .rse-site-header,
  body.rse-hf-home .rse-site-header:not(.rse-is-scrolled):not(.rse-menu-open),
  body.rse-hf-home .rse-site-header.rse-is-scrolled,
  body.rse-hf-home .rse-site-header.rse-menu-open{
    position:sticky!important;
    top:0!important;
    left:auto!important;
    right:auto!important;
    width:100%!important;
    background:
      radial-gradient(circle at 18% -30%,rgba(58,111,255,.16),transparent 36%),
      linear-gradient(180deg,rgba(7,16,31,.995),rgba(8,18,34,.985))!important;
    border-bottom:1px solid rgba(94,129,224,.18)!important;
    box-shadow:0 12px 30px rgba(3,8,18,.16)!important;
    -webkit-backdrop-filter:blur(16px) saturate(128%)!important;
    backdrop-filter:blur(16px) saturate(128%)!important;
  }
  body.admin-bar.rse-hf-home .rse-site-header,
  body.admin-bar.rse-hf-home.rse-hf-sticky .rse-site-header{
    top:32px!important;
  }
  body.rse-hf-home .rse-site-header::before,
  body.rse-hf-home .rse-site-header::after{
    opacity:1!important;
  }
}

/* Mobile also reserves header space above the homepage hero. */
@media (max-width:920px){
  body.rse-hf-home .rse-site-header,
  body.rse-hf-home.rse-hf-sticky .rse-site-header{
    position:sticky!important;
    top:0!important;
    left:auto!important;
    right:auto!important;
    width:100%!important;
  }
}
@media (max-width:782px){
  body.admin-bar.rse-hf-home .rse-site-header,
  body.admin-bar.rse-hf-home.rse-hf-sticky .rse-site-header{
    top:46px!important;
  }
}
