/* language selector + per-language typography (preview 2026-11-11) */
.lang-sel{position:relative;display:inline-block;font-size:13px;line-height:1;white-space:nowrap;font-weight:500}
.lang-sel summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:6px;padding:6px 4px;color:inherit;opacity:.9;border-radius:4px;min-height:24px}
.lang-sel summary::-webkit-details-marker{display:none}
.lang-sel summary::marker{content:""}
.lang-sel summary::before{content:"";width:14px;height:14px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M3 12h18M12 3c3 3.2 3 14.8 0 18M12 3c-3 3.2-3 14.8 0 18'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M3 12h18M12 3c3 3.2 3 14.8 0 18M12 3c-3 3.2-3 14.8 0 18'/%3E%3C/svg%3E") center/contain no-repeat}
.lang-sel summary::after{content:"";width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translate(-2px,-2px);margin-left:2px}
.lang-sel[open] summary::after{transform:rotate(-135deg) translate(-2px,-2px)}
.lang-sel summary:hover,.lang-sel summary:focus-visible{opacity:1}
.lang-sel ul{position:absolute;right:0;top:calc(100% + 6px);z-index:200;list-style:none;margin:0;padding:6px;min-width:168px;border-radius:10px;box-shadow:0 10px 30px rgba(0,0,0,.28);border:1px solid rgba(128,128,128,.28);background:#fff;color:#0b1f3a;text-align:left}
.lang-sel li{list-style:none;margin:0;padding:0;display:block}
.lang-sel li a{display:block;padding:9px 12px;border-radius:7px;color:inherit;text-decoration:none;font-size:14px;line-height:1.2}
.lang-sel li a:hover,.lang-sel li a:focus-visible{background:rgba(128,128,128,.16)}
.lang-sel li a[aria-current]{font-weight:700;background:rgba(128,128,128,.12)}
.lang-bar .lang-sel ul{background:#171a2e;color:#EDEFF7}
.lang-foot ul,.lang-sel.lang-foot ul{top:auto;bottom:calc(100% + 6px);background:#101828;color:#e6ebf5}
.lang-inline{display:flex;flex-wrap:wrap;gap:2px 6px;list-style:none;margin:0;padding:0;font-size:14px}
.lang-inline li{list-style:none;margin:0;padding:0;display:block}
.lang-inline a{display:inline-block;padding:7px 9px;border-radius:6px;color:inherit;text-decoration:none;opacity:.75;font-weight:500}
.lang-inline a[aria-current]{opacity:1;font-weight:700;text-decoration:underline;text-underline-offset:4px}
/* CSP */
.top .lang-top{margin-left:16px;color:inherit}
.top .wrap>span:nth-of-type(2){margin-left:auto}
.lang-li{display:none;list-style:none;flex:none;min-height:44px}
.lang-li .lang-inline{padding:6px 12px;font-size:15px}
@media(max-width:1080px){.lang-li{display:flex;align-items:center}.top .lang-top{display:none}}
.flinks .lang-foot{margin-left:auto;color:#cfd7e4}
@media(max-width:600px){.flinks .lang-foot{margin-left:0;margin-top:6px}}
/* DAI */
.lang-bar{max-width:1240px;margin:0 auto;padding:6px 24px 0;display:flex;justify-content:flex-end}
.lang-bar .wrap{display:flex;justify-content:flex-end;width:100%;padding:0}
.lang-bar .lang-sel{color:var(--mut,#9BA2B8);font-size:12px}
#mainnav .lang-menu{display:none}
#mainnav.open .lang-menu{display:flex;padding:10px 0}
#mainnav.open .lang-menu a{display:inline-block!important;padding:6px 8px;font-size:14px}
footer .lang-foot{display:inline-block;margin-right:18px;color:var(--mut,#9BA2B8)}
.fbot .lang-foot{margin-right:18px}
@media(max-width:600px){footer .lang-foot{display:block;margin:0 0 10px}}
/* typography: shared overflow safety for translated pages */
html:not([lang="en"]) p,html:not([lang="en"]) li,html:not([lang="en"]) h1,html:not([lang="en"]) h2,html:not([lang="en"]) h3{overflow-wrap:break-word}
html[lang="de"] h1,html[lang="de"] h2,html[lang="de"] h3,html[lang="ru"] h1,html[lang="ru"] h2,html[lang="ru"] h3,html[lang="fr"] h1,html[lang="fr"] h2,html[lang="es"] h1,html[lang="es"] h2,html[lang="vi"] h1,html[lang="ms"] h1,html[lang="id"] h1{hyphens:auto;-webkit-hyphens:auto}
html[lang="de"] h1,html[lang="ru"] h1,html[lang="fr"] h1,html[lang="es"] h1,html[lang="vi"] h1,html[lang="ms"] h1,html[lang="id"] h1{font-size:clamp(1.9rem,4vw,3.1rem)}
html[lang="de"] h2,html[lang="ru"] h2,html[lang="fr"] h2,html[lang="es"] h2,html[lang="vi"] h2,html[lang="ms"] h2,html[lang="id"] h2{font-size:clamp(1.5rem,2.8vw,2.15rem)}
html[lang="de"] .nav nav a,html[lang="ru"] .nav nav a,html[lang="fr"] .nav nav a,html[lang="es"] .nav nav a{letter-spacing:0}
/* zh-Hans */
html[lang="zh-Hans"]{--f:Inter,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans CJK SC","Noto Sans SC",system-ui,sans-serif;--fd:Inter,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans CJK SC","Noto Sans SC",system-ui,sans-serif}
html[lang="zh-Hans"] body,html[lang="zh-Hans"] input,html[lang="zh-Hans"] select,html[lang="zh-Hans"] textarea,html[lang="zh-Hans"] button{font-family:Inter,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans CJK SC","Noto Sans SC",system-ui,sans-serif}
html[lang="zh-Hans"] h1,html[lang="zh-Hans"] h2,html[lang="zh-Hans"] h3,html[lang="zh-Hans"] h4,html[lang="zh-Hans"] .serif,html[lang="zh-Hans"] .brand b,html[lang="zh-Hans"] .amt{font-family:"Red Hat Display",Inter,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans CJK SC","Noto Sans SC",sans-serif;font-weight:600;letter-spacing:0}
html[lang="zh-Hans"] h1{line-height:1.25;font-size:clamp(1.9rem,4.2vw,3.3rem)}
html[lang="zh-Hans"] h2,html[lang="zh-Hans"] h3{line-height:1.3}
html[lang="zh-Hans"] h2{font-size:clamp(1.55rem,2.9vw,2.2rem)}
html[lang="zh-Hans"] em{font-style:normal}
html[lang="zh-Hans"] .eyebrow,html[lang="zh-Hans"] .k,html[lang="zh-Hans"] .h1-kicker,html[lang="zh-Hans"] footer h4,html[lang="zh-Hans"] .fh4{letter-spacing:.06em;text-transform:none}
html[lang="zh-Hans"] .nav nav a,html[lang="zh-Hans"] .menu a{letter-spacing:0}
/* ja */
html[lang="ja"]{--f:Inter,"Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic","Meiryo","Noto Sans CJK JP","Noto Sans JP",system-ui,sans-serif;--fd:Inter,"Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic","Meiryo","Noto Sans CJK JP","Noto Sans JP",system-ui,sans-serif}
html[lang="ja"] body,html[lang="ja"] input,html[lang="ja"] select,html[lang="ja"] textarea,html[lang="ja"] button{font-family:Inter,"Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic","Meiryo","Noto Sans CJK JP","Noto Sans JP",system-ui,sans-serif}
html[lang="ja"] h1,html[lang="ja"] h2,html[lang="ja"] h3,html[lang="ja"] h4,html[lang="ja"] .serif,html[lang="ja"] .brand b,html[lang="ja"] .amt{font-family:"Red Hat Display",Inter,"Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic","Meiryo","Noto Sans CJK JP","Noto Sans JP",sans-serif;font-weight:600;letter-spacing:0}
html[lang="ja"] h1{line-height:1.25;font-size:clamp(1.9rem,4.2vw,3.3rem)}
html[lang="ja"] h2,html[lang="ja"] h3{line-height:1.3}
html[lang="ja"] h2{font-size:clamp(1.55rem,2.9vw,2.2rem)}
html[lang="ja"] em{font-style:normal}
html[lang="ja"] .eyebrow,html[lang="ja"] .k,html[lang="ja"] .h1-kicker,html[lang="ja"] footer h4,html[lang="ja"] .fh4{letter-spacing:.06em;text-transform:none}
html[lang="ja"] .nav nav a,html[lang="ja"] .menu a{letter-spacing:0}
/* ko */
html[lang="ko"]{--f:Inter,"Apple SD Gothic Neo","Malgun Gothic","Noto Sans CJK KR","Noto Sans KR",system-ui,sans-serif;--fd:Inter,"Apple SD Gothic Neo","Malgun Gothic","Noto Sans CJK KR","Noto Sans KR",system-ui,sans-serif}
html[lang="ko"] body,html[lang="ko"] input,html[lang="ko"] select,html[lang="ko"] textarea,html[lang="ko"] button{font-family:Inter,"Apple SD Gothic Neo","Malgun Gothic","Noto Sans CJK KR","Noto Sans KR",system-ui,sans-serif}
html[lang="ko"] h1,html[lang="ko"] h2,html[lang="ko"] h3,html[lang="ko"] h4,html[lang="ko"] .serif,html[lang="ko"] .brand b,html[lang="ko"] .amt{font-family:"Red Hat Display",Inter,"Apple SD Gothic Neo","Malgun Gothic","Noto Sans CJK KR","Noto Sans KR",sans-serif;font-weight:600;letter-spacing:0}
html[lang="ko"] h1{line-height:1.25;font-size:clamp(1.9rem,4.2vw,3.3rem)}
html[lang="ko"] h2,html[lang="ko"] h3{line-height:1.3}
html[lang="ko"] h2{font-size:clamp(1.55rem,2.9vw,2.2rem)}
html[lang="ko"] em{font-style:normal}
html[lang="ko"] .eyebrow,html[lang="ko"] .k,html[lang="ko"] .h1-kicker,html[lang="ko"] footer h4,html[lang="ko"] .fh4{letter-spacing:.06em;text-transform:none}
html[lang="ko"] .nav nav a,html[lang="ko"] .menu a{letter-spacing:0}
html[lang="zh-Hans"] p,html[lang="zh-Hans"] li,html[lang="ja"] p,html[lang="ja"] li{line-break:strict;word-break:normal;overflow-wrap:anywhere}
html[lang="ko"] p,html[lang="ko"] li{word-break:keep-all;overflow-wrap:break-word}
html[lang="ko"] h1,html[lang="ko"] h2,html[lang="ko"] h3{word-break:keep-all}
html[lang="ja"] h1,html[lang="ja"] h2,html[lang="ja"] h3,html[lang="ja"] p,html[lang="ja"] li{word-break:auto-phrase;text-wrap:pretty}
html[lang="zh-Hans"] h1,html[lang="zh-Hans"] h2,html[lang="zh-Hans"] h3{text-wrap:balance}
html[lang="de"] .nav nav a,html[lang="ru"] .nav nav a,html[lang="fr"] .nav nav a,html[lang="es"] .nav nav a{white-space:nowrap}
@media(max-width:1440px) and (min-width:861px){html[lang="de"] .nav nav,html[lang="ru"] .nav nav,html[lang="fr"] .nav nav,html[lang="es"] .nav nav{gap:10px}html[lang="de"] .nav nav a,html[lang="ru"] .nav nav a,html[lang="fr"] .nav nav a,html[lang="es"] .nav nav a{font-size:12px}html[lang="de"] .nav nav a.btn,html[lang="ru"] .nav nav a.btn,html[lang="fr"] .nav nav a.btn,html[lang="es"] .nav nav a.btn{padding-left:12px;padding-right:12px;font-size:12px}}
@media(min-width:861px){html[lang="de"] .nav nav a.btn.keep,html[lang="ru"] .nav nav a.btn.keep,html[lang="fr"] .nav nav a.btn.keep,html[lang="es"] .nav nav a.btn.keep{white-space:normal;max-width:150px;text-align:center;line-height:1.15;margin-left:4px}html[lang="de"] .nav .wrap,html[lang="ru"] .nav .wrap,html[lang="fr"] .nav .wrap,html[lang="es"] .nav .wrap{column-gap:16px}}
