/* Language entry and switch reuse the existing palette and typefaces. */
html.language-loading body{visibility:hidden}
html.language-entry body>:not(#language-picker){visibility:hidden}
#language-picker{position:fixed;inset:0;width:100%;max-width:none;height:100%;max-height:none;margin:0;border:0;padding:clamp(24px,6vw,80px);background:var(--ivory);color:var(--ink)}
#language-picker[open]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(35px,7vh,70px)}
#language-picker::backdrop{background:var(--ivory)}
#language-picker img{width:min(80vw,650px);height:auto;max-height:48svh;object-fit:contain}
.language-choices{display:flex;justify-content:center;gap:clamp(24px,7vw,70px)}
.language-choices button{min-width:110px;min-height:48px;padding:12px 18px;border:0;border-bottom:1px solid var(--gold);background:transparent;color:var(--ink);font-family:var(--serif);font-size:24px;cursor:pointer}
.language-choices button:focus-visible{outline:2px solid var(--accent);outline-offset:6px}
.language-switch{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;font-size:11px;letter-spacing:.06em}
.language-switch a{min-width:36px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}
.language-switch a[aria-current="true"]{color:var(--accent);text-decoration:underline;text-underline-offset:5px}
.masthead nav,.collection-header nav{align-items:center;flex-wrap:wrap}
@media(max-width:560px){.masthead nav{justify-content:flex-end;gap:10px}.language-switch{gap:2px}.collection-header nav{row-gap:4px}.language-choices{gap:24px}}
