:root{color-scheme:light;--paper:#e8e0d0;--paper-light:#f5f1e8;--white:#fbfaf7;--stone:#d6cfc1;--tea:#8a7359;--ink:#30231d;--soft-ink:#62574a;--line:#c8baa5;--serif:"Songti SC","STSong","Noto Serif CJK SC","Source Han Serif SC",Georgia,serif;--sans:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",Arial,sans-serif;--content:1320px;--gutter:clamp(22px,6vw,88px);--header-h:72px;--ease:cubic-bezier(.2,.65,.25,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 16px);background:var(--paper-light)}body{margin:0;background:var(--paper-light);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.8;-webkit-font-smoothing:antialiased;overflow-wrap:anywhere}img{display:block;max-width:100%;height:auto}figure{margin:0}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--tea);outline-offset:4px}.section-wrap,.header-inner,.footer-inner{width:min(calc(100% - 2 * var(--gutter)),var(--content));margin-inline:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;z-index:50;top:8px;left:8px;padding:10px 16px;background:var(--ink);color:var(--white);transform:translateY(-150%)}.skip-link:focus{transform:none}.eyebrow{display:block;margin:0;color:var(--tea);font-size:10px;line-height:1.5;letter-spacing:.18em;text-transform:uppercase}.eyebrow-light{color:#e7dfd0}.text-link{display:inline-flex;align-items:center;gap:11px;border-bottom:1px solid currentColor;padding:3px 0 6px;font-size:12px;letter-spacing:.08em}.arrow{font-family:Arial,sans-serif}.button{display:inline-flex;min-height:48px;align-items:center;justify-content:center;gap:15px;padding:12px 22px;border:1px solid transparent;font-size:12px;letter-spacing:.1em;transition:background .2s var(--ease),color .2s var(--ease)}.button-light{background:var(--paper-light);color:var(--ink)}.button-light:hover{background:white}.button-dark{background:var(--ink);color:var(--white)}.button-dark:hover{background:#554033}.button-outline-light{border-color:#e8e0d0a8;color:var(--white)}.button-outline-light:hover{background:var(--paper-light);color:var(--ink)}
.site-header{position:relative;z-index:30;height:var(--header-h);background:var(--paper-light);border-bottom:1px solid #30231d12}.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between}.wordmark{display:flex;align-items:center;width:112px;min-height:44px}.wordmark img{width:100%;height:auto}.primary-nav{display:flex;align-items:center;gap:clamp(18px,3vw,46px);height:100%;font-size:11px;letter-spacing:.09em}.primary-nav>a{position:relative;display:inline-flex;align-items:center;min-height:44px;white-space:nowrap}.primary-nav>a[aria-current=page]:after,.primary-nav>a:not(.nav-cta):hover:after{position:absolute;right:0;bottom:12px;left:0;height:1px;background:var(--tea);content:""}.primary-nav .nav-cta{padding-left:24px;border-left:1px solid var(--line);color:var(--tea)}.language-link{font-size:10px;letter-spacing:.13em}.menu-toggle{display:none}
.hero{position:relative;isolation:isolate;min-height:580px;height:min(84svh,880px);max-height:920px;overflow:hidden;background:#575448;color:var(--white)}.hero-picture,.hero-picture img,.hero-overlay{position:absolute;inset:0;width:100%;height:100%}.hero-picture img{object-fit:cover;object-position:center 54%}.hero-overlay{z-index:1;background:linear-gradient(90deg,#171b18a6 0%,#171b183d 54%,#171b1812 100%),linear-gradient(0deg,#171b1852,transparent 42%)}.hero-copy{position:absolute;z-index:2;top:50%;left:max(var(--gutter),calc((100% - var(--content))/2));width:min(580px,72%);transform:translateY(-44%)}.hero-copy .eyebrow{letter-spacing:.22em}.hero h1{margin:20px 0 7px;font:400 clamp(58px,8vw,112px)/1.05 var(--serif);letter-spacing:.04em}.hero-deck{max-width:25em;margin:0;color:#f8f3e9e8;font:400 clamp(16px,2vw,20px)/1.9 var(--serif);letter-spacing:.12em}.hero-actions{display:flex;align-items:center;gap:26px;margin-top:34px}.hero-cta{font-size:12px;letter-spacing:.1em}.hero-location{position:absolute;z-index:2;right:var(--gutter);bottom:22px;margin:0;color:#f8f3e9d9;font-size:10px;letter-spacing:.13em}.hero-scroll{position:absolute;z-index:2;bottom:20px;left:50%;width:40px;height:38px;display:grid;place-items:center}.hero-scroll span{height:28px;width:1px;background:#fff9}.welcome-section{padding-block:clamp(82px,12vw,166px) clamp(80px,10vw,130px)}.section-rail{display:flex;align-items:center;gap:20px}.rail-mark{width:60px;height:1px;background:var(--line)}.welcome-copy{display:grid;grid-template-columns:1.1fr .7fr;gap:12%;align-items:end;margin-top:32px}.welcome-copy h2{max-width:14em;margin:0;font:400 clamp(33px,5vw,64px)/1.55 var(--serif);letter-spacing:.05em}.welcome-copy-side{max-width:390px;padding-bottom:9px}.welcome-copy-side p{margin:0 0 25px;color:var(--soft-ink);font:400 15px/2.2 var(--serif);letter-spacing:.035em}
.space-section{display:grid;grid-template-columns:1.12fr .88fr;min-height:560px;background:var(--paper)}.space-photo{min-height:420px;overflow:hidden}.space-photo img{width:100%;height:100%;object-fit:cover;object-position:center}.space-copy{position:relative;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:clamp(45px,8vw,115px);overflow:hidden}.space-copy h2{max-width:8em;margin:21px 0 18px;font:400 clamp(35px,4.3vw,58px)/1.5 var(--serif);letter-spacing:.06em}.space-copy>p:not(.eyebrow){max-width:26em;margin:0 0 27px;color:var(--soft-ink);font:14px/2.15 var(--serif)}.space-ornament{position:absolute;right:10%;bottom:-.25em;color:#30231d08;font:400 240px/1 var(--serif)}
.rooms-section{padding-block:clamp(86px,11vw,148px)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:35px;margin:22px 0 42px}.section-heading h2,.details-heading h2{margin:6px 0 0;font:400 clamp(34px,4vw,54px)/1.35 var(--serif);letter-spacing:.04em}.section-heading>p{max-width:340px;margin:0;color:var(--soft-ink);font-size:13px;line-height:2}.room-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(34px,6vw,82px) clamp(22px,4vw,56px)}.room-grid-featured .room-card:nth-child(even){margin-top:100px}.room-grid-all{grid-template-columns:repeat(2,minmax(0,1fr))}.room-grid-related{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.room-card{min-width:0}.room-card-link{display:block}.room-card-image{position:relative;aspect-ratio:1.34;overflow:hidden;background:var(--stone)}.room-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .65s var(--ease)}.room-card-link:hover .room-card-image img{transform:scale(1.025)}.room-card-index{position:absolute;left:14px;bottom:12px;color:white;font:11px/1 Georgia,serif;letter-spacing:.14em;text-shadow:0 1px 5px #0008}.room-card-copy{display:flex;align-items:flex-end;justify-content:space-between;gap:15px;padding:17px 0 0}.room-card-name{font:400 clamp(19px,2.3vw,27px)/1.4 var(--serif);letter-spacing:.04em}.room-card-copy p{margin:5px 0 0;color:var(--soft-ink);font-size:12px;line-height:1.8}.room-card-copy .text-link{flex:none;font-size:10px}.section-end-link{display:flex;justify-content:center;margin-top:55px}.quiet-note{margin:24px auto 0;text-align:center;color:#777164;font-size:11px}
.details-section{padding:clamp(72px,9vw,124px) 0 0;background:#3e3931;color:var(--white)}.details-heading-grid{display:grid;grid-template-columns:1fr .65fr;gap:10%;align-items:end;margin-top:20px}.details-heading h2{font-size:clamp(36px,4.4vw,58px)}.details-heading-grid>p{max-width:390px;margin:0;color:#eee8dbbd;font:14px/2.1 var(--serif)}.detail-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:2px;margin-top:55px}.detail-card{position:relative;min-height:260px;aspect-ratio:1.05;overflow:hidden;background:#62594d}.detail-card-large{aspect-ratio:1.28}.detail-card img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}.detail-card:after{position:absolute;inset:40% 0 0;background:linear-gradient(0deg,#151511a8,transparent);content:""}.detail-card figcaption{position:absolute;z-index:1;right:20px;bottom:17px;left:20px;display:flex;align-items:center;gap:13px;color:white}.detail-card figcaption span{font:11px Georgia,serif;opacity:.78}.detail-card figcaption strong{font:400 18px var(--serif);letter-spacing:.08em}.food-note{display:flex;align-items:baseline;gap:35px;padding-block:35px 42px;border-top:1px solid #ffffff30;margin-top:2px}.food-note .eyebrow{flex:none;color:#d7c7a8}.food-note p{margin:0;color:#eee8dbd9;font:13px/2 var(--serif)}.mountain-section{position:relative;isolation:isolate;min-height:510px;display:flex;align-items:center;overflow:hidden;background:#44473b;color:white}.mountain-section>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 52%}.mountain-section:after{position:absolute;z-index:0;inset:0;background:linear-gradient(90deg,#1c211bd9,#1c211b52 64%,#1c211b20);content:""}.mountain-copy{position:relative;z-index:1;width:min(calc(100% - 2 * var(--gutter)),var(--content));margin:auto}.mountain-copy h2{max-width:9em;margin:16px 0;font:400 clamp(36px,5vw,62px)/1.45 var(--serif)}.mountain-copy>p:not(.eyebrow){max-width:31em;color:#f7f2e8dd;font:14px/2.1 var(--serif)}.text-link-light{color:white}.house-note{display:grid;grid-template-columns:.48fr 1fr;gap:10%;padding-block:clamp(80px,11vw,145px)}.note-label{display:flex;align-items:center;gap:17px}.note-rule{width:56px;height:1px;background:var(--line)}.house-note-copy h2{margin:0 0 12px;font:400 clamp(30px,4vw,48px)/1.6 var(--serif)}.house-note-copy p{max-width:42em;color:var(--soft-ink);font:15px/2.25 var(--serif)}.house-note-copy .text-link{margin-top:10px}.closing-section{padding:clamp(70px,9vw,112px) 20px;text-align:center;background:#302a23;color:white}.closing-section h2{margin:16px 0;font:400 clamp(32px,4.4vw,55px)/1.5 var(--serif)}.closing-section>p:not(.eyebrow){max-width:37em;margin:0 auto 25px;color:#eee8dbcc;font:14px/2.1 var(--serif)}
.page-intro{padding-block:clamp(72px,10vw,132px) 48px}.page-intro h1{margin:14px 0 10px;font:400 clamp(43px,6vw,78px)/1.3 var(--serif);letter-spacing:.05em}.page-deck{max-width:38em;margin:0;color:var(--soft-ink);font:16px/2.1 var(--serif)}.rooms-list-section{padding-bottom:clamp(75px,10vw,130px)}.page-cta{padding:55px var(--gutter);text-align:center;background:var(--paper);}.page-cta h2{margin:12px auto 20px;font:400 clamp(30px,4vw,46px)/1.5 var(--serif)}.room-detail-head{padding-block:45px 30px}.back-link{display:inline-flex;align-items:center;gap:10px;min-height:44px;color:var(--soft-ink);font-size:12px}.room-detail-head h1{margin:25px 0 8px;font:400 clamp(43px,6vw,76px)/1.3 var(--serif)}.room-deck{max-width:45em;color:var(--soft-ink);font:15px/2.1 var(--serif)}.room-gallery{display:grid;grid-template-columns:1.4fr 1fr 1fr;grid-template-rows:260px 260px;gap:5px}.gallery-image{position:relative;display:block;width:100%;height:100%;margin:0;padding:0;border:0;overflow:hidden;background:var(--stone);text-align:left;cursor:zoom-in}.gallery-image:first-child{grid-row:span 2}.gallery-image button{width:100%;height:100%;padding:0;border:0;background:none;cursor:zoom-in}.gallery-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}.gallery-image button:hover img{transform:scale(1.02)}.gallery-count{position:absolute;right:12px;bottom:10px;color:white;font-size:10px;text-shadow:0 1px 4px #000}.room-confirm{display:flex;align-items:center;justify-content:space-between;gap:25px;padding-block:35px 70px;border-bottom:1px solid var(--line)}.room-confirm h2{margin:8px 0;font:400 27px var(--serif)}.room-confirm p{color:var(--soft-ink);font-size:13px}.related-section{padding-block:70px 100px}.related-section h2{margin:12px 0 32px;font:400 34px var(--serif)}.not-found{padding-block:100px;text-align:center}.image-dialog{width:min(94vw,1280px);max-width:none;max-height:92dvh;padding:0;border:0;background:#1c1b18;color:white}.image-dialog::backdrop{background:#171713ed}.image-dialog img{width:100%;height:min(78dvh,850px);object-fit:contain}.dialog-close,.dialog-nav{position:absolute;z-index:1;display:grid;place-items:center;width:48px;height:48px;border:0;background:#171713a6;color:white;cursor:pointer}.dialog-close{top:10px;right:10px;font-size:25px}.dialog-nav{top:50%;transform:translateY(-50%);font-size:23px}.dialog-prev{left:10px}.dialog-next{right:10px}.image-credit{padding:5px 14px;font-size:11px;color:#e9e2d6}
.about-hero{display:grid;grid-template-columns:.82fr 1.18fr;align-items:center;gap:9%;padding-block:50px 90px}.about-hero-copy h1,.destination-hero-copy h1,.booking-hero h1{margin:17px 0;font:400 clamp(43px,6vw,74px)/1.4 var(--serif)}.about-hero-copy>p:not(.eyebrow),.destination-hero-copy>p:not(.eyebrow){color:var(--soft-ink);font:15px/2.2 var(--serif)}.photo{margin:0;overflow:hidden;background:var(--stone)}.photo img{width:100%;height:100%;object-fit:cover}.about-hero .photo{height:480px}.house-letter{padding-block:75px;background:var(--paper)}.house-letter-inner{max-width:820px;width:calc(100% - 2*var(--gutter));margin:auto}.house-letter h2{margin:15px 0 26px;font:400 clamp(30px,4vw,46px)/1.7 var(--serif)}.house-letter p:not(.eyebrow){color:var(--soft-ink);font:15px/2.25 var(--serif)}.letter-source{display:block;margin-top:25px;color:var(--tea);font-size:11px}.values-section{padding-block:85px}.values-section h2{font:400 36px var(--serif)}.value-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin-top:35px}.value-item{border-top:1px solid var(--line);padding-top:17px}.value-item h3{font:400 21px var(--serif)}.value-item p{color:var(--soft-ink);font-size:13px;line-height:2}.destination-hero{position:relative;min-height:550px;background:#58594f;color:white}.destination-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.destination-hero:after{position:absolute;inset:0;background:linear-gradient(90deg,#201f1cba,transparent 85%);content:""}.destination-hero-copy{position:relative;z-index:1;padding-block:125px;max-width:var(--content);width:calc(100% - 2*var(--gutter));margin:auto}.destination-hero-copy h1{max-width:9em}.destination-hero-copy>p:not(.eyebrow){max-width:32em;color:#fff}.destination-copy{padding-block:75px}.destination-copy h2{font:400 34px var(--serif)}.destination-copy p{max-width:48em;color:var(--soft-ink);font:15px/2.2 var(--serif)}.guest-guide{padding-block:68px;background:var(--paper)}.guest-guide-heading{display:flex;justify-content:space-between;align-items:end;gap:30px}.guest-guide-heading h2{font:400 34px var(--serif);margin:12px 0}.guide-list{max-width:850px;margin:30px 0 0 auto}.guide-item{display:grid;grid-template-columns:55px 1fr;gap:18px;padding:17px 0;border-top:1px solid var(--line)}.guide-index{font:13px Georgia,serif;color:var(--tea)}.guide-item h3{font:400 18px var(--serif);margin:0}.guide-item p{margin:5px 0;color:var(--soft-ink);font-size:13px}.booking-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.72fr);align-items:center;gap:clamp(30px,6vw,84px);padding-block:80px 45px}.booking-hero h1{font-size:clamp(42px,5.7vw,70px)}.booking-hero .page-deck{max-width:35em}.wechat-card{display:flex;flex-direction:column;align-items:flex-start;gap:12px;max-width:420px;margin:0;padding:clamp(22px,3vw,38px);background:var(--paper)}.wechat-card img{width:min(100%,260px);aspect-ratio:1;object-fit:contain;background:white;align-self:center}.wechat-card p{margin:0;color:var(--soft-ink);font-size:12px;line-height:1.9}.wechat-card .eyebrow{color:var(--tea)}.booking-copy h2{font:400 35px/1.5 var(--serif);margin:14px 0}.booking-copy p{color:var(--soft-ink);font-size:13px;line-height:2}.booking-copy .selected-room{color:var(--ink);font-weight:600}.qr-download{margin-top:2px}.booking-flow{padding-block:85px}.booking-flow-inner h2{font:400 35px var(--serif)}.booking-flow ol{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;padding:0;list-style:none}.booking-step{border-top:1px solid var(--line);padding-top:15px}.booking-step .eyebrow{font:12px Georgia,serif}.booking-step h3{font:400 19px var(--serif)}.booking-step p{color:var(--soft-ink);font-size:13px;line-height:2}.booking-information{padding-block:62px;background:var(--paper)}.booking-information h2{font:400 31px var(--serif)}.booking-information p{max-width:53em;color:var(--soft-ink);font-size:13px;line-height:2.1}
.site-footer{padding:50px 0 25px;background:#302a23;color:#f7f2e8}.footer-inner{display:grid;grid-template-columns:1fr 1fr;gap:35px}.footer-brand img{width:120px;filter:brightness(0) invert(1);opacity:.9}.footer-brand p{color:#d1c8b8;font:14px/2 var(--serif)}.footer-nav{display:flex;flex-wrap:wrap;align-content:start;gap:15px 28px;padding-top:5px;font-size:12px}.footer-contact{grid-column:2;color:#d1c8b8;font-size:12px}.footer-contact .eyebrow{color:#cdbb9d}.footer-contact>a{display:inline-block;margin-top:12px;color:#eee5d5;border-bottom:1px solid #aaa18d}.footer-bottom{grid-column:1/-1;display:flex;justify-content:space-between;border-top:1px solid #ffffff2a;margin-top:10px;padding-top:16px;font-size:10px;color:#aaa69b}.mobile-consult{display:none}.noscript{padding:24px;text-align:center}
@media(min-width:1500px){.hero{height:850px}.room-gallery{grid-template-rows:320px 320px}}
@media(max-width:900px){:root{--gutter:30px}.primary-nav{gap:18px;font-size:10px}.primary-nav .nav-cta{padding-left:16px}.space-section{min-height:460px}.space-copy{padding:45px}.room-gallery{grid-template-rows:220px 220px}.about-hero{gap:5%}.about-hero .photo{height:400px}}
@media(max-width:700px){:root{--gutter:22px;--header-h:64px}.site-header{height:var(--header-h)}.wordmark{width:94px}.menu-toggle{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;width:48px;height:48px;border:0;background:transparent}.menu-toggle span{width:21px;height:1px;background:var(--ink);transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.primary-nav{display:none;position:absolute;top:var(--header-h);right:0;left:0;height:auto;align-items:stretch;gap:0;flex-direction:column;padding:10px var(--gutter) 20px;background:var(--paper-light);border-bottom:1px solid var(--line)}.primary-nav.is-open{display:flex}.primary-nav>a:not(.nav-cta){min-height:48px;border-bottom:1px solid #30231d18}.primary-nav>a[aria-current=page]:after,.primary-nav>a:not(.nav-cta):hover:after{display:none}.primary-nav .nav-cta{min-height:50px;padding:8px 0 0;border:0}.hero{min-height:560px;height:calc(89svh - var(--header-h));max-height:780px}.hero-copy{top:auto;bottom:15%;left:var(--gutter);width:calc(100% - 2*var(--gutter));transform:none}.hero-picture img{object-position:55% center}.hero h1{font-size:clamp(56px,15vw,82px);margin:17px 0 5px}.hero-deck{font-size:15px;max-width:20em}.hero-actions{gap:18px;margin-top:24px;flex-wrap:wrap}.hero-actions .button{min-height:48px}.hero-location{right:var(--gutter);bottom:14px;font-size:9px}.hero-scroll{display:none}.welcome-section{padding-block:72px}.welcome-copy{grid-template-columns:1fr;gap:18px;margin-top:22px}.welcome-copy h2{font-size:35px;line-height:1.65}.welcome-copy-side{max-width:35em}.welcome-copy-side p{font-size:14px;line-height:2}.space-section{grid-template-columns:1fr}.space-photo{height:61vw;min-height:270px;max-height:400px}.space-copy{min-height:325px;padding:45px var(--gutter)}.space-copy h2{font-size:38px;max-width:10em}.space-copy>p:not(.eyebrow){font-size:13px}.rooms-section{padding-block:72px}.section-heading{display:block;margin:16px 0 27px}.section-heading h2{font-size:36px}.section-heading>p{margin-top:12px;font-size:12px}.room-grid,.room-grid-all{grid-template-columns:1fr;gap:33px}.room-grid-featured .room-card:nth-child(even){margin-top:0}.room-card-image{aspect-ratio:1.12}.room-card-copy{padding-top:12px}.room-card-name{font-size:22px}.room-card-copy p{font-size:11px}.room-card-copy .text-link{font-size:9px}.section-end-link{margin-top:35px}.quiet-note{font-size:10px;line-height:1.8}.details-section{padding-top:68px}.details-heading h2{font-size:37px}.details-heading-grid{grid-template-columns:1fr;gap:10px;margin-top:15px}.details-heading-grid>p{font-size:13px}.detail-grid{grid-template-columns:1fr 1fr;gap:3px;margin-top:30px}.detail-card,.detail-card-large{aspect-ratio:1;min-height:0}.detail-card:first-child{grid-column:span 2;aspect-ratio:1.45}.detail-card figcaption{right:10px;bottom:10px;left:10px;gap:8px}.detail-card figcaption strong{font-size:14px}.food-note{display:block;padding-block:25px 32px}.food-note p{margin-top:8px;font-size:12px}.mountain-section{min-height:480px}.mountain-section>img{object-position:59% center}.mountain-section:after{background:linear-gradient(90deg,#1c211bc9,#1c211b65 100%)}.mountain-copy h2{font-size:38px}.mountain-copy>p:not(.eyebrow){font-size:13px}.house-note{grid-template-columns:1fr;gap:21px;padding-block:72px}.house-note-copy h2{font-size:30px}.house-note-copy p{font-size:13px;line-height:2.1}.closing-section{padding:68px var(--gutter) 76px}.closing-section h2{font-size:33px}.closing-section>p:not(.eyebrow){font-size:12px}.page-intro{padding-block:68px 35px}.page-intro h1{font-size:46px}.page-deck{font-size:14px;line-height:2}.rooms-list-section{padding-bottom:72px}.room-detail-head{padding-block:26px 20px}.room-detail-head h1{font-size:44px;margin:17px 0 5px}.room-deck{font-size:13px}.room-gallery{grid-template-columns:1fr 1fr;grid-template-rows:58vw 38vw 38vw;gap:3px}.gallery-image:first-child{grid-column:span 2;grid-row:auto}.room-confirm{display:block;padding-block:24px 40px}.room-confirm h2{font-size:24px}.room-confirm p{font-size:12px}.room-confirm .button{margin-top:10px}.related-section{padding-block:55px 75px}.related-section h2{font-size:30px}.room-grid-related{grid-template-columns:1fr 1fr;gap:18px}.room-grid-related .room-card-copy{display:block}.room-grid-related .room-card-copy .text-link{display:none}.room-grid-related .room-card-image{aspect-ratio:1}.about-hero{grid-template-columns:1fr;gap:25px;padding-block:35px 65px}.about-hero-copy h1,.destination-hero-copy h1,.booking-hero h1{font-size:46px}.about-hero-copy>p:not(.eyebrow){font-size:14px}.about-hero .photo{height:63vw;min-height:270px;max-height:420px}.house-letter{padding-block:58px}.house-letter h2{font-size:30px}.house-letter p:not(.eyebrow){font-size:13px}.values-section{padding-block:65px}.values-section h2{font-size:30px}.value-grid{grid-template-columns:1fr;gap:20px;margin-top:25px}.value-item{padding-top:10px}.value-item h3{font-size:19px;margin:4px 0}.value-item p{margin:0;font-size:12px}.destination-hero{min-height:530px}.destination-hero-copy{padding-block:95px}.destination-hero-copy h1{font-size:45px}.destination-hero-copy>p:not(.eyebrow){font-size:13px}.destination-copy{padding-block:55px}.destination-copy h2{font-size:29px}.destination-copy p{font-size:13px}.guest-guide{padding-block:52px}.guest-guide-heading{display:block}.guest-guide-heading h2{font-size:29px}.guide-list{margin-top:20px}.guide-item{grid-template-columns:38px 1fr;gap:12px}.guide-item h3{font-size:16px}.guide-item p{font-size:12px}.booking-hero{grid-template-columns:1fr;gap:25px;padding-block:60px 32px}.booking-hero h1{font-size:43px}.wechat-card{gap:12px;margin:0;padding:22px}.wechat-card img{width:min(72vw,260px);margin:auto}.booking-copy h2{font-size:29px}.booking-copy p{font-size:12px}.booking-flow{padding-block:58px}.booking-flow-inner h2{font-size:29px}.booking-flow ol{grid-template-columns:1fr;gap:20px}.booking-step{padding-top:10px}.booking-step h3{margin:7px 0;font-size:17px}.booking-step p{font-size:12px}.booking-information{padding-block:46px}.booking-information h2{font-size:26px}.booking-information p{font-size:12px}.footer-inner{grid-template-columns:1fr;gap:21px}.footer-brand img{width:106px}.footer-brand p{margin:10px 0;font-size:12px}.footer-nav{gap:8px 20px;font-size:11px}.footer-contact{grid-column:auto;font-size:11px}.footer-bottom{grid-column:auto;display:block;margin-top:0;font-size:9px}.footer-bottom span{display:block;margin-top:5px}.site-footer{padding:38px 0 calc(96px + env(safe-area-inset-bottom))}body.gallery-open .mobile-consult{display:none}.mobile-consult{position:fixed;z-index:25;right:14px;bottom:calc(10px + env(safe-area-inset-bottom));left:14px;display:flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:0 16px;background:var(--ink);color:white;font-size:12px;letter-spacing:.08em}.image-dialog{width:100vw;max-height:100dvh}.image-dialog img{height:78dvh}.dialog-close{top:max(8px,env(safe-area-inset-top));right:8px}.dialog-nav{width:44px;height:52px}.not-found{padding-block:75px}}
@media(max-width:360px){:root{--gutter:18px}.hero h1{font-size:54px}.hero-deck{font-size:14px}.hero-actions{gap:12px}.hero-cta{font-size:11px}.room-card-copy{align-items:flex-start;flex-direction:column;gap:8px}.room-card-copy .text-link{font-size:10px}.room-grid-related{grid-template-columns:1fr}.room-grid-related .room-card-image{aspect-ratio:1.15}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}

/* Editorial room and hardware details added from WaWu's supplied campaign material. */
.detail-card figcaption{align-items:flex-start}
.detail-card figcaption>div{min-width:0}
.detail-card figcaption strong{display:block}
.detail-card figcaption p{max-width:34em;margin:5px 0 0;color:#fffdf0e8;font-size:11px;line-height:1.75}
.hardware-notes{display:grid;grid-template-columns:.55fr 1.45fr;gap:12px 5%;padding-block:26px 35px;border-top:1px solid #ffffff30}
.hardware-notes>.eyebrow{margin:0;color:#d7c7a8}
.hardware-notes ul{display:flex;flex-wrap:wrap;gap:10px 28px;margin:0;padding:0;list-style:none}
.hardware-notes li{color:#f5f0e6;font:13px/1.8 var(--serif)}
.hardware-note{grid-column:2;margin:0;color:#eee8dbad;font-size:11px;line-height:1.8}
.room-facts{display:grid;grid-template-columns:.55fr 1.45fr;gap:18px 5%;padding-block:42px;border-bottom:1px solid var(--line)}
.room-facts-heading .eyebrow{margin:3px 0 10px}
.room-facts-heading h2{margin:0;font:400 clamp(25px,3vw,36px)/1.45 var(--serif)}
.room-facts-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0}
.room-fact{padding-top:9px;border-top:1px solid var(--line)}
.room-fact dt,.room-reference-facts dt{color:var(--soft-ink);font-size:11px}
.room-fact dd,.room-reference-facts dd{margin:5px 0 0;font:14px/1.8 var(--serif)}
.room-facts-note{grid-column:2;margin:0;color:var(--soft-ink);font-size:11px;line-height:1.8}
.room-reference{display:grid;grid-template-columns:1.1fr 1.5fr auto;align-items:center;gap:26px;padding:28px 0;margin-top:45px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.room-reference h2{margin:8px 0;font:400 clamp(21px,2.5vw,29px)/1.5 var(--serif)}
.room-reference>div>p:last-child{max-width:34em;margin:0;color:var(--soft-ink);font-size:12px;line-height:1.9}
.room-reference-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0}
.room-reference .text-link{white-space:nowrap}
@media(max-width:700px){
  .detail-card figcaption p{font-size:10px;line-height:1.6}
  .hardware-notes{grid-template-columns:1fr;gap:12px;padding-block:22px 28px}
  .hardware-notes ul{gap:7px 18px}
  .hardware-notes li{font-size:12px}
  .hardware-note{grid-column:auto;font-size:10px}
  .room-facts{grid-template-columns:1fr;gap:14px;padding-block:28px}
  .room-facts-heading h2{font-size:26px}
  .room-facts-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .room-facts-note{grid-column:auto;font-size:10px}
  .room-fact dd,.room-reference-facts dd{font-size:13px}
  .room-reference{grid-template-columns:1fr;gap:14px;padding-block:24px;margin-top:32px}
  .room-reference-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  .room-reference .text-link{min-height:44px;display:inline-flex;align-items:center}
}

.language-switch{display:flex;align-items:center;gap:9px;min-height:44px;padding-left:18px;border-left:1px solid var(--line);font-size:10px;letter-spacing:.06em}
.language-switch a{display:inline-flex;align-items:center;justify-content:center;min-width:28px;min-height:44px;color:var(--soft-ink);white-space:nowrap}
.language-switch a[aria-current="page"]{color:var(--ink);text-decoration:underline;text-decoration-color:var(--tea);text-underline-offset:5px}
@media(max-width:700px){.language-switch{gap:18px;min-height:48px;padding:8px 0 0;border-top:1px solid var(--line);border-left:0}.language-switch a{min-width:44px;min-height:44px}}
html[lang="ja"]{--serif:"Hiragino Mincho ProN","Yu Mincho","Noto Serif JP",serif;--sans:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic","Meiryo",sans-serif}
