/* Additive language switcher; no rules for hero, service grid or page content. */
.site-header nav { flex-wrap: wrap; }
.language-switch { position: relative; flex: 0 0 auto; margin-inline-start: auto; font-size: .875rem; line-height: 1.4; }
.language-switch summary { display: flex; align-items: center; gap: .35rem; min-height: 44px; padding: .45rem .6rem; border: 1px solid var(--line); border-radius: .55rem; cursor: pointer; list-style: none; white-space: nowrap; }
.language-switch summary::-webkit-details-marker { display: none; }
.language-switch summary::after { content: "⌄"; }
.language-switch summary:focus-visible { outline: 3px solid var(--lime-dark); outline-offset: 3px; }
.language-options { position: absolute; inset-inline-end: 0; top: calc(100% + .4rem); z-index: 40; display: grid; min-width: min(10rem, calc(100vw - 2rem)); max-width: calc(100vw - 2rem); padding: .35rem; color: var(--ink); background: var(--paper); border: 1px solid var(--line); border-radius: .7rem; box-shadow: var(--shadow); }
.site-header nav .language-options a { display: flex; padding: .5rem .65rem; min-height: 44px; border-radius: .35rem; font-size: .9rem; }
.language-options a[aria-current="true"] { background: var(--ink); color: var(--paper); }
.language-options a:hover { text-decoration: underline; }
.locale-context { padding-block: 1rem; border-top: 1px solid rgba(255,255,255,.2); color: #eee7cf; font-size: .875rem; }
.a11y-contrast .language-options { background: #000; color: #fff; border-color: #fff; }
.a11y-contrast .language-options a[aria-current="true"] { background: #fff; color: #000; }
@media (forced-colors: active) { .language-options { border: 1px solid CanvasText; } }
