/* ============================================================
   SB GLOBAL OVERRIDES  -  EDIT THIS FILE TO CHANGE ALL PAGES.
   Linked sitewide as /sb-global.css. Selectors are html-prefixed
   so they win over the older per-page inline footer rules.
   Contains: desktop footer layout + floating contact-bar removal.
   ============================================================ */
/* ===== A11y: footer fine-print contrast + footer link tap targets (all widths) ===== */
html footer [style*="color:rgba(255,255,255,0.35)"]{color:rgba(255,255,255,0.6)!important;}
html footer [style*="color:rgba(255,255,255,0.22)"]{color:rgba(255,255,255,0.6)!important;}
html footer a[style*="padding:3px 0"]{padding-top:7px!important;padding-bottom:7px!important;}

/* ===== Mobile: stack tagged Sell two-column grids into one column ===== */
@media (max-width:1023px){
  .sb-stack-mobile{grid-template-columns:1fr!important;}
}
/* ===== Mobile: center the logo, kept in flow so the header grows/shrinks with the scroll resize (never clips); hamburger in its own right column ===== */
@media (max-width:1023px){
  html #site-header > div{display:grid!important;grid-template-columns:44px 1fr 44px!important;align-items:center!important;min-height:0!important;}
  html #site-header > div > a:has(.sb-logo-wrap){grid-column:2!important;justify-self:center!important;position:static!important;transform:none!important;margin:0!important;}
  html #site-header #hamburger{grid-column:3!important;justify-self:end!important;margin:0!important;}
}

