/* Native-language navigation, deliberately separate from the translation data. */
.utility:has(> .forge-language-menu) { align-items:center; padding-block:5px; flex-wrap:wrap; }
.utility:has(> .forge-language-menu) > span:last-of-type { margin-left:auto; }
.forge-language-menu { position:relative; flex:0 0 auto; margin:0; font:inherit; font-size:.8125rem; letter-spacing:0; line-height:1.5; z-index:30; }
.forge-language-menu__summary { display:flex; align-items:center; justify-content:center; gap:8px; min-height:44px; padding:8px 10px; border:1px solid transparent; border-radius:4px; color:inherit; cursor:pointer; list-style:none; white-space:nowrap; }
.forge-language-menu__summary::-webkit-details-marker { display:none; }
.forge-language-menu__summary svg { width:18px; height:18px; stroke-width:1.5; }
.forge-language-menu__chevron { font-size:1rem; line-height:1; }
.forge-language-menu[open] .forge-language-menu__summary { border-color:currentColor; }
.forge-language-menu__summary:hover { background:rgba(255,255,255,.08); }
.forge-language-menu__panel { position:absolute; right:0; top:calc(100% + 7px); width:min(320px, calc(100vw - 32px)); padding:20px; border:1px solid #a0a0a0; border-radius:6px; color:#353535; background:#fff; box-shadow:0 8px 25px rgba(0,0,0,.14); }
.forge-language-menu__form { margin:0; }
.forge-language-menu__form label { display:block; margin-bottom:10px; font-size:.875rem; font-weight:650; }
.forge-language-menu__controls { display:flex; align-items:stretch; gap:8px; }
.forge-language-menu__controls select { display:block; flex:1; width:0; min-width:0; min-height:44px; margin:0; padding:9px 26px 9px 10px; border:1px solid #858585; border-radius:3px; background:#fff; color:#353535; font:inherit; font-size:1rem; cursor:pointer; }
.forge-language-menu__controls button { min-height:44px; margin:0; padding:9px 13px; border:1px solid #353535; border-radius:3px; color:#fff; background:#353535; font:inherit; font-size:.875rem; font-weight:650; cursor:pointer; }
.forge-language-menu__controls button:hover { background:#202020; }
.forge-language-menu__note { margin:14px 0 0; font-size:.8125rem; line-height:1.6; }
.forge-language-menu__links { display:grid; align-items:stretch; gap:0; font-size:.9375rem; }
.forge-language-menu__links a { display:flex; align-items:center; min-height:44px; padding:9px 11px; border-left:3px solid transparent; border-radius:3px; }
.forge-language-menu__links a:hover { background:#f3f0eb; text-decoration:underline; text-underline-offset:3px; }
.forge-language-menu__links a[aria-current="true"] { background:#f3f0eb; border-left-color:#b95800; font-weight:700; }
.forge-language-menu__links a:focus-visible { outline:3px solid #b95800; outline-offset:1px; }
.forge-language-menu :is(summary, select, button):focus-visible { outline:3px solid #ffac68; outline-offset:3px; }
.forge-language-toolbar { display:flex; justify-content:flex-end; padding-block:4px; color:var(--ink,#353535); }
.forge-language-notice { padding-block:16px; color:#353535; background:#f3f0eb; border-bottom:1px solid #d0ccc5; }
.forge-language-notice p { max-width:100ch; margin:0; font-size:.875rem; line-height:1.65; }
.forge-language-notice .forge-language-notice__title { margin-bottom:3px; font-weight:700; }
.forge-language-notice .forge-language-notice__review { margin-top:6px; font-size:.8125rem; }
.forge-language-notice a { text-decoration:underline; text-underline-offset:3px; text-decoration-thickness:1px; }
.forge-language-notice a:focus-visible { outline:3px solid #b95800; outline-offset:3px; }
.forge-language-contact-note { margin:18px 0; padding:12px 14px; border-left:3px solid #b95800; color:#353535; background:#f3f0eb; font-size:.875rem; line-height:1.65; }
html[data-site-language="bn"] :is(.forge-language-menu, .forge-language-notice, .forge-language-contact-note) { font-family:"Noto Sans Bengali", "Nirmala UI", "Bangla Sangam MN", sans-serif; }
html[data-theme="dark"] .forge-language-menu__panel { color:#f0f1ef; background:#25282a; border-color:#899398; box-shadow:0 8px 25px rgba(0,0,0,.32); }
html[data-theme="dark"] .forge-language-menu__controls select { color:#f0f1ef; background:#303437; border-color:#899398; }
html[data-theme="dark"] .forge-language-menu__controls button { color:#1b1d1f; background:#f0f1ef; border-color:#f0f1ef; }
html[data-theme="dark"] .forge-language-menu__controls button:hover { background:#fff; }
html[data-theme="dark"] .forge-language-menu__links a:hover, html[data-theme="dark"] .forge-language-menu__links a[aria-current="true"] { color:#f0f1ef; background:#303437; }
html[data-theme="dark"] .forge-language-menu__links a[aria-current="true"] { border-left-color:#ffac68; }
html[data-theme="dark"] .forge-language-menu__links a:focus-visible { outline-color:#ffac68; }
html[data-theme="dark"] .forge-language-notice { color:#f0f1ef; background:#25282a; border-color:#4d5357; }
html[data-theme="dark"] .forge-language-contact-note { color:#f0f1ef; background:#25282a; border-color:#ffac68; }
@media (max-width:700px) {
  .utility:has(> .forge-language-menu) { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:2px 10px; padding-block:8px; }
  .utility:has(> .forge-language-menu) > span { grid-column:1; margin:0; }
  .utility:has(> .forge-language-menu) > span:last-of-type { margin:0; }
  .utility > .forge-language-menu { grid-column:2; grid-row:1 / span 2; }
  .forge-language-menu__summary { padding-inline:7px; gap:6px; }
  .forge-language-menu__panel { top:calc(100% + 10px); }
  .forge-language-notice { padding-block:13px; }
  .forge-language-notice p { font-size:.8125rem; }
}
@media print {
  .forge-language-menu, .forge-language-toolbar { display:none!important; }
  .forge-language-notice, .forge-language-contact-note { color:#222!important; background:#fff!important; border-color:#777!important; }
}

/* Bengali needs a script-aware font, comfortable line height and intact letter shapes. */
html[lang="bn"] { --font:"Noto Sans Bengali", "Nirmala UI", "Bangla Sangam MN", "Kohinoor Bangla", sans-serif; }
html[lang="bn"] body,
html[lang="bn"] :is(button,input,select,textarea) { font-family:var(--font); }
html[lang="bn"] :is(h1,h2,h3,h4,.eyebrow,.section-label) { letter-spacing:normal; text-transform:none; }
html[lang="bn"] :is(h1,h2,h3,h4) { line-height:1.4; }
html[lang="bn"] :is(p,li,dt,dd,label,summary) { line-height:1.8; }
html[lang="bn"] :is(h1,h2,h3,h4,p,li) { hyphens:none; }
/* Translations can be longer than English. Allow headings to use their available width. */
html:is([lang="ro"],[lang="es"],[lang="pl"],[lang="bn"],[lang="pt"]) :is(h1,h2,h3,h4) { overflow-wrap:break-word; word-break:normal; }
html:is([lang="ro"],[lang="es"],[lang="pl"],[lang="bn"],[lang="pt"]) .site-header { min-width:0; }
html:is([lang="ro"],[lang="es"],[lang="pl"],[lang="bn"],[lang="pt"]) .desktop-nav { gap:clamp(12px,1.3vw,22px); }
@media (max-width:1250px) {
  html:is([lang="ro"],[lang="es"],[lang="pl"],[lang="bn"],[lang="pt"]) .desktop-nav { display:none; }
  html:is([lang="ro"],[lang="es"],[lang="pl"],[lang="bn"],[lang="pt"]) .header-call { margin-left:auto; }
  html:is([lang="ro"],[lang="es"],[lang="pl"],[lang="bn"],[lang="pt"]) .mobile-nav { display:block; border-top:1px solid var(--line,#d9d9d9); }
  html:is([lang="ro"],[lang="es"],[lang="pl"],[lang="bn"],[lang="pt"]) .mobile-nav > summary { display:flex; justify-content:space-between; align-items:center; cursor:pointer; min-height:44px; font-size:.875rem; list-style:none; }
  html:is([lang="ro"],[lang="es"],[lang="pl"],[lang="bn"],[lang="pt"]) .mobile-nav > summary::-webkit-details-marker { display:none; }
  html:is([lang="ro"],[lang="es"],[lang="pl"],[lang="bn"],[lang="pt"]) .mobile-nav > summary span { font-size:1.35rem; }
  html:is([lang="ro"],[lang="es"],[lang="pl"],[lang="bn"],[lang="pt"]) .mobile-nav[open] > summary span { transform:rotate(45deg); }
  html:is([lang="ro"],[lang="es"],[lang="pl"],[lang="bn"],[lang="pt"]) .mobile-nav nav { display:grid; align-items:stretch; gap:0; padding-bottom:12px; }
  html:is([lang="ro"],[lang="es"],[lang="pl"],[lang="bn"],[lang="pt"]) .mobile-nav nav a { min-height:44px; padding-block:8px; border-top:1px solid var(--line,#d9d9d9); }
}
.forge-english-document { display:inline; font-size:.8em; font-weight:400; }
/* Keep Bengali conjuncts intact in controls and diagrams as well as headings. */
html[lang="bn"] :is(p,li,dt,dd,label,summary,button,a,small,strong,legend,figcaption,th,td,text,span:not(.header-brand-name)) { letter-spacing:normal; }
