/* ═══════════════════════════════════════════════════════════════
   SIGAL GROUP REALTY — UNIFIED NAVIGATION
   Single, consistent nav for desktop & mobile, all pages
   ═══════════════════════════════════════════════════════════════ */

:root{
  --sg-green:#1B2A4A;
  --sg-green-d:#101B30;
  --sg-gold:#F8F4EC;
  --sg-gold-l:#F8F4EC;
  --sg-cream:#F8F4EC;
  --sg-ink:#1B2A4A;
  --sg-slate:#56607A;
  --sg-rule:rgba(27,42,74,.08);
}

/* ═══ TOP BAR ═══ */
.sg-nav{
  position:fixed;
  top:0;left:0;right:0;
  height:68px;
  z-index:1000;
  background:
    linear-gradient(180deg, rgba(255,255,255,.48) 0%, rgba(255,255,255,.08) 52%, rgba(120,140,168,.04) 100%),
    rgba(142, 158, 182, .28);
  backdrop-filter:saturate(170%) blur(22px);
  -webkit-backdrop-filter:saturate(170%) blur(22px);
  border-bottom:none;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.62),
    0 10px 28px rgba(27,42,74,.16);
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 32px;
  font-family:'Archivo',sans-serif;
  transition:background .4s ease,box-shadow .4s ease,border-color .4s ease;
}
.sg-nav.scrolled{
  background:
    linear-gradient(180deg, rgba(255,255,255,.55) 0%, rgba(255,255,255,.12) 48%, rgba(120,140,168,.06) 100%),
    rgba(128, 146, 170, .42);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.55),
    0 12px 32px rgba(27,42,74,.2);
}

/* Logo */
.sg-nav-logo{
  display:flex;
  align-items:center;
  text-decoration:none;
  flex-shrink:0;
  transition:opacity .25s ease;
}
.sg-nav-logo:hover{opacity:.75}
.sg-nav-logo img{
  height:54px;
  width:auto;
  display:block;
  filter:brightness(0) invert(1);
  transition:filter .4s ease,height .3s ease;
}

/* Desktop menu */
.sg-nav-menu{
  display:flex;
  list-style:none;
  margin:0;
  padding:0;
  gap:26px;
  align-items:center;
}
.sg-nav-menu li{position:relative}
.sg-nav-menu a{
  text-decoration:none;
  color:var(--sg-ink);
  font-size:13px;
  font-weight:600;
  letter-spacing:.04em;
  transition:color .25s ease;
  position:relative;
  padding:8px 0;
}
.sg-nav-menu a:not(.sg-nav-cta)::after{
  content:'';
  position:absolute;
  bottom:0;
  left:0;
  width:0;
  height:1px;
  background:var(--sg-gold);
  transition:width .3s ease;
}
.sg-nav-menu a:hover:not(.sg-nav-cta)::after{width:100%}
.sg-nav-menu a:hover{color:var(--sg-green)}

/* CTA button */
.sg-nav-cta{
  background:var(--sg-green);
  color:var(--sg-cream) !important;
  padding:11px 22px !important;
  font-size:12px !important;
  letter-spacing:.1em !important;
  text-transform:uppercase;
  border-radius:2px;
  transition:background .25s ease;
}
.sg-nav-cta:hover{background:var(--sg-green-d);color:var(--sg-cream) !important}

