/* Shared navigation fixes. Keep each page's existing layout, palette and artwork. */
html{scroll-padding-top:calc(var(--site-nav-height,80px) + 16px)}
header.nav{z-index:30;isolation:isolate}
header .brand{flex-shrink:0;min-height:44px}
header.nav li a{display:flex;align-items:center;min-height:44px}
main .sec[id]{scroll-margin-top:0}
main .txt,main .txt>*{min-width:0;overflow-wrap:anywhere}
.nav a:focus-visible,.menu:focus-visible{outline:2px solid var(--lime);outline-offset:3px}
#lens[hidden]{display:none!important}
.ftip{max-height:calc(100svh - var(--site-nav-height,80px) - 32px);overflow-y:auto;overscroll-behavior:contain}
@media(max-width:760px){
  html{--site-nav-height:132px}
  header.nav ul{max-width:100%;overscroll-behavior-x:contain}
}
@media(max-width:900px){
  #nav.open #navlist{max-height:calc(100svh - var(--site-nav-height,80px) - 12px);overflow-y:auto;overscroll-behavior:contain}
}

/* Language control: reserve its own header cell on narrow screens. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.site-language{display:flex;align-items:center;flex:0 0 auto;margin-left:auto;max-width:130px}
.site-language select{width:100%;min-height:36px;padding:5px 7px;border:1px solid var(--line, #554333);border-radius:8px;color:var(--ash,#efe6dc);background:#17110d;font:inherit;font-size:12px;cursor:pointer}
.site-language select:focus-visible{outline:2px solid var(--gold,#ffb547);outline-offset:3px}
.legal-language-notice,.legal-notice{padding:12px 16px;margin-bottom:20px;border:1px solid var(--line,#554333);border-radius:10px;color:var(--gold,#ffb547);font-size:14px}
@media(max-width:1100px){
  header.nav{flex-wrap:wrap;gap:8px 12px}
  header.nav>ul{order:5;flex:1 0 100%;width:100%;margin:0;flex-wrap:wrap;overflow:visible}
  header.nav li a{white-space:normal;overflow-wrap:anywhere}
  #nav #navlist{order:5}
}
@media(max-width:900px){
  #nav{display:flex;flex-wrap:wrap;gap:8px}
  #nav .brand{margin-right:auto}
  #nav .menu{margin-left:0;order:1}
  #nav>.get{order:2;font-size:12px;padding:8px 10px}
  #nav>.site-language{order:3;margin-left:0;max-width:108px}
  #nav #navlist{flex-basis:100%;width:100%;margin:0;box-sizing:border-box}
}
@media(max-width:440px){
  #nav{padding-inline:16px}
  #nav .brand{font-size:18px;gap:5px}
  #nav .brand svg{width:16px}
  #nav .menu{padding:8px}
  #nav>.get svg{display:none}
  #nav>.site-language{max-width:96px}
  header.nav{column-gap:8px}
  header.nav>.brand{margin-right:auto}
  header.nav>ul{gap:0}
  header.nav li a{padding-inline:8px;font-size:12px}
}
html:lang(ja) body,html:lang(zh-Hans) body,html:lang(zh-Hant) body{word-break:normal;line-break:strict}
