/* Warm, editorial navigation: approved logo and six requested destinations. */
html{scroll-padding-top:132px}
.header{height:112px;gap:28px;position:sticky;top:0;z-index:30;background:#e9e2d5;border-bottom:1px solid #cfc4b1;width:100%;max-width:none;padding-inline:max(56px,calc((100% - 1320px)/2))}
.header .brand{width:222px}
.header nav{display:flex;align-items:center;gap:26px;margin-left:auto;font-family:Arial,sans-serif;font-size:12px;letter-spacing:.15px}
.header nav a{position:relative;display:inline-flex;align-items:center;gap:6px;min-height:46px;white-space:nowrap;line-height:1.3;color:var(--green)}
.header nav .nav-link::after{content:"";position:absolute;bottom:5px;left:0;width:100%;height:1px;background:var(--green);transform:scaleX(0);transform-origin:left;transition:transform .2s ease-out}
.header nav .nav-link:hover::after,.header nav .nav-link:focus-visible::after,.header nav .nav-link[aria-current]::after{transform:scaleX(1)}
.header nav .nav-link[aria-current]{font-weight:600}
.header nav .nav-book{padding:0 18px;background:var(--green);color:var(--paper);gap:18px;transition:background .2s ease-out}
.header nav .nav-book:hover{background:#49644f;color:var(--paper)}
.header svg{width:14px;height:14px;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.header .external-icon{width:10px;height:10px;color:#6d7d67}
.header .nav-end{margin-left:0;padding-left:22px;border-left:1px solid var(--line);gap:0}
.header .nav-end .booking-status{display:inline-flex;align-items:center;min-height:44px;font:10px Arial,sans-serif;letter-spacing:.2px;color:#5d6c57}
.header .mobile-book{display:none}
.header .menu{display:none}
@media(max-width:1250px) and (min-width:1101px){.header{gap:20px}.header .brand{width:198px}.header nav{gap:19px;font-size:11px}.header .nav-end{padding-left:16px}.header nav .nav-book{padding-inline:14px;gap:10px}}
@media(max-width:1100px){
 .header{height:94px;gap:20px;padding-inline:32px}.header .brand{width:220px}
 .header nav{display:none;position:absolute;top:calc(100% + 1px);left:16px;right:16px;margin:0;padding:20px 28px 25px;background:#e9e2d5;border:1px solid #cfc4b1;box-shadow:0 18px 28px #263b2a12;flex-direction:column;align-items:stretch;gap:0;font-size:17px;max-height:calc(100dvh - 125px);overflow-y:auto}
 .header nav.open{display:flex}.header nav a{min-height:54px;border-bottom:1px solid var(--line);justify-content:space-between}.header nav .nav-link::after{display:none}.header nav .nav-link[aria-current]{color:#61784e}.header nav .nav-book{margin:6px 0;padding:15px 18px;min-height:51px;border:0;font-size:15px}
 .header .nav-end{display:flex;margin-left:auto;border:0;padding:0}.header .nav-end .booking-status{display:none}.header .mobile-book{display:flex;padding:12px 19px;background:var(--green);color:var(--paper);font:12px Arial,sans-serif;min-height:44px;align-items:center}
 .header .menu{display:inline-flex;align-items:center;justify-content:center;gap:12px;order:3;background:transparent;border:0;padding:10px 0 10px 8px;color:var(--green);font:10px Arial,sans-serif;min-width:44px;min-height:44px;cursor:pointer}
 .menu-lines{display:block;width:23px;height:12px;position:relative}.menu-lines::before,.menu-lines::after{content:"";position:absolute;width:23px;height:1px;background:currentColor;left:0;transition:transform .2s ease-out,top .2s ease-out}.menu-lines::before{top:2px}.menu-lines::after{top:10px}.menu[aria-expanded="true"] .menu-lines::before{top:6px;transform:rotate(45deg)}.menu[aria-expanded="true"] .menu-lines::after{top:6px;transform:rotate(-45deg)}
}
@media(max-width:600px){html{scroll-padding-top:100px}.header{height:88px;gap:14px;padding-inline:18px}.header .brand{width:166px}.header .mobile-book{padding:11px 13px;font-size:10px}.header .menu{padding-left:0;gap:0;min-width:36px}.header .menu>span:first-child{display:none}.header nav{left:14px;right:14px;padding:14px 22px 22px;font-size:16px}}
@media(max-width:360px){.header{gap:8px}.header .brand{width:140px}.header .mobile-book{padding-inline:11px;font-size:10px}.header .menu{min-width:32px}}
@media(prefers-reduced-motion:reduce){.header *,.header *::before,.header *::after{transition:none!important}}
.header nav a,.header nav .nav-link[aria-current],.header .nav-end .booking-status,.header .mobile-book,.header .menu{font-weight:700}
.header .nav-end{gap:16px}.language-control{display:flex;align-items:center;gap:5px;color:var(--green)}.language-control svg{width:15px;height:15px;stroke-width:1.2}.language-control select{appearance:auto;max-width:75px;border:0;background:transparent;color:var(--green);font:600 11px/1.5 Arial,'Microsoft YaHei',sans-serif;cursor:pointer;min-height:44px;padding:5px 0}.language-control select:focus-visible{outline:2px solid var(--green);outline-offset:3px}.language-control option{background:#f7f5ef;color:var(--green)}
@media(min-width:1101px) and (max-width:1250px){.header .brand{width:180px}.header nav{gap:15px}.header{gap:18px}.header .nav-end{padding-left:12px;gap:12px}.header .nav-end .booking-status{font-size:9px}.language-control{gap:3px}.language-control svg{width:13px}.language-control select{font-size:10px}}
@media(max-width:1100px){.header .nav-end{gap:20px}.language-control select{font-size:12px}}
@media(max-width:600px){.header .brand{width:138px}.header{gap:10px}.header .nav-end{gap:9px}.language-control{gap:2px}.language-control svg{width:13px}.language-control select{font-size:10px;max-width:60px}.header .mobile-book{padding-inline:10px}.header .menu{min-width:30px}}
@media(max-width:360px){.header .brand{width:140px}.header .mobile-book{display:none}.header .nav-end{gap:0}.header{gap:12px}}
html[lang="en"] .hero h1{font-size:49px;letter-spacing:0;line-height:1.2}html[lang="ko"] h1,html[lang="ko"] h2,html[lang="ja"] h1,html[lang="ja"] h2{word-break:keep-all}html[lang="ko"] .hero h1,html[lang="ja"] .hero h1{font-size:48px}html:not([lang="zh-CN"]):not([lang="zh-TW"]) .booking{gap:24px}html:not([lang="zh-CN"]):not([lang="zh-TW"]) .booking h2{font-size:17px}html:not([lang="zh-CN"]):not([lang="zh-TW"]) .photo-tag{max-width:calc(100% - 48px)}
@media(max-width:850px){html[lang="en"] .hero h1,html[lang="ko"] .hero h1,html[lang="ja"] .hero h1{font-size:35px}html:not([lang="zh-CN"]):not([lang="zh-TW"]) .booking h2{font-size:18px}}
@media(max-width:600px){html[lang="en"] .hero h1,html[lang="ko"] .hero h1,html[lang="ja"] .hero h1{font-size:36px}html:not([lang="zh-CN"]):not([lang="zh-TW"]) .section-head h2,html:not([lang="zh-CN"]):not([lang="zh-TW"]) .intro h2,html:not([lang="zh-CN"]):not([lang="zh-TW"]) .location h2,html:not([lang="zh-CN"]):not([lang="zh-TW"]) .faq h2{font-size:25px}html:not([lang="zh-CN"]):not([lang="zh-TW"]) .booking .solid{white-space:normal;gap:10px}}
html[lang="ja"] h1,html[lang="ja"] h2{word-break:normal;overflow-wrap:anywhere}
@media(max-width:600px){html:not([lang="zh-CN"]):not([lang="zh-TW"]) .hero h1 br:nth-child(2){display:initial}html[lang="en"] .hero h1{font-size:34px}html[lang="ja"] .hero h1{font-size:32px}}
.header .nav-end .booking-status{font-size:12px;font-weight:700;color:var(--green)}@media(min-width:1101px) and (max-width:1250px){.header .nav-end .booking-status{font-size:11px}}
