/* Language preference lives inside the existing navigation disclosure. */
.language-picker {border:0;border-top:1px solid #d9ddd5;margin:12px 0 0;padding:16px 8px 4px;min-width:0}
.language-picker[hidden] {display:none}
.language-picker legend {float:left;width:100%;margin:0 0 10px;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#53645b}
.language-options {clear:both;display:grid;grid-template-columns:1fr 1fr;gap:6px}
.language-options button {display:flex;justify-content:space-between;align-items:center;gap:8px;min-height:44px;padding:10px 12px;border:1px solid #d9ddd5;border-radius:12px;background:#fff;color:#233b30;font:inherit;font-size:13px;cursor:pointer;text-align:left}
.language-options button span {font-size:10px;opacity:.7}
.language-options button:hover {background:#edf1e9}
.language-options button[aria-pressed="true"] {background:#244b3b;border-color:#244b3b;color:#fff}
.language-options button:focus-visible {outline:3px solid #719c81;outline-offset:2px}
.language-options button:disabled {cursor:wait;opacity:.6}
.language-status {font-size:12px;line-height:1.5;margin:8px 0 0}
.language-status:empty {display:none}
.mobile-menu nav {max-height:calc(100dvh - 100px);overflow-y:auto;overscroll-behavior:contain}
/* Longer translated invitations must leave room for the hamburger on small screens. */
@media(max-width:600px){
 html:not([lang="nl"]) .site-header .main-nav {min-width:0;flex:1}
 html:not([lang="nl"]) .site-header .nav-contact {display:block;white-space:normal;text-align:center;line-height:1.2;font-size:10px;padding:10px 8px}
 html:not([lang="nl"]) .site-header .nav-contact>span {display:none}
}

/* Allow translated compound words to wrap in narrow content columns. */
html:not([lang="nl"]) :is(h1,h2,h3,.app-card,.connector-card,.technology-tile-kind) {overflow-wrap:anywhere;hyphens:auto}
