.primary-navigation{
  flex:1 1 auto;
  display:flex;
  align-items:center;
  justify-content:flex-end;
}
.primary-menu{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:2.2rem;
  list-style:none;
  margin:0;
  padding:0;
}
.primary-menu li{
  position:relative;
}
.primary-menu>li>a{
  display:flex;
  align-items:center;
  min-height:48px;
  color:#fff;
  font-weight:500;
  text-decoration:none;
  opacity:.94;
  transition:opacity .18s ease,color .18s ease,background .18s ease,box-shadow .18s ease,transform .18s ease;
}
.primary-menu>li>a:hover,
.primary-menu>.current-menu-item>a,
.primary-menu>.current-menu-ancestor>a{
  opacity:1;
  color:#fff;
}
.primary-menu>.menu-item-has-children>a::after{
  content:'';
  flex:0 0 auto;
  width:.58rem;
  height:.58rem;
  margin-left:.55rem;
  border-right:2px solid currentColor;
  border-bottom:2px solid currentColor;
  transform:translateY(-.14rem) rotate(45deg);
  transition:transform .18s ease;
}
.primary-menu>.menu-item-has-children:hover>a::after,
.primary-menu>.menu-item-has-children:focus-within>a::after,
.primary-menu>.menu-item-has-children.is-open>a::after{
  transform:translateY(.14rem) rotate(225deg);
}
.primary-menu>li:last-child>a{
  min-width:196px;
  min-height:54px;
  padding:.9rem 1.55rem;
  border-radius:999px;
  background:#fff;
  color:var(--h3p-navy);
  justify-content:center;
  box-shadow:0 12px 28px rgba(15,52,67,.16);
  opacity:1;
}
.primary-menu>li:last-child>a:hover,
.primary-menu>li:last-child.current-menu-item>a{
  color:var(--h3p-blue-dark);
  transform:translateY(-2px);
  box-shadow:0 16px 34px rgba(15,52,67,.2);
}
.primary-menu .sub-menu{
  position:absolute;
  top:100%;
  left:-1rem;
  z-index:60;
  min-width:250px;
  background:#fff;
  border:1px solid var(--color-border);
  box-shadow:var(--shadow);
  border-radius:var(--radius-md);
  padding:.6rem;
  list-style:none;
  margin:0;
  opacity:0;
  visibility:hidden;
  transform:translateY(10px);
  transition:.18s ease;
}
.primary-menu li:hover>.sub-menu,
.primary-menu li:focus-within>.sub-menu{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}
.primary-menu .sub-menu a{
  display:block;
  padding:.75rem .85rem;
  border-radius:12px;
  color:var(--color-text);
  font-weight:700;
  text-decoration:none;
}
.primary-menu .sub-menu a:hover{
  background:var(--color-soft);
  color:var(--h3p-blue-dark);
}
