.global-site-nav {
  align-items: center;
  background: rgba(248, 246, 239, .98);
  border: 0;
  border-bottom: 1px solid #cbc9c0;
  box-sizing: border-box;
  display: grid;
  gap: 34px;
  grid-template-columns: auto 1fr;
  min-height: 92px;
  padding: 0 max(28px, calc((100vw - 1380px) / 2));
  position: sticky;
  top: 0;
  width: 100%;
  z-index: 1200;
}
.global-site-nav *, .global-site-nav *::before, .global-site-nav *::after { box-sizing: border-box; }
.global-site-nav a { color: #181a17; text-decoration: none; }
.global-site-brand { align-items: center; display: inline-flex; gap: 13px; white-space: nowrap; }
.global-site-brand img { background: transparent; height: 50px; object-fit: contain; padding: 0; width: 58px; }
.global-site-brand > span { display: flex; flex-direction: column; }
.global-site-brand strong { color: #181a17; font: 700 18px/1.05 'Outfit', Arial, sans-serif; letter-spacing: 0; text-transform: none; }
.global-site-brand small { color: #737970; font: 700 9px/1 'Outfit', Arial, sans-serif; letter-spacing: .1em; margin-top: 6px; text-transform: uppercase; }
.global-site-links { align-items: stretch; background: transparent; border: 0; display: flex; gap: clamp(24px, 3vw, 48px); height: 92px; justify-content: flex-end; padding: 0; position: static; }
.global-site-links > a, .global-site-resources > summary { align-items: center; border: 0; color: #181a17; display: flex; font: 700 15px/1 'Barlow', Arial, sans-serif; letter-spacing: 0; min-height: 52px; padding: 0; text-transform: none; }
.global-site-links > a:hover, .global-site-resources > summary:hover { color: #1b8a3d; }
.global-site-resources { align-items: center; border: 0; display: flex; margin: 0; padding: 0; position: relative; }
.global-site-resources > summary { cursor: pointer; gap: 7px; justify-content: flex-start; list-style: none; }
.global-site-resources > summary::-webkit-details-marker { display: none; }
.global-site-resources > summary::after { color: inherit; content: '⌄'; font-size: 19px; font-weight: 500; line-height: 1; }
.global-site-resources[open] > summary::after { content: '⌃'; }
.global-site-resources > div { background: #fff; border: 1px solid #cbc9c0; box-shadow: 0 20px 42px rgba(17, 27, 21, .14); display: flex; flex-direction: column; min-width: 230px; padding: 9px; position: absolute; right: 0; top: 75px; }
.global-site-resources > div a { border-bottom: 1px solid #ebe7de; color: #181a17; font: 600 14px/1.2 'Barlow', Arial, sans-serif; letter-spacing: 0; padding: 14px 13px; text-transform: none; }
.global-site-resources > div a:last-child { border-bottom: 0; }
.global-site-resources > div a:hover { background: #f1eee5; color: #1b8a3d; }
.global-site-mobile { border: 0; display: none; justify-self: end; margin: 0; padding: 0; position: relative; }
.global-site-nav :focus-visible { outline: 3px solid #dca13a; outline-offset: 3px; }

body > .global-site-nav ~ .hero .topbar,
body > .global-site-nav + .site-header,
body > .global-site-nav + .mast { display: none; }
.jumpnav { top: calc(92px + var(--buyer-contact-height, 0px)) !important; }
section, .terms { scroll-margin-top: calc(154px + var(--buyer-contact-height, 0px)) !important; }

/* The shared buyer-contact bar becomes fixed beneath the global navigation after
   the visitor starts scrolling. Keep the property jump navigation in the next
   slot instead of letting both sticky bars claim the same top edge. */
body:has(.buyer-contact-bar) .jumpnav {
  top: calc(var(--global-nav-height, 92px) + var(--buyer-contact-height, 0px)) !important;
}
body:has(.buyer-contact-bar) section,
body:has(.buyer-contact-bar) .terms {
  scroll-margin-top: calc(var(--global-nav-height, 92px) + var(--buyer-contact-height, 0px) + 62px) !important;
}

@media (max-width: 900px) {
  /* buyer-contact.css lets the global navigation scroll away at this width. */
  body:has(.buyer-contact-bar) .jumpnav {
    top: var(--buyer-contact-height, 0px) !important;
  }
  body:has(.buyer-contact-bar) section,
  body:has(.buyer-contact-bar) .terms {
    scroll-margin-top: calc(var(--buyer-contact-height, 0px) + 62px) !important;
  }
}

@media (max-width: 850px) {
  .global-site-nav { grid-template-columns: 1fr auto; min-height: 78px; padding: 0 18px; }
  .global-site-brand img { height: 43px; width: 50px; }
  .global-site-brand strong { font-size: 16px; }
  .global-site-brand small { font-size: 8px; }
  .global-site-links { display: none; }
  .global-site-mobile { display: block; }
  .global-site-mobile > summary { align-items: center; border: 1px solid #a9aaa3; color: #181a17; cursor: pointer; display: flex; font: 700 16px/1 'Barlow', Arial, sans-serif; gap: 9px; justify-content: center; list-style: none; min-height: 50px; min-width: 112px; padding: 0 15px; text-transform: none; }
  .global-site-mobile > summary::-webkit-details-marker { display: none; }
  .global-site-mobile > summary::after { content: none; }
  .global-site-mobile > nav { background: #fff; border: 1px solid #cbc9c0; box-shadow: 0 20px 42px rgba(17, 27, 21, .16); display: flex; flex-direction: column; max-height: calc(100vh - 90px); min-width: min(310px, calc(100vw - 28px)); overflow-y: auto; padding: 10px; position: absolute; right: 0; top: 58px; }
  .global-site-mobile nav a { align-items: center; border-bottom: 1px solid #ebe7de; color: #181a17; display: flex; font: 650 15px/1.2 'Barlow', Arial, sans-serif; letter-spacing: 0; min-height: 52px; padding: 9px 13px; text-transform: none; }
  .global-site-mobile nav > a:nth-of-type(-n+3) { font-size: 16px; font-weight: 700; }
  .global-site-mobile nav b { color: #9a650f; font: 800 10px/1 'Outfit', Arial, sans-serif; letter-spacing: .13em; padding: 18px 13px 7px; text-transform: uppercase; }
  .jumpnav { top: 78px !important; }
  section, .terms { scroll-margin-top: 140px !important; }
}

/* Property-page clarity: make the deal address unmistakable and keep MLS packet
   screenshots cropped to the actual property photo. */
.hm-copy .eyebrow,
.hm-copy-mob .eyebrow {
  align-items: center;
  background: rgba(26, 26, 26, .94);
  border-left: 5px solid var(--green, #1b8a3d);
  border-radius: 4px;
  box-shadow: 0 6px 20px rgba(0, 0, 0, .22);
  color: #fff;
  display: inline-flex;
  font-size: clamp(13px, 1.5vw, 16px);
  font-weight: 700;
  letter-spacing: 1.6px;
  line-height: 1.2;
  margin-bottom: 14px;
  max-width: 100%;
  padding: 9px 13px 8px;
  text-shadow: none;
  white-space: normal;
  width: fit-content;
}
.hm-copy-mob .eyebrow { margin-top: 0; }

/* Keep guest address privacy legible as a design state, not a black censor bar. */
.hm-copy .eyebrow:has(.guest-address-blur),
.hm-copy-mob .eyebrow:has(.guest-address-blur) {
  background: rgba(248, 246, 239, .88);
  border: 1px solid rgba(27, 138, 61, .22);
  border-left: 4px solid var(--green, #1b8a3d);
  box-shadow: 0 6px 20px rgba(18, 45, 30, .1);
  color: #536158;
  text-shadow: none;
}
.hm-copy .eyebrow .guest-address-blur,
.hm-copy-mob .eyebrow .guest-address-blur {
  filter: blur(.3em);
  opacity: .5;
}

.cc-photo {
  aspect-ratio: 16 / 10;
  background: #e7e5df;
  overflow: hidden;
  position: relative;
  width: 100%;
}
.cc-photo img,
.compcard.feature .cc-photo img {
  aspect-ratio: auto;
  display: block;
  height: 100%;
  inset: 0;
  min-height: 0;
  object-fit: cover;
  position: absolute;
  width: 100%;
}
.compcard.feature .cc-photo {
  aspect-ratio: auto;
  min-height: 300px;
}
.compcard .cc-photo.packet-crop img {
  height: 100%;
  max-width: none;
  object-position: left 35%;
  width: 120%;
}

@media (max-width: 820px) {
  .hm-copy-mob .eyebrow {
    border-left-width: 4px;
    font-size: 13px;
    letter-spacing: 1.2px;
    line-height: 1.25;
    padding: 8px 10px 7px;
  }
  .compcard.feature .cc-photo {
    aspect-ratio: 16 / 10;
    min-height: 0;
  }
}

@media print { .global-site-nav { display: none !important; } }
