:root{
  --bg:#f5f0e8;
  --paper:#fffdf9;
  --text:#211b17;
  --muted:#70665e;
  --line:#ded4c5;
  --gold:#b58a36;
  --shadow:0 14px 34px rgba(38,27,17,.08);
  --radius:18px;
  --font-body:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  --font-display:Georgia,"Times New Roman",serif;
}
html[lang="ja"]{
  --font-body:"Hiragino Kaku Gothic ProN","Yu Gothic","YuGothic","Noto Sans CJK JP","Noto Sans JP",sans-serif;
  --font-display:"Yu Mincho","YuMincho","Hiragino Mincho ProN","Noto Serif CJK JP","Noto Serif JP",serif;
}
html[lang="zh-CN"]{
  --font-body:"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans CJK SC","Source Han Sans SC",sans-serif;
  --font-display:"Songti SC","STSong","Noto Serif CJK SC","Source Han Serif SC",serif;
}
html[lang="en"]{
  --font-body:"Helvetica Neue",Helvetica,Arial,sans-serif;
  --font-display:"Baskerville","Iowan Old Style",Georgia,"Times New Roman",serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--bg);color:var(--text);
  font-family:var(--font-body);line-height:1.75;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
.site-header{
  position:sticky;top:0;z-index:50;display:grid;grid-template-columns:auto 1fr auto;
  align-items:center;gap:24px;padding:13px 4vw;background:rgba(245,240,232,.94);
  border-bottom:1px solid var(--line);backdrop-filter:blur(12px);
}
.brand{display:flex;align-items:center;gap:12px}.brand-logo,.footer-logo{width:54px;height:54px;object-fit:contain;border-radius:14px;background:#fff}
.brand-text{display:flex;flex-direction:column;line-height:1.08}.brand-name{font-family:var(--font-display);font-size:14px;letter-spacing:.16em;font-weight:600}.brand-sub{font-size:11px;letter-spacing:.24em;color:var(--muted)}
.nav{display:flex;gap:24px;justify-content:center;font-size:13px;font-weight:500}.nav a{position:relative}.nav a::after{content:"";position:absolute;left:0;bottom:-7px;width:0;height:1px;background:var(--text);transition:.2s}.nav a:hover::after{width:100%}
.lang-switcher{display:flex;gap:6px}.lang-switcher button{font-family:var(--font-body);border:1px solid var(--line);background:#fff;padding:6px 10px;border-radius:999px;cursor:pointer}.lang-switcher button.active{background:var(--text);color:#fff;border-color:var(--text)}
.hero{position:relative;min-height:86vh;display:flex;align-items:flex-end}.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.10),rgba(0,0,0,.64))}.hero-content{position:relative;z-index:1;color:#fff;padding:9vw 5vw;max-width:820px}
.eyebrow{letter-spacing:.12em;font-size:12px;font-weight:600;color:var(--gold);margin:0 0 12px}.hero .eyebrow,.booking-banner .eyebrow{color:#ead19b}
h1,h2,h3,h4{margin:0 0 12px;line-height:1.35;font-family:var(--font-display);font-weight:500;letter-spacing:.015em}h1{font-size:clamp(44px,8vw,88px);line-height:1.08}h2{font-size:clamp(31px,4.2vw,58px)}h3{font-size:clamp(24px,3vw,36px)}h4{font-size:20px}
.hero-copy{font-size:clamp(17px,2vw,22px);max-width:660px;color:#f2ede6}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.btn{font-family:var(--font-body);display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border-radius:999px;font-size:13px;border:1px solid var(--text);transition:.2s;font-weight:600}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--text);color:#fff;border-color:var(--text)}.hero .btn-primary{background:#fff;color:#1c1713;border-color:#fff}.btn-secondary{background:rgba(255,255,255,.08);backdrop-filter:blur(6px);border-color:rgba(255,255,255,.70);color:#fff}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line)}.stat{background:var(--paper);padding:26px 16px;text-align:center;display:flex;flex-direction:column;gap:5px}.stat strong{font-size:28px;color:var(--gold);font-family:var(--font-display);font-weight:500}.stat span{font-size:13px;color:var(--muted)}
.section{padding:82px 5vw}.section-head{margin-bottom:30px}.section-head.left{margin-bottom:18px}.intro-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:36px;align-items:start}.intro-copy p{margin:0 0 18px;font-size:17px;color:var(--muted)}
.feature-list{display:flex;flex-wrap:wrap;gap:12px}.feature-pill{padding:12px 16px;border:1px solid var(--line);background:var(--paper);border-radius:999px;font-size:14px;box-shadow:var(--shadow)}
.gallery-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding-top:10px}.gallery-strip img{border-radius:var(--radius);height:280px;object-fit:cover;box-shadow:var(--shadow)}
.room-card{display:grid;grid-template-columns:.9fr 1.1fr;gap:30px;background:var(--paper);border:1px solid var(--line);border-radius:28px;padding:28px;margin-bottom:28px;box-shadow:var(--shadow)}.room-tag{display:inline-block;margin-bottom:12px;padding:7px 12px;border-radius:999px;background:#f2eadf;color:#9f7428;font-size:13px;font-weight:700}.room-text p{color:var(--muted)}.room-meta{font-weight:600;color:var(--text)!important}.room-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.room-gallery img{aspect-ratio:4/3;object-fit:cover;border-radius:16px}
.amenity-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.amenity{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:17px;text-align:center;box-shadow:var(--shadow)}
.split{display:grid;grid-template-columns:.95fr 1.05fr;gap:34px;align-items:start}.lead{font-size:18px;color:var(--muted)}.contact-lines{display:grid;gap:10px;margin-top:20px}.contact-lines a{color:#9f7428;border-bottom:1px solid currentColor}.access-cards{display:grid;gap:16px}.access-card,.info-card{background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:23px;box-shadow:var(--shadow)}
.cards.four{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.cards.three{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.info-card p{color:var(--muted);margin:0}
.booking-banner{background:#1d1915;color:#fff;border-radius:28px;margin:0 5vw 72px;display:flex;align-items:center;justify-content:space-between;gap:24px;box-shadow:var(--shadow)}.booking-banner p{color:#ddd2c5;margin:0}.booking-banner .btn-primary{background:#fff;color:#1d1915;border-color:#fff;white-space:nowrap}
.footer{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:24px;padding:38px 5vw 56px;background:#eee5d9;border-top:1px solid var(--line)}.footer-brand{display:flex;gap:16px;align-items:flex-start}.footer h3,.footer h4{margin-bottom:8px}.footer p{color:var(--muted);margin:0 0 8px}.footer a:hover{color:#9f7428}
@media(max-width:980px){.nav{display:none}.stats,.amenity-grid,.cards.four,.cards.three,.footer,.gallery-strip,.room-card,.split,.intro-grid{grid-template-columns:1fr 1fr}.room-card .room-text{grid-column:1/-1}}
@media(max-width:720px){.site-header{grid-template-columns:1fr auto}.brand-text{display:none}.lang-switcher button{padding:6px 8px;font-size:12px}.hero{min-height:72vh}.stats,.amenity-grid,.cards.four,.cards.three,.footer,.gallery-strip,.room-card,.split,.intro-grid{grid-template-columns:1fr}.gallery-strip img{height:260px}.booking-banner{margin:0 4vw 56px;padding:30px;flex-direction:column;align-items:flex-start}.section{padding:58px 4vw}}
