/* Compact expanding language capsule, inspired by STYLEM. */
.language-menu{--language-row:24px;position:relative;isolation:isolate;z-index:1100;flex:0 0 56px;width:56px;height:26px;color:inherit;font:500 12px/1.2 Arial,sans-serif;letter-spacing:.02em}
.language-menu::before{content:"";position:absolute;z-index:-1;left:0;top:0;width:100%;height:26px;box-sizing:border-box;border:1px solid var(--line,light-dark(#dfdfe1,#373b43));border-radius:14px;background:var(--background,light-dark(#fbfbfb,#181c24));pointer-events:none;opacity:1}
.language-menu[open]::before{height:calc(var(--language-row)*5 + 2px)}
.language-menu summary{display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:100%;height:26px;min-height:24px;margin:0;padding:0;border:0;list-style:none;cursor:pointer;color:inherit;font:inherit;text-align:center;white-space:nowrap;-webkit-tap-highlight-color:transparent}
.language-menu summary::-webkit-details-marker{display:none}
.language-menu summary::after{content:none}
.language-menu nav{position:absolute;left:1px;right:1px;top:25px;display:flex;flex-direction:column;margin:0;padding:0;gap:0;background:none;border:0;box-shadow:none}
.language-menu:not([open]) nav{display:none}
.language-menu nav a{display:flex;align-items:center;justify-content:center;width:100%;height:var(--language-row);min-height:24px;box-sizing:border-box;margin:0;padding:0;border:0;border-radius:0;background:none;color:inherit;font:inherit;text-align:center;text-decoration:none;white-space:nowrap;transition:opacity .15s ease}
.language-menu nav a[aria-current]{display:none}
.language-menu nav a:hover{background:none;opacity:.5}
.language-menu summary:focus-visible,.language-menu a:focus-visible{outline:2px solid currentColor;outline-offset:3px;border-radius:10px}
html[lang=en] .hero h1{letter-spacing:-.045em;line-height:1.1}
html:not([lang=en]) .hero h1{word-break:normal;overflow-wrap:anywhere;line-height:1.2}
html[lang=ja] .hero h1,html[lang=ko] .hero h1{font-size:clamp(34px,4.1vw,62px);letter-spacing:-.035em}
html[lang=ja] .hero-description,html[lang=ko] .hero-description{line-height:1.85;word-break:normal;overflow-wrap:anywhere}
html[lang=ko] .content-block-text{word-break:keep-all;overflow-wrap:anywhere}
@media(max-width:600px){.language-menu{--language-row:32px;flex-basis:52px;width:52px;height:34px}.language-menu::before,.language-menu summary{height:34px}.language-menu::before{border-radius:17px}.language-menu nav{top:33px}.language-menu nav a{min-height:32px}.header-inner{gap:8px}html[lang=en] .header-account{font-size:12px}html[lang=en] .hero h1{font-size:clamp(34px,9vw,56px)}html[lang=ja] .hero h1,html[lang=ko] .hero h1{font-size:clamp(30px,8vw,40px)}}
@media(prefers-reduced-motion:reduce){.language-menu nav a{transition:none}}

/* Hover expands the same outline without moving the surrounding layout. */
.language-menu::before{transition:height .24s cubic-bezier(.22,.61,.36,1)}
.language-menu[open] nav{animation:language-options-reveal .22s ease-out both}
.language-menu[data-closing]::before{height:26px}
.language-menu[data-closing] nav{animation:language-options-hide .18s ease-in both;pointer-events:none}
@keyframes language-options-reveal{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
@keyframes language-options-hide{from{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-4px)}}
@media(max-width:600px){.language-menu[data-closing]::before{height:34px}}
@media(prefers-reduced-motion:reduce){.language-menu::before{transition:none}.language-menu[open] nav,.language-menu[data-closing] nav{animation:none}}

body>.language-menu{position:fixed;z-index:900;top:28px;right:28px;margin:0;color:var(--ink,#212733)}
@media(max-width:600px){body>.language-menu{top:18px;right:18px}}
