:root{
  --nav-bg:#17181f;
  --nav-text:#f5f1e8;
  --nav-accent:#c9a66b;
  --nav-border:rgba(255,255,255,.08);
  --nav-hover:rgba(255,255,255,.06);
  --nav-cta-bg:#efe8da;
  --nav-cta-text:#65563f;
  --nav-shadow:0 16px 40px rgba(0,0,0,.22);
}


.main-nav{
  position:fixed;
  top:12px;
  left:0;
  width:100%;
  z-index:99999;
  padding:0 14px;
}

.nav-shell{
  position:relative;
  max-width:1280px;
  margin:0 auto;
  min-height:74px;
  background:var(--nav-bg);
  border:1px solid var(--nav-border);
  border-radius:180px;
  box-shadow:var(--nav-shadow);
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:10px 36px;
  gap:12px;
}

.nav-logo{
  display:flex;
  align-items:center;
  text-decoration:none;
  flex-shrink:0;
  position:relative;
  z-index:3;
}

.nav-logo img{
  display:block;
  height:34px;
  width:auto;
}

.nav-toggle{
  width:46px;
  height:46px;
  border:0;
  border-radius:14px;
  background:transparent;
  display:inline-flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  gap:5px;
  cursor:pointer;
  position:relative;
  z-index:3;
  -webkit-tap-highlight-color:transparent;
  transition:background .28s ease, transform .28s ease;
}

.nav-toggle:hover{
  background:var(--nav-hover);
}

.nav-toggle span{
  display:block;
  width:22px;
  height:2px;
  background:#fff;
  border-radius:999px;
  transform-origin:center;
  transition:transform .32s cubic-bezier(.22,1,.36,1), opacity .22s ease, width .28s ease;
}

.nav-toggle.is-open span:nth-child(1){
  transform:translateY(7px) rotate(45deg);
}

.nav-toggle.is-open span:nth-child(2){
  opacity:0;
  transform:scaleX(.4);
}

.nav-toggle.is-open span:nth-child(3){
  transform:translateY(-7px) rotate(-45deg);
}

.nav-menu{
  position:absolute;
  top:calc(100% + 10px);
  left:0;
  right:0;
  background:rgba(23,24,31,.98);
  border:1px solid var(--nav-border);
  border-radius:24px;
  box-shadow:var(--nav-shadow);
  padding:0px 14px 26px 14px;
  display:flex;
  flex-direction:column;
  gap:14px;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(-10px) scale(.98);
  transform-origin:top center;
  transition:
    opacity .32s ease,
    transform .38s cubic-bezier(.22,1,.36,1),
    visibility .32s ease;
  z-index:2;
}

.nav-menu.is-open{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateY(0) scale(1);
}

.nav-links{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:6px;
  margin: 24px 16px 36px;
}

.nav-link{
  position:relative;
  display:flex;
  align-items:center;
  min-height:48px;
  width:100%;
  padding:12px 14px;
  color:var(--nav-text);
  text-decoration:none;
  border-radius:14px;
  transition:
    background .25s ease,
    transform .25s ease,
    color .25s ease;
}

.nav-link:hover{
  background:var(--nav-hover);
  transform:translateX(2px);
}

.nav-link.active::after{
  content:"";
  position:absolute;
  left:14px;
  bottom:7px;
  width:42px;
  height:2px;
  border-radius:999px;
  background:var(--nav-accent);
}

.nav-links li {
  border-bottom: 1px solid #63636387;
}


.nav-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:50px;
  max-width: 200px;
  width:100%;
  padding:0 18px;
  border-radius:999px;
  text-decoration:none;
  background:var(--nav-cta-bg);
  color:var(--nav-cta-text);
  border:1px solid rgba(201,166,107,.42);
  font-size:.95rem;
  font-weight:600;
  letter-spacing:.02em;
  transition:
    transform .25s ease,
    box-shadow .25s ease,
    filter .25s ease;
    font-variant: small-caps;
    margin: auto;
}

.nav-cta:hover{
  transform:translateY(-1px);
  box-shadow:0 8px 20px rgba(0,0,0,.14);
  filter:brightness(1.02);
}

.nav-cta-icon{
  width:20px;
  height:20px;
  fill:currentColor;
  flex-shrink:0;
}

@media (min-width: 1000px){

  .nav-shell{
    min-height:82px;
    padding:12px 18px 12px 24px;
    gap:28px;
    width: 96%;
  }

  .nav-logo img{
    height:48px;
  }

  .nav-toggle{
    display:none;
  }

  .nav-menu{
    position:static;
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:none;
    background:transparent;
    border:0;
    box-shadow:none;
    padding:0;
    margin-left:auto;
    width:auto;
    flex-direction:row;
    align-items:center;
    justify-content:space-between;
    gap:28px;
  }

  .nav-links{
    flex-direction:row;
    align-items:center;
    gap:14px;
    margin: 24px 16px 0px;
  }

  .nav-links li {
    border-bottom: none;
}

  .nav-link{
    width:auto;
    min-height:auto;
    padding:12px 16px 16px;
    justify-content:center;
  }

  .nav-link:hover{
    transform:translateY(-1px);
  }

  .nav-link.active::after{
    left:16px;
    right:16px;
    width:auto;
    bottom:7px;
  }

  .nav-cta{
    width:auto;
    min-height:44px;
    padding:0 26px;
  }
}

@media (min-width: 1200px){

      .nav-shell {
        padding: 12px 66px 12px 66px;
        width: 86%;
    }

    .nav-links{
      margin: 24px 86px 0px 24px;
    }
}