.nav-menu { display: none; }
@media (max-width: 700px) {
  .nav-menu {
    position: relative;
    flex: none;
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    margin: -8px -11px -8px -4px;
    padding: 0;
    border: 0;
    background: none;
    color: #fff;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
  }
  .nav-menu:focus-visible { outline: 2px solid #dbb66a; outline-offset: -4px; }
}
.nav-menu-ico {
  position: relative;
  display: block;
  width: 22px;
  height: 9px;
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
.nav-menu-ico::before,
.nav-menu-ico::after {
  content: "";
  position: absolute;
  right: 0;
  width: 22px;
  height: 1.5px;
  border-radius: 1px;
  transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}
.nav-menu-ico::before { top: 0; background: currentColor; }
.nav-menu-ico::after { bottom: 0; background: #dbb66a; transform: scaleX(0.62); transform-origin: right; }
@media (hover: hover) { .nav-menu:hover .nav-menu-ico::after { transform: none; } }
.nav-menu:active .nav-menu-ico { transform: scale(0.92); }
@media (max-width: 359px) {
  .k-nav, .xp-nav { gap: 0.625rem; }
  .k-nav .brand, .xp-nav .brand { gap: 0.5rem; }
  .k-nav .brand svg, .xp-nav .brand svg { width: 26px; height: 19px; }
  .k-nav .brand-txt strong, .xp-nav .brand-txt strong { letter-spacing: 0.2em; }
  .k-nav .nav-cta, .xp-nav .nav-cta { letter-spacing: 0.1em; }
  .nav-menu { margin-left: -8px; }
}
html.k-menu-on { overflow: hidden; }
.k-menu {
  --m-edge: clamp(1.2rem, 3.2vw, 3rem);
  --m-ease: cubic-bezier(0.16, 1, 0.3, 1);
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  margin: 0;
  padding: 0;
  border: 0;
  background-color: #0a0b0d;
  background-image: radial-gradient(130% 70% at 100% 0%, rgba(219, 182, 106, 0.08), transparent 62%);
  color: #f1e6d3;
  overflow-y: auto;
  overscroll-behavior: contain;
}
@media (max-width: 560px) { .k-menu { --m-edge: 1rem; } }
.k-menu--xp { --m-edge: var(--edge, 20px); }
.k-menu[open] { display: flex; flex-direction: column; animation: kMenuIn 0.42s var(--m-ease) both; }
.k-menu::backdrop { background: rgba(5, 6, 7, 0.72); }
.k-menu[open]::backdrop { animation: kMenuIn 0.42s ease both; }
.k-menu.is-out,
.k-menu.is-out::backdrop { animation: kMenuOut 0.22s ease both; }
@keyframes kMenuIn { from { opacity: 0; } to { opacity: 1; } }
@keyframes kMenuOut { from { opacity: 1; } to { opacity: 0; } }
.k-menu .k-menu-top { position: static; flex: none; z-index: auto; background: none; }
.k-menu-x {
  position: relative;
  flex: none;
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  margin: -8px -11px -8px 0;
  padding: 0;
  border: 0;
  background: none;
  color: #fff;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
.k-menu-x:focus-visible { outline: 2px solid #dbb66a; outline-offset: -4px; }
.k-menu-x-ico { position: relative; display: block; width: 22px; height: 22px; }
.k-menu-x-ico::before,
.k-menu-x-ico::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  height: 1.5px;
  margin-top: -0.75px;
  border-radius: 1px;
  background: currentColor;
}
.k-menu-x-ico::before { transform: rotate(45deg); }
.k-menu-x-ico::after { transform: rotate(-45deg); background: #dbb66a; }
.k-menu[open] .k-menu-x-ico::before { animation: kMenuX1 0.6s var(--m-ease) both; }
.k-menu[open] .k-menu-x-ico::after { animation: kMenuX2 0.6s var(--m-ease) both; }
@keyframes kMenuX1 { from { transform: rotate(0deg); } to { transform: rotate(45deg); } }
@keyframes kMenuX2 { from { transform: rotate(0deg) scaleX(0.62); } to { transform: rotate(-45deg); } }
.k-menu-nav {
  display: grid;
  padding: clamp(1.4rem, 5.5vh, 3rem) var(--m-edge) 0;
}
.k-menu-nav a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  min-height: 3.6rem;
  padding: 0.5rem 0;
  border-bottom: 1px solid rgba(241, 230, 211, 0.08);
  font-family: var(--font-display, "Prata", "Prata Fallback", Georgia, serif);
  font-size: clamp(1.65rem, 8vw, 2.3rem);
  font-weight: 400;
  line-height: 1.12;
  letter-spacing: 0.005em;
  color: #f1e6d3;
  text-decoration: none;
}
.k-menu-nav a::after {
  content: "→";
  content: "→" / "";
  flex: none;
  font-family: var(--font-text, "Manrope", Arial, sans-serif);
  font-size: 1rem;
  color: #dbb66a;
  opacity: 0.5;
  transform: translateX(-6px);
  transition: transform 0.45s var(--m-ease), opacity 0.45s var(--m-ease);
}
.k-menu-nav a[aria-current="page"] { color: #dbb66a; }
.k-menu-nav a[aria-current="page"]::after { content: "•"; content: "•" / ""; opacity: 1; transform: none; }
.k-menu-nav a:active::after { opacity: 1; transform: none; }
@media (hover: hover) { .k-menu-nav a:hover::after { opacity: 1; transform: none; } }
.k-menu-nav a:focus-visible { outline: 2px solid #dbb66a; outline-offset: 2px; }
.k-menu-end {
  display: grid;
  justify-items: start;
  gap: 0.9rem;
  margin-top: auto;
  padding: 2.2rem var(--m-edge) calc(1.6rem + env(safe-area-inset-bottom, 0px));
}
.k-menu-cta {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 0.85rem;
  min-height: 48px;
  font-family: var(--font-text, "Manrope", Arial, sans-serif);
  font-size: 0.86rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  text-decoration: none;
  color: #dbb66a;
}
.k-menu-cta::after {
  content: "→";
  content: "→" / "";
  transition: transform 0.45s var(--m-ease);
}
.k-menu-cta:active::after { transform: translateX(6px); }
.k-menu-cta:focus-visible { outline: 2px solid #dbb66a; outline-offset: 4px; }
.k-menu-tel { display: flex; flex-wrap: wrap; gap: 0 1.6rem; margin: 0; }
.k-menu .k-menu-tel a[href] {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding-block: 0;
  font-family: var(--font-display, "Prata", "Prata Fallback", Georgia, serif);
  font-size: 1.05rem;
  letter-spacing: 0.02em;
  color: #f1e6d3;
  text-decoration: none;
}
.k-menu-tel a:focus-visible { outline: 2px solid #dbb66a; outline-offset: 2px; }
.k-menu[open] .k-menu-nav a { animation: kMenuUp 0.7s var(--m-ease) both; }
.k-menu[open] .k-menu-nav a:nth-child(1) { animation-delay: 0.08s; }
.k-menu[open] .k-menu-nav a:nth-child(2) { animation-delay: 0.13s; }
.k-menu[open] .k-menu-nav a:nth-child(3) { animation-delay: 0.18s; }
.k-menu[open] .k-menu-nav a:nth-child(4) { animation-delay: 0.23s; }
.k-menu[open] .k-menu-nav a:nth-child(5) { animation-delay: 0.28s; }
.k-menu[open] .k-menu-nav a:nth-child(n + 6) { animation-delay: 0.33s; }
.k-menu[open] .k-menu-end { animation: kMenuUp 0.7s var(--m-ease) 0.36s both; }
@keyframes kMenuUp { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) {
  .k-menu[open], .k-menu[open]::backdrop, .k-menu.is-out, .k-menu.is-out::backdrop,
  .k-menu[open] .k-menu-nav a, .k-menu[open] .k-menu-end,
  .k-menu[open] .k-menu-x-ico::before, .k-menu[open] .k-menu-x-ico::after { animation: none; }
  .nav-menu-ico, .nav-menu-ico::after, .k-menu-nav a::after, .k-menu-cta::after { transition: none; }
}