.sg-nav-dd-panel{
  display:none;
  position:absolute;
  top:100%;
  left:0;
  min-width:210px;
  background:#fff;
  border:1px solid rgba(27,42,74,.08);
  box-shadow:0 16px 40px rgba(27,42,74,.14);
  padding:.55rem 0;
  z-index:1200;
  pointer-events:auto;
}
.sg-nav-dd-panel::before{
  content:'';
  display:block;
  height:10px;
  margin-top:-10px;
}
.sg-nav-dd:hover .sg-nav-dd-panel,
.sg-nav-dd:focus-within .sg-nav-dd-panel{display:block}
.sg-nav-dd-panel a{
  display:block;
  padding:.65rem 1.15rem;
  font-size:12px;
  font-weight:600;
  color:#1B2A4A;
  letter-spacing:.04em;
  white-space:nowrap;
}
.sg-nav-dd-panel a::after{display:none !important}
.sg-nav-dd-panel a:hover{background:#F8F4EC;color:#1B2A4A}

.sg-mob-sub{
  display:flex;
  flex-direction:column;
  gap:.15rem;
  padding:0 0 1rem 44px;
}
.sg-mob-sub a{
  display:block;
  padding:.35rem 0;
  font-size:15px;
  font-weight:500;
  letter-spacing:.04em;
  color:rgba(248,244,236,.72);
  text-decoration:none;
}
.sg-mob-sub a:hover{color:#F8F4EC}

/* Hamburger toggle */
.sg-nav-toggle{
  display:none;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:6px;
  width:44px;
  height:44px;
  background:transparent;
  border:none;
  cursor:pointer;
  padding:0;
  z-index:1001;
  border-radius:4px;
  transition:background .3s ease;
}
.sg-nav-toggle span{
  display:block;
  width:24px;
  height:2px;
  background:var(--sg-ink);
  border-radius:1px;
  transition:transform .4s cubic-bezier(.16,1,.3,1),
             opacity .3s ease,
             background .3s ease;
  transform-origin:center;
}
.sg-nav-toggle.is-open span:nth-child(1){
  transform:translateY(8px) rotate(45deg);
  background:#fff;
}
.sg-nav-toggle.is-open span:nth-child(2){opacity:0}
.sg-nav-toggle.is-open span:nth-child(3){
  transform:translateY(-8px) rotate(-45deg);
  background:#fff;
}

/* ═══ MOBILE MENU OVERLAY ═══ */
.sg-mobmenu{
  position:fixed;
  top:0;left:0;right:0;bottom:0;
  background:linear-gradient(160deg,var(--sg-green-d) 0%,var(--sg-green) 100%);
  z-index:999;
  opacity:0;
  pointer-events:none;
  transition:opacity .5s cubic-bezier(.16,1,.3,1);
  overflow-y:auto;
  padding:96px 32px 48px;
  font-family:'Archivo',sans-serif;
}
.sg-mobmenu::before{
  content:'';
  position:absolute;
  inset:0;
  background-image:
    radial-gradient(circle at 80% 0%,rgba(248,244,236,.1) 0%,transparent 50%),
    repeating-linear-gradient(45deg,transparent 0,transparent 40px,rgba(255,255,255,.012) 40px,rgba(255,255,255,.012) 41px);
  pointer-events:none;
}
.sg-mobmenu.is-open{
  opacity:1;
  pointer-events:auto;
}

.sg-mob-eyebrow{
  font-size:10px;
  font-weight:700;
  letter-spacing:.32em;
  text-transform:uppercase;
  color:rgba(248,244,236,.7);
  margin-bottom:32px;
  display:flex;
  align-items:center;
  gap:12px;
  opacity:0;
  transform:translateY(20px);
  transition:opacity .6s cubic-bezier(.16,1,.3,1) .15s,
             transform .6s cubic-bezier(.16,1,.3,1) .15s;
  position:relative;
  z-index:1;
}
.sg-mob-eyebrow::before{
  content:'';
  width:24px;
  height:1px;
  background:rgba(248,244,236,.5);
}

.sg-mob-list{
  list-style:none;
  margin:0 0 40px;
  padding:0;
  position:relative;
  z-index:1;
}
.sg-mob-list li{
  border-bottom:1px solid rgba(255,255,255,.08);
  opacity:0;
  transform:translateX(-20px);
  transition:opacity .55s cubic-bezier(.16,1,.3,1),
             transform .55s cubic-bezier(.16,1,.3,1);
}
.sg-mob-list a{
  display:flex;
  align-items:baseline;
  gap:18px;
  padding:20px 0;
  text-decoration:none;
  color:var(--sg-cream);
  transition:transform .25s ease,color .25s ease;
}
.sg-mob-list a:active{transform:translateX(8px);color:var(--sg-gold-l)}
.sg-mob-num{
  font-size:11px;
  font-weight:600;
  letter-spacing:.2em;
  color:var(--sg-gold);
  min-width:26px;
  flex-shrink:0;
}
.sg-mob-label{
  font-family:'Archivo',sans-serif;
  font-size:30px;
  font-weight:400;
  line-height:1.1;
  letter-spacing:-.01em;
  flex:1;
}
.sg-mob-label i{
  font-style:italic;
  color:var(--sg-gold-l);
}
.sg-mob-arrow{
  font-size:14px;
  color:rgba(248,244,236,.4);
  margin-left:auto;
  flex-shrink:0;
}

.sg-mob-footer{
  padding-top:28px;
  border-top:1px solid rgba(255,255,255,.1);
  position:relative;
  z-index:1;
  opacity:0;
  transform:translateY(20px);
  transition:opacity .6s cubic-bezier(.16,1,.3,1) .55s,
             transform .6s cubic-bezier(.16,1,.3,1) .55s;
}
.sg-mob-footer-label{
  font-size:10px;
  font-weight:700;
  letter-spacing:.28em;
  text-transform:uppercase;
  color:rgba(248,244,236,.6);
  margin-bottom:14px;
}
.sg-mob-contact a{
  display:block;
  color:rgba(248,244,236,.9);
  text-decoration:none;
  font-family:'Archivo',sans-serif;
  font-size:18px;
  font-style:italic;
  margin-bottom:8px;
  transition:color .25s ease;
}
.sg-mob-contact a:first-child{color:var(--sg-cream)}

/* Staggered entrance animation */
.sg-mobmenu.is-open .sg-mob-eyebrow,
.sg-mobmenu.is-open .sg-mob-list li,
.sg-mobmenu.is-open .sg-mob-footer{
  opacity:1;
  transform:translate(0,0);
}
.sg-mobmenu.is-open .sg-mob-list li:nth-child(1){transition-delay:.20s}
.sg-mobmenu.is-open .sg-mob-list li:nth-child(2){transition-delay:.26s}
.sg-mobmenu.is-open .sg-mob-list li:nth-child(3){transition-delay:.32s}
.sg-mobmenu.is-open .sg-mob-list li:nth-child(4){transition-delay:.38s}
.sg-mobmenu.is-open .sg-mob-list li:nth-child(5){transition-delay:.44s}
.sg-mobmenu.is-open .sg-mob-list li:nth-child(6){transition-delay:.50s}
.sg-mobmenu.is-open .sg-mob-list li:nth-child(7){transition-delay:.56s}

body.sg-locked{overflow:hidden}

/* ═══ RESPONSIVE ═══ */
@media (max-width:900px){
  .sg-nav{padding:0 20px;height:64px}
  .sg-nav-menu{display:none}
  .sg-nav-toggle{display:flex !important}
  body.sg-pad{padding-top:64px}
}
@media (min-width:901px){
  .sg-mobmenu{display:none !important}
  body.sg-pad{padding-top:0}
}

/* Hero-transparent nav treatment removed — nav now stays
   consistently cream-glass everywhere, on every page and scroll state */

/* Hide any legacy navs.
   #sgMobMenu is deliberately absent: that is the id sg-nav.js gives the
   current mobile menu, and listing it here hid the drawer on every tap. */
#mainNav,#nav,#sgrMobNav,#lxNav,#sgMobBar,#lxMenu,#sgrMobMenu,#mobMenu{
  display:none !important;
}

/* ═══════════════════════════════════════════════════════════════
   REFINED MOBILE LAYOUT — applies to page content (not just nav)
   ═══════════════════════════════════════════════════════════════ */
@media (max-width:768px){
  section, .section{
    padding-top:4rem !important;
    padding-bottom:4rem !important;
  }
  .wrap, .container{
    padding-left:1.4rem !important;
    padding-right:1.4rem !important;
    max-width:100% !important;
  }

  /* HERO */
  #hero, .hero{
    grid-template-columns:1fr !important;
    min-height:100svh !important;
    min-height:100dvh !important;
    height:auto !important;
    padding-bottom:calc(6.5rem + env(safe-area-inset-bottom)) !important;
  }
  .hero-left, .hero-left-content{
    padding:5.25rem 1.1rem 1.25rem !important;
    min-height:auto !important;
  }
  .hero-search-row{
    flex-direction:column !important;
    align-items:stretch !important;
    gap:.65rem !important;
    margin-bottom:0 !important;
  }
  .hero-rating-slot{
    position:relative !important;
    max-width:100% !important;
    width:100% !important;
    margin:0 !important;
  }
  .hero-right-badge{
    flex-direction:row !important;
    align-items:center !important;
    justify-content:flex-start !important;
    text-align:left !important;
    padding:.75rem .9rem !important;
    gap:.85rem !important;
    height:auto !important;
    box-shadow:0 10px 28px rgba(0,0,0,.18) !important;
    border-radius:10px !important;
  }
  .hero-right-badge .hrb-num{font-size:1.45rem !important}
  .hero-right-badge .hrb-star{font-size:.78rem !important}
  .hero-right-badge .hrb-txt{font-size:.64rem !important}
  .hero-right-badge .hrb-src{font-size:.52rem !important;letter-spacing:.06em !important}
  .hero-h1, .hero-title{
    font-size:clamp(1.85rem,8.2vw,2.35rem) !important;
    line-height:1.06 !important;
    letter-spacing:-.02em !important;
    margin-bottom:.85rem !important;
  }
  .hero-sub{margin-bottom:1rem !important;max-width:none !important}
  .hero-sub-lead{font-size:.9rem !important;line-height:1.55 !important}
  .hero-sub-tag{font-size:.6rem !important;margin-top:.65rem !important;letter-spacing:.14em !important}
  .hero-eyebrow{
    font-size:10px !important;
    letter-spacing:.28em !important;
    margin-bottom:.75rem !important;
  }
  /* SEARCH CARD */
  .hero-search-card, .hero-sc{padding:1rem .95rem 1.05rem !important;margin:0 !important}
  .hsc-tabs{gap:0 !important;margin-bottom:.75rem !important;overflow-x:auto !important;-webkit-overflow-scrolling:touch !important;scrollbar-width:none !important}
  .hsc-tabs::-webkit-scrollbar{display:none}
  .hsc-tab{font-size:.56rem !important;padding:.5rem .45rem !important;letter-spacing:.06em !important;white-space:nowrap !important}
  .hsc-hint{font-size:.72rem !important;margin-bottom:.65rem !important}
  .hsc-input-row{flex-direction:column !important;gap:.45rem !important;padding:.45rem !important}
  .hsc-input{width:100% !important;min-width:0 !important;padding:.8rem 1rem .8rem 2.45rem !important;font-size:16px !important}
  .hsc-sbtn, .hsc-btn{width:100% !important;padding:.85rem !important}
  /* Suggestion panel height is computed in sg-app.js from the space available */
  .sg-search-dropdown{left:-.45rem !important;right:-.45rem !important}
  /* The floating call/email pills sit on top of the card — get them out of the way while picking */
  body.sg-suggesting .phone-bubble{opacity:0;pointer-events:none;transition:opacity .15s}
  .hero-quick-links{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:.4rem !important;
    margin-top:0 !important;
    margin-bottom:.75rem !important;
  }
  .hql{
    font-size:.56rem !important;
    padding:.48rem .6rem !important;
    letter-spacing:.08em !important;
    justify-content:center !important;
    min-width:0 !important;
  }
  .hero-quick-links .hql:last-child{grid-column:1 / -1}

  /* STATS */
  .stats-strip{
    display:grid !important;grid-template-columns:1fr 1fr !important;gap:0 !important;
  }
  .sstat{
    border-right:none !important;
    border-bottom:1px solid rgba(255,255,255,.1) !important;
    padding:1.3rem 1rem !important;
  }
  .sstat:nth-child(odd){border-right:1px solid rgba(255,255,255,.1) !important}
  .sstat:nth-last-child(-n+2){border-bottom:none !important}

  /* TYPOGRAPHY */
  .h2, h2{font-size:clamp(1.5rem,6.5vw,2rem) !important;line-height:1.15 !important;letter-spacing:-.015em !important;margin-bottom:1rem !important}
  .h3, h3{font-size:1.1rem !important;line-height:1.3 !important}
  .lead{font-size:.9rem !important;line-height:1.7 !important}
  .tag{font-size:.62rem !important;letter-spacing:.28em !important;margin-bottom:.8rem !important}

  /* GRIDS — collapse to 1 column */
  .process-grid, .about-grid, .scta-inner, .ah-inner, .bio-grid, .wn-grid,
  .fin-grid, .contact-grid, .contact-inner,
  .rev-grid, .rev-grid-6, .testimonials-track, .test-grid, .rev-header,
  .props-grid, .listings-grid, .feat-grid, .properties-grid,
  .areas-grid, .nh-grid,
  .cm-grid, .contact-methods,
  .footer-grid, .footer-top,
  .sb-inner, .sh-hero, .sell-hero{
    grid-template-columns:1fr !important;
    gap:1.5rem !important;
  }

  /* MEET SIGAL / about-photo */
  .about-photo-side{min-height:340px !important;order:-1 !important}

  /* NEIGHBORHOODS */
  .nh-grid{grid-template-columns:1fr !important;grid-auto-rows:auto !important;gap:1rem !important}
  .nhcard{height:220px !important}
  .nhcard.wide{grid-column:span 1 !important}

  /* PROPERTY CARDS */
  .listings-grid, .lgrid{grid-template-columns:1fr !important;gap:1.2rem !important}

  /* FILTERS */
  .filter-bar{position:sticky !important;top:64px !important;padding:.8rem 1.2rem !important;z-index:600 !important}
  .filter-bar.is-compact{padding:.45rem 1rem !important}
  .ftag{font-size:.6rem !important;padding:.45rem .85rem !important;letter-spacing:.1em !important}

  /* SELL BAND */
  .sb-inner{grid-template-columns:1fr !important;gap:2rem !important}
  .sb-form .sf-row, .cf-row{grid-template-columns:1fr !important;gap:.7rem !important}

  /* FOOTER */
  .footer-grid{grid-template-columns:1fr !important;gap:2.5rem !important}
  .footer-bottom{flex-direction:column !important;text-align:center !important;gap:1rem !important}

  /* BUTTONS */
  .btn, .btn-forest, .btn-warm, .btn-gold, .btn-ghost, .btn-white, .btn-outline-white{
    font-size:.72rem !important;padding:.9rem 1.5rem !important;letter-spacing:.12em !important;
  }

  /* FLOATING */
  .phone-bubble, .float-cta{
    bottom:max(1rem, env(safe-area-inset-bottom)) !important;
    right:.85rem !important;
    z-index:40 !important;
    min-width:0 !important;
    max-width:min(280px,calc(100vw - 1.7rem)) !important;
  }
  .pb-btn, .fcta-btn{font-size:.68rem !important;padding:.68rem .85rem !important;letter-spacing:.04em !important}
  #btt{bottom:1rem !important;left:.9rem !important;width:38px !important;height:38px !important}

  /* MAP */
  .map-pill{left:1.4rem !important;right:1.4rem !important;width:auto !important;padding:1.2rem 1.4rem !important}
}

