html:has(.language-dialog[open]) { overflow: hidden; }
.language-dialog { width: min(480px, calc(100% - 32px)); max-width: none; max-height: calc(100dvh - 32px); margin: auto; padding: 36px; border: 1px solid var(--color-border); border-radius: 24px; background: var(--color-surface); color: var(--color-navy); box-shadow: 0 24px 80px #142b541a; text-align: center; }
.language-dialog::backdrop { background: rgb(255 255 255 / 78%); backdrop-filter: blur(6px); }
.language-dialog[open], .language-dialog[open]::backdrop { animation: language-appear 220ms ease-out both; }
.language-dialog.is-closing, .language-dialog.is-closing::backdrop { animation: language-disappear 160ms ease-in both; }
.language-dialog > img { display: block; width: 124px; height: auto; margin: 0 auto 28px; }
.language-dialog h2 { margin: 0 0 8px; font-size: 27px; font-weight: 620; letter-spacing: -.04em; }
.language-dialog h2:focus { outline: none; }
.language-dialog > p { margin: 0 0 28px; color: var(--color-muted); font-size: 14px; }
.language-options { display: grid; gap: 12px; }
.language-options button { display: flex; align-items: center; gap: 16px; width: 100%; min-height: 64px; padding: 12px 18px; border: 1px solid var(--color-border); border-radius: 12px; background: var(--color-surface-soft); color: var(--color-navy); text-align: left; cursor: pointer; }
.language-options button:hover { background: var(--color-surface); }
.language-options button > span:first-child { color: var(--color-primary); font-size: 11px; font-weight: 600; letter-spacing: .04em; }
.language-options strong { font-size: 15px; font-weight: 550; }
.language-options button > span:last-child { margin-left: auto; font-size: 19px; }
@keyframes language-appear { from { opacity: 0; } to { opacity: 1; } }
@keyframes language-disappear { from { opacity: 1; } to { opacity: 0; } }
@media (max-width: 480px) {
  .language-dialog { width: calc(100% - var(--landing-mobile-gutter) * 2); padding: 28px 20px; }
  .language-dialog h2 { font-size: 23px; }
}
@media (prefers-reduced-motion: reduce) {
  .language-dialog[open], .language-dialog[open]::backdrop { animation: none; }
}
