/* Shared header matching www.nashvilleluxurylist.com (ink background, bronze hairline).
   Selectors are scoped under #site-header / #mobile-nav so they never touch the .nll-guide styles. */
#site-header, #mobile-nav { --ink:#16212B; --ink-soft:#212D38; --ivory:#F7F3EC; --bronze-light:#C4A574; }
#site-header *, #mobile-nav * { box-sizing:border-box; }

body { padding-top:0 !important; }
#site-header + .nll-guide { margin-top:2rem; }

#site-header {
  position:sticky; top:0; z-index:1000;
  padding:0.875rem 0;
  background:var(--ink);
  border-bottom:1px solid rgba(168,134,90,0.35);
  font-family:'Inter','Helvetica Neue',Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
}
#site-header .container { max-width:1280px; margin:0 auto; padding:0 clamp(1.25rem,4vw,2rem); }
#site-header .header-inner { display:flex; align-items:center; justify-content:space-between; gap:1.5rem; }
#site-header a { text-decoration:none; }

#site-header .site-logo { display:flex; flex-direction:column; line-height:1; flex-shrink:0; }
#site-header .logo-main { font-family:'Playfair Display',Georgia,serif; font-size:1.3rem; font-weight:700; color:var(--ivory); letter-spacing:0.02em; }
#site-header .logo-sub {
  font-size:0.65rem; letter-spacing:0.2em; text-transform:uppercase; color:var(--bronze-light);
  margin-top:14px; padding-top:14px; border-top:1px solid rgba(196,165,116,0.4);
}

#site-header .site-nav { display:flex; align-items:center; gap:0.25rem; }
#site-header .nav-link, #mobile-nav .nav-link {
  font-size:0.875rem; font-weight:500; color:rgba(247,243,236,0.82);
  padding:0.5rem 0.875rem; border-radius:2px; letter-spacing:0.02em; white-space:nowrap;
  transition:all 0.3s cubic-bezier(0.4,0,0.2,1); text-decoration:none;
}
#site-header .nav-link:hover, #site-header .nav-link.active { color:var(--ivory); box-shadow:inset 0 -1px 0 var(--bronze-light); }

#site-header .btn, #mobile-nav .btn {
  display:inline-flex; align-items:center; gap:0.5rem;
  border-radius:2px; font-family:'Inter','Helvetica Neue',Arial,sans-serif; font-weight:600; letter-spacing:0.05em;
  border:2px solid var(--ivory); background:var(--ivory); color:var(--ink);
  transition:all 0.3s cubic-bezier(0.4,0,0.2,1); text-decoration:none; white-space:nowrap;
}
#site-header .btn:hover, #mobile-nav .btn:hover { background:#fff; }
#site-header .nav-cta { margin-left:0.5rem; padding:0.6rem 1.25rem; font-size:0.8rem; }

#site-header .hamburger {
  display:none; flex-direction:column; align-items:center; justify-content:center; gap:5px;
  width:44px; height:44px; padding:0; margin-right:-10px; cursor:pointer; background:none; border:none;
}
#site-header .hamburger span { display:block; width:24px; height:2px; background:var(--ivory); border-radius:2px; }

#mobile-nav {
  display:none; position:fixed; inset:0; z-index:1001; background:var(--ink);
  flex-direction:column; align-items:center; justify-content:safe center;
  gap:clamp(0.75rem,2.5vh,1.5rem); padding:5rem 1.5rem 2.5rem; overflow-y:auto;
  font-family:'Inter','Helvetica Neue',Arial,sans-serif;
}
#mobile-nav.open { display:flex; }
#mobile-nav .nav-link { font-family:'Playfair Display',Georgia,serif; font-size:clamp(1.25rem,3.5vh,1.5rem); padding:0.35rem 1rem; }
#mobile-nav .nav-link:hover { color:var(--ivory); }
#mobile-nav .nav-link.active { color:var(--bronze-light); }
#mobile-nav .btn { margin-top:1rem; padding:1rem 2.5rem; font-size:1rem; }
#mobile-nav .mobile-nav-close {
  position:absolute; top:0.75rem; right:0.75rem; width:44px; height:44px;
  display:flex; align-items:center; justify-content:center;
  background:none; border:none; color:#fff; font-size:1.5rem; cursor:pointer;
}
#mobile-nav .mobile-nav-phone { margin-top:1.5rem; color:rgba(247,243,236,0.75); font-size:1rem; padding:0.5rem 1rem; text-decoration:none; }
#mobile-nav .mobile-nav-phone:hover { color:var(--ivory); }
body.nav-open { overflow:hidden; }

@media (max-width:1360px) {
  #site-header .nav-link { padding:0.5rem 0.6rem; font-size:0.82rem; }
}
@media (max-width:1200px) {
  #site-header .site-nav { display:none; }
  #site-header .hamburger { display:flex; }
}
@media (max-width:768px) {
  #site-header { padding:0.6rem 0; }
  #site-header .logo-main { font-size:1.05rem; }
  #site-header .logo-sub { font-size:0.58rem; margin-top:6px; padding-top:6px; }
  #site-header + .nll-guide { margin-top:1rem; }
}
