@font-face { font-family: Nunito; font-style: normal; font-weight: 400 900; font-display: swap; src: url('../fonts/nunito-cyrillic.woff2') format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
.language-picker { position: relative; font-size: 14px; }
.language-trigger { display: flex; align-items: center; gap: 8px; min-height: 44px; padding: 8px 10px; background: transparent; border: 1px solid transparent; border-radius: 10px; font-weight: 850; }
.language-trigger:hover, .language-trigger[aria-expanded=true] { background: #efede6; border-color: var(--line); }
.language-flag { width: 25px; height: 19px; object-fit: cover; border-radius: 3px; box-shadow: 0 0 0 1px #26273518; flex-shrink: 0; }
.language-chevron { width: 12px; height: 12px; transition: transform .2s; }
.language-trigger[aria-expanded=true] .language-chevron { transform: rotate(180deg); }
.language-options { position: absolute; right: 0; top: calc(100% + 10px); width: 260px; max-width: calc(100vw - 32px); max-height: min(530px, calc(100dvh - 100px)); overflow-y: auto; overscroll-behavior: contain; padding: 8px; border-radius: 16px; border: 1px solid var(--line); background: #fffefa; box-shadow: 0 14px 45px #26273520; }
.language-options[hidden] { display: none; }
.language-options a { width: 100%; display: flex; gap: 12px; align-items: center; min-height: 44px; padding: 9px 12px; border: 0; border-radius: 9px; background: transparent; text-align: left; font-size: 15px; font-weight: 750; }
.language-options a:hover { background: #f1eee6; }
.language-options a[aria-current=true] { background: #eaf0df; }
.language-options a[aria-current=true]::after { content: '✓'; margin-left: auto; color: #526b2d; }
.language-options a:focus-visible { outline-offset: -3px; }
:is(html[lang=de], html[lang=ru], html[lang=uk], html[lang=pt]) .hero h1 { font-size: clamp(49px, 5.2vw, 72px); }
.hero h1 { overflow-wrap: anywhere; }
h2, h3 { overflow-wrap: anywhere; }
.steps li > div { min-width: 0; }
@media (max-width: 1100px) and (min-width: 851px) {
  .site-header nav { gap: 15px; font-size: 12px; }
  .header-actions { gap: 10px; }
  .header-download { display: none; }
}
@media (max-width: 620px) {
  .language-trigger { padding: 8px; gap: 6px; }
  .language-options { right: -48px; }
  :is(html[lang=de], html[lang=ru], html[lang=uk], html[lang=pt]) .hero h1 { font-size: clamp(40px, 11vw, 64px); }
}
