.site-header{
  position:sticky;
  top:0;
  z-index:40;
  background:rgba(247,243,236,0.96);
  backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(181,154,106,0.18);
}
.header-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding-block:0.75rem;
}
.site-logo{
  font-family:var(--font-serif);
  font-size:1rem;
  letter-spacing:0.2em;
  text-transform:uppercase;
  color:var(--color-text);
  text-decoration:none;
  white-space:nowrap;
}
.main-nav{
  display:flex;
  align-items:center;
  gap:1.75rem;
}
.nav-list{
  display:flex;
  align-items:center;
  gap:1.25rem;
  font-family:var(--font-sans);
  font-size:var(--font-size-xs);
  letter-spacing:0.16em;
  text-transform:uppercase;
  color:var(--color-text-muted);
}
.nav-link{
  position:relative;
  padding-block:0.15rem;
  text-decoration:none;
  transition:color var(--transition-base);
}
.nav-link::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:0;
  height:1px;
  background-color:var(--color-primary);
  transition:width var(--transition-base);
}
.nav-link:hover,
.nav-link:focus-visible{
  color:var(--color-text);
}
.nav-link:hover::after,
.nav-link:focus-visible::after{
  width:100%;
}
.nav-link.is-active{
  color:var(--color-text);
}
.nav-link.is-active::after{
  width:100%;
}
.header-cta{
  display:flex;
  align-items:center;
}
.header-reserve-btn{
  letter-spacing:0.16em;
}
.nav-toggle-label{
  display:none;
  cursor:pointer;
}
.nav-toggle{
  width:40px;
  height:40px;
  border-radius:999px;
  border:1px solid rgba(181,154,106,0.7);
  background-color:rgba(255,255,255,0.9);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:3px;
}
.nav-toggle-bar{
  width:18px;
  height:1px;
  background-color:var(--color-text);
  transition:transform var(--transition-base),opacity var(--transition-base);
}
.nav-toggle-input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
@media (max-width:768px){
  .main-nav{
    position:fixed;
    inset:var(--header-height) 0 auto 0;
    padding:1.5rem 1rem 2rem;
    background:rgba(247,243,236,0.98);
    border-bottom:1px solid rgba(181,154,106,0.26);
    flex-direction:column;
    align-items:flex-start;
    gap:1.5rem;
    transform:translateY(-120%);
    opacity:0;
    pointer-events:none;
    transition:transform var(--transition-base),opacity var(--transition-base);
  }
  .nav-list{
    flex-direction:column;
    align-items:flex-start;
    gap:0.85rem;
    font-size:var(--font-size-sm);
  }
  .header-cta{
    width:100%;
    justify-content:flex-start;
  }
  .header-reserve-btn{
    width:100%;
    justify-content:center;
  }
  .nav-toggle-label{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    margin-left:auto;
  }
  .nav-toggle-input:checked ~ .main-nav{
    transform:translateY(0);
    opacity:1;
    pointer-events:auto;
  }
  .nav-toggle-input:checked + .nav-toggle-label .nav-toggle-bar:first-child{
    transform:translateY(4px) rotate(45deg);
  }
  .nav-toggle-input:checked + .nav-toggle-label .nav-toggle-bar:last-child{
    transform:translateY(-4px) rotate(-45deg);
  }
}
@media (min-width:769px){
  .nav-toggle-label,
  .nav-toggle-input{
    display:none;
  }
}
@media (max-width:480px){
  .site-logo{
    font-size:0.9rem;
    letter-spacing:0.16em;
  }
}
.header-skip-link{
  position:absolute;
  top:-40px;
  left:0.75rem;
  padding:0.4rem 0.75rem;
  border-radius:999px;
  background-color:var(--color-text);
  color:#fff;
  font-size:var(--font-size-sm);
  z-index:50;
}
.header-skip-link:focus-visible{
  top:0.75rem;
}