/* ============================================================
   Fullscreen nav overlay - fixed, full-viewport, black.
   Z-order bottom->top: panel -> photo field -> links -> mark -> close.
   ============================================================ */

.menu-overlay {
  position: fixed;
  inset: 0;
  z-index: var(--z-overlay);
  visibility: hidden;
  opacity: 0;
}
.menu-overlay.is-open { visibility: visible; }

.menu-panel {
  position: absolute;
  inset: 0;
  background: #1F0812;
  overflow: hidden;
}

/* --- decorative photo field: two image rows rotated ~25deg --- */
.menu-photos {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.menu-circle {
  position: absolute;
  border-radius: 50%;
  object-fit: cover;
}
.menu-circle--top    { width: 345px; height: 345px; left: 165px;  top: -240px; }
.menu-circle--left   { width: 345px; height: 345px; left: -70px;  top: 55px; }
.menu-circle--house  { width: 345px; height: 345px; left: 320px;  top: 234px; }
.menu-tile {
  position: absolute;
  object-fit: cover;
  border-radius: 130px;
}
.menu-tile--car {
  width: 900px;
  height: 420px;
  right: -180px;
  top: -120px;
  transform: rotate(26deg);
}
.menu-band {
  position: absolute;
  display: flex;
  gap: 20px;
  width: 900px;
  right: -160px;
  bottom: -40px;
  transform: rotate(25deg);
  transform-origin: center;
}
.menu-band img {
  width: 170px;
  height: 170px;
  border-radius: 40px;
  object-fit: cover;
  flex: none;
}

/* --- nav links --- */
.menu-nav {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0;
}
.menu-link {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(40px, 5vw, 72px);
  line-height: 1.3;
  text-transform: none;
  color: #FFEBD8;
  transition: color var(--dur-base);
}
.menu-link:hover { color: rgb(255 235 216 / 0.7); }

/* --- mark + close --- */
.menu-mark {
  position: absolute;
  z-index: 3;
  top: 30px;
  left: 50%;
  transform: translateX(-50%);
  font-family: var(--font-display);
  font-size: 56px;
  font-weight: 700;
  color: #FFEBD8;
}
.menu-close {
  position: absolute;
  z-index: 3;
  top: 28px;
  right: 44px;
  width: 48px;
  height: 32px;
  border-radius: 16px;
  background: rgb(255 235 216 / 0.5);
  color: #FFEBD8;
  font-size: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
}

@media (max-width: 700px) {
  .menu-circle--house { left: 55%; top: 60%; width: 240px; height: 240px; }
  .menu-tile--car { display: none; }
}
