/* ============================================================================
   Header + mobile navigation panel
   Design source: design/v3.0.1/reference/nam-yam-index.html  L60–85
   ============================================================================ */

.ny-header {
  position: fixed; z-index: var(--ny-z-header);
  top: 0; left: 0; width: 100%;
  height: 92px;
  display: flex; align-items: center; justify-content: space-between;
  gap: 24px;
  padding: 0 var(--ny-pad);
  border-bottom: 1px solid var(--ny-line-on-dark);
  background: transparent;
  transition: height 400ms var(--ny-ease), background 400ms var(--ny-ease);
}
.ny-header.is-scrolled {
  height: 72px;
  background: var(--ny-header-bg);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

.ny-header__brand {
  flex: none;
  display: flex; align-items: center; gap: 11px;
  min-height: var(--ny-tap);
}
.ny-header__mark { display: block; width: clamp(24px, 2vw, 30px);  height: auto; }
.ny-header__word { display: block; width: clamp(84px, 6.6vw, 108px); height: auto; }

.ny-header__nav {
  display: flex; align-items: center;
  gap: clamp(26px, 3.5vw, 56px);
}
.ny-header__nav a {
  display: inline-flex; align-items: center;
  min-height: var(--ny-tap);
  padding-bottom: 3px;
  font: var(--ny-sans-regular) var(--ny-fs-label)/1 var(--ny-sans);
  text-transform: uppercase;
  letter-spacing: .3em;
  color: var(--ny-white);
  border-bottom: 1px solid transparent;
  transition: color 320ms, border-color 320ms;
}
.ny-header__nav a:hover { color: var(--ny-gold); border-bottom-color: var(--ny-gold); }

.ny-header__cta {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: var(--ny-tap);
  padding: 11px 17px;
  border: 1px solid var(--ny-gold-60);
  font: var(--ny-sans-regular) var(--ny-fs-label)/1 var(--ny-sans);
  text-transform: uppercase;
  letter-spacing: .3em;
  color: var(--ny-white);
  transition: background 320ms;
}
.ny-header__cta:hover { background: var(--ny-gold-14); color: var(--ny-white); }
.ny-header__cta span { margin-left: 6px; }

.ny-header__burger {
  display: none;
  width: var(--ny-tap); height: var(--ny-tap);
  align-items: center; justify-content: center;
  flex-direction: column; gap: 5px;
  background: transparent; border: 0; padding: 0;
  cursor: pointer;
}
.ny-header__burger span {
  display: block; width: 20px; height: 1px;
  background: var(--ny-white);
}

/* ---- Mobile panel -------------------------------------------------------- */
.ny-navpanel {
  position: fixed; inset: 0; z-index: var(--ny-z-nav);
  background: var(--ny-ink);
  display: flex; flex-direction: column;
  align-items: center; justify-content: center;
  gap: clamp(20px, 3vh, 30px);
}
.ny-navpanel[hidden] { display: none; }

.ny-navpanel a {
  display: inline-flex; align-items: center;
  min-height: 48px;
  font: var(--ny-serif-regular) clamp(26px, 6.5vw, 34.2px)/var(--ny-lh-heading) var(--ny-serif);
  color: var(--ny-white);
}
.ny-navpanel__cta {
  margin-top: 10px;
  padding: 13px 26px;
  border: 1px solid var(--ny-gold-60);
  font: var(--ny-sans-regular) var(--ny-fs-label)/1 var(--ny-sans) !important;
  text-transform: uppercase;
  letter-spacing: .3em;
}
.ny-navpanel__close {
  position: absolute; top: 16px; right: 20px;
  width: var(--ny-tap); height: var(--ny-tap);
  background: transparent;
  border: 1px solid var(--ny-gold-40);
  color: var(--ny-gold);
  font-size: 17.1px;
  cursor: pointer;
}

@media (max-width: 760px) {
  .ny-header { height: 74px; padding: 0 var(--ny-pad-sm); }
  .ny-header.is-scrolled { height: 68px; }
  .ny-header__nav,
  .ny-header__cta { display: none; }
  .ny-header__burger { display: flex; }
}
