
.site-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: var(--header-height);
  z-index: var(--z-fixed);
/*  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), transparent);*/
}

.site-header.scrolled {
  background-image: none;
/*  background-color: #000000;*/
  background-color: var(--color-bg-body);
border-bottom: solid 1px var(--color-bg-light);
}

.navbar-container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 100%;
  max-height: var(--header-height);
}

.brand-logo {
  display: flex;

  font-weight: 700;
  font-size: var(--font-size-brand);
/*  color: var(--color-text-inverse);*/
color: var(--color-bg-body);
  text-decoration: none;
  padding: var(--spacing-xs) 0;
/*  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);*/
/*height: var(--header-height);*/
/*height: 5rem;*/
height: var(--height-brand);
align-items: center;
align-self: flex-start;
overflow-y: visible;
}
.brand-logo:hover {
  opacity: 0.92;
}

.brand-logo img {
/*  height: 2.5rem;*/
/*height: 10rem;*/
height: 100%;
  width: auto;
}

.site-header.scrolled .brand-logo {
height: var(--header-height);
font-size: 1.5rem;
/*color: var(--color-bg-light);*/
color: var(--color-bg-light);
}

.nav-links {
  display: flex;
  gap: var(--spacing-md);
}

.nav-link {
  color: var(--color-text-inverse);
  text-decoration: none;
  font-size: var(--font-size-base);
/*  padding: var(--spacing-sm) var(--spacing-xs);*/
  padding: var(--spacing-xs) var(--spacing-sm);
  border-radius: var(--radius-sm);
  position: relative;
/*  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.3);*/
}
.site-header.scrolled .nav-link {
/*  color: var(--color-bg-light);*/
color: var(--color-text-muted);
}

.nav-link:hover,
.nav-link:focus-visible {
  background-color: rgba(255, 255, 255, 0.1);
  color: var(--color-text-inverse);
}

.nav-link.active {
  font-weight: 600;
}

/*
.nav-link.active::after {
  content: '';
  position: absolute;
  bottom: 5px;
  left: var(--spacing-xs);
  right: var(--spacing-xs);
  height: 2px;
  background-color: var(--color-secondary);
  border-radius: var(--radius-pill);
}
*/

li > #contact-button {
  background-color: var(--color-secondary);
/*  border-radius: 25px;*/
  font-weight: 700;
/*  padding: var(--spacing-xs) var(--spacing-sm);*/

}
.site-header.scrolled #contact-button {
  color: var(--color-text-inverse);
}
.site-header.scrolled #contact-button.active {
  color: var(--color-text-muted);
}

li > #contact-button.active {
  background-color: transparent;
}
li > #contact-button:hover {
  opacity: 0.92;
}

.mobile-toggle {
  display: none;
  background: none;
  border: none;
  cursor: pointer;
  padding: var(--spacing-sm);
  z-index: calc(var(--z-modal) + 1);
}

.hamburger-icon {
  display: block;
  position: relative;
  width: 24px;
  height: 2px;
  background-color: var(--color-text-inverse);
}

.hamburger-icon::before,
.hamburger-icon::after {
  content: '';
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: var(--color-text-inverse);
}

.hamburger-icon::before {
  transform: translateY(-8px);
}

.hamburger-icon::after {
  transform: translateY(8px);
}

.mobile-toggle.open .hamburger-icon {
  background-color: transparent;
}

.mobile-toggle.open .hamburger-icon::before {
  transform: translateY(0) rotate(45deg);
}

.mobile-toggle.open .hamburger-icon::after {
  transform: translateY(0) rotate(-45deg);
}

@media (prefers-reduced-motion: no-preference) {
  .site-header {
    transition: background-color var(--transition-base);
  }
  .nav-link {
    transition: background-color var(--transition-fast), color var(--transition-fast);
  }

  .brand-logo {
    transition: height var(--transition-base),
                font-size var(--transition-base),
                color var(--transition-base);
  }

  .hamburger-icon, .hamburger-icon::before, .hamburger-icon::after {
    transition: transform var(--transition-base), background-color var(--transition-base);
  }
}

@media (max-width: 768px) {
  .mobile-toggle {
    display: block;
  }

  .nav-links {
    display: none;
  }

  .brand-logo .brand-name {
/*    height: 50%;*/
font-size: 1.5rem;
  }
}
