html{font-variant-numeric:lining-nums tabular-nums}
html[lang=ar] body{font-family:Tahoma,Arial,sans-serif;letter-spacing:0;line-height:1.9}
html[lang=ar] h1,html[lang=ar] h2,html[lang=ar] h3,html[lang=ar] button{font-family:Tahoma,Arial,sans-serif;letter-spacing:0;line-height:1.6}
html[lang=ko] body{font-family:'Malgun Gothic',Arial,sans-serif;word-break:keep-all;overflow-wrap:anywhere}
html[lang^=zh] body{font-family:'Microsoft JhengHei','Microsoft YaHei',Arial,sans-serif}
html[lang=de] h1,html[lang=de] h2,html[lang=de] h3,html[lang=fr] h1,html[lang=fr] h2,html[lang=fr] h3{hyphens:auto;overflow-wrap:anywhere}
.logo,.wordmark,.editorial-type,.scene-count,.hotel-scene-count,.album-caption>span,.ota-brand,.ota-logo,[href^='tel:']{direction:ltr;unicode-bidi:isolate}
.locale-list{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:24px}
.locale-list a{display:flex;align-items:center;min-height:52px;border:1px solid #1d3d5d40;padding:12px 18px;color:#1d3d5d;text-decoration:none;font:16px Arial,Tahoma,sans-serif}
.locale-list a[aria-current=page]{background:#1d3d5d;color:#fff}.locale-list a:hover{outline:2px solid #758ea1}
#languages{max-width:620px;width:calc(100% - 32px);max-height:85svh;overflow:auto;padding:36px 24px;border:0;background:#f7f5ef;color:#1d3d5d;box-sizing:border-box}
#languages .close{position:absolute;top:8px;right:8px;width:44px;height:44px;border:0;background:transparent;color:inherit;font-size:30px;cursor:pointer}
#languages h2{font-size:24px;margin:14px 32px 0 0}.header-actions .language{min-height:44px;min-width:48px;background:transparent;border:0;color:inherit;font-size:14px;cursor:pointer}
html[dir=rtl] .hero-copy,html[dir=rtl] .section-heading,html[dir=rtl] .room-info,html[dir=rtl] .guide-content,html[dir=rtl] .room-feature-copy{text-align:right}
html[dir=rtl] .eyebrow,html[dir=rtl] .editorial-type,html[dir=rtl] .hero-side,html[dir=rtl] .edition-tag{direction:ltr;unicode-bidi:isolate}
html[dir=rtl] .hero-copy .editorial-type{text-align:left}
html[dir=rtl] .hotel-scene-controls{direction:rtl}
html[dir=rtl] .hotel-scene-controls button,html[dir=rtl] .scene-controls,html[dir=rtl] .album-film{direction:ltr}
html[dir=rtl] .hero-brand{text-align:left}
html[lang=ar] .hero-brand h1{font-family:Georgia,serif;line-height:.88;letter-spacing:.055em}
html[dir=rtl] .desktop-nav{gap:20px}
html[dir=rtl] #photo-album{direction:rtl}html[dir=rtl] .album-stage{direction:ltr}
.language{white-space:nowrap}.hotel-scene-caption{overflow-wrap:anywhere}.locale-list a{white-space:normal}
.table-scroll{width:100%;max-width:100%;min-width:0;overflow-x:auto;overscroll-behavior-x:contain}.table-scroll table{width:100%;table-layout:fixed}.table-scroll th,.table-scroll td{overflow-wrap:anywhere;hyphens:auto}
.graphic-final #rooms>.section-heading>.room-heading-art{max-width:100%;margin-inline:0}
html[dir=rtl] .graphic-final #rooms>.section-heading>.room-heading-art{width:100%;margin:0}
@media(min-width:761px){html:not([lang=ja]):not([lang=en]) .desktop-nav{display:none}html:not([lang=ja]):not([lang=en]) .header .menu-toggle{display:block}.site-header .language{color:inherit}}
@media(min-width:761px){html:not([lang=ja]):not([lang=en]) .site-header .menu-toggle{display:block}}
@media(max-width:760px){
 .locale-list{gap:8px}.locale-list a{font-size:15px;padding:10px 12px}#languages{padding:30px 18px}
 html:not([lang=ja]) .hero-copy h1{font-size:clamp(21px,6vw,28px);line-height:1.5}
 html[lang=ar] .hero-copy h1{font-size:24px;line-height:1.65}
 .quality-final .hero-a .hero-copy{height:auto;max-height:none;overflow:visible}
 .hotel-scene-controls{gap:5px}.hotel-scene-caption{font-size:12px}.hotel-scene-count{font-size:11px}
 .hotel-scene-controls button{width:44px;min-width:44px;flex-basis:44px}
 html:not([lang=ja]) .mobile-book{gap:8px;padding-inline:12px}html:not([lang=ja]) .mobile-book .book{font-size:14px}
 .header-actions{gap:6px}.site-header .header-book{display:none}.site-header .menu-toggle{min-width:44px}
 html[lang=ar] .scene-info a{line-height:1.6}
 .room-tabs{max-width:100%;overscroll-behavior-inline:contain}
 .table-scroll th,.table-scroll td{padding:10px 6px;font-size:13px}
 .quality-final .text-link{white-space:normal;max-width:100%;overflow-wrap:anywhere}
 html[lang=fr] .brand-intro h2{hyphens:none;letter-spacing:0;font-size:26px;line-height:1.5}
}
.site-header .menu-toggle{background:transparent;border:1px solid #ffffff60;color:inherit;font-size:14px;min-height:44px;padding:10px 14px}.site-header .header-book{font-size:14px}.site-header .language{font-size:14px}
#booking .booking-notice{margin:24px 0 16px;padding:18px 20px;border-inline-start:3px solid #1d3d5d;background:#e9edf0;color:#1d3d5d;text-align:start}
#booking .booking-notice h3{margin:0 0 10px;font:600 15px/1.6 Arial,sans-serif;letter-spacing:0}
#booking .booking-notice p{margin:0;font-size:14px;line-height:1.85;overflow-wrap:anywhere}
#booking .booking-notice a{display:inline-flex;align-items:center;min-height:44px;margin-top:8px;font-size:14px;color:inherit;text-decoration:underline;text-underline-offset:4px}
@media(max-width:760px){#booking .booking-notice{padding:16px;margin-top:20px}}
