/* ============================================================
   NAVIGATION
   ============================================================ */
nav {
  position:fixed; top:0; left:0; right:0; z-index:1000;
  height:var(--nav-h);
  display:flex; align-items:center; padding:0 48px;
}
nav::after {
  content:''; position:absolute; inset:0;
  background:transparent; backdrop-filter:blur(0);
  border-bottom:1px solid transparent;
  transition:background .45s var(--ease), backdrop-filter .45s, border-color .45s;
  z-index:-1;
}
nav.scrolled::after {
  background:rgba(10,8,6,.82);
  backdrop-filter:blur(22px) saturate(1.4);
  border-bottom-color:rgba(232,131,109,.12);
}

.nav-in {
  display:flex; align-items:center;
  justify-content:space-between; width:100%;
}

/* Logo */
.nav-logo { display:flex; align-items:center; gap:13px; }
.logo-em {
  width:40px; height:40px; border-radius:50%; background:var(--gold);
  display:flex; align-items:center; justify-content:center;
  overflow:hidden;
  transition:transform .55s var(--ease);
}
.logo-em img { width:100%; height:100%; object-fit:cover; display:block; }
.nav-logo:hover .logo-em { transform:rotate(360deg); }
.logo-tx { line-height:1.2; }
.logo-name { font-family:var(--f-disp); font-size:15px; font-weight:700; color:var(--text); letter-spacing:.02em; transition:color .35s; }
.logo-sub  { font-size:9px; font-weight:400; letter-spacing:.18em; text-transform:uppercase; color:var(--gold); }
nav.scrolled .logo-name { color:#fff; }

/* Nav links */
.nav-ul { display:flex; align-items:center; gap:36px; list-style:none; }
.nav-ul a {
  font-size:12px; font-weight:400; letter-spacing:.08em;
  color:var(--muted); position:relative; padding-bottom:4px;
  transition:color .25s;
}
.nav-ul a::after {
  content:''; position:absolute; bottom:0; left:0;
  width:0; height:1px; background:var(--gold);
  transition:width .28s var(--ease);
}
.nav-ul a:hover { color:var(--text); }
.nav-ul a:hover::after { width:100%; }
nav.scrolled .nav-ul a { color:rgba(255,255,255,.65); }
nav.scrolled .nav-ul a:hover { color:#fff; }

/* Hamburger */
.ham { display:none; flex-direction:column; gap:5px; padding:4px; }
.ham span { display:block; height:1.5px; background:var(--text); transition:all .3s var(--ease); }
nav.scrolled .ham span { background:#fff; }
.ham span:nth-child(1) { width:24px; }
.ham span:nth-child(2) { width:16px; }
.ham span:nth-child(3) { width:20px; }
.ham.open span:nth-child(1) { transform:translateY(6.5px) rotate(45deg); width:24px; }
.ham.open span:nth-child(2) { opacity:0; }
.ham.open span:nth-child(3) { transform:translateY(-6.5px) rotate(-45deg); width:24px; }

/* Full-screen mobile menu */
.mob-menu {
  position:fixed; inset:0; z-index:999;
  background:var(--black);
  display:flex; flex-direction:column;
  align-items:center; justify-content:center; gap:8px;
  transform:translateX(100%);
  transition:transform .55s var(--ease);
  pointer-events:none;
}
.mob-menu.open { transform:translateX(0); pointer-events:all; }
.mob-menu a {
  font-family:var(--f-disp); font-style:italic;
  font-size:clamp(36px,7vw,64px); font-weight:700;
  color:rgba(255,255,255,.15); transition:color .25s;
  line-height:1.3;
}
.mob-menu a:hover { color:var(--gold); }
.mob-menu .mob-cta {
  margin-top:32px;
  font-style:normal; font-size:13px; font-weight:500;
  letter-spacing:.12em; text-transform:uppercase;
  color:var(--gold); border-bottom:1px solid var(--gold);
  padding-bottom:3px;
}
