/* Shared, native disclosure. All language pages and links work without JS. */
.nav .language-switcher { position: relative; flex: 0 0 auto; margin-left: -12px; color: inherit; z-index: 60; }
.language-switcher summary { display: flex; align-items: center; justify-content: center; gap: 6px; min-height: 44px; padding: 8px 12px; border: 0; border-radius: 12px; font: inherit; font-size: 13px; line-height: 20px; font-weight: 500; cursor: pointer; list-style: none; white-space: nowrap; }
.nav .language-switcher summary { font-family: inherit; font-size: 16px; line-height: 24px; font-weight: 400; letter-spacing: 0; }
.language-switcher summary::-webkit-details-marker { display: none; }
.language-switcher summary svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.5; }
.language-switcher summary .language-chevron { width: 14px; height: 14px; transition: transform .15s ease; }
.language-switcher[open] .language-chevron { transform: rotate(180deg); }
.language-switcher summary:hover, .language-switcher[open] summary { background: #7f91b51a; }
.language-switcher summary:focus-visible, .language-options a:focus-visible { outline: 2px solid #5594ff; outline-offset: 3px; }
.landing-page .nav .language-switcher { color: #fff; }
.language-options { position: absolute; right: 0; top: calc(100% + 12px); display: grid; width: 220px; padding: 8px; border: 1px solid #e0e6ef; border-radius: 18px; background: #fff; box-shadow: 0 16px 48px #07132b26; color: #151b32; }
.language-options a { display: flex; align-items: center; min-height: 42px; padding: 8px 12px; border-radius: 10px; color: #151b32; font-size: 14px; line-height: 22px; font-weight: 400; text-decoration: none; }
.language-options a:hover { color: #0a5cff; background: #f2f5fb; }
.language-options a[aria-current] { color: #0a5cff; background: #edf3ff; font-weight: 500; }
.language-options a[aria-current]::after { content: '✓'; margin-left: auto; padding-left: 12px; }
.landing-page .nav, .interior-page .nav { gap: 32px; }
.landing-page .nav-links, .interior-page .nav-links { gap: 32px; }
.nav .nav-links a { min-width: 0; white-space: nowrap; }
.nav-label-short { display: none; }
.translation-notice { margin: 0 0 28px; color: var(--muted, #5f687d); font-size: 14px; line-height: 22px; }
.translation-notice a { text-decoration: underline; text-underline-offset: 3px; }
/* Unicode fonts use the platform's native Cyrillic and CJK families. */
:lang(ru), :lang(ja), :lang(zh-CN) { font-family: 'Urbanist', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Noto Sans', sans-serif; }
:lang(ja) h1, :lang(ja) h2, :lang(zh-CN) h1, :lang(zh-CN) h2 { line-height: 1.3; letter-spacing: -.025em; word-break: normal; }
.landing-page:lang(de) .hero h1, .landing-page:lang(fr) .hero h1 { font-size: clamp(40px, 4.2vw, 66px); }
.landing-page:not(:lang(en)) .closing h2 { font-size: clamp(32px, 3.5vw, 48px); line-height: 1.2; }
/* The approval page has no marketing navigation; keep the same control quiet. */
body > .language-switcher { position: absolute; right: 24px; top: 20px; z-index: 10; }
@media (max-width: 1100px) {
 .nav .language-switcher { margin-left: -12px; }
 .landing-page .nav, .interior-page .nav { gap: 20px; }
 .landing-page .nav-links, .interior-page .nav-links { gap: 20px; }
}
@media (max-width: 760px) {
 .landing-page .nav, .interior-page .nav { gap: 12px; }
 .landing-page .nav { padding-inline: 12px; }
 .interior-page .nav { padding-inline: 0; }
 .landing-page .nav-links, .interior-page .nav-links { gap: 12px; }
 .nav-label-full { display: none; }
 .nav-label-short { display: inline; }
 .nav .language-switcher { margin-left: -8px; }
 .language-switcher summary { gap: 4px; padding: 6px 8px; font-size: 12px; }
 .nav .language-switcher summary { font-size: 13px; }
 .language-switcher summary svg { width: 16px; height: 16px; }
 .language-switcher summary .language-chevron { width: 10px; height: 10px; }
 .language-options { top: calc(100% + 8px); width: 208px; max-height: calc(100dvh - 120px); overflow-y: auto; }
 .landing-page:lang(de) .hero h1, .landing-page:lang(fr) .hero h1 { font-size: clamp(36px, 8.5vw, 58px); }
 .landing-page:not(:lang(en)) .closing h2 { font-size: 30px; }
}
@media (max-width: 620px) {
 .landing-page .nav .nav-brand span, .interior-page .nav .nav-brand span { display: none; }
}
@media (prefers-reduced-motion: reduce) { .language-chevron { transition: none !important; } }
@media (max-width: 760px) {
 .landing-page:lang(ja) .hero h1 { font-size: clamp(28px, 6.8vw, 44px); }
 .landing-page:lang(zh-CN) .hero h1 { font-size: clamp(32px, 7.5vw, 48px); }
}

/* Short Russian headline: two balanced lines with natural leading. */
.landing-page:lang(ru) .hero h1 { font-size: clamp(40px, 4.2vw, 66px); line-height: 1.12; }
@media (max-width: 760px) {
 .landing-page:lang(ru) .hero h1 { font-size: clamp(34px, 8.5vw, 58px); }
}