@media(min-width:1024px){
/* ---- Desktop footer: spacious 4-column layout ---- */
html footer .max-w-screen-xl{max-width:none!important;display:grid!important;grid-template-columns:1.5fr 1.15fr 0.9fr 1.05fr!important;column-gap:56px!important;row-gap:0!important;align-items:start!important;padding:56px 88px 30px!important;}
html footer .max-w-screen-xl>div:first-child{display:contents!important;}
html footer .max-w-screen-xl>div:first-child>div:first-child{grid-column:1!important;grid-row:1!important;}
html footer .max-w-screen-xl>div:first-child>div:last-child{grid-column:4!important;grid-row:1!important;text-align:left!important;}
html footer .max-w-screen-xl>div:nth-child(2){grid-column:2!important;grid-row:1!important;border-top:none!important;padding-top:0!important;margin-bottom:0!important;}
html footer .max-w-screen-xl>div:nth-child(3){grid-column:3!important;grid-row:1!important;border-top:none!important;padding-top:0!important;margin-bottom:0!important;}
html footer #footer-bottom-bar{grid-column:1 / -1!important;grid-row:2!important;margin-top:44px!important;border-top:1px solid rgba(255,255,255,0.10)!important;padding-top:22px!important;padding-bottom:0!important;display:flex!important;align-items:center!important;justify-content:space-between!important;flex-wrap:wrap!important;gap:12px 24px!important;}
html footer .sb-logo-wrap img{height:58px!important;}
html footer .max-w-screen-xl>div:first-child>div:first-child>p{font-size:14px!important;color:rgba(255,255,255,0.5)!important;margin-top:16px!important;line-height:1.6!important;}
html footer .max-w-screen-xl>div:first-child>div:first-child>div:last-child{gap:18px!important;margin-top:20px!important;}
html footer .max-w-screen-xl>div:first-child>div:first-child>div:last-child svg{width:22px!important;height:22px!important;}
html footer p[style*="letter-spacing:0.22em"]{font-size:12px!important;letter-spacing:0.2em!important;margin-bottom:18px!important;color:#C4952A!important;}
html footer [style*="grid-template-columns:1fr 1fr"]{display:grid!important;grid-template-columns:1fr 1fr!important;gap:2px 28px!important;}
html footer [style*="grid-template-columns:1fr 1fr"] a{display:block!important;font-size:14px!important;padding:5px 0!important;}
html footer [style*="grid-template-columns:1fr 1fr"] a+a::before{content:none!important;}
html footer .max-w-screen-xl>div:nth-child(3) a{display:block!important;font-size:14px!important;padding:5px 0!important;}
html footer .max-w-screen-xl>div:first-child>div:last-child>p{font-size:14px!important;color:rgba(255,255,255,0.5)!important;line-height:1.8!important;}
html footer #footer-cta{font-size:12px!important;padding:9px 24px!important;margin-top:18px!important;letter-spacing:0.18em!important;}
html footer #footer-bottom-bar p{font-size:12px!important;color:rgba(255,255,255,0.32)!important;}
html footer #footer-industry-logos{display:block!important;width:200px!important;height:auto!important;opacity:0.7!important;margin-top:0!important;}
html footer .footer-mobile-logos{display:none!important;}
/* ---- Remove floating "Ready to Talk?" contact bar on desktop ---- */
html #sb-sticky-bar{display:none!important;}
}


/* ===== CONSOLIDATED GLOBAL HEADER/NAV (single source so no page can miss it) ===== */
/* __SB_GLOBAL_HEADER_CSS__ */
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/cormorant-garamond-400.woff2) format('woff2')}@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/cormorant-garamond-400-italic.woff2) format('woff2')}@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/cormorant-garamond-600.woff2) format('woff2')}@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:600;font-display:swap;src:url(/fonts/cormorant-garamond-600-italic.woff2) format('woff2')}@font-face{font-family:'EB Garamond';font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/eb-garamond-400.woff2) format('woff2')}@font-face{font-family:'EB Garamond';font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/eb-garamond-400-italic.woff2) format('woff2')}@font-face{font-family:'Inter';font-style:normal;font-weight:300;font-display:swap;src:url(/fonts/inter-300.woff2) format('woff2')}@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/inter-400.woff2) format('woff2')}@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/inter-500.woff2) format('woff2')}@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/inter-600.woff2) format('woff2')}
/* ===== "Buy" group: mobile drawer (bracketed panel) ===== */
#nav-panel .nav-buy-mobile{display:flex;flex-direction:column;gap:16px;background:rgba(255,255,255,0.05);border-left:2px solid #C4952A;border-radius:0 12px 12px 0;padding:14px 16px;}
#nav-panel .nav-buy-mobile-label{font-family:Inter,system-ui,sans-serif;font-size:11px;font-weight:600;letter-spacing:0.24em;text-transform:uppercase;color:#C4952A;}
#nav-panel .nav-buy-mobile-item{display:flex;align-items:center;justify-content:space-between;}
#nav-panel .nav-buy-mobile-chev{color:#C4952A;font-size:1.1em;line-height:1;margin-left:12px;}
@media (min-width: 1024px) {

  /* ══ GLOBAL ══════════════════════════════════════════════════ */
  body { padding-bottom: 0 !important; }
  #bottom-nav  { display: none !important; }
  #hamburger   { display: none !important; }
  #nav-drawer  { display: none !important; }
  #site-header .desktop-nav { display: flex !important; align-items: center; gap: 14px; background: rgba(0,20,40,0.52); backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px); padding: 9px 18px; border-radius: 999px; }
  #site-header > div { max-width: 1280px; margin: 0 auto; padding: 0 40px; width: 100%; box-sizing: border-box; }
  .desktop-nav a { font-family: Inter, system-ui, sans-serif; font-size: 15px; font-weight: 300; letter-spacing: 0.16em; text-transform: uppercase; color: rgba(255,255,255,0.75); text-decoration: none; transition: color 0.2s ease; white-space: nowrap; }
  .desktop-nav a:hover { color: #C4952A; }
  #site-header .sb-logo-wrap img { height: 100px !important; }
  #site-header.shrunk .sb-logo-wrap img { height: 64px !important; }

  /* ══ SECTION HEADINGS ════════════════════════════════════════ */
  .section-eyebrow { font-size: 11px !important; letter-spacing: 0.28em !important; }
  .section-heading  { font-size: clamp(2.2rem, 3.5vw, 3rem) !important; }
  .gold-rule        { width: 56px !important; margin-bottom: 28px !important; }

  /* ══ HERO ════════════════════════════════════════════════════ */
  .hero-section { height: 100vh !important; }
  /* Hero banner - match city-page height on desktop */
  section.relative.h-48.overflow-hidden { height: 600px !important; }

  /* Hide "Specializing in..." subtext on desktop */
  .hero-sub { display: none !important; }

  /* Fade out headline + eyebrow after 4.5s on desktop */
  .hero-headline.entered,
  .hero-eyebrow.entered {
    animation: desktopHeroFade 1.2s ease 4.5s forwards;
  }
  @keyframes desktopHeroFade {
    from { opacity: 1; }
    to   { opacity: 0; pointer-events: none; }
  }
@media (min-width:1024px){.desktop-nav a{position:relative;}.desktop-nav a:not(:first-child)::before{content:"";position:absolute;left:-7px;top:50%;transform:translateY(-50%);height:13px;width:1px;background:rgba(196,149,42,0.65);}}
#site-header.hero-active{background-color:rgba(0,20,40,0.45)!important;-webkit-backdrop-filter:blur(8px)!important;backdrop-filter:blur(8px)!important;}#site-header.hero-active .sb-logo-wrap{opacity:1!important;}@media (min-width:1280px){#site-header > div{max-width:none!important;}#site-header .desktop-nav{background:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;padding:0!important;gap:min(40px, calc(18px + (100vw - 1280px) * 0.052))!important;}#site-header .desktop-nav a{color:#FFFFFF!important;font-size:16px!important;text-shadow:none!important;}#site-header .desktop-nav a:hover{color:#C4952A!important;}#site-header .desktop-nav a:not(:first-child)::before{display:none!important;}}
/* ===== "Buy" dropdown: desktop nav ===== */
#site-header .desktop-nav .nav-buy{position:relative;display:flex;align-items:center;}
#site-header .desktop-nav .nav-buy::before{content:"";position:absolute;left:-7px;top:50%;transform:translateY(-50%);height:13px;width:1px;background:rgba(196,149,42,0.65);}
#site-header .desktop-nav .nav-buy-toggle{font-family:Inter,system-ui,sans-serif;font-size:15px;font-weight:300;letter-spacing:0.16em;text-transform:uppercase;color:rgba(255,255,255,0.75);background:none;border:0;padding:0;margin:0;cursor:pointer;display:inline-flex;align-items:center;gap:6px;white-space:nowrap;transition:color .2s ease;}
#site-header .desktop-nav .nav-buy:hover .nav-buy-toggle,#site-header .desktop-nav .nav-buy:focus-within .nav-buy-toggle{color:#C4952A;}
#site-header .desktop-nav .nav-buy-caret{font-size:9px;transition:transform .2s ease;}
#site-header .desktop-nav .nav-buy:hover .nav-buy-caret,#site-header .desktop-nav .nav-buy:focus-within .nav-buy-caret{transform:rotate(180deg);}
#site-header .desktop-nav .nav-buy-menu{position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(6px);min-width:184px;display:flex;flex-direction:column;gap:2px;background:#001428;border:1px solid rgba(196,149,42,0.45);border-radius:10px;padding:14px 8px 8px;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s ease,transform .2s ease;box-shadow:0 20px 44px rgba(0,0,0,0.5);z-index:60;}
#site-header .desktop-nav .nav-buy:hover .nav-buy-menu,#site-header .desktop-nav .nav-buy:focus-within .nav-buy-menu{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0);}
#site-header .desktop-nav .nav-buy-menu a{font-family:Inter,system-ui,sans-serif;font-size:13px!important;font-weight:400;letter-spacing:0.14em;text-transform:uppercase;color:rgba(255,255,255,0.82)!important;text-decoration:none;padding:10px 16px;border-radius:6px;white-space:nowrap;transition:color .2s ease,background .2s ease;}
#site-header .desktop-nav .nav-buy-menu a::before{display:none!important;}
#site-header .desktop-nav .nav-buy-menu a:hover{color:#C4952A!important;background:rgba(196,149,42,0.12);}
@media (min-width:1280px){#site-header .desktop-nav .nav-buy::before{display:none!important;}#site-header .desktop-nav .nav-buy-toggle{color:#FFFFFF!important;font-size:16px!important;}#site-header .desktop-nav .nav-buy:hover .nav-buy-toggle,#site-header .desktop-nav .nav-buy:focus-within .nav-buy-toggle{color:#C4952A!important;}}
/* ===== end consolidated header/nav ===== */

/* ===== City page: cap stats dashboard to the page grid (desktop only) ===== */
html .wgs{max-width:1280px;margin-left:auto;margin-right:auto;padding-left:8px;padding-right:8px;box-sizing:border-box;}

/* ===== City stats dashboard: desktop quadrant layout (all four metrics at once) ===== */
html .wgs .wgs-tabs{display:none;}
html .wgs .wgs-pbox{display:grid;grid-template-columns:1fr 1fr;min-height:0;border-radius:10px;padding:clamp(20px,2.4vw,30px);}
html .wgs .wgs-panel{position:static;inset:auto;opacity:1;transform:none;pointer-events:auto;display:flex;flex-direction:column;}
html .wgs .wgs-panel:nth-child(odd){padding-right:clamp(20px,2.6vw,36px);}
html .wgs .wgs-panel:nth-child(even){padding-left:clamp(20px,2.6vw,36px);border-left:1px solid rgba(150,110,30,0.20);}
html .wgs .wgs-panel:nth-child(-n+2){padding-bottom:clamp(18px,2.2vw,30px);}
html .wgs .wgs-panel:nth-child(n+3){padding-top:clamp(18px,2.2vw,30px);border-top:1px solid rgba(150,110,30,0.20);}

/* ===== Navy "Let's Talk" CTA: contain + trim on desktop (was full-bleed) ===== */
html section.sb-band[style*="background:#002349"]{max-width:980px;margin-left:auto !important;margin-right:auto !important;padding:48px 40px;display:flex;flex-direction:column;align-items:center;justify-content:center;}

/* ===== Content rail (desktop): unified 1280 column + research measure, left-anchored (F-pattern). ===== */
/* Applies to city / lifestyle / sell / physician content sections (any <section> with the eyebrow+heading+rule pattern). */
/* Auto-excluded: navy CTAs and bg-navy CTAs (no .section-heading), heroes (sell hero via min-height, others have no heading), */
/* iHF/listings sections (carry .sb-listing-updated), and the city listings section (#lifestyles-section). */
body.sb-rail section:has(.section-heading):not([style*="background:#002349"]):not([style*="min-height:260px"]):not(:has(.sb-listing-updated)):not(:has(.tl-card)):not(#sb-no-rail){
  padding-left:  max(40px, calc((100% - 1280px) / 2)) !important;
  padding-right: max(40px, calc((100% - 1280px) / 2)) !important;
}
/* neutralize 1280 wrappers (descendant OR the section itself) so content fills the rail from one left edge */
body.sb-rail section:has(.section-heading):not([style*="background:#002349"]):not([style*="min-height:260px"]):not(:has(.sb-listing-updated)):not(:has(.tl-card)):not(#sb-no-rail) .max-w-screen-xl,
body.sb-rail section.max-w-screen-xl:has(.section-heading):not([style*="min-height:260px"]):not(:has(.sb-listing-updated)){
  max-width:none !important; margin-left:0 !important; margin-right:0 !important;
}
/* body copy held to ~66ch (50-75 cpl optimal band) with 1.6 line-height; alignment left untouched to avoid flipping card text */
body.sb-rail section:has(.section-heading):not([style*="background:#002349"]):not([style*="min-height:260px"]):not(:has(.sb-listing-updated)):not(:has(.tl-card)):not(#sb-no-rail) p.text-sm.leading-relaxed:not(.dft-desc),
body.sb-rail section:has(.section-heading):not([style*="background:#002349"]):not([style*="min-height:260px"]):not(:has(.sb-listing-updated)):not(:has(.tl-card)):not(#sb-no-rail) p.text-left.text-sm{
  max-width:66ch !important; line-height:1.6 !important;
}

/* ===== Ticker tape: larger text (desktop) ===== */
html .wgs-ribbon .wgs-ti{font-size:14px;}

/* ===== Lifestyle "Browse by lifestyle" cards: Plated treatment (desktop strip) ===== */
/* Full-bleed photo kept; adds inset gold keyline, darkened nameplate, serif title + gold rule, hover. */
.ls-desktop-strip .ls-card{ flex:1 1 0 !important; border-radius:4px !important; }
.ls-desktop-strip .ls-card::after{
  content:""; position:absolute; inset:9px; border:1px solid rgba(224,188,107,.55);
  border-radius:2px; z-index:3; pointer-events:none; transition:border-color .55s;
}
.ls-desktop-strip .ls-card:hover::after{ border-color:#E0BC6B; }
.ls-desktop-strip .ls-overlay{
  border-radius:4px !important; padding:18px 16px !important;
  background:linear-gradient(to top, rgba(0,16,32,.93) 0%, rgba(0,16,32,.74) 30%, rgba(0,16,32,.12) 64%, rgba(0,16,32,0) 100%) !important;
}
.ls-desktop-strip .ls-eyebrow{ color:#E0BC6B !important; font-size:9.5px !important; letter-spacing:.22em !important; margin-bottom:6px !important; }
.ls-desktop-strip .ls-title{ font-size:22px !important; margin:0 !important; }
.ls-desktop-strip .ls-title::after{
  content:""; display:block; width:26px; height:1.5px; background:#C4952A; margin:10px 0 0; transition:width .55s;
}
.ls-desktop-strip .ls-card:hover .ls-title::after{ width:46px; }
.ls-desktop-strip .ls-desc{ display:none !important; }
.ls-desktop-strip .ls-cta{ color:#E0BC6B !important; font-size:10px !important; letter-spacing:.16em !important; margin-top:11px !important; opacity:.9 !important; }
.ls-desktop-strip .ls-card:hover .ls-cta{ opacity:1 !important; }

/* ===== Home fixes: match city alignment + CTA ===== */
/* calc-section caps its OWN background to 1280; neutralize so bg is full-bleed and content rails to 1280 like city */
body.sb-rail #calc-section{ max-width:none !important; margin-left:0 !important; margin-right:0 !important; }
/* navy "Ready to Begin" CTA: contain + center to match the city navy CTA (was full-bleed) */
body.sb-rail section.bg-navy.rounded-2xl.sb-band{
  max-width:980px; margin-left:auto !important; margin-right:auto !important; padding:48px 40px;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
}

/* ===== City stats dashboard: desktop quadrant layout (all four metrics at once) ===== */
html .wgs-allcols .wgs-tabs{display:none;}
html .wgs-allcols .wgs-pbox{display:grid;grid-template-columns:1fr 1fr;min-height:0;border-radius:10px;padding:clamp(20px,2.4vw,30px);}
html .wgs-allcols .wgs-panel{position:static;inset:auto;opacity:1;transform:none;pointer-events:auto;display:flex;flex-direction:column;}
html .wgs-allcols .wgs-panel:nth-child(odd){padding-right:clamp(20px,2.6vw,36px);}
html .wgs-allcols .wgs-panel:nth-child(even){padding-left:clamp(20px,2.6vw,36px);border-left:1px solid rgba(150,110,30,0.20);}
html .wgs-allcols .wgs-panel:nth-child(-n+2){padding-bottom:clamp(18px,2.2vw,30px);}
html .wgs-allcols .wgs-panel:nth-child(n+3){padding-top:clamp(18px,2.2vw,30px);border-top:1px solid rgba(150,110,30,0.20);}

/* ===== Sell pages: standardize content sections to the sitewide 1280 rail (were inline-capped to 680/1040) ===== */
body.sb-rail main .sb-band > div[style*="max-width:680px"]{max-width:1280px !important;}
body.sb-rail main .sb-band > div[style*="max-width:680px"] > p.text-sm,
body.sb-rail main .sb-band > div[style*="max-width:680px"] > p.text-xs{max-width:66ch !important;margin-left:0 !important;margin-right:auto !important;}

/* ===== Sell navy CTA contained to 980px like other pages; price field focus ===== */
body.sb-rail div.bg-navy.rounded-2xl.sb-band{max-width:980px !important;margin-left:auto !important;margin-right:auto !important;}
#snc-price:focus{border-bottom-color:#C4952A !important;}

/* ===== Sell FAQ: cap the Q&A block to 980px to line up with the CTA below (overrides the 1280 sell-rail) ===== */
body.sb-rail main .sb-band > div[style*="max-width:680px"]:has(.faq-accordion-group){max-width:980px !important;}
