/* Readable multilingual typography and consistent desktop/mobile navigation. */
:root{--sans:Arial,"Microsoft YaHei","PingFang SC","Noto Sans CJK SC","Yu Gothic","Malgun Gothic",sans-serif;--serif:Georgia,"Noto Serif SC","Songti SC","SimSun","Yu Mincho","Batang",serif}
body{font-family:var(--sans)}
p,input,textarea,select,button{font-family:var(--sans)}
.page-shell p,.booking label,.booking input,.booking select,.booking textarea,.form-note,.info-panel .line,.catalog-card .note{font-size:16px;line-height:1.75}
.booking label,.info-panel .line b{font-size:14px}.booking select{min-width:0;text-overflow:ellipsis}.booking .row>div{min-width:0}
.catalog-card .meta{font-size:15px;line-height:1.8}.catalog-card .name{line-height:1.5}
.header .desktop-nav a,.header .mobile-nav a{font-size:14px;line-height:1.5;white-space:nowrap}
.header .mobile-nav a{padding:12px 0;font-size:16px}
.header select{min-height:44px}.header .menu-toggle{min-width:44px;min-height:44px}
.page-hero .content{padding-top:176px}
html[lang] .page-hero h1{font-size:clamp(36px,4.3vw,64px);line-height:1.35;max-width:900px;text-wrap:balance;letter-spacing:.01em}
@media(min-width:1101px){
 .header{height:140px;grid-template-columns:1fr auto 1fr;grid-template-rows:88px 52px;padding:0 4%;gap:0 20px}
 .header>.brand{grid-column:2;grid-row:1}.header>.header-actions{grid-column:3;grid-row:1}
 .header>.desktop-nav{grid-column:1/-1;grid-row:2;display:flex;justify-content:center;gap:clamp(14px,1.65vw,28px);width:100%;margin:0;align-self:center}
 .header .menu-toggle{display:none}.hero-content{padding-top:175px}
}
@media(max-width:1100px){
 .header{height:92px;grid-template-columns:1fr auto;padding:0 5%}.header>.brand{grid-column:1;grid-row:1;justify-self:start}.header>.header-actions{grid-column:2;grid-row:1;gap:12px}.header>.desktop-nav{display:none}.header .menu-toggle{display:flex}.header .header-cta{display:none}
 .header .mobile-nav{top:92px;max-height:calc(100dvh - 92px);overflow-y:auto;padding:18px 6% 32px}.header .mobile-nav[hidden]{display:none}
 .page-hero .content{padding-top:138px}.page-hero h1{overflow-wrap:anywhere}
}
.hotel-page-navigation{display:flex;justify-content:center;gap:12px 24px;flex-wrap:wrap;padding:18px 6%;border-bottom:1px solid #e0d4c2;background:#f6efe4}
.hotel-page-navigation a{font-size:14px;line-height:1.6;text-decoration:none;padding:6px 0}.hotel-page-navigation [aria-current]{border-bottom:1px solid currentColor}
a:focus-visible,button:focus-visible,select:focus-visible{outline:2px solid #a77945;outline-offset:5px}
#official-mini-dialog{border:0;border-radius:12px;padding:0;background:#f6efe4;color:#2c2620;width:min(440px,calc(100vw - 32px));max-width:calc(100vw - 32px);max-height:90dvh;overflow:auto}
#official-mini-dialog::backdrop{background:#0009}.mini-dialog-content{position:relative;padding:36px 24px;text-align:center}.mini-dialog-content h2{font-size:25px;line-height:1.4;margin:10px 0}.mini-dialog-guide{font-size:15px;line-height:1.75}.mini-dialog-content>img{display:block;width:min(240px,100%);height:240px;object-fit:contain;margin:18px auto}.mini-dialog-close{position:absolute;right:8px;top:5px;width:44px;height:44px;border:0;background:none;font-size:28px}.mini-dialog-link{width:100%;box-sizing:border-box;padding:10px;border:1px solid #d6c9b5;font-size:14px;resize:none;background:white}.mini-dialog-copy{margin-top:15px;min-height:44px;border:0;border-radius:24px;padding:12px 24px;background:#35291e;color:white;font-size:15px}.mini-dialog-status{font-size:14px;line-height:1.6}
@media(max-width:600px){.bookbar .txt span{display:none}.bookbar{gap:8px!important;padding:10px 5%!important}.bookbar .txt b{font-size:14px}.hotel-page-navigation{justify-content:flex-start;gap:6px 18px}.mini-section .code{max-width:100%;box-sizing:border-box}.page-shell .intro,.page-hero .lede{font-size:16px;line-height:1.8}}
