:root{color-scheme:light;--paper:#f8f5ef;--ink:#252b24;--muted:#5c6258;--green:#234636;--gold:#806647;--line:#d9d9ce;--surface:#fffdf8}
:root[data-theme=dark]{color-scheme:dark;--paper:#171f1a;--ink:#f5f1e6;--muted:#c7cabc;--green:#d0e3d2;--gold:#d6bb92;--line:#47584b;--surface:#233027}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.65 "Microsoft YaHei",system-ui,sans-serif}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--gold);outline-offset:4px}button,input,select{font:inherit}img{display:block;width:100%;object-fit:cover}h1,h2,p{margin:0}h1,h2,.mark{font-family:"Songti SC",SimSun,serif}h2{font-size:clamp(29px,4vw,49px);line-height:1.15;margin-bottom:9px}
.shell,.mast-inner,.dining,.story{width:min(100% - 64px,1340px);margin:auto}.mast-inner,.mast nav,.actions,.mark{display:flex;align-items:center}.mast-inner{justify-content:space-between;min-height:80px;gap:16px}.mast nav,.actions{gap:clamp(9px,2vw,28px)}.mast nav a,.actions a{white-space:nowrap;font-weight:650}.mast nav a[aria-current]{color:var(--green);border-bottom:1px solid}.mark{gap:10px;font-weight:800;font-size:19px;white-space:nowrap}.mark img{width:64px;height:40px;object-fit:contain;filter:brightness(0) saturate(100%)}.mark small{display:block;font:9px Georgia,serif;letter-spacing:.06em}.warm-toggle,.arrow{border:1px solid var(--line);border-radius:50%;width:40px;height:40px;background:var(--surface);color:var(--ink);cursor:pointer}.member-avatar{display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;width:34px;height:34px}.solid,.outline{display:inline-block;padding:9px 16px;border-radius:7px;font-weight:700}.solid{background:var(--theme-button,#234636);color:white;border:1px solid var(--theme-button,#234636);cursor:pointer}.outline{border:1px solid var(--green);color:var(--green)}
.cover{position:relative;isolation:isolate;min-height:clamp(460px,42vw,660px);display:grid;align-content:space-between;color:#fff}.cover-img,.cover::before{position:absolute;inset:0;height:100%;width:100%;z-index:-2}.cover::before{content:"";z-index:-1;background:linear-gradient(90deg,#10251edb,transparent 95%)}.cover-copy{padding:clamp(50px,7vw,108px) max(6vw,calc((100% - 1130px)/2)) 32px}.cover h1{font-size:clamp(41px,5.4vw,77px);line-height:1.14;letter-spacing:.03em;margin-bottom:14px}.location{margin-top:33px}.booking{justify-self:center;display:grid;grid-template-columns:1fr 1fr .85fr auto;gap:12px;width:min(100% - 36px,1070px);padding:12px;background:var(--surface);color:var(--ink);border-radius:12px;box-shadow:0 8px 28px #182f2530}.booking label{padding-inline:12px;border-right:1px solid var(--line);font-weight:700}.booking input,.booking select{display:block;width:100%;min-width:0;background:transparent;color:var(--ink);border:0}
.features{display:grid;grid-template-columns:repeat(4,1fr);text-align:center;padding-block:36px}.features div+div{border-left:1px solid var(--line)}.features span,.features strong,.features small{display:block}.features span{font-size:23px;color:var(--green)}.features small,.room-heading p:not(.eyebrow){color:var(--muted)}
.rooms{padding:20px 0 38px}.room-heading{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:22px}.eyebrow{font:700 12px Georgia,serif;letter-spacing:.14em;color:var(--gold);margin-bottom:8px}.rail-box{position:relative}.rail{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 24px)/3);gap:12px;overflow:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.room-card{position:relative;isolation:isolate;scroll-snap-align:start;aspect-ratio:1.42;border-radius:10px;overflow:hidden;color:#fff;background:#32493d}.room-card img{height:100%;transition:transform .4s}.room-card:hover img{transform:scale(1.04)}.room-card>div{position:absolute;inset:auto 0 0;padding:36px 18px 16px;display:flex;align-items:end;justify-content:space-between;gap:7px;background:linear-gradient(transparent,#1d190fe8)}.room-card strong,.room-card small{display:block}.price{white-space:nowrap;font-size:20px}.price small{display:inline;font-size:11px}.arrow{position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 3px 12px #0002}.prev{left:-17px}.next{right:-17px}.dots{display:flex;justify-content:center;gap:8px;padding-top:15px}.dots button{width:20px;height:6px;padding:0;border:0;border-radius:8px;background:var(--line);cursor:pointer}.dots button[aria-current]{background:var(--green)}
.dining,.story{display:grid;align-items:center;gap:clamp(20px,5vw,72px);margin:0 auto 28px}.dining{grid-template-columns:1.18fr 1fr}.story{grid-template-columns:.9fr 1fr .52fr}.dining img,.story img{height:clamp(200px,20vw,330px);border-radius:10px}.story img:last-child{height:180px;border-radius:10px}.dining div,.story div{padding-block:20px}.outline{margin-top:16px}
footer{background:var(--theme-footer,#19382b);color:#fff9ed;padding:32px 0 12px}.foot{display:grid;grid-template-columns:1.4fr .8fr 1.3fr 1fr;gap:20px}.foot a:not(.mark){display:block}.foot .mark img,[data-theme=dark] .mast .mark img{filter:brightness(0) invert(1)}.foot strong{display:block;margin-bottom:8px}.copyright{text-align:center;border-top:1px solid #ffffff35;margin-top:22px;padding-top:10px;font-size:12px}
@media(max-width:980px){.mast-inner{flex-wrap:wrap;padding-block:10px}.mast nav{order:2;width:100%;justify-content:space-between}.contact-link{display:none}}
@media(max-width:650px){.shell,.mast-inner,.dining,.story{width:calc(100% - 30px)}.mast nav{font-size:12px;gap:5px}.mark{font-size:15px}.mark img{width:43px}.actions{gap:6px}.actions .solid{padding:6px 8px;font-size:12px}.cover-copy{padding-inline:20px}.booking{grid-template-columns:1fr 1fr;gap:9px}.booking label{padding-inline:5px}.features{grid-template-columns:1fr 1fr;gap:18px}.features div+div{border:0}.rail{grid-auto-columns:85%}.prev{left:-9px}.next{right:-9px}.room-heading{align-items:start;flex-direction:column}.dining,.story{width:calc(100% - 30px);padding:0;grid-template-columns:1fr;gap:8px}.dining img,.story img{border-radius:10px}.foot{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
