@font-face {
  font-family: "Noto Sans Armenian";
  src: url("assets/noto-sans-armenian.woff2") format("woff2");
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  unicode-range: U+0530-058F, U+FB13-FB17;
}
.language-picker {
  position: relative;
  z-index: 110;
  flex: 0 0 auto;
  color: #102746;
  font: 600 14px/1.2 Arial, sans-serif;
}
.language-picker__button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-width: 66px;
  height: 42px;
  padding: 0 8px;
  border: 1px solid #cceaf0;
  border-radius: 12px;
  background: #fff;
  color: inherit;
  cursor: pointer;
  box-shadow: 0 4px 14px rgba(0, 129, 151, .08);
}
.language-picker__button:hover,
.language-picker__button:focus-visible {
  border-color: #1abed1;
}
.language-picker__flag { display: block; width: 25px; height: 18px; object-fit: cover; border-radius: 3px; box-shadow: 0 0 0 1px rgba(16,39,70,.12); }
.language-picker__chevron { font-size: 10px; opacity: .7; }
.language-picker__menu {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  width: min(220px, calc(100vw - 24px));
  max-height: min(360px, 60vh);
  max-height: min(360px, 60dvh);
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  padding: 6px;
  border: 1px solid #d6edf1;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 18px 45px rgba(17, 43, 67, .18);
}
.language-picker__menu[hidden] { display: none; }
.language-picker__option {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  min-height: 35px;
  padding: 5px 8px;
  border-radius: 8px;
  color: #102746;
  text-decoration: none;
}
.language-picker__option:hover,
.language-picker__option[aria-current="true"] { background: #eaf9fb; }
.language-picker__option .language-picker__flag { flex: 0 0 auto; }
html[lang]:not([lang="ru"]) .hero__title { font-size: clamp(2.7rem, 3.9vw, 4.6rem); overflow-wrap: anywhere; }
html[lang]:not([lang="ru"]) .how-step h3 { overflow-wrap: anywhere; }
html[lang="hy"] body, html[lang="hy"] body * { font-family: "Noto Sans Armenian", "Inter Tight", Arial, sans-serif !important; }
.vacancies-header { grid-template-columns: auto 1fr auto auto auto; }
@media (max-width: 1100px) {
  .language-picker__button { min-width: 55px; height: 39px; padding: 0 6px; }
  .language-picker__flag { width: 23px; height: 16px; }
  .language-picker__chevron { display: none; }
  .site-header .language-picker,
  .hero__header .language-picker,
  .vacancies-header .language-picker { margin-left: auto; }
}
@media (max-width: 920px) {
  .hero__header .logo { order: 0; }
  .hero__header .language-picker { order: 1; }
  .hero__header .mobile-call { order: 2; margin-left: 0; }
  .hero__header .menu-toggle { order: 3; }
  .hero__header nav { order: 4; }
}
@media (max-width: 820px) {
  .site-header .logo { order: 0; }
  .site-header .language-picker { order: 1; }
  .site-header .mobile-call { order: 2; margin-left: 0; }
  .site-header .menu-toggle { order: 3; }
  .site-header nav { order: 4; }
}
@media (max-width: 980px) {
  .vacancies-header { grid-template-columns: auto 1fr auto auto auto; }
  .vacancies-header .language-picker { grid-column: 3; grid-row: 1; }
  .vacancies-header .mobile-call { grid-column: 4; }
  .vacancies-header .menu-toggle { grid-column: 5; }
}
@media (max-width: 700px) {
  html[lang]:not([lang="ru"]) .hero__title { font-size: clamp(1.65rem, 6vw, 2.15rem); overflow-wrap: anywhere; }
  .language-picker__button { min-width: 42px; width: 42px; height: 38px; border-radius: 10px; }
  .language-picker__code { display: none; }
  .language-picker__menu {
    right: -38px;
    width: min(205px, calc(100vw - 20px));
    max-height: min(300px, calc(100vh - 110px));
    max-height: min(300px, calc(100dvh - 110px));
  }
  .language-picker__option { min-height: 33px; padding: 4px 7px; font-size: 13px; }
  .language-picker__option .language-picker__flag { width: 22px; height: 16px; }
}

/* Keep real language links available without JavaScript. */
html:not(.has-js) .language-picker__menu { position: static; display: flex; flex-wrap: wrap; width: auto; max-height: none; }
html:not(.has-js) .language-picker__button { display: none; }
