.site-header {
  position: sticky;
  z-index: 100;
  top: 0;
  min-height: 82px;
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 30px;
  align-items: center;
  padding: 12px max(20px, calc((100vw - 1360px) / 2));
  border-bottom: 1px solid rgba(214, 181, 109, 0.22);
  background: rgba(7, 23, 31, 0.91);
  backdrop-filter: blur(18px);
}
.brand { display: inline-flex; align-items: center; }
.brand .logo { width: clamp(165px, 18vw, 230px); height: 56px; object-fit: contain; object-position: left center; }
.menu { display: flex; align-items: center; justify-content: flex-end; gap: clamp(12px, 2vw, 28px); }
.menu > a:not(.nav-cta) {
  position: relative;
  padding: 10px 0;
  color: var(--ivory-soft);
  font-size: 0.79rem;
  font-weight: 800;
  letter-spacing: 0.075em;
  text-transform: uppercase;
}
.menu > a:not(.nav-cta)::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 4px;
  left: 0;
  height: 1px;
  transform: scaleX(0);
  transform-origin: right;
  background: var(--gold);
  transition: transform 180ms ease;
}
.menu > a:hover, .menu > a[aria-current="page"] { color: var(--white); }
.menu > a:hover::after, .menu > a[aria-current="page"]::after { transform: scaleX(1); transform-origin: left; }
.nav-cta {
  display: inline-flex;
  min-height: 43px;
  align-items: center;
  justify-content: center;
  padding: 9px 17px;
  border-radius: 999px;
  background: var(--gold);
  color: var(--ink);
  font-size: 0.76rem;
  font-weight: 900;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.menu-toggle {
  display: none;
  width: 46px;
  height: 46px;
  padding: 0;
  border: 1px solid rgba(214, 181, 109, 0.35);
  border-radius: 50%;
  background: transparent;
  color: var(--ivory);
  cursor: pointer;
}
.menu-toggle span { width: 18px; height: 1px; display: block; margin: 5px auto; background: currentColor; transition: transform 180ms ease; }
.menu-toggle[aria-expanded="true"] span:first-child { transform: translateY(3px) rotate(45deg); }
.menu-toggle[aria-expanded="true"] span:last-child { transform: translateY(-3px) rotate(-45deg); }

@media (max-width: 1050px) {
  .site-header { grid-template-columns: 1fr auto; padding-inline: 20px; }
  .menu-toggle { display: block; }
  .menu {
    position: fixed;
    z-index: 99;
    top: 82px;
    right: 0;
    left: 0;
    height: calc(100vh - 82px);
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    gap: 2px;
    padding: 32px 24px;
    transform: translateX(100%);
    visibility: hidden;
    background: rgba(7, 23, 31, 0.985);
    transition: transform 240ms ease, visibility 240ms;
  }
  .menu.is-open { transform: translateX(0); visibility: visible; }
  .menu > a:not(.nav-cta) {
    padding: 14px 2px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    font-family: "Alice", serif;
    font-size: 1.45rem;
    font-weight: 400;
    letter-spacing: 0;
    text-transform: none;
  }
  .nav-cta { margin-top: 22px; }
}

@media (max-width: 480px) { .brand .logo { width: 155px; } }
