/* Shared responsive header controls. The approved desktop header remains structurally unchanged. */
.language-control{position:relative;z-index:80;flex:0 0 auto;margin-left:10px}
.language-current{display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid transparent;border-radius:9px;background:transparent;color:inherit}
.language-current:hover{background:#8ccbd322}
.language-current:focus-visible{outline:3px solid #21b7cb;outline-offset:3px}
.language-current-mark,.language-option-visual{display:grid;place-items:center;min-width:40px;height:30px}
.language-current-mark img,.language-option-visual img{display:block;width:auto;height:20px;max-width:32px;object-fit:contain}
.language-bhs-mark{display:inline-block;color:currentColor;font-size:.72rem;font-weight:800;letter-spacing:.045em;line-height:1}
.language-popover{position:absolute;top:calc(100% + 8px);right:0;width:min(286px,calc(100vw - 32px));max-height:min(560px,calc(100dvh - 32px));overflow-y:auto;overscroll-behavior:contain;padding:6px;border:1px solid #c6d9df;border-radius:12px;background:#fff;color:#0a3458;box-shadow:0 18px 45px #00142138}
.hero-shell .language-popover{border-color:#315468;background:#08263a;color:#f4fbfd;box-shadow:0 18px 45px #00142175}
.language-option{display:grid;grid-template-columns:40px minmax(0,1fr) 18px;align-items:center;min-height:46px;gap:8px;padding:6px 9px;border-radius:8px;color:inherit;font-size:.9rem;line-height:1.25;text-decoration:none}
.language-option:hover,.language-option:focus-visible{background:#eaf6f8;color:#073c52;outline:none}
.hero-shell .language-option:hover,.hero-shell .language-option:focus-visible{background:#123e53;color:#fff}
.language-option.is-current{background:#e5f5f6;color:#075d70;font-weight:700}
.hero-shell .language-option.is-current{background:#104358;color:#8deaf0}
.language-option-check{font-size:1rem;color:#087f91;text-align:center}
.hero-shell .language-option-check{color:#69e0e6}

/* Compact mobile navigation: logo, current language, menu. The full nav stays in the drawer. */
.mobile-nav-toggle{display:none;flex:0 0 44px;place-items:center;width:44px;height:44px;padding:0;border:1px solid currentColor;border-radius:10px;background:transparent;color:inherit}
.mobile-nav-icon{display:grid;gap:5px;width:20px}
.mobile-nav-icon span{display:block;height:2px;border-radius:2px;background:currentColor;transform-origin:center;transition:transform .2s,opacity .2s}
.mobile-nav-toggle.is-open .mobile-nav-icon span:first-child{transform:translateY(7px) rotate(45deg)}
.mobile-nav-toggle.is-open .mobile-nav-icon span:nth-child(2){opacity:0}
.mobile-nav-toggle.is-open .mobile-nav-icon span:last-child{transform:translateY(-7px) rotate(-45deg)}

@media(max-width:900px){
  html.mobile-menu-open,html.mobile-menu-open body{overflow:hidden}
  .header,.header-inner{position:relative;z-index:30;height:auto;min-height:72px;flex-direction:row;align-items:center;flex-wrap:nowrap;column-gap:0;row-gap:0;padding-block:12px}
  .header .brand,.header-inner .brand{order:1;margin-right:auto;font-size:clamp(1.45rem,4vw,1.75rem)}
  .header .brand img,.header-inner .brand img{width:40px;height:40px}
  .language-control{order:2;margin-left:0;margin-right:12px}
  .language-current:hover,.language-current:active,.language-current[aria-expanded="true"]{border-color:transparent;background:transparent}
  .language-current-mark{justify-items:end}
  .mobile-nav-toggle{display:grid;order:3}
  .header nav.site-nav,.header-inner nav.site-nav{position:absolute;z-index:30;top:100%;left:0;right:0;order:4;display:flex;flex-direction:column;flex-wrap:nowrap;align-items:stretch;gap:0;width:auto;margin:0;max-height:0;overflow:hidden;overscroll-behavior:contain;padding:0 16px;visibility:hidden;opacity:0;pointer-events:none;transform:translateY(-8px);border:1px solid transparent;border-radius:0 0 16px 16px;box-shadow:0 18px 45px #00142155;transition:max-height .25s ease,padding .25s ease,opacity .2s ease,transform .25s ease,visibility .25s}
  .header nav.site-nav.is-open,.header-inner nav.site-nav.is-open{max-height:calc(100vh - 82px);max-height:calc(100dvh - 82px);overflow-y:auto;padding:12px 16px calc(16px + env(safe-area-inset-bottom));visibility:visible;opacity:1;pointer-events:auto;transform:translateY(0)}
  .header .site-nav{background:#061c2c;color:#fff;border-color:#2c5365}
  .header-inner .site-nav{background:#fff;color:#0a3458;border-color:#c9d9df}
  .header nav.site-nav>a,.header-inner nav.site-nav>a{display:flex;align-items:center;justify-content:space-between;min-height:48px;padding:10px 2px;border-bottom:1px solid currentColor;font-size:1rem;line-height:1.35;white-space:normal}
  .header nav.site-nav>a:not(.contact-link),.header-inner nav.site-nav>a:not(.nav-contact){display:flex}
  .header nav.site-nav .contact-link,.header-inner nav.site-nav .nav-contact{justify-content:center;min-height:48px;margin-top:11px;padding:10px 16px;border-radius:10px}
  .language-popover{right:0;max-height:min(560px,calc(100dvh - 24px))}
}

@media(max-width:420px){
  .language-popover{right:-12px;width:min(274px,calc(100vw - 88px))}
  .language-option{font-size:.86rem}
}

@media(prefers-reduced-motion:reduce){
  .mobile-nav-icon span,.header nav.site-nav,.header-inner nav.site-nav{transition:none}
}
