.language-menu{position:relative;flex:none;font:inherit}.language-menu>summary{cursor:pointer;display:flex;align-items:center;justify-content:center;gap:5px;min-width:48px;min-height:44px;padding:8px;border:1px solid currentColor;border-radius:999px;list-style:none;font-size:12px;font-weight:700}.language-menu>summary::-webkit-details-marker{display:none}.language-menu>div{position:absolute;right:0;top:calc(100% + 8px);z-index:120;display:grid;min-width:150px;background:#fff;color:#102f55;border:1px solid #d7dce4;border-radius:12px;box-shadow:0 10px 30px #102f5524;padding:6px}.language-menu:not([open])>div{display:none}.language-menu a{padding:12px;min-height:44px;display:block;white-space:nowrap;border-radius:8px;text-decoration:none}.language-menu a[aria-current=page]{background:#eef2f7;font-weight:700}.language-menu a:hover,.language-menu a:focus-visible{background:#f3f0e9;outline:2px solid #bf3943}.lang-fr .header-book span:first-child{white-space:nowrap}.lang-fr .hero-copy h1{overflow-wrap:normal}.lang-fr .page-toolbar button,.lang-fr .page-tabs button{white-space:normal}.lang-fr .mobile-dock a,.lang-fr .mobile-dock button{font-size:11px}.lang-fr .reservation-form legend{font-family:inherit!important}@media(max-width:700px){.language-menu>summary{min-width:40px;padding:6px;min-height:40px}.lang-fr .header-actions{gap:7px}.lang-fr .header-book{font-size:11px;padding:11px 12px}.language-menu>div{max-width:calc(100vw - 24px)}}
/* French phrases are longer than the original fixed Japanese headline lines. */
.lang-fr .hero-copy{min-width:0}.lang-fr .hero h1{line-height:1.2;letter-spacing:-.02em}.lang-fr .hero h1 span{white-space:normal;overflow-wrap:break-word}.lang-fr .story-copy h2{white-space:normal}.lang-fr .hero-actions{flex-wrap:wrap}@media(min-width:901px){.lang-fr .hero{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr)}.lang-fr .hero h1{font-size:clamp(36px,3.7vw,58px)}}@media(max-width:600px){.lang-fr .hero h1{font-size:clamp(30px,9vw,40px);line-height:1.22}.lang-fr .hero-actions{gap:16px}.lang-fr .hero-description{max-width:100%}}

/* Spanish shares the responsive Latin-script layout. */
.language-menu{position:relative;flex:none;font:inherit}.language-menu>summary{cursor:pointer;display:flex;align-items:center;justify-content:center;gap:5px;min-width:48px;min-height:44px;padding:8px;border:1px solid currentColor;border-radius:999px;list-style:none;font-size:12px;font-weight:700}.language-menu>summary::-webkit-details-marker{display:none}.language-menu>div{position:absolute;right:0;top:calc(100% + 8px);z-index:120;display:grid;min-width:150px;background:#fff;color:#102f55;border:1px solid #d7dce4;border-radius:12px;box-shadow:0 10px 30px #102f5524;padding:6px}.language-menu:not([open])>div{display:none}.language-menu a{padding:12px;min-height:44px;display:block;white-space:nowrap;border-radius:8px;text-decoration:none}.language-menu a[aria-current=page]{background:#eef2f7;font-weight:700}.language-menu a:hover,.language-menu a:focus-visible{background:#f3f0e9;outline:2px solid #bf3943}.lang-es .header-book span:first-child{white-space:nowrap}.lang-es .hero-copy h1{overflow-wrap:normal}.lang-es .page-toolbar button,.lang-es .page-tabs button{white-space:normal}.lang-es .mobile-dock a,.lang-es .mobile-dock button{font-size:11px}.lang-es .reservation-form legend{font-family:inherit!important}@media(max-width:700px){.language-menu>summary{min-width:40px;padding:6px;min-height:40px}.lang-es .header-actions{gap:7px}.lang-es .header-book{font-size:11px;padding:11px 12px}.language-menu>div{max-width:calc(100vw - 24px)}}
/* French phrases are longer than the original fixed Japanese headline lines. */
.lang-es .hero-copy{min-width:0}.lang-es .hero h1{line-height:1.2;letter-spacing:-.02em}.lang-es .hero h1 span{white-space:normal;overflow-wrap:break-word}.lang-es .story-copy h2{white-space:normal}.lang-es .hero-actions{flex-wrap:wrap}@media(min-width:901px){.lang-es .hero{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr)}.lang-es .hero h1{font-size:clamp(36px,3.7vw,58px)}}@media(max-width:600px){.lang-es .hero h1{font-size:clamp(30px,9vw,40px);line-height:1.22}.lang-es .hero-actions{gap:16px}.lang-es .hero-description{max-width:100%}}

/* Korean typography: keep words together and allow long content to wrap. */
.lang-ko h1,.lang-ko h2,.lang-ko h3,.lang-ko p,.lang-ko button,.lang-ko a{word-break:keep-all;overflow-wrap:anywhere}
.lang-ko .hero-copy{min-width:0}.lang-ko .hero h1 span{white-space:normal;overflow-wrap:break-word}
.lang-ko .hero h1{line-height:1.3;letter-spacing:-.025em}.lang-ko .hero-actions{flex-wrap:wrap}
.lang-ko .reservation-form legend{font-family:inherit!important}.lang-ko .eyebrow{letter-spacing:.06em}
.lang-ko .page-toolbar button,.lang-ko .page-tabs button{white-space:normal}
@media(min-width:901px){.lang-ko .hero h1{font-size:clamp(34px,3.8vw,60px)}}
@media(max-width:700px){.lang-ko .header-actions{gap:7px}.lang-ko .header-book{font-size:12px;padding:11px 12px}}
@media(max-width:600px){.lang-ko .hero h1{font-size:clamp(30px,9vw,40px)}.lang-ko .mobile-dock a,.lang-ko .mobile-dock button{font-size:12px}}

/* Simplified Chinese: use system CJK fonts and natural line breaking. */
.lang-zh-cn h1,.lang-zh-cn h2,.lang-zh-cn h3,.lang-zh-cn p,.lang-zh-cn button,.lang-zh-cn a{word-break:normal;overflow-wrap:anywhere}
.lang-zh-cn .hero-copy{min-width:0}.lang-zh-cn .hero h1 span{white-space:normal;overflow-wrap:break-word}
.lang-zh-cn .hero h1{line-height:1.3;letter-spacing:0}.lang-zh-cn .hero-actions{flex-wrap:wrap}
.lang-zh-cn .reservation-form legend{font-family:inherit!important}.lang-zh-cn .eyebrow{letter-spacing:.05em}
.lang-zh-cn .page-toolbar button,.lang-zh-cn .page-tabs button{white-space:normal}
@media(min-width:901px){.lang-zh-cn .hero h1{font-size:clamp(34px,3.8vw,60px)}}
@media(max-width:700px){.lang-zh-cn .header-actions{gap:7px}.lang-zh-cn .header-book{font-size:12px;padding:11px 12px}}
@media(max-width:600px){.lang-zh-cn .hero h1{font-size:clamp(30px,9vw,40px)}.lang-zh-cn .mobile-dock a,.lang-zh-cn .mobile-dock button{font-size:12px}}
