.site-header {
  background: #fff;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.desktop-nav {
  overflow: visible;
}

.header-inner > .brand {
  padding-left: 8px;
}

.desktop-nav > a,
.nav-dropdown,
.nav-services {
  height: 48px;
}

.desktop-nav > a {
  display: flex;
  align-items: center;
}

.nav-dropdown {
  position: relative;
  align-self: stretch;
  display: flex;
  align-items: center;
}

.nav-services {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 48px;
  padding: 15px 16px;
  border: 0;
  color: var(--ink);
  background: transparent;
  font-size: inherit;
  font-weight: inherit;
  letter-spacing: inherit;
  text-transform: inherit;
  cursor: pointer;
  line-height: 16px;
  transition: color .2s ease, background-color .2s ease;
}

.nav-services span {
  color: var(--blue);
  font-size: 12px;
  transition: transform .25s ease;
}

.nav-dropdown.is-open .nav-services,
.nav-services:hover,
.nav-services:focus-visible {
  color: #fff;
  background: var(--blue);
  outline: none;
}

.nav-dropdown.is-open .nav-services span {
  color: #fff;
  transform: rotate(180deg);
}

.services-submenu {
  position: absolute;
  z-index: 150;
  top: calc(100% + 15px);
  left: 0;
  width: 345px;
  padding: 8px;
  border: 1px solid #dfe5ee;
  background: #fff;
  box-shadow: 0 28px 60px rgba(18, 42, 80, .18);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-16px);
  transition: opacity .25s ease, transform .32s cubic-bezier(.2,.8,.2,1), visibility .25s;
}

.services-submenu::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: -16px;
  height: 16px;
}

.nav-dropdown.is-open .services-submenu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.services-submenu a {
  display: block;
  padding: 15px 13px;
  color: var(--ink);
  background: #fff;
  font-size: 12px;
  letter-spacing: .065em;
  text-transform: uppercase;
}

.services-submenu a::after { display: none; }
.services-submenu a:hover,.services-submenu a:focus-visible { color: #fff; background: var(--blue); transform: none; outline: none; }
.header-cta {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  min-height: 48px;
  padding: 0 18px;
  border: 2px solid var(--blue);
  color: var(--ink);
  background: transparent;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .065em;
  line-height: 1;
  text-transform: uppercase;
  white-space: nowrap;
  box-shadow: none;
  transition: color .2s ease, background-color .2s ease;
}

.header-cta::before,
.header-cta::after {
  content: "";
  position: absolute;
  pointer-events: none;
}

.header-cta::before {
  content: none;
}

.header-cta::after {
  content: none;
}

.header-cta:hover,.header-cta:focus-visible { color:#fff; background:var(--blue); outline:none; }

.language-switcher {
  position: relative;
  align-self: center;
  flex-shrink: 0;
  margin-left: 8px;
  padding-left: 22px;
  border-left: 1px solid #cfd5df;
}

.language-toggle {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  padding: 0;
  border: 0;
  color: var(--ink);
  background: transparent;
  cursor: pointer;
  font-size: 21px;
  line-height: 1;
  transition: background-color .2s ease, transform .2s ease;
}

.language-toggle:hover,
.language-toggle:focus-visible,
.language-switcher.is-open .language-toggle {
  background: #edf2ff;
  outline: none;
  transform: translateY(-2px);
}

.language-menu {
  position: absolute;
  z-index: 160;
  top: calc(100% + 17px);
  right: 0;
  width: 175px;
  padding: 7px;
  border: 1px solid #dfe5ee;
  background: #fff;
  box-shadow: 0 24px 55px rgba(18,42,80,.18);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-12px);
  transition: opacity .22s ease, transform .28s cubic-bezier(.2,.8,.2,1), visibility .22s;
}

.language-menu::before { content:""; position:absolute; left:0; right:0; top:-18px; height:18px; }
.language-switcher.is-open .language-menu { opacity:1; visibility:visible; transform:translateY(0); }
.language-menu a { display:flex; align-items:center; gap:11px; padding:12px; font-size:11px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
.language-menu a span { font-size:18px; line-height:1; }
.language-menu a:hover,.language-menu a:focus-visible { color:#fff; background:var(--blue); outline:none; }

.mobile-services button {
  width: 100%;
  display: flex;
  justify-content: space-between;
  padding: 12px;
  border: 0;
  background: #fff;
  font-size: inherit;
  font-weight: inherit;
  letter-spacing: inherit;
  text-transform: inherit;
}
.mobile-services>div { display: none; padding-left: 14px; }
.mobile-services.is-open>div { display: grid; }
.mobile-services.is-open>button { color: #fff; background: var(--blue); }
.mobile-services>div a { font-size: 10px; }

@media (max-width:1100px) {
  .header-cta { margin-left: auto; }
}

@media (max-width:680px) {
  .header-cta { display: none; }
  .language-switcher { margin-left:auto; padding-left:14px; }
}
