@font-face{font-family:'Noto Sans JP';src:url('NotoSansJP-VF.woff2') format('woff2');font-weight:100 900;font-display:swap}
.language-switch{position:relative;flex-shrink:0;font-size:.8125rem}
.language-switch>summary{display:flex;align-items:center;justify-content:space-between;gap:.625rem;min-height:44px;padding:.5rem .6rem;line-height:1.4;list-style:none;cursor:pointer;white-space:nowrap;color:var(--ink)}
.language-switch>summary::-webkit-details-marker{display:none}
.language-switch .language-icon{display:block;width:20px;height:20px;flex:none}
.language-switch>summary:hover{background:#F4F4F5}
.language-switch>summary:focus-visible{outline:2px solid var(--ink);outline-offset:-2px}
.language-options{position:absolute;right:0;top:calc(100% + .5rem);z-index:60;width:10rem;max-width:calc(100vw - 3rem);padding:.375rem;border:1px solid var(--line);background:#fff;box-shadow:0 8px 24px rgb(24 24 27 / 8%)}
.language-switch:not([open])>.language-options{display:none}
.primary-nav .language-options a{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:44px;padding:.65rem .75rem;font-size:.8125rem;line-height:1.4;color:var(--muted);white-space:nowrap;text-decoration:none}
.primary-nav .language-options a:hover,.primary-nav .language-options a[aria-current=true]{color:var(--ink);background:#F4F4F5}
.language-switch :is(a,summary):lang(ko){font-family:Pretendard,sans-serif}
.language-switch :is(a,summary):lang(ja){font-family:'Noto Sans JP',sans-serif}
html:lang(ko) body{word-break:keep-all;overflow-wrap:break-word}
html:lang(ko) :is(h1,h2,h3,h4){font-family:Pretendard,sans-serif;letter-spacing:-.035em;line-height:1.35}
html:lang(ja) body{font-family:'Noto Sans JP',Pretendard,sans-serif;line-break:strict;overflow-wrap:break-word}
html:lang(ja) :is(h1,h2,h3,h4){font-family:'Noto Sans JP',sans-serif;letter-spacing:-.025em;line-height:1.45}
html:lang(ja) :is(button,input,textarea,select){font-family:inherit}
html:lang(ja) :is(.mono,.eyebrow,.status,.section-navigation,.metric-value,.record-heading,.foundation-level-number){font-family:'IBM Plex Mono','Noto Sans JP',monospace}
html:lang(ko) svg text{font-family:Pretendard,sans-serif}
html:lang(ja) svg text{font-family:'Noto Sans JP',sans-serif}
html:lang(ko) svg text[font-family*="Mono"]{font-family:'IBM Plex Mono',Pretendard,monospace}
html:lang(ja) svg text[font-family*="Mono"]{font-family:'IBM Plex Mono','Noto Sans JP',monospace}
html:is(:lang(ko),:lang(ja)) .page-intro h1{max-width:26ch}
html:is(:lang(ko),:lang(ja)) .inquiry-copy h1{font-size:clamp(2.25rem,3.4vw,3.25rem);line-height:1.4;letter-spacing:-.03em}
.inquiry-submit-row .button{white-space:normal;gap:.75rem;padding-inline:1rem}
.inquiry-submit-row .button [data-submit-label]{flex:1 1 auto;min-width:0;text-align:left;overflow-wrap:anywhere}
.inquiry-submit-row [aria-hidden]{flex-shrink:0}
html:lang(ja) .fm-canvas text{font-family:'Noto Sans JP',sans-serif}
html:lang(ja) .fm-canvas .fm-number{font-family:'IBM Plex Mono','Noto Sans JP',monospace}
@media(min-width:901px) and (max-width:1200px){.header-inner{gap:1rem}.primary-nav{gap:.5rem 1rem}}
@media(max-width:900px){.language-options{left:0;right:auto}}
@media(max-width:540px){html:is(:lang(ko),:lang(ja)) :is(.home-hero h1,.detail-copy h1,.page-intro h1,.contact-copy h1){font-size:2.25rem}html:lang(ja) h2{line-height:1.45}}
