.site-header{
  position:sticky;
  top:0;
  z-index:1000;
  background:var(--color-surface);
  border-bottom:1px solid var(--color-divider);
}

.header-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:72px;
  gap:var(--space-2);
}

.brand{
  display:flex;
  align-items:center;
  gap:0.6rem;
  text-decoration:none;
  color:var(--color-text);
  flex-shrink:0;
}

.brand-mark{
  height:52px;
  width:auto;
}

.brand-text{
  font-family:var(--font-heading);
  font-size:1.1rem;
  letter-spacing:0.04em;
}

.nav-toggle{
  display:none;
  width:44px;
  height:44px;
  border-radius:var(--radius-md);
  align-items:center;
  justify-content:center;
  border:1px solid var(--color-divider);
}

.nav-toggle-lines,
.nav-toggle-lines::before,
.nav-toggle-lines::after{
  content:"";
  display:block;
  width:20px;
  height:2px;
  background:var(--color-white);
  position:relative;
}

.nav-toggle-lines::before{
  position:absolute;
  top:-6px;
}

.nav-toggle-lines::after{
  position:absolute;
  top:6px;
}

.site-nav{
  display:flex;
  align-items:center;
}

.nav-list{
  list-style:none;
  display:flex;
  align-items:center;
  gap:1.2rem;
  margin:0;
  padding:0;
}

.nav-list li{margin:0;padding:0;}

.nav-list a{
  color:var(--color-text);
  font-family:var(--font-heading);
  font-size:0.95rem;
}

.nav-cta a{margin-left:0.5rem;}

.nav-mobile-extra{display:none;}

@media (max-width:900px){
  .nav-toggle{display:flex;}

  .site-nav{
    position:fixed;
    top:72px;
    left:0;
    width:100%;
    max-height:calc(100vh - 72px);
    background:var(--color-surface);
    flex-direction:column;
    align-items:flex-start;
    padding:var(--space-3);
    transform:translateY(-120%);
    transition:transform var(--transition-base);
    overflow-y:auto;
  }

  .site-nav.open{
    transform:translateY(0);
  }

  .nav-list{
    flex-direction:column;
    width:100%;
    gap:var(--space-2);
  }

  .nav-list a{
    font-size:1.1rem;
  }

  .nav-cta{
    width:100%;
  }

  .nav-cta a{
    width:100%;
  }

  .nav-mobile-extra{
    display:flex;
    flex-direction:column;
    gap:0.6rem;
    margin-top:var(--space-3);
    font-size:0.9rem;
  }
}
