/* 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;
  }
}
