.nav-services {
  position:relative;
}

.nav-services-trigger {
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:0;
  border:0;
  background:transparent;
  color:#fff;
  font-family:inherit;
  font-size:10px;
  font-weight:600;
  letter-spacing:2.5px;
  line-height:1.6;
  text-transform:uppercase;
  cursor:pointer;
  transition:color .3s ease;
}

.nav-services-trigger:hover,
.nav-services-trigger:focus-visible,
.nav-services-trigger.active,
.nav-services.is-open .nav-services-trigger {
  color:#FFDE71;
}

.nav-services-trigger:focus-visible {
  outline:1px solid rgba(255,222,113,.8);
  outline-offset:7px;
}

.nav-services-caret {
  width:6px;
  height:6px;
  border-right:1px solid currentColor;
  border-bottom:1px solid currentColor;
  transform:translateY(-2px) rotate(45deg);
  transition:transform .28s ease;
}

.nav-services.is-open .nav-services-caret,
.nav-services:hover .nav-services-caret,
.nav-services:focus-within .nav-services-caret {
  transform:translateY(2px) rotate(225deg);
}

.nav-services-menu {
  position:absolute;
  top:calc(100% + 18px);
  left:50%;
  z-index:110;
  min-width:220px;
  margin:0;
  padding:10px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(10,10,10,.97);
  box-shadow:0 22px 48px rgba(0,0,0,.25);
  list-style:none;
  opacity:0;
  pointer-events:none;
  transform:translate(-50%,8px);
  transition:opacity .24s ease, transform .24s ease;
}

.nav-services-menu::before {
  content:'';
  position:absolute;
  right:0;
  bottom:100%;
  left:0;
  height:18px;
}

.nav-services:hover .nav-services-menu,
.nav-services:focus-within .nav-services-menu,
.nav-services.is-open .nav-services-menu {
  opacity:1;
  pointer-events:auto;
  transform:translate(-50%,0);
}

.nav-links .nav-services-menu li {
  width:100%;
  list-style:none;
}

.nav-links .nav-services-menu a {
  display:block;
  width:100%;
  padding:12px 14px;
  color:rgba(255,255,255,.72);
  font-size:9px;
  letter-spacing:2px;
  text-align:left;
  white-space:nowrap;
  transition:background .25s ease, color .25s ease;
}

.nav-links .nav-services-menu a:hover,
.nav-links .nav-services-menu a:focus-visible,
.nav-links .nav-services-menu a.active {
  background:rgba(181,154,106,.13);
  color:#FFDE71;
}

.nav-links .nav-services-menu a:focus-visible {
  outline:1px solid rgba(255,222,113,.7);
  outline-offset:-1px;
}

@media (max-width:960px) {
  .nav-services {
    width:100%;
    text-align:center;
  }

  .nav-services-trigger {
    justify-content:center;
    width:100%;
    padding:22px 0;
    font-size:16px;
    letter-spacing:3.2px;
  }

  .nav-services-trigger:focus-visible {
    outline-offset:-6px;
  }

  .nav-services-menu,
  .nav-services:not(.is-open) .nav-services-menu {
    position:static;
    min-width:0;
    max-height:0;
    padding:0;
    border:0;
    background:rgba(255,255,255,.035);
    box-shadow:none;
    opacity:1;
    overflow:hidden;
    pointer-events:none;
    transform:none;
    transition:max-height .32s ease, padding .32s ease;
  }

  .nav-services-menu::before {
    display:none;
  }

  .nav-services.is-open .nav-services-menu {
    max-height:180px;
    padding:6px 0 12px;
    pointer-events:auto;
    transform:none;
  }

  .nav-links .nav-services-menu a {
    padding:11px 0;
    color:rgba(255,255,255,.58);
    font-size:11px;
    letter-spacing:2.6px;
    text-align:center;
  }
}

@media (prefers-reduced-motion:reduce) {
  .nav-services-caret,
  .nav-services-menu {
    transition:none;
  }
}
