/* Header & Navbar — GhettoScape "street sign" chrome (shared by every page) */
:root {
  --header-height: 68px;
  --container-max-width: 1340px;
  --gs-asphalt: #0E0F12;
  --gs-concrete-900: #16181C;
  --gs-concrete-700: #2A2E35;
  --gs-gold: #FFC53D;
  --gs-gold-bright: #FFD968;
  --gs-gold-deep: #C9922B;
  --gs-chalk: #E7E9EC;
  --gs-line: #2b3038;
  --gs-display: "Arial Black", "Archivo Black", Impact, system-ui, sans-serif;
}

/* === HEADER SHELL === */
.header {
  position: sticky;
  top: 0;
  left: 0;
  right: 0;
  height: var(--header-height);
  background: rgba(22, 24, 28, 0.92);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--gs-line);
  /* hairline gold underglow */
  box-shadow: 0 1px 0 rgba(255, 197, 61, 0.22), 0 8px 24px rgba(0, 0, 0, 0.45);
  z-index: 1000;
}

.header-content.split-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: var(--container-max-width);
  margin: 0 auto;
  height: 100%;
  padding: 0 clamp(1rem, 3vw, 2.5rem);
  position: relative;
}

/* === NAV HALVES === */
.nav-left,
.nav-right {
  flex: 1;
  display: flex;
  align-items: center;
}
.nav-left  { justify-content: flex-end; }
.nav-right { justify-content: flex-start; }

/* === LOGO: skewed gold wordmark === */
.logo {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  z-index: 2;
  padding: 0 clamp(1rem, 3vw, 2.6rem);
  text-decoration: none;
}
.logo-word {
  font-family: var(--gs-display);
  font-weight: 900;
  font-size: clamp(1.2rem, 2vw, 1.55rem);
  letter-spacing: .02em;
  color: var(--gs-gold);
  text-shadow: 2px 2px 0 rgba(0, 0, 0, .55);
  transform: skewX(-6deg);
  white-space: nowrap;
  transition: filter .2s;
}
.logo-word b { color: var(--gs-chalk); font-weight: 900; }
.logo:hover .logo-word { filter: brightness(1.15) drop-shadow(0 0 8px rgba(255, 197, 61, .45)); }
/* legacy image logo (if any page still has one) */
.logo-img { height: clamp(44px, 6vh, 60px); width: auto; display: block; }

/* === NAV LINKS: green street-sign plates === */
.nav-list {
  display: flex;
  align-items: center;
  gap: clamp(.4rem, .8vw, .6rem);
  list-style: none;
  margin: 0;
  padding: 0;
}
.nav-link {
  font-family: var(--gs-display);
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-size: .7rem;
  color: #eafce9;
  text-decoration: none;
  background: #1c6b45;
  border: 1px solid #2e8f5f;
  border-radius: 6px;
  padding: 7px 11px;
  box-shadow: inset 0 0 0 2px rgba(255, 255, 255, .06);
  position: relative;
  white-space: nowrap;
  transition: filter .15s, transform .15s;
}
/* bolt "screws" in the sign corners */
.nav-link::before,
.nav-link::after {
  content: "";
  position: absolute;
  top: 5px;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: rgba(255, 255, 255, .5);
}
.nav-link::before { left: 5px; }
.nav-link::after { right: 5px; }
.nav-link:hover,
.nav-link:focus { filter: brightness(1.2); transform: translateY(-1px); }
.nav-link.active {
  background: var(--gs-gold);
  border-color: var(--gs-gold-deep);
  color: #171204;
}
.nav-link.active::before,
.nav-link.active::after { background: rgba(0, 0, 0, .35); }

/* === HAMBURGER BUTTON === */
.mobile-menu-toggle {
  display: none;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 5px;
  width: 44px;
  height: 44px;
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 0;
  z-index: 1100;
  flex-shrink: 0;
  border-radius: 6px;
  transition: background 180ms;
}
.mobile-menu-toggle:hover { background: rgba(255, 197, 61, 0.1); }
.mobile-menu-toggle span {
  display: block;
  width: 24px;
  height: 2px;
  background: var(--gs-chalk);
  border-radius: 2px;
  transition: transform 0.3s cubic-bezier(.4, 0, .2, 1), opacity 0.25s, background 180ms;
}
.mobile-menu-toggle.is-active span:nth-child(1) {
  transform: translateY(7px) rotate(45deg);
  background: var(--gs-gold);
}
.mobile-menu-toggle.is-active span:nth-child(2) { opacity: 0; transform: scaleX(0); }
.mobile-menu-toggle.is-active span:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg);
  background: var(--gs-gold);
}

/* === MOBILE NAV OVERLAY (injected by nav.js) === */
.mobile-nav {
  display: none;
  position: fixed;
  inset: 0;
  top: var(--header-height);
  background: rgba(14, 15, 18, 0.98);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  z-index: 999;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.28s cubic-bezier(.4, 0, .2, 1);
  overflow-y: auto;
}
.mobile-nav.is-open { opacity: 1; pointer-events: auto; }
.mobile-nav a {
  color: var(--gs-chalk);
  text-decoration: none;
  font-family: var(--gs-display);
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .06em;
  font-size: clamp(1.3rem, 5vw, 1.8rem);
  padding: 1rem 2rem;
  width: 100%;
  text-align: center;
  transition: color 200ms, background 200ms;
  border-bottom: 1px solid var(--gs-line);
}
.mobile-nav a:first-child { border-top: 1px solid var(--gs-line); }
.mobile-nav a:hover,
.mobile-nav a.active {
  color: var(--gs-gold);
  background: rgba(255, 197, 61, 0.07);
}

/* === 4K / LARGE DISPLAY SCALING === */
@media (min-width: 1920px) {
  :root { --header-height: 78px; --container-max-width: 1600px; }
  .nav-link { font-size: .78rem; }
}
@media (min-width: 2560px) {
  :root { --header-height: 90px; --container-max-width: 2000px; }
  .nav-link { font-size: .85rem; }
  .logo-word { font-size: 1.9rem; }
}

/* === TABLET (≤1024px) === */
@media (max-width: 1024px) {
  .nav-list { gap: .35rem; }
  .logo { padding: 0 clamp(0.5rem, 2vw, 1.5rem); }
}

/* === MOBILE (≤768px) === */
@media (max-width: 768px) {
  :root { --header-height: 60px; }
  .nav-left, .nav-right { display: none; }
  .mobile-menu-toggle { display: flex; }
  .mobile-nav { display: flex; }
  .logo { padding: 0 0.75rem; flex: 1; justify-content: center; }
  .header-content.split-nav { padding: 0 0.75rem; justify-content: space-between; }
}

/* === SMALL MOBILE (≤480px) === */
@media (max-width: 480px) {
  :root { --header-height: 56px; }
  .logo-word { font-size: 1.1rem; }
  .mobile-nav a { font-size: 1.2rem; padding: 0.85rem 1.5rem; }
}

/* Overscroll/rubber-band background stays site-dark */
html { background-color: #0E0F12; }
