/* Language switch + CJK type fallbacks */
.lang{position:relative;display:flex;align-items:center}
#lang-btn{min-width:44px;height:44px;padding:0 8px;font-size:11px;letter-spacing:.16em;color:#e9e4d9;border:1px solid transparent;transition:color .3s,border-color .3s}
#lang-btn:hover,#lang-btn[aria-expanded=true]{color:#d7b987;border-color:#ffffff22}
#lang-menu{position:absolute;top:calc(100% + 6px);right:0;z-index:8;display:none;flex-direction:column;min-width:150px;padding:6px 0;background:#0e0d0bf2;border:1px solid #ffffff1c;backdrop-filter:blur(8px)}
#lang-menu.open{display:flex}
#lang-menu button{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:11px 18px;text-align:left;font-size:13px;letter-spacing:.12em;color:#cfc8b9}
#lang-menu button:hover,#lang-menu button:focus-visible{color:#f0e2ca;background:#ffffff08;outline:none}
#lang-menu button[aria-checked=true]{color:#d7b987}
#lang-menu button[aria-checked=true]:after{content:'';width:5px;height:5px;background:#c2ac87;transform:rotate(45deg)}
html[data-lang=ja] body{font-family:Arial,"Noto Sans JP","Hiragino Sans",sans-serif}
html[data-lang=zh] body{font-family:Arial,"Noto Sans SC","PingFang SC",sans-serif}
html[data-lang=ja] :is(h1,h2,.copy,.sn-slabel){font-family:Cormorant,"Noto Serif JP","Hiragino Mincho ProN",serif}
html[data-lang=zh] :is(h1,h2,.copy,.sn-slabel){font-family:Cormorant,"Noto Serif SC","Songti SC",serif}
html:is([data-lang=ja],[data-lang=zh]) nav a{letter-spacing:.14em}
html:is([data-lang=ja],[data-lang=zh]) .copy{line-height:2.1}
@media(max-width:800px){#lang-menu{right:-44px}}
.about-page nav{display:flex;align-items:center;gap:clamp(14px,2vw,30px)}
@media(max-width:800px){.about-page .lang{display:flex}}
