/* Small public-language control; existing header, footer and motion owners stay intact. */
.public-language-menu { position: relative; flex: 0 0 auto; color: #b9d5e5; font-size: 13px; z-index: 30; }
.public-language-menu summary { display: flex; gap: 6px; align-items: center; justify-content: center; min-width: 48px; min-height: 44px; cursor: pointer; list-style: none; border: 1px solid #31546b; border-radius: 10px; padding: 0 9px; background: #071b29; }
.public-language-menu summary::-webkit-details-marker { display: none; }
.public-language-menu > div { position: absolute; inset-inline-end: 0; top: calc(100% + 6px); min-width: 150px; padding: 5px; border: 1px solid #31546b; border-radius: 10px; background: #071b29; box-shadow: 0 12px 24px #0006; }
.public-language-menu a { display: flex; align-items: center; min-height: 44px; padding: 8px 12px; text-decoration: none; color: #d7eaf4; border-radius: 6px; }
.public-language-menu a[aria-current] { background: #183a4d; }
.public-language-menu :is(a,summary):focus-visible { outline: 2px solid #72def3; outline-offset: 3px; }
.hp-requirements-visual { margin-inline: 0; }
.hp-requirements-visual .hp-visual-labels { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); text-align: center; align-items: end; }
.hp-requirements-visual .hp-visual-labels span { overflow-wrap: anywhere; hyphens: auto; }
@media (max-width: 960px) { .nav .public-language-menu { align-self: flex-start; } .nav .public-language-menu > div { position: static; margin-top: 6px; box-shadow: none; } }

/* Keep expanded language choices inside collapsed navigation, and unclip the desktop home dropdown. */
.nav.open .public-language-menu { align-self: flex-start; }
.nav.open .public-language-menu > div { position: static; margin-top: 6px; box-shadow: none; }
@media (min-width: 961px) { html[data-public-language] .home-page-shell .site-header .nav { clip-path: none; } }
