/* Quiet language navigation, shared by both language editions. */
.language-switch { display: inline-flex; align-items: center; gap: .55rem; font-family: var(--sans); font-size: .75rem; white-space: nowrap; letter-spacing: .04em; }
.language-switch a { display: inline-flex; align-items: center; min-height: 44px; text-decoration: none; }
.language-switch a:hover { text-decoration: underline; text-underline-offset: .3em; }
.language-switch [aria-current] { opacity: .55; }
.language-switch .language-divider { opacity: .35; }
.checkout-header > .language-switch { justify-self: end; }
.menu-dialog .language-switch { margin-top: 1.5rem; padding-top: 1rem; border-top: 1px solid var(--taupe); }
.footer-legal > .language-switch { flex-shrink: 0; }
html[lang="zh-Hans"] { --serif: "Songti SC", "Noto Serif CJK SC", "Noto Serif SC", "SimSun", serif; --sans: "PingFang SC", "Microsoft YaHei", "Noto Sans CJK SC", "Noto Sans SC", sans-serif; line-height: 1.8; }
html[lang="zh-Hans"] :is(h1,h2,h3,.story-lead,.pearl-note-title) { font-weight: 400; line-height: 1.35; }
html[lang="zh-Hans"] :is(p,li,dd) { overflow-wrap: anywhere; }
html[lang="zh-Hans"] :is(.eyebrow,.world-eyebrow,.pearl-notes-eyebrow,.world-copy .world-eyebrow) { letter-spacing: .16em; }
html[lang="zh-Hans"] :is(.button,.text-link,.text-cta,.desktop-nav,.icon-label-control) { letter-spacing: .06em; }
html[lang="zh-Hans"] .hero-copy h1 { font-size: clamp(3.25rem, 6.4vw, 7rem); }
html[lang="zh-Hans"] .world-copy h2 { font-size: clamp(2.35rem, 4.2vw, 5rem); }
html[lang="zh-Hans"] .pearl-notes-intro h2 { font-size: clamp(2.5rem, 4.4vw, 5rem); }
html[lang="zh-Hans"] .product-title { font-size: clamp(2.4rem, 4.5vw, 5rem); }
@media (max-width: 600px) {
  html[lang="zh-Hans"] :is(.hero-copy h1,.world-copy h2,.pearl-notes-intro h2) { font-size: clamp(2.25rem, 9vw, 3.25rem); }
  .checkout-header .language-switch { font-size: .7rem; gap: .35rem; }
}
.site-footer > .language-switch { margin-top: 1rem; }
.language-dialog { width: min(28rem, calc(100vw - 2.5rem)); border: 1px solid var(--taupe); padding: 2rem; color: var(--graphite); background: var(--pearl); }
.language-dialog::backdrop { background: rgb(30 27 24 / 45%); }
.language-dialog h2 { margin-top: 0; font-family: var(--serif); font-size: 2rem; font-weight: 400; }
.language-dialog p { font-size: .9rem; line-height: 1.7; }
.language-dialog > div { display: flex; flex-wrap: wrap; gap: 1rem; margin-top: 1.5rem; }
.language-dialog button,.language-dialog a { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: .6rem 1rem; border: 1px solid var(--graphite); background: transparent; color: inherit; font: inherit; font-size: .85rem; text-decoration: none; cursor: pointer; }
.language-dialog a { background: var(--graphite); color: var(--pearl); }
