.site-header {
  position: absolute;
  z-index: 30;
  inset: 0 0 auto;
  min-height: var(--bp-header-height);
  padding: 1.2rem clamp(1rem, 3vw, 2.5rem);
  background: linear-gradient(180deg, rgba(9,10,15,.7), rgba(9,10,15,0));
}

.site-header__logo img {
  display: block;
  max-height: 3rem;
  width: auto;
}

.site-header__actions {
  gap: clamp(.65rem, 1.7vw, 1.5rem);
}

.bp-nav-list {
  display: flex;
  gap: clamp(.9rem, 2vw, 1.7rem);
  align-items: center;
  margin: 0;
  padding: 0;
  list-style: none;
}

.bp-nav-list a {
  color: var(--wp--preset--color--text);
  font-size: .9rem;
  text-decoration: none;
}

.bp-nav-list a:hover,
.bp-nav-list a:focus-visible {
  color: var(--wp--preset--color--accent);
}

.bp-menu-toggle {
  display: none;
  min-width: 2.75rem;
  min-height: 2.75rem;
  padding: .55rem .75rem;
  border: 1px solid rgba(244,245,247,.24);
  border-radius: 999px;
  background: rgba(9,10,15,.55);
  color: var(--wp--preset--color--text);
}

.bp-menu-toggle__label {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}

.bp-menu-toggle__icon,
.bp-menu-toggle__icon::before,
.bp-menu-toggle__icon::after {
  display: block;
  width: 1.2rem;
  height: 1px;
  background: currentColor;
  content: "";
}

.bp-menu-toggle__icon::before { transform: translateY(-5px); }
.bp-menu-toggle__icon::after { transform: translateY(4px); }

.bp-contact-cta {
  white-space: nowrap;
  text-decoration: none;
}

.site-footer {
  padding-block: clamp(3rem, 7vw, 6rem) 2rem;
  border-top: 1px solid rgba(244,245,247,.12);
}

.site-footer__grid {
  gap: 2rem;
}

.site-footer .bp-nav-list {
  flex-wrap: wrap;
}

@media (max-width: 900px) {
  .has-js .bp-menu-toggle { display: inline-flex; align-items: center; justify-content: center; }
  .has-js .bp-primary-nav {
    position: fixed;
    inset: var(--bp-header-height) 1rem auto;
    padding: 1.25rem;
    border: 1px solid rgba(244,245,247,.14);
    border-radius: 1rem;
    background: rgba(20,23,32,.98);
    box-shadow: 0 1.5rem 4rem rgba(0,0,0,.35);
  }
  .has-js .bp-primary-nav[hidden] { display: none; }
  .has-js .bp-primary-nav .bp-nav-list { align-items: stretch; flex-direction: column; gap: .25rem; }
  .has-js .bp-primary-nav .bp-nav-list a { display: block; padding: .75rem; font-size: 1rem; }
  .site-header .bp-contact-cta { display: none; }
}
