/* Native, keyboard-accessible language menu; no runtime translation. */
.language-menu{position:relative;color:#123E35;font-family:Inter,sans-serif;font-size:13px;letter-spacing:normal;flex-shrink:0;z-index:50}
.language-menu summary{list-style:none;display:flex;align-items:center;gap:8px;cursor:pointer;border:1px solid #123e3526;border-radius:10px;padding:10px 12px;background:#fff;line-height:1.3;font-weight:600;white-space:nowrap}
.language-menu summary::-webkit-details-marker{display:none}
.language-menu summary:hover,.language-menu summary:focus-visible{background:#e5fff0;outline:2px solid #5FF2A6;outline-offset:2px}
.language-options{position:absolute;right:0;top:calc(100% + 8px);min-width:170px;display:flex;flex-direction:column;background:#fff;border:1px solid #123e3520;border-radius:12px;padding:6px;box-shadow:0 12px 35px #123e3524}
.language-menu .language-options a{display:block;padding:11px 14px;color:#123E35;background:transparent;font-size:14px;line-height:1.35;text-decoration:none;border-radius:7px;white-space:nowrap;font-weight:500;letter-spacing:normal;text-transform:none}
.language-menu .language-options a:hover,.language-menu .language-options a:focus-visible,.language-menu .language-options a[aria-current="true"]{background:#5FF2A6;color:#123E35}
.language-standalone{max-width:1240px;padding:24px;margin:auto;display:flex;justify-content:flex-end}
html:lang(de) .nav-links,html:lang(fr) .nav-links,html:lang(it) .nav-links{flex-wrap:wrap}
html:lang(de) h1,html:lang(fr) h1,html:lang(it) h1,html:lang(de) h2,html:lang(fr) h2,html:lang(it) h2{overflow-wrap:break-word;hyphens:auto}
html:lang(de) .service-wordmark,html:lang(fr) .service-wordmark,html:lang(it) .service-wordmark{hyphens:none;overflow-wrap:normal}
@media(max-width:760px){.language-menu{font-size:12px}.language-menu summary{padding:9px 10px;gap:6px}.language-options{min-width:155px}.nav-links{align-items:center;flex-wrap:wrap;row-gap:12px}.language-menu .language-options a{font-size:14px;padding:11px 13px}}
/* Japanese uses local Japanese glyph fonts while preserving the Latin brand wordmarks. */
html:lang(ja) body,html:lang(ja) button,html:lang(ja) input,html:lang(ja) select,html:lang(ja) textarea,html:lang(ja) h1,html:lang(ja) h2,html:lang(ja) h3,html:lang(ja) h4,html:lang(ja) p,html:lang(ja) a,html:lang(ja) .language-menu{font-family:Inter,"Hiragino Sans","Yu Gothic",Meiryo,"Noto Sans JP",sans-serif!important}
html:lang(ja) h1,html:lang(ja) h2,html:lang(ja) h3{line-height:1.45;letter-spacing:0;word-break:normal;line-break:strict;overflow-wrap:anywhere;hyphens:none}
html:lang(ja) .service-wordmark,html:lang(ja) .service-wordmark span,html:lang(ja) .brand-type,html:lang(ja) .brand-type span{font-family:Inter,sans-serif!important}
.language-menu [lang="ja"]{font-family:Inter,"Hiragino Sans","Yu Gothic",Meiryo,"Noto Sans JP",sans-serif}

html:lang(ja) .intro-section h1>span{display:table;max-width:100%;box-sizing:border-box}

html:lang(ja) .ja-keep{display:inline-block;white-space:nowrap;font-weight:inherit}
/* Country flags remain decorative; the language name labels every choice. */
.language-flag{display:inline-block!important;width:22px!important;height:16px!important;min-width:22px;object-fit:cover;border-radius:2px;box-shadow:0 0 0 1px #123e3526;vertical-align:middle;flex-shrink:0}
.language-menu .language-options a{display:flex;align-items:center;gap:10px}
