:root {
  --er-green:#155f3b;
  --er-green-dark:#0f3326;
  --er-green-light:#1f7a4d;
  --er-yellow:#ffcf4a;
  --er-dark:#102018;
  --er-soft:#f3f7f2;
  --er-soft2:#edf8ef;
  --er-line:#dce7dd;
}

/* Shared topbar */
.site-topbar {
  background: var(--er-green-dark) !important;
  color: #fff !important;
  font-size: 14px !important;
  padding: 8px 20px !important;
  text-align: center !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

/* Shared sticky navigation for every page */
.site-nav {
  background: #fff !important;
  border-bottom: 1px solid var(--er-line) !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 99999 !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

/* Prevent page-specific nav styles from breaking layout */
.site-nav,
.site-nav * {
  box-sizing: border-box !important;
}

.site-nav-inner {
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 12px 18px !important;
  display: flex !important;
  align-items: center !important;
  gap: 18px !important;
  width: 100% !important;
}

.site-logo {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  color: var(--er-dark) !important;
  text-decoration: none !important;
  font-weight: 800 !important;
  letter-spacing: -0.2px !important;
  white-space: nowrap !important;
  flex: 0 0 auto !important;
}

.site-logo-mark {
  width: 34px !important;
  height: 34px !important;
  border-radius: 10px !important;
  background: var(--er-green) !important;
  display: grid !important;
  place-items: center !important;
  color: var(--er-yellow) !important;
  font-weight: 900 !important;
  flex: 0 0 auto !important;
}

.site-nav-links {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  flex-wrap: nowrap !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  white-space: nowrap !important;
  font-size: 14px !important;
  width: 100% !important;
  scrollbar-width: thin !important;
  -webkit-overflow-scrolling: touch !important;
}

.site-nav-links a {
  display: inline-flex !important;
  align-items: center !important;
  color: var(--er-dark) !important;
  text-decoration: none !important;
  font-weight: 700 !important;
  white-space: nowrap !important;
  flex: 0 0 auto !important;
  padding: 8px 2px !important;
}

.site-nav-links a:hover,
.site-nav-links a.active {
  color: var(--er-green) !important;
}

.site-nav-cta {
  background: var(--er-yellow) !important;
  color: var(--er-dark) !important;
  padding: 10px 14px !important;
  border-radius: 999px !important;
  order: 999 !important;
  margin-left: 4px !important;
  font-weight: 900 !important;
}

.site-footer {
  text-align: center !important;
  color: #5a665d !important;
  padding: 34px 20px !important;
  font-size: 14px !important;
  background: #fff !important;
  border-top: 1px solid var(--er-line) !important;
}

.site-footer a {
  color: var(--er-green) !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  margin: 0 6px !important;
}

/* Tablet */
@media (max-width: 1050px) {
  .site-nav-inner {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 10px !important;
  }

  .site-logo {
    justify-content: center !important;
  }

  .site-nav-links {
    justify-content: flex-start !important;
    padding-bottom: 4px !important;
  }
}

/* Mobile: menu is always visible and horizontally scrollable */
@media (max-width: 640px) {
  .site-topbar {
    font-size: 12px !important;
    padding: 7px 12px !important;
  }

  .site-nav {
    position: sticky !important;
    top: 0 !important;
  }

  .site-nav-inner {
    padding: 10px 12px !important;
    flex-direction: column !important;
    align-items: stretch !important;
  }

  .site-logo {
    justify-content: center !important;
    font-size: 15px !important;
  }

  .site-logo-mark {
    width: 30px !important;
    height: 30px !important;
    border-radius: 9px !important;
  }

  .site-nav-links {
    display: flex !important;
    gap: 10px !important;
    font-size: 13px !important;
    width: 100% !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    white-space: nowrap !important;
    flex-wrap: nowrap !important;
    padding-bottom: 5px !important;
  }

  .site-nav-links a {
    display: inline-flex !important;
    align-items: center !important;
    padding: 8px 4px !important;
  }

  .site-nav-cta {
    padding: 9px 12px !important;
    order: 999 !important;
  }
}