@media (max-width:420px){
  .hero-h1, .hero-title{font-size:1.9rem !important}
  .h2, h2{font-size:1.4rem !important}
  .btn{font-size:.68rem !important;padding:.85rem 1.3rem !important}
}

.fsoc svg, .fsocia svg{
  width:15px;height:15px;
  fill:currentColor;stroke:none !important;
  display:block;
}
.fsoc:hover, .fsocia:hover{
  color:#fff !important;
  border-color:rgba(255,255,255,.55) !important;
  background:rgba(255,255,255,.08);
}
  background:#4E5A70 !important;
  width:100% !important;
  border:none !important;
}
.mkt-bar .mb-n{color:#F8F4EC !important}
.mkt-bar .mb-l{color:rgba(248,244,236,.7) !important}
.stats-strip{
  background:#4E5A70 !important;
  width:100%;
}
.stats-strip .sstat-n{color:#F8F4EC !important}
.stats-strip .sstat-l{color:rgba(248,244,236,.7) !important}
.stats-strip .sstat{border-right-color:rgba(248,244,236,.12) !important}
.page-hero,
.ph-hero,
.about-hero,
.sh-left{
  background:#3A4F70 !important;
  position:relative;
  overflow:hidden;
}
.page-hero,
.ph-hero{
  padding:8rem 0 4.4rem !important;
  text-align:left;
}
.page-hero::before,
.ph-hero::before,
.about-hero::before,
.sh-left::before{
  content:'';
  position:absolute;inset:0;
  opacity:.07;
  background-image:repeating-linear-gradient(45deg,#fff 0,#fff 1px,transparent 0,transparent 50%);
  background-size:30px 30px;
  z-index:0;
}
.page-hero:has(.page-hero-cloth)::before,
.ph-hero:has(.page-hero-cloth)::before,
.about-hero:has(.page-hero-cloth)::before,
.sh-left:has(.page-hero-cloth)::before{
  display:none;
}
.hero-left:has(.page-hero-cloth) .hero-pattern{
  display:none;
}
.page-hero::after,
.ph-hero::after,
.about-hero::after,
.sh-left::after{
  content:'';
  position:absolute;inset:0;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(108deg,
    rgba(255,255,255,0) 6%,
    rgba(255,255,255,.09) 20%,
    rgba(0,0,0,.16) 32%,
    rgba(255,255,255,0) 46%,
    rgba(255,255,255,.07) 60%,
    rgba(0,0,0,.12) 74%,
    transparent 90%);
  background-size:240% 100%;
  animation:phFoldDrift 9s ease-in-out infinite;
  mix-blend-mode:soft-light;
}
.page-hero-cloth{
  position:absolute;
  inset:-6% 0 -10% 0;
  display:flex;
  z-index:0;
  pointer-events:none;
  transform-origin:left center;
  animation:phClothSway 8s ease-in-out infinite;
}
.page-hero-cloth i{
  flex:1 0 auto;
  width:calc(100% / var(--n, 32) + 1px);
  margin-right:-1px;
  height:100%;
  background-color:#3A4F70;
  background-image:repeating-linear-gradient(45deg, rgba(255,255,255,.12) 0, rgba(255,255,255,.12) 1px, transparent 1px, transparent 30px);
  background-size:30px 30px;
  animation:phClothRipple 3.2s ease-in-out infinite;
  animation-delay:calc(var(--i) * 70ms);
  transform-origin:center top;
  will-change:transform;
  box-shadow:
    inset -8px 0 12px rgba(0,0,0,.08),
    inset 5px 0 10px rgba(255,255,255,.05);
}
@keyframes phClothRipple{
  0%,100%{transform:translate3d(0,0,0) skewY(0)}
  30%{transform:translate3d(0,-12px,0) skewY(.7deg)}
  60%{transform:translate3d(0,8px,0) skewY(-.55deg)}
}
@keyframes phClothSway{
  0%,100%{transform:perspective(900px) rotateY(-3deg)}
  50%{transform:perspective(900px) rotateY(4deg) translateX(5px)}
}
@keyframes phFoldDrift{
  0%,100%{background-position:0% 0}
  50%{background-position:80% 0}
}
@media (prefers-reduced-motion:reduce){
  .page-hero-cloth,
  .page-hero-cloth i,
  .page-hero::after,
  .ph-hero::after,
  .about-hero::after,
  .sh-left::after{
    animation:none !important;
  }
}
.page-hero-inner,.ph-inner,.ah-inner,.sh-lc{position:relative;z-index:2}
.page-hero .h2,
.page-hero h1,
.ph-hero h1,
.ph-hero .h2,
.about-hero h1,
.sell-hero .sh-lc h1{
  color:#F8F4EC !important;
  font-size:clamp(2.3rem,4.6vw,3.7rem) !important;
  font-weight:500 !important;
  letter-spacing:-.02em;
  line-height:1.08 !important;
}
.page-hero .h2 i,
.page-hero h1 i,
.ph-hero h1 i,
.ph-hero .h2 i,
.about-hero h1 i,
.sell-hero .sh-lc h1 i{
  color:#fff !important;
  font-weight:800 !important;
}
.page-hero .tag,
.ph-hero .tag,
.about-hero .tag,
.sell-hero .tag{
  color:#F8F4EC !important;
}
.page-hero .tag::before,
.ph-hero .tag::before,
.about-hero .tag::before,
.sell-hero .tag::before{
  background:#F8F4EC !important;
}
.page-hero .breadcrumb,
.ph-hero .breadcrumb,
.about-hero .breadcrumb,
.sell-hero .breadcrumb{
  color:rgba(248,244,236,.72) !important;
  justify-content:flex-start !important;
}
.page-hero .breadcrumb a,
.ph-hero .breadcrumb a,
.about-hero .breadcrumb a,
.sell-hero .breadcrumb a{
  color:rgba(248,244,236,.72) !important;
}
.page-hero .breadcrumb a:hover,
.ph-hero .breadcrumb a:hover,
.about-hero .breadcrumb a:hover,
.sell-hero .breadcrumb a:hover{
  color:#fff !important;
}
.page-hero .breadcrumb span,
.ph-hero .breadcrumb span,
.about-hero .breadcrumb span,
.sell-hero .breadcrumb span{
  color:#F8F4EC !important;
}
.page-hero .ph-sub,
.ph-hero .ph-sub,
.ph-hero p,
.about-hero .ah-text > p,
.sell-hero .sh-lc > p{
  color:rgba(248,244,236,.8) !important;
  font-size:1.05rem !important;
  font-weight:400 !important;
  line-height:1.75 !important;
  max-width:640px;
}
.page-hero-actions{
  display:flex;
  gap:1rem;
  flex-wrap:wrap;
  margin-top:1.8rem;
}
.page-hero .big-phone,
.ph-hero .big-phone{
  justify-content:flex-start !important;
  color:#F8F4EC !important;
  font-size:clamp(1.8rem,4vw,2.8rem) !important;
  margin:1.1rem 0 .2rem !important;
}
.ph-hero .big-phone:hover,
.page-hero .big-phone:hover{color:#fff !important}
.ph-hero .phone-badge,
.page-hero .phone-badge{
  color:#F8F4EC !important;
  background:rgba(248,244,236,.1) !important;
  border-color:rgba(248,244,236,.28) !important;
}

/* Navy-hero CTAs: cream fill + white outline (navy-on-navy was invisible) */
.about-hero .btn-warm,
.cta-navy .btn-warm,
.ph-hero .btn-warm,
.page-hero .btn-warm,
.sell-hero .btn-warm{
  background:#F8F4EC !important;
  color:#1B2A4A !important;
  border-color:#F8F4EC !important;
}
.about-hero .btn-warm:hover,
.cta-navy .btn-warm:hover,
.ph-hero .btn-warm:hover,
.page-hero .btn-warm:hover,
.sell-hero .btn-warm:hover{
  background:#fff !important;
  color:#1B2A4A !important;
  border-color:#fff !important;
}
.about-hero .btn-outline-white,
.cta-navy .btn-outline-white,
.ph-hero .btn-outline-white,
.page-hero .btn-outline-white,
.sell-hero .btn-outline-white{
  background:transparent !important;
  color:#F8F4EC !important;
  border-color:rgba(248,244,236,.55) !important;
}
.about-hero .btn-outline-white:hover,
.cta-navy .btn-outline-white:hover,
.ph-hero .btn-outline-white:hover,
.page-hero .btn-outline-white:hover,
.sell-hero .btn-outline-white:hover{
  background:rgba(255,255,255,.12) !important;
  color:#fff !important;
  border-color:#fff !important;
}

/* Listing status badges */
.lb-jsold,.lb-sold{background:#C1392B;color:#fff}
.lb-pending{background:#E8B931;color:#1B2A4A}
.lb-sale{background:#1B7A4A;color:#fff}
.form-card,
.cform-card,
.val-form,
.hero-search-card,
.sb-right,
.reloc-bar{
  position:relative;
  z-index:1;
  background:
    linear-gradient(180deg, rgba(255,255,255,.82) 0%, rgba(255,255,255,.48) 52%, rgba(210,222,238,.28) 100%),
    rgba(236, 242, 250, .52);
  backdrop-filter:saturate(170%) blur(22px);
  -webkit-backdrop-filter:saturate(170%) blur(22px);
  border:1px solid rgba(255,255,255,.5);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.78),
    0 24px 50px rgba(8,14,32,.2);
  border-radius:16px;
}
.form-card-head,
.val-form-head{
  background:transparent;
  border-bottom:1px solid rgba(27,42,74,.08);
}
.form-card-kicker,
.val-form-kicker{
  color:#1B2A4A;
  opacity:.55;
}
.form-card-head h3,
.form-card .h3,
.cfc-title,
.val-form-title,
.sb-right h3{
  color:#1B2A4A;
}
.form-card-head p,
.form-card > p,
.cfc-sub,
.val-form-sub,
.sb-right p{
  color:#3A4A66;
}
.fgrp label,
.cf-grp label{
  color:#1B2A4A;
}
.fgrp input,
.fgrp select,
.fgrp textarea,
.cf-grp input,
.cf-grp select,
.cf-grp textarea,
.hsc-input,
.sb-form input,
.sb-form select,
.form-card .fgrp input,
.form-card .fgrp select,
.form-card .fgrp textarea,
.val-form .fgrp input,
.val-form .fgrp select,
.val-form .fgrp textarea,
.contact-grid .fgrp input,
.contact-grid .fgrp select,
.contact-grid .fgrp textarea{
  background-color:rgba(255,255,255,.48);
  border:1px solid rgba(255,255,255,.62);
  color:#1B2A4A;
  border-radius:8px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.55);
}
.fgrp input::placeholder,
.fgrp textarea::placeholder,
.cf-grp input::placeholder,
.cf-grp textarea::placeholder,
.hsc-input::placeholder,
.sb-form input::placeholder{
  color:#8B93A3;
}
.fgrp select,
.cf-grp select,
.sb-form select,
.val-form .fgrp select,
.contact-grid .fgrp select{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='%231B2A4A' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 12px center;
  background-size:14px;
  padding-right:2.4rem;
  cursor:pointer;
  color:#1B2A4A;
}
.fgrp select option,
.cf-grp select option,
.sb-form select option{
  background:#F8F4EC;
  color:#1B2A4A;
}
.fgrp input:focus,
.fgrp select:focus,
.fgrp textarea:focus,
.cf-grp input:focus,
.cf-grp select:focus,
.cf-grp textarea:focus,
.hsc-input:focus,
.sb-form input:focus,
.sb-form select:focus,
.form-card .fgrp input:focus,
.val-form .fgrp input:focus,
.contact-grid .fgrp input:focus{
  border-color:rgba(27,42,74,.45);
  background-color:rgba(255,255,255,.72);
  box-shadow:0 0 0 3px rgba(161,255,255,.28);
}
.fsubmit,
.cf-submit,
.sb-submit,
.hsc-btn,
.contact-grid .fsubmit,
.val-form .fsubmit{
  background:#1B2A4A;
  color:#F8F4EC;
  border:1px solid rgba(255,255,255,.18);
  border-radius:8px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16);
}
.fsubmit:hover,
.cf-submit:hover,
.sb-submit:hover,
.hsc-btn:hover,
.contact-grid .fsubmit:hover,
.val-form .fsubmit:hover{
  background:#101B30;
  color:#F8F4EC;
}

/* Hero search — cream panel so type and the navy CTA stay readable on the photo */
.hero-search-card{
  background:
    linear-gradient(180deg, rgba(248,244,236,.96) 0%, rgba(239,231,214,.92) 100%);
  backdrop-filter:saturate(160%) blur(20px);
  -webkit-backdrop-filter:saturate(160%) blur(20px);
  border:1px solid rgba(255,255,255,.78);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.92),
    0 22px 50px rgba(8,14,32,.34);
}
.hero-search-card .hsc-input{
  background-color:transparent;
  border:none;
  box-shadow:none;
}
.hero-search-card .hsc-input:focus{
  border:none;
  background-color:transparent;
  box-shadow:none;
}

/* ═══ Professional line icons ═══ */
svg.i{
  width:14px;height:14px;flex-shrink:0;
  stroke:currentColor;fill:none;stroke-width:1.7;
  stroke-linecap:round;stroke-linejoin:round;
  display:inline-block;vertical-align:-2px;
}
.lspec,.pspec,.lc-spec,.pcard-loc,.lcard-loc{
  display:inline-flex !important;align-items:center;gap:.38rem;
}
.pcard-specs{display:flex;align-items:center}
.cm-icon{display:flex !important;align-items:center;justify-content:center;font-size:0 !important}
.cm-icon svg.i{width:28px;height:28px;vertical-align:0;color:var(--sg-ink,#1B2A4A)}
.ci-icon svg.i,.cirow-icon svg.i{width:18px;height:18px;vertical-align:0}
.pstep-icon svg.i,.pstep-icon svg{width:28px;height:28px;vertical-align:0}
.btn svg.i,.fcta-btn svg.i,.pb-btn svg.i,.big-phone svg.i{margin-right:.35rem}
