/* ==========================================================================
   Site navigation bar: the home hero's menu, on every inner page.
   Listings, About | logo | Contact us, Our team; plus a slim strip of the services.
   ========================================================================== */
html.sn-on{scroll-padding-top:132px!important}
.sn{--sn-gx:clamp(20px,5.6vw,96px);position:sticky;top:0;z-index:40;background:#0b0d0c;color:#fff;border-bottom:1px solid rgba(255,255,255,.08);transition:background .4s ease,box-shadow .4s ease}
.sn.solid{background:rgba(11,13,12,.94);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 16px 30px -20px rgba(0,0,0,.6)}
.snNav{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:76px;padding:0 var(--sn-gx);box-sizing:border-box}
.snLinks{display:flex;gap:clamp(18px,2.4vw,40px)}
.snLinks.r{justify-content:flex-end}
.snLinks a{position:relative;display:inline-flex;align-items:center;min-height:44px;color:#fff;text-decoration:none;font:500 11px/1 Inter,Arial,sans-serif;letter-spacing:.2em;text-transform:uppercase;white-space:nowrap}
.snLinks a:after{content:"";position:absolute;left:0;right:100%;bottom:9px;height:1px;background:#fff;transition:right .35s cubic-bezier(.22,.61,.36,1)}
.snLinks a:hover:after,.snLinks a:focus-visible:after,.snLinks a[aria-current="page"]:after{right:0}
.snLinks a[aria-current="page"]:after{background:#FF4D6A}
.snLinks a:focus-visible{outline:2px solid #fff;outline-offset:4px}
.snLogo{display:block;line-height:0}
.snLogo img{display:block;height:48px;width:auto;transform-origin:50% 50%;transition:transform .45s cubic-bezier(.22,.61,.36,1)}
.sn.solid .snLogo img{transform:scale(.84)}
.snLogo:focus-visible{outline:2px solid #fff;outline-offset:6px}

/* the services strip: sits under the bar, scrolls away with the page */
.snSvc{background:#f6f2ed;border-bottom:1px solid #e6dccf}
.snSvcIn{display:flex;gap:clamp(18px,2.4vw,38px);padding:0 var(--sn-gx,5%);overflow-x:auto;scrollbar-width:none;justify-content:flex-start}
.snSvcIn::-webkit-scrollbar{display:none}
.snSvc{--sn-gx:clamp(20px,5.6vw,96px)}
.snSvc a{position:relative;flex:0 0 auto;padding:16px 0 14px;color:#5d5752;text-decoration:none;font:500 11px/1 Inter,Arial,sans-serif;letter-spacing:.18em;text-transform:uppercase;white-space:nowrap;border-bottom:2px solid transparent;transition:color .3s,border-color .3s}
.snSvc a:hover{color:#7c0b19}
.snSvc a[aria-current]{color:#7c0b19;border-bottom-color:#C31B37}
.snSvc a:focus-visible{outline:2px solid #C31B37;outline-offset:-2px}
@media(min-width:1180px){.snSvcIn{justify-content:center}}

/* detail pages keep a slim "back" row under the bar */
.snBack{background:#f6f2ed;border-bottom:1px solid #e6dccf;padding:0 clamp(20px,5.6vw,96px)}
.snBack a{display:inline-flex;align-items:center;min-height:44px;color:#5d5752;text-decoration:none;font:500 11px/1 Inter,Arial,sans-serif;letter-spacing:.18em;text-transform:uppercase;transition:color .3s}
.snBack a:hover{color:#7c0b19}.snBack a:focus-visible{outline:2px solid #C31B37;outline-offset:2px}

/* phones: the bar is part of the page (not fixed) and uses two rows, like the home page */
@media(max-width:860px){
  .sn{position:relative}
  .snNav{grid-template-columns:1fr auto;grid-template-rows:auto auto;height:auto;padding-top:10px;padding-bottom:6px}
  .snLinks a{font-size:9px;letter-spacing:.12em;min-height:40px}
  .snLinks{gap:16px}
  .snLinks.r{grid-column:1/-1;grid-row:2;justify-content:flex-start;gap:20px}
  .snLogo img{height:42px}
  .snSvcIn{-webkit-mask-image:linear-gradient(90deg,#000 90%,transparent);mask-image:linear-gradient(90deg,#000 90%,transparent);padding-right:40px;scroll-behavior:auto}
  html.sn-on{scroll-padding-top:70px!important}
  .progress{top:0!important}
  .chips{top:0!important}
}
@media(prefers-reduced-motion:reduce){.sn,.snLogo img,.snLinks a:after,.snSvc a{transition:none}}
