/* Language navigation and Japanese typography; no scripts or remote fonts. */
.language-links { display: inline-flex; flex-wrap: wrap; align-items: center; gap: .5rem; }
.language-links a { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding-inline: .8rem; border: 1px solid var(--line); border-radius: 100px; text-decoration: none; white-space: nowrap; }
.language-links a[aria-current="page"] { color: var(--ink); border-color: currentColor; font-weight: 700; }
.site-header nav { flex-wrap: wrap; align-items: center; }
.site-header .language-links { margin-left: auto; }
html:lang(ja) { font-family: -apple-system, BlinkMacSystemFont, "Hiragino Sans", "Yu Gothic", Meiryo, sans-serif; }
html:lang(ja) body { word-break: normal; line-break: strict; overflow-wrap: break-word; }
html:lang(ja) h1, html:lang(ja) h2, html:lang(ja) h3 { letter-spacing: -.02em; }
html:lang(ja) .hero h1 { font-size: clamp(2rem, 3.6vw, 3.2rem); }
html:lang(ja) .eyebrow { letter-spacing: .04em; }
html:lang(en) h1#hero-title { font-size: clamp(2rem, 4.8vw, 3.5rem); }
.skip-link { position: absolute; z-index: 10; top: -100px; left: 1rem; padding: .75rem 1rem; background: var(--paper); }
.skip-link:focus { top: 1rem; }
@media (max-width: 700px) {
  .site-header .language-links { flex-basis: 100%; margin-left: 0; }
  .site-header:not(.wrap) { flex-wrap: wrap; gap: .75rem; }
  .site-header:not(.wrap) nav { width: 100%; flex-direction: row; justify-content: flex-start; gap: .35rem 1rem; text-align: left; }
  .site-header:not(.wrap) nav > a { display: inline-flex; align-items: center; min-height: 44px; }
  html:lang(ja) .hero h1 { font-size: clamp(1.5rem, 7vw, 2.25rem); }
}
