:root{
  --bg:#f6f1e9;--paper:#fffdfa;--ink:#191613;--muted:#70685f;--line:#ded4c5;
  --gold:#b58a3b;--dark:#181511;--shadow:0 18px 46px rgba(34,27,18,.08);--r:22px
}
*{box-sizing:border-box} html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);line-height:1.75;
  font-family:"Hiragino Kaku Gothic ProN","Yu Gothic","YuGothic","Noto Sans JP",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
html[lang="zh-CN"] body{font-family:"PingFang SC","Microsoft YaHei","Noto Sans CJK SC","Hiragino Sans GB",sans-serif}
html[lang="en"] body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}
a{color:inherit;text-decoration:none} img{display:block;max-width:100%} button{font:inherit}
.header{position:sticky;top:0;z-index:30;display:grid;grid-template-columns:auto 1fr auto;gap:24px;align-items:center;
  padding:12px 4.5vw;background:rgba(246,241,233,.94);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}
.brand{display:flex;align-items:center;gap:12px}.brand img{width:52px;height:52px;object-fit:contain}
.brand-copy{line-height:1.15}.brand-copy strong{display:block;font:600 14px Georgia,serif;letter-spacing:.12em}
.brand-copy span{display:block;font-size:10px;letter-spacing:.14em;color:var(--muted);margin-top:4px}
nav{display:flex;justify-content:center;gap:26px;font-size:12px}nav a{position:relative}
nav a:after{content:"";position:absolute;left:0;bottom:-6px;width:0;height:1px;background:var(--gold);transition:.2s}nav a:hover:after{width:100%}
.languages{display:flex;gap:5px}.languages button{border:1px solid var(--line);background:transparent;border-radius:999px;padding:6px 9px;cursor:pointer;font-size:11px}
.languages button.active{background:var(--ink);color:#fff;border-color:var(--ink)}
.hero{position:relative;min-height:78vh;display:flex;align-items:flex-end;overflow:hidden}
.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.64))}
.hero-content{position:relative;z-index:1;color:white;padding:8vw 5vw;max-width:860px}
.section-kicker{margin:0 0 12px;color:var(--gold);font-size:11px;font-weight:700;letter-spacing:.14em}
.hero .section-kicker{color:#eed5a1}
h1,h2,h3{margin:0}
h1{font:500 clamp(46px,7vw,92px)/.98 Georgia,"Times New Roman",serif;letter-spacing:-.02em}
h2{font:500 clamp(32px,4vw,54px)/1.32 "Hiragino Mincho ProN","Yu Mincho","YuMincho","Noto Serif JP",Georgia,serif}
html[lang="zh-CN"] h2{font-family:"Songti SC","STSong","Noto Serif CJK SC",Georgia,serif}
html[lang="en"] h2{font-family:Georgia,"Times New Roman",serif}
h3{font-size:19px;line-height:1.4}
.hero-lead{font-size:clamp(17px,2vw,23px);max-width:720px;color:#f1ebe1;margin:22px 0 0}
.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}.button{display:inline-flex;min-height:48px;padding:0 21px;align-items:center;justify-content:center;border-radius:999px;font-weight:700;font-size:12px;border:1px solid var(--ink)}
.button.primary{background:var(--ink);color:white}.hero .button.primary{background:white;color:var(--ink);border-color:white}
.button.ghost{border-color:rgba(255,255,255,.7);color:white;background:rgba(255,255,255,.08)}
.facts{display:grid;grid-template-columns:repeat(4,1fr);background:var(--line);gap:1px}
.facts div{background:var(--paper);padding:24px 14px;text-align:center}.facts strong{display:block;color:var(--gold);font:500 25px Georgia,serif}.facts span{font-size:12px;color:var(--muted)}
.section{padding:82px 5vw;border-top:1px solid var(--line)}.heading{max-width:860px;margin-bottom:32px}
.two-col{display:grid;grid-template-columns:1.08fr .92fr;gap:7vw;align-items:start}.copy{font-size:17px;color:var(--muted)}.copy p{margin:0 0 17px}
.chips{display:flex;flex-wrap:wrap;gap:10px}.chips span{padding:10px 14px;border:1px solid var(--line);border-radius:999px;background:var(--paper);box-shadow:var(--shadow);font-size:13px}
.photo-band{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:0 5vw 82px}
.photo-band img{width:100%;height:270px;object-fit:cover;border-radius:var(--r);box-shadow:var(--shadow)}
.room-feature{display:grid;grid-template-columns:.78fr 1.22fr;gap:34px;align-items:start;background:var(--paper);border:1px solid var(--line);padding:28px;border-radius:28px;box-shadow:var(--shadow)}
.room-gap{margin-top:22px}.badge{display:inline-block;padding:7px 11px;border-radius:999px;background:#efe4d1;color:#9b732e;font-size:12px;font-weight:700;margin-bottom:12px}
.room-copy h3{font:500 31px/1.3 "Hiragino Mincho ProN","Yu Mincho","Noto Serif JP",Georgia,serif}
html[lang="zh-CN"] .room-copy h3{font-family:"Songti SC","STSong","Noto Serif CJK SC",Georgia,serif}
.room-copy p{color:var(--muted)}.room-spec{color:var(--ink)!important;font-weight:700}
.room-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.room-grid img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:14px}
.gallery-heading{margin-top:64px}.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:14px;box-shadow:var(--shadow)}
.alt{background:#eee6da}.amenities{display:grid;grid-template-columns:repeat(5,1fr);gap:11px}.amenities div{background:rgba(255,255,255,.72);border:1px solid var(--line);border-radius:15px;padding:15px;text-align:center;font-size:13px}
.large{font-size:18px;color:var(--muted);margin-top:0}.address-box{margin-top:24px;padding:20px;border:1px solid var(--line);border-radius:18px;background:var(--paper)}
.address-box span{display:block;font-size:11px;color:var(--gold);font-weight:700;margin-bottom:6px}.address-box strong{display:block;font-size:16px}.address-box a{display:inline-block;margin-top:10px;color:var(--gold);font-size:12px;font-weight:700}
.route-list{display:grid;gap:12px}.route-list article,.guide-grid article,.info-grid article{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:21px;box-shadow:var(--shadow)}
.route-list p,.guide-grid p,.info-grid p{color:var(--muted);margin:7px 0 0}.guide-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.guide-grid span{display:block;color:var(--gold);font:500 13px Georgia,serif;margin-bottom:14px}
.info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.booking{margin:0 5vw 70px;padding:38px;display:flex;justify-content:space-between;align-items:center;gap:30px;border-radius:28px;background:var(--dark);color:white}
.booking h2{max-width:760px}.booking p{color:#d8cdbc}.booking .button.primary{background:white;color:var(--ink);border-color:white;flex:0 0 auto}
footer{display:grid;grid-template-columns:1fr 1fr;gap:28px;padding:34px 5vw 50px;background:#e9dfd1;border-top:1px solid var(--line)}
.footer-brand{display:flex;align-items:flex-start;gap:13px}.footer-brand img{width:52px;height:52px;object-fit:contain}.footer-brand strong{display:block;font:500 19px Georgia,serif}.footer-brand span{display:block;color:var(--muted);font-size:12px;margin-top:4px}
footer>div:last-child{display:flex;flex-direction:column;align-items:flex-start;gap:5px}.footer-label{font-size:11px;color:var(--gold);font-weight:700}footer a,footer>div:last-child>span:not(.footer-label){font-size:13px;color:var(--muted)}
@media(max-width:980px){nav{display:none}.facts,.gallery,.amenities{grid-template-columns:repeat(2,1fr)}.two-col,.room-feature{grid-template-columns:1fr}.guide-grid,.info-grid{grid-template-columns:1fr}.photo-band{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.header{grid-template-columns:1fr auto;padding:10px 4vw}.brand-copy{display:none}.brand img{width:44px;height:44px}.hero{min-height:68vh}.hero-content{padding:90px 5vw 54px}.facts{grid-template-columns:1fr 1fr}.section{padding:58px 5vw}.photo-band{padding:0 5vw 58px;grid-template-columns:1fr 1fr}.photo-band img{height:190px}.room-grid,.gallery,.amenities{grid-template-columns:1fr 1fr}.booking{flex-direction:column;align-items:flex-start;padding:28px}footer{grid-template-columns:1fr}.languages button{padding:5px 7px}}
