:root{--paper:#f7f4ed;--panel:#fffdf9;--ink:#173e4e;--muted:#5e6e72;--line:#dcded5;--sand:#e9dfcb;--sea:#e1ece9;--serif:"Songti SC","STSong","Source Han Serif SC","Noto Serif CJK SC","Noto Serif SC",serif;--sans:-apple-system,BlinkMacSystemFont,"PingFang SC","HarmonyOS Sans SC","MiSans","Source Han Sans SC","Noto Sans CJK SC","Microsoft YaHei",sans-serif;--fs-xs:.8125rem;--fs-sm:.875rem;--fs-base:1rem;--fs-md:1.125rem;--fs-lg:1.375rem;--fs-xl:1.75rem;--measure:40em;color:var(--ink);background:var(--paper);font-family:var(--sans);font-synthesis:none}*{box-sizing:border-box}body{font-size:var(--fs-base);margin:0;line-height:1.78}img{width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}button,summary,a{-webkit-tap-highlight-color:transparent}button{font:inherit}button,a,summary{touch-action:manipulation}button,summary{cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible{outline-offset:5px;outline:3px solid #a96822}h1,h2,h3,p{margin:0}h1,h2{font-family:var(--serif);text-wrap:balance;font-weight:500}h1{letter-spacing:-.01em;font-size:clamp(2.2rem,4.4vw,4.5rem);line-height:1.32}h2{letter-spacing:-.005em;font-size:clamp(1.65rem,2.7vw,2.7rem);line-height:1.42}h3{font-size:var(--fs-md);font-weight:500;line-height:1.55}[hidden]{display:none!important}.section{padding:82px max(6vw,24px)}.eyebrow{color:var(--muted);font-size:var(--fs-xs);letter-spacing:.16em;text-transform:uppercase;line-height:1.7;display:block}.muted{color:var(--muted)}.button{background:var(--ink);min-height:48px;color:var(--panel);border:1px solid var(--ink);font-size:var(--fs-sm);justify-content:center;align-items:center;gap:22px;padding:12px 22px;line-height:1.6;transition:background .18s,color .18s;display:inline-flex}.button-outline{color:var(--ink);background:0 0;border-color:#a4b5b7}.actions{flex-wrap:wrap;gap:12px;display:flex}.text-link{font-size:var(--fs-sm);border-bottom:1px solid #9eadaa;justify-content:space-between;align-items:center;gap:25px;padding:8px 0;display:inline-flex}@media (hover:hover) and (pointer:fine){.button:hover{background:#275565}.button-outline:hover{background:var(--sea)}.text-link:hover{border-bottom-color:var(--ink)}}.skip-link{background:var(--panel);z-index:20;padding:12px;position:absolute;top:-100px;left:16px}.skip-link:focus{top:12px}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.page-intro{padding-bottom:42px}.page-intro h1{margin:20px 0}.page-intro p{color:var(--muted);max-width:var(--measure);text-wrap:pretty}.page-intro .button{margin-top:24px}.prose{max-width:var(--measure);margin:auto}.prose p{color:var(--muted);text-wrap:pretty;margin:15px 0 24px}.prose h2{font-size:var(--fs-lg);margin-top:36px}.article{min-height:55vh}.article-header{margin:20px 0 45px}.article-header h1{margin:18px 0;font-size:clamp(2rem,4vw,3.4rem)}.article section{margin:38px 0}@media (width<=680px){.section{padding:48px 22px}.button{gap:15px;padding:12px 18px}.page-intro{padding-bottom:20px}.article-header{margin-bottom:30px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}:root{--ease-out:cubic-bezier(.22,.61,.36,1);--ease-emphasis:cubic-bezier(.16,1,.3,1);--dur-1:.12s;--dur-2:.2s;--dur-3:.32s;--dur-4:.52s}.button{transition:background var(--dur-1) var(--ease-out), color var(--dur-1) var(--ease-out), border-color var(--dur-1) var(--ease-out), transform var(--dur-1) var(--ease-out)}.button:active{transform:translateY(1px)scale(.99)}.guest-options button:active,.guide-topics button:active,.guide-source-options button:active,.faq-tools button:active,.photo-viewer button:active{transform:scale(.97)}.guest-options button,.guide-topics button,.guide-source-options button,.faq-tools button,.photo-viewer button{transition:transform var(--dur-1) var(--ease-out), background var(--dur-1) var(--ease-out), color var(--dur-1) var(--ease-out), border-color var(--dur-1) var(--ease-out)}.text-link:active{opacity:.72;transition:opacity var(--dur-1) var(--ease-out)}a.room-image:active img,a.hero-room-photo:active img{transform:scale(.995)}.guide-search:active{border-color:var(--ink)}.button>span[aria-hidden],.text-link>span[aria-hidden]{transition:transform var(--dur-2) var(--ease-out);display:inline-block}@media (hover:hover) and (pointer:fine){.button:hover>span[aria-hidden],.text-link:hover>span[aria-hidden]{transform:translate(2px,-2px)}}.js [data-reveal]{opacity:0;transform:translateY(18px)}.js [data-reveal].is-in{opacity:1;transition:opacity var(--dur-4) var(--ease-out), transform var(--dur-4) var(--ease-out);transform:none}[data-reveal-stagger]>:nth-child(2){transition-delay:60ms}[data-reveal-stagger]>:nth-child(3){transition-delay:.12s}[data-reveal-stagger]>:nth-child(4){transition-delay:.18s}[data-reveal-stagger]>:nth-child(5){transition-delay:.24s}[data-reveal-stagger]>:nth-child(6){transition-delay:.3s}@keyframes heroIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.hero-copy>.eyebrow{animation:heroIn var(--dur-4) var(--ease-out) 0s both}.hero-copy>h1{animation:heroIn var(--dur-4) var(--ease-out) 90ms both}.hero-copy>.hero-subtitle{animation:heroIn var(--dur-4) var(--ease-out) .18s both}.hero .actions{animation:heroIn var(--dur-4) var(--ease-out) .27s both}.hero .hero-caption{animation:heroIn var(--dur-4) var(--ease-out) .36s both}@media (prefers-reduced-motion:reduce){.js [data-reveal]{opacity:1!important;transition:none!important;transform:none!important}}[data-copy][data-state=done],[data-share][data-state=done]{background:var(--sea);color:var(--ink);border-color:#a4b5b7}[data-share][data-state=idle]{border-color:var(--line);color:var(--muted);background:0 0}summary:active,.home-jump-links a:active,.guide-topic-shortcuts a:active,.guide-check-links a:active,.photo-links a:active,.footer-links a:active,.desktop-nav a:active{opacity:.72;transition:opacity var(--dur-1) var(--ease-out)}.site-header{border-bottom:1px solid var(--line);background:var(--paper);z-index:5;justify-content:space-between;align-items:center;gap:25px;padding:24px 6vw;display:flex;position:relative}.wordmark{flex-shrink:0;padding-bottom:9px;display:block;position:relative}.wordmark>span{font-family:var(--serif);letter-spacing:7px;transition:color var(--dur-2) var(--ease-out);font-size:30px;line-height:1.25;display:block}.wordmark small{font-size:var(--fs-xs);letter-spacing:2px;transition:color var(--dur-2) var(--ease-out);margin-top:6px;display:block}.wordmark:after{content:"";transform-origin:0;height:2px;transition:transform var(--dur-2) var(--ease-out),background var(--dur-2) var(--ease-out);background:#c8873f;position:absolute;bottom:0;left:0;right:0;transform:scaleX(.42)}@media (hover:hover) and (pointer:fine){.wordmark:hover>span{color:#0f3444}.wordmark:hover small{color:#8a6a3f}.wordmark:hover:after{background:#a96822;transform:scaleX(1)}}.wordmark:active>span{opacity:.76}.desktop-nav{font-size:var(--fs-sm);align-items:center;gap:32px;display:flex}.desktop-nav>a:not(.button){padding:12px 0}.desktop-nav>a[aria-current=page]{border-bottom:1px solid var(--ink)}.mobile-menu{display:none}.booking-banner{background:var(--sea);justify-content:space-between;align-items:center;gap:30px;padding:50px 6vw;display:flex}.booking-banner h2{margin-top:10px;font-size:clamp(1.45rem,2.6vw,2.2rem)}.booking-banner .button{flex-shrink:0}.site-footer{font-size:var(--fs-xs);color:var(--muted);justify-content:space-between;align-items:flex-start;gap:35px;padding:45px 6vw;display:flex}.footer-brand{font-family:var(--serif);font-size:var(--fs-lg);color:var(--ink)}.site-footer p{margin-top:8px}.footer-links{flex-wrap:wrap;justify-content:flex-end;gap:15px;max-width:430px;display:flex}.mobile-booking{display:none}.section-heading{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:34px;display:flex}.section-heading h2{margin-top:10px}.room-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;display:grid}.room-image{display:block;overflow:hidden}.room-image img{aspect-ratio:3/2;object-fit:cover;transition:transform .45s var(--ease-out)}.room-image-empty{aspect-ratio:3/2;background:var(--sea);color:var(--muted);font-size:var(--fs-sm);letter-spacing:.06em;justify-content:center;align-items:center;display:flex}@media (hover:hover) and (pointer:fine){.room-image:hover img{transform:scale(1.035)}}.room-heading{margin-top:23px}.room-heading .eyebrow{font-size:var(--fs-xs);letter-spacing:.14em}.room-heading h3{margin-top:8px}.room-card>p{color:var(--muted);font-size:var(--fs-sm);margin-top:11px}.room-card>.text-link{margin-top:14px}.guest-selector{border-block:1px solid var(--line);margin-bottom:36px;padding:26px 0}.guest-label{font-size:var(--fs-base);margin-bottom:15px}.guest-label-note{color:var(--muted);font-size:var(--fs-xs);margin-top:5px;display:block}.guest-options{flex-wrap:wrap;gap:10px;margin-bottom:21px;display:flex}.guest-options button{border:1px solid var(--line);min-height:44px;color:var(--muted);font-size:var(--fs-sm);background:0 0;padding:8px 22px}.guest-options button[aria-pressed=true]{border-color:var(--ink);background:var(--ink);color:var(--panel)}.guest-advice h3{font-size:var(--fs-md)}.guest-advice p{color:var(--muted);font-size:var(--fs-sm);max-width:var(--measure);text-wrap:pretty;margin-top:8px}.guest-next{justify-content:space-between;align-items:center;gap:25px;margin-top:20px;display:flex}.guest-next p{color:var(--muted);font-size:var(--fs-xs);max-width:var(--measure)}.guest-next .button{flex-shrink:0}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{font-size:var(--fs-base);padding:21px 0}.faq-list details p{color:var(--muted);font-size:var(--fs-sm);text-wrap:pretty;padding:0 0 23px}.breadcrumbs{font-size:var(--fs-xs);color:var(--muted);flex-wrap:wrap;gap:12px;padding-block:25px;display:flex}.room-detail{grid-template-columns:1.2fr 1fr;align-items:start;gap:6vw;padding-top:20px;display:grid}.detail-image{aspect-ratio:3/2;object-fit:cover}.detail-no-image{aspect-ratio:3/2;background:var(--sea);border:1px solid var(--line);flex-direction:column;justify-content:center;align-items:flex-start;gap:18px;padding:28px;display:flex}.detail-no-image .image-note{margin:0}.image-note{font-size:var(--fs-xs);color:var(--muted);margin-top:15px}.room-detail-copy{flex-direction:column;align-items:flex-start;gap:24px;display:flex}.room-detail-copy h1{font-size:clamp(2rem,3vw,3rem)}.room-detail-copy>p{font-size:var(--fs-base);color:var(--muted);text-wrap:pretty}.feature-list{flex-wrap:wrap;gap:12px;margin:0;padding:0;list-style:none;display:flex}.feature-list li{border-bottom:1px solid var(--line);font-size:var(--fs-sm);padding-bottom:8px}.article-list{grid-template-columns:1fr 1fr;gap:40px;padding-top:20px;display:grid}.article-list>a{border-top:1px solid var(--line);padding-block:25px}.article-list h2{font-size:var(--fs-lg);margin-block:15px}.article-list p{color:var(--muted);text-wrap:pretty;margin-bottom:15px}.guide-sources{border-top:1px solid var(--line);font-size:var(--fs-sm);padding-top:20px}.guide-sources h2{font-size:var(--fs-md)}.guide-sources ul{padding-left:20px}.guide-sources li{margin:10px 0}.guide-sources a{text-underline-offset:4px;overflow-wrap:anywhere;text-decoration:underline}@media (width<=900px){.desktop-nav{gap:18px}.room-grid{gap:20px}.room-detail{grid-template-columns:1fr;gap:35px}}@media (width<=680px){.site-header{padding:18px 22px}.wordmark>span{font-size:27px}.desktop-nav{display:none}.wordmark:after{background:#b06f28;height:3px;transform:scaleX(.5)}.room-grid{grid-template-columns:1fr;gap:38px}.room-heading{margin-top:17px}.section-heading{align-items:start;margin-bottom:26px}.section-heading>.text-link{font-size:var(--fs-sm);white-space:nowrap;gap:10px;margin-top:26px}.booking-banner{flex-direction:column;align-items:flex-start;padding:35px 22px}.site-footer{flex-direction:column;gap:25px;padding:35px 22px 110px}.footer-links{justify-content:flex-start}.mobile-booking{background:var(--panel);border-top:1px solid var(--line);padding:10px 20px calc(10px + env(safe-area-inset-bottom));z-index:10;justify-content:space-between;align-items:center;gap:12px;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -5px 20px #173e4e08}.mobile-booking>span{font-size:var(--fs-sm)}.mobile-booking .button{min-height:44px;font-size:var(--fs-sm)}.article-list{grid-template-columns:1fr;gap:12px}.room-detail{padding-top:12px}.guest-next{flex-direction:column;align-items:flex-start;gap:16px}.guest-options button{padding-inline:17px}}html{scroll-behavior:smooth;scroll-padding-top:130px}.site-header{position:sticky;top:0}.site-header nav a[aria-current=page]{color:var(--ink);text-underline-offset:6px;text-decoration:underline}.back-top{z-index:8;background:var(--panel);border:1px solid var(--line);min-height:44px;font-size:var(--fs-sm);opacity:0;pointer-events:none;visibility:hidden;transition:opacity var(--dur-2) var(--ease-out),transform var(--dur-2) var(--ease-out),visibility 0s linear var(--dur-2);justify-content:center;align-items:center;gap:6px;padding:8px 14px;display:flex;position:fixed;bottom:24px;right:24px;transform:translateY(8px);box-shadow:0 3px 15px #173e4e12}.back-top.is-visible{opacity:1;pointer-events:auto;visibility:visible;transition:opacity var(--dur-2) var(--ease-out),transform var(--dur-2) var(--ease-out);transform:none}.back-top.is-visible:active{transform:translateY(1px)scale(.99)}.page-action{margin:20px 0}.action-feedback{font-size:var(--fs-sm);color:var(--muted);margin-top:10px!important}.action-feedback:empty{display:none}.copy-fallback{width:100%;max-width:var(--measure);border:1px solid var(--line);background:var(--panel);min-height:44px;color:var(--ink);font:inherit;font-size:var(--fs-base);margin-top:12px;padding:10px 12px;display:block}.guide-controls{gap:18px;margin-bottom:28px;display:grid}.search-row{align-items:end;gap:12px;display:flex}.search-row label{font-size:var(--fs-sm);flex:1;gap:7px;display:grid}.guide-search{background:var(--panel);width:100%;min-height:48px;color:var(--ink);font:inherit;font-size:var(--fs-base);border:1px solid #9eadaa;border-radius:0;padding:12px 16px}.guide-topics{flex-wrap:wrap;gap:10px;display:flex}.guide-topics button{border:1px solid var(--line);color:var(--ink);min-height:44px;font-size:var(--fs-sm);background:0 0;padding:8px 18px}.guide-topics button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--panel)}.guide-count{color:var(--muted);font-size:var(--fs-sm);margin-bottom:24px}.guide-directory{padding-top:20px}.guide-intro{padding-top:55px;padding-bottom:25px}.guide-intro h1{letter-spacing:-.012em;font-size:clamp(2.2rem,4vw,3.6rem)}.guide-intro>p{max-width:var(--measure);text-wrap:pretty}.guide-source-options{color:var(--muted);font-size:var(--fs-sm);flex-wrap:wrap;align-items:center;gap:8px;display:flex}.guide-source-options>span{margin-right:8px}.guide-source-options button{min-height:44px;color:var(--muted);background:0 0;border:0;border-bottom:2px solid #0000;padding:7px 12px}.guide-source-options button[aria-pressed=true]{color:var(--ink);border-bottom-color:var(--ink)}.guide-directory .article-list{padding:0}.guide-empty{padding:30px 0}.guide-empty p{margin-bottom:16px}.reading-heading{border-top:1px solid var(--line);margin-top:45px;padding-top:32px}.reading-heading p{color:var(--muted);font-size:var(--fs-sm);text-wrap:pretty;margin:10px 0 24px}.reading-meta{font-size:var(--fs-xs);color:var(--muted);margin-top:8px}.article-tools{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:15px;margin:18px 0;display:flex}.article-tools .page-action{margin:0}.article-toc{border-block:1px solid var(--line);margin:28px 0;padding:17px 0}.article-toc summary{font-size:var(--fs-base);cursor:pointer}.article-toc ol{margin:12px 0 0;padding-left:24px}.article-toc li{font-size:var(--fs-sm);padding:6px 0}@media (hover:hover) and (pointer:fine){.article-toc a:hover{text-decoration:underline}}.article section[id]{scroll-margin-top:20px}.related-guides{border-top:1px solid var(--line);padding-top:24px}.related-guides ul{padding-left:20px}.related-guides li{margin:14px 0}.related-guides a{text-underline-offset:4px;text-decoration:underline}.article-breadcrumbs{font-size:var(--fs-xs);color:var(--muted);flex-wrap:wrap;gap:12px;display:flex}@media (hover:hover) and (pointer:fine){.article-breadcrumbs a:hover{text-decoration:underline}}.article-stay-links,.info-links{border-top:1px solid var(--line);margin-top:32px;padding-top:12px}.article-stay-links .text-link,.info-links .text-link{margin-right:24px}.guide-check-links{background:var(--sea);margin:24px 0;padding:20px 24px}.guide-check-links h2{font-size:var(--fs-md);margin:0}.guide-check-links a{text-underline-offset:4px;font-size:var(--fs-sm);padding:10px 0;text-decoration:underline;display:block}.guide-check-links p{font-size:var(--fs-sm);margin:8px 0 0}.article-list .reading-meta{margin-bottom:14px;display:block}.guide-intro .guide-topic-shortcuts{font-size:var(--fs-sm);border-top:1px solid var(--line);flex-wrap:wrap;gap:12px 24px;margin:22px 0;padding-top:18px;display:flex}@media (width<=900px){.desktop-nav{display:none}.mobile-menu{display:block}.mobile-menu>summary{min-height:44px;font-size:var(--fs-sm);align-items:center;gap:14px;list-style:none;display:flex}.mobile-menu>summary::-webkit-details-marker{display:none}.mobile-menu nav{background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;padding:15px 6vw;display:flex;position:absolute;top:100%;left:0;right:0;box-shadow:0 12px 15px #173e4e0a}.mobile-menu nav a{padding:12px 0}}@media (width<=680px){html{scroll-padding-top:110px}.back-top{bottom:94px;right:15px}.article section[id]{scroll-margin-top:20px}.article-tools{align-items:flex-start}.search-row{flex-wrap:wrap}.search-row label{min-width:180px}.reading-heading{margin-top:30px}.guide-intro{padding-top:30px}}.mobile-menu[open] nav{animation:menuIn var(--dur-2) var(--ease-out) both}@keyframes menuIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}.faq-list details[open] p{animation:faqIn var(--dur-2) var(--ease-out) both}@keyframes faqIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.guide-filtering [data-guide-card]:not([hidden]){animation:cardIn var(--dur-2) var(--ease-out) both}@keyframes cardIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.photo-link{cursor:zoom-in;display:block;position:relative}.photo-zoom-hint{color:var(--ink);font-size:var(--fs-xs);background:#fffdf9ed;padding:4px 10px;position:absolute;bottom:14px;right:14px}.photo-viewer{width:min(1100px,100vw - 48px);max-height:calc(100dvh - 48px);color:var(--ink);background:var(--panel);border:1px solid var(--line);overscroll-behavior:contain;padding:22px 28px}.photo-viewer::backdrop{background:#081d29d9}.photo-viewer.is-opening{animation:viewerIn var(--dur-3) var(--ease-emphasis) both}.photo-viewer.is-opening::backdrop{animation:backdropIn var(--dur-2) var(--ease-out) both}@keyframes viewerIn{0%{opacity:0;transform:translateY(10px)scale(.985)}to{opacity:1;transform:none}}@keyframes backdropIn{0%{opacity:0}to{opacity:1}}.photo-toolbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;display:flex}.photo-toolbar h2{font-size:var(--fs-md)}.photo-viewer button{border:1px solid var(--line);background:var(--panel);min-height:44px;color:var(--ink);font-size:var(--fs-sm);padding:8px 14px}@media (hover:hover) and (pointer:fine){.photo-viewer button:hover{background:var(--sea)}}.photo-stage{background:#e9ece7;place-items:center;min-height:100px;display:grid}.photo-stage img{object-fit:contain;width:100%;height:min(58dvh,620px);transition:opacity var(--dur-2) var(--ease-out)}.photo-stage p{padding:36px 20px}.photo-controls{font-size:var(--fs-sm);justify-content:space-between;align-items:center;gap:16px;margin-top:14px;display:flex}.photo-controls>span{margin:auto}.photo-links{font-size:var(--fs-sm);flex-wrap:wrap;gap:25px;margin:10px 0;display:flex}.photo-links a{text-underline-offset:4px;align-items:center;min-height:32px;text-decoration:underline;display:inline-flex}#photo-help{font-size:var(--fs-sm);color:var(--muted)}.room-next{border-top:1px solid var(--line);padding-top:38px}.room-next h2{font-size:var(--fs-lg);margin-bottom:18px}.room-next>div{flex-wrap:wrap;gap:20px 50px;display:flex}.faq-tools{flex-wrap:wrap;gap:12px;margin-bottom:20px;display:flex}.faq-tools button{border:1px solid var(--line);background:var(--panel);min-height:44px;color:var(--ink);font-size:var(--fs-sm);padding:8px 16px}@media (width<=680px){.photo-viewer{width:calc(100vw - 24px);max-height:calc(100dvh - 24px);padding:16px}.photo-stage img{height:50dvh}.photo-toolbar h2{font-size:var(--fs-base)}.photo-controls{gap:8px}.photo-viewer button{padding:8px 10px}.photo-links{gap:18px}}
