:root{--paper:#f4f1e9;--ink:#273b33;--muted:#6b7068;--red:#963f30;--line:#d7d8cd;--serif:'Songti SC','STSong','SimSun',serif;--sans:'PingFang SC','Microsoft YaHei',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.8}body.modal-open{overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button{border:0}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #b5713d;outline-offset:5px}img{display:block;width:100%;object-fit:cover}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400}h2{font-size:clamp(32px,3.5vw,52px);line-height:1.5;letter-spacing:.05em}p{color:var(--muted)}.header{height:102px;padding:0 4.8%;display:flex;align-items:center;justify-content:space-between;background:var(--paper);position:relative;z-index:20;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:14px}.seal{font:20px/1.1 var(--serif);color:var(--red);border:1px solid var(--red);padding:5px 7px;position:relative}.seal:after{content:'';position:absolute;inset:2px;border:1px solid var(--red);opacity:.45}.brand-name{font:26px/1.4 var(--serif);letter-spacing:.16em}.brand-name small{display:block;font:8px/1.8 Georgia,serif;letter-spacing:.21em}.header nav{display:flex;gap:36px;font-size:13px;letter-spacing:.08em}.header nav a{position:relative;padding:12px 0}.header nav a:after{content:'';position:absolute;bottom:4px;left:0;width:0;height:1px;background:var(--red);transition:width .25s}.header nav a:hover:after{width:100%}.header-book{font-size:13px;border-bottom:1px solid var(--ink);padding:8px 0;display:flex;gap:27px}.menu-toggle{display:none}.hero{height:min(780px,calc(100svh - 102px));min-height:570px;position:relative;color:#fff;overflow:hidden}.hero-photo{height:100%;object-position:50% 56%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,23,16,.64),rgba(8,23,16,.1) 70%),linear-gradient(0deg,rgba(5,20,14,.35),transparent 40%)}.hero-copy{position:absolute;top:15%;left:8%;animation:enter 1s ease-out}.eyebrow{font:11px/1.8 var(--sans);letter-spacing:.2em;margin-bottom:28px;color:var(--red)}.eyebrow.light{color:#eeeadd}.hero h1{font-size:clamp(58px,5.6vw,86px);line-height:1.45;letter-spacing:.11em;text-shadow:0 2px 30px #0002}.hero-description{color:#f3f2e9;margin-top:25px;line-height:2.1;letter-spacing:.12em;font-size:15px}.hero-link{display:inline-flex;gap:50px;margin-top:32px;padding-bottom:10px;border-bottom:1px solid #ffffff80;font-size:13px;letter-spacing:.1em}.hero-side{position:absolute;right:5%;top:24%;writing-mode:vertical-rl;font:14px var(--serif);letter-spacing:.45em}.hero-bottom{position:absolute;bottom:28px;left:5%;right:5%;display:flex;justify-content:space-between;align-items:center;font-size:10px;letter-spacing:.18em}.intro-strip{padding:23px 5%;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;font-size:11px;letter-spacing:.15em;color:var(--muted)}.strip-stamp{color:var(--red)}.section{max-width:1440px;margin:auto;padding:110px 7%}.story{display:grid;grid-template-columns:.9fr 1.1fr;gap:9%;align-items:center}.story-text>p:not(.eyebrow){margin-top:27px;line-height:2.15;font-size:14px}.text-link{display:inline-flex;gap:45px;border-bottom:1px solid var(--ink);padding:8px 0;font-size:12px;margin-top:30px}.story-note{margin-top:42px;display:flex;align-items:center;gap:18px}.story-note>span{font:36px var(--serif);border:1px solid #acb3a4;border-radius:50%;height:65px;width:65px;display:grid;place-content:center}.story-note small{font-size:9px;letter-spacing:.16em;color:var(--muted);line-height:2}.story-figure{padding-top:40px}.story-figure img{aspect-ratio:4/5;height:auto;object-position:50% 50%}.photo-open{padding:0;background:none;width:100%;position:relative;overflow:hidden;display:block}.photo-open img{transition:transform .65s}.photo-open:hover img{transform:scale(1.035)}.photo-plus{position:absolute;bottom:16px;right:16px;border:1px solid #fff9;background:#223a3266;color:white;border-radius:50%;width:34px;height:34px;display:grid;place-content:center;font-size:18px}.story-figure figcaption{display:flex;justify-content:space-between;font:12px var(--serif);padding-top:18px;color:var(--muted)}.story-figure figcaption small{font:9px Georgia,serif;letter-spacing:.12em}.stay{padding-top:70px;border-top:1px solid var(--line)}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:48px}.section-head p:not(.eyebrow){font-size:12px;line-height:2}.section-head .eyebrow{margin-bottom:16px}.rooms{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.room img{aspect-ratio:1.12;height:auto}.room-detail{padding:23px 0;display:flex;gap:14px;align-items:flex-start;border-bottom:1px solid var(--line)}.room-no{font:italic 12px Georgia,serif;color:#93988c;padding-top:8px}.room h3{font-size:25px;letter-spacing:.07em}.room p{font-size:10px;margin-top:6px}.room-detail>a{margin-left:auto;font-size:25px}.room-note{font-size:11px;margin-top:26px;color:#75796f}.tea{display:grid;grid-template-columns:1.2fr 1fr;background:var(--ink);color:var(--paper)}.tea-photo img{height:100%;min-height:560px;object-position:45% center}.tea-copy{padding:78px 15%;display:flex;flex-direction:column;justify-content:center}.tea-copy h2{font-size:clamp(36px,4vw,58px)}.tea-copy p:not(.eyebrow){color:#c8d0c4;font-size:13px;line-height:2.3}.fine-line{height:1px;background:#b4bea055;width:50px;margin:30px 0}.tea-caption{font-size:11px;letter-spacing:.3em;color:#cad0c2;margin-top:35px}.gallery-filters{display:flex;gap:28px;margin-bottom:30px;border-bottom:1px solid var(--line)}.gallery-filters button{background:none;font-size:12px;padding:10px 0 17px;position:relative;color:var(--muted)}.gallery-filters button.active{color:var(--red)}.gallery-filters button.active:after{content:'';height:2px;position:absolute;bottom:-1px;left:0;right:0;background:var(--red)}.gallery-filters small{font-size:9px;padding-left:6px}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.gallery-item img{aspect-ratio:1.4}.gallery-item .gallery-label{display:flex;justify-content:space-between;font:12px var(--serif);padding:10px 0}.gallery-label span:last-child{font:10px Georgia,serif;color:var(--muted)}.night-banner{height:470px;position:relative;color:white}.night-banner:after{content:'';position:absolute;inset:0;background:#12251a60}.night-banner img{height:100%;object-position:center 55%}.night-banner>div{position:absolute;inset:0;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.night-banner h2{font-size:48px}.night-banner .eyebrow{font-size:9px}.visit{display:grid;grid-template-columns:1fr 1.2fr;gap:9%}.visit-heading>p:last-child{font-size:13px;margin-top:25px}.contact-row{display:grid;grid-template-columns:80px 1fr;gap:18px;padding:28px 0;border-bottom:1px solid var(--line)}.contact-row:first-child{padding-top:5px}.contact-label{font-size:11px;color:var(--muted);padding-top:5px}.contact strong{font-weight:400;font-size:16px;line-height:1.9}.contact small{display:block;font-size:10px;color:var(--muted);margin-top:12px}.map-link:hover strong{text-decoration:underline;text-underline-offset:5px}.phone{font:clamp(22px,2.5vw,34px) Georgia,serif}.phone span{font:24px var(--sans);padding-left:15px}.visit-actions{display:flex;gap:12px;margin-top:28px}.button-primary,.button-secondary{padding:14px 20px;display:inline-flex;align-items:center;justify-content:center;font-size:12px;gap:30px}.button-primary{background:var(--ink);color:var(--paper);border:1px solid var(--ink)}.button-secondary{border:1px solid #a9b0a2;background:transparent}.button-primary:hover{background:#385448}.button-secondary:hover{background:#e6e8dd}.status{min-height:22px;font-size:11px;margin-top:12px}.faq{padding-top:0;max-width:1100px}.faq .eyebrow{margin-bottom:20px}details{border-top:1px solid var(--line);padding:20px 0}details:last-child{border-bottom:1px solid var(--line)}summary{display:flex;align-items:center;justify-content:space-between;cursor:pointer;font-size:13px;list-style:none}summary::-webkit-details-marker{display:none}summary span{font-size:20px}details[open] summary span{transform:rotate(45deg)}details p{font-size:12px;line-height:2;margin-top:16px;max-width:750px}details a{text-decoration:underline}footer{padding:60px 7% 26px;background:#e7e9df}footer>p{font:18px var(--serif);margin:26px 0 45px}.footer-bottom{border-top:1px solid #c5cbbd;padding-top:20px;display:flex;justify-content:space-between;font-size:9px;color:var(--muted);gap:20px;letter-spacing:.05em}.mobile-bar{display:none}.skip{position:fixed;left:20px;top:-80px;z-index:100;background:white;padding:15px}.skip:focus{top:10px}dialog{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;border:0;margin:0;padding:24px;background:#11251ff5;color:var(--paper)}dialog::backdrop{background:#11251f}.lightbox-top{display:flex;justify-content:space-between;align-items:center;height:42px;font-size:12px}.lightbox-top button{background:none;color:var(--paper);padding:10px 16px}.lightbox-body{height:calc(100% - 100px);display:grid;grid-template-columns:50px 1fr 50px;gap:18px;align-items:center}.lightbox-body img{height:100%;max-height:calc(100dvh - 150px);object-fit:contain;min-width:0}.lightbox-body button{background:#ffffff18;color:white;border:1px solid #ffffff50;width:48px;height:48px;border-radius:50%}#photo-caption{text-align:center;font-size:13px;color:var(--paper);margin-top:16px}@keyframes enter{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1600px){.hero-copy{left:calc((100vw - 1360px)/2)}.header{padding-inline:7%}}
@media(max-width:1000px){.header nav{gap:20px}.section{padding:80px 5%}.story{gap:6%}.hero{min-height:560px}.tea-copy{padding:60px 12%}.rooms{gap:16px}.room h3{font-size:22px}.room p{font-size:9px}.visit{gap:5%;grid-template-columns:.85fr 1.15fr}.contact-row{grid-template-columns:60px 1fr}.faq{padding-top:0}}
@media(max-width:700px){html{scroll-padding-top:22px}.header{height:82px;padding:0 6%}.brand-name{font-size:22px}.brand-name small{font-size:7px}.seal{font-size:17px}.brand{gap:10px}.header-book{font-size:11px;gap:12px;margin-left:auto;margin-right:22px}.menu-toggle{display:block;background:none;font-size:21px;padding:5px}.header nav{display:none;position:absolute;top:82px;left:0;right:0;background:var(--paper);padding:22px 6%;border-bottom:1px solid var(--line);box-shadow:0 12px 15px #0001;grid-template-columns:1fr 1fr;gap:15px}.header nav.open{display:grid}.hero{height:calc(88svh - 82px);min-height:550px;max-height:750px}.hero-photo{object-position:57% center}.hero-shade{background:linear-gradient(90deg,#061a10a8,#061a1024),linear-gradient(0deg,#071b1260,transparent)}.hero-copy{top:13%;left:8%}.hero h1{font-size:52px;line-height:1.5;letter-spacing:.07em}.hero-description{font-size:13px;margin-top:20px}.hero .eyebrow{font-size:9px;margin-bottom:25px}.hero-link{font-size:12px;margin-top:28px}.hero-side{right:7%;font-size:11px;top:18%}.hero-bottom{font-size:8px;left:8%;right:8%;bottom:23px}.hero-bottom>span:nth-child(2){display:none}.intro-strip{padding:18px 7%;font-size:10px}.intro-strip>span:nth-child(2){display:none}.section{padding:66px 7%}.story{grid-template-columns:1fr;gap:36px}.story-text>p:not(.eyebrow){font-size:13px;margin-top:24px}.eyebrow{font-size:9px;margin-bottom:21px}.story h2{font-size:36px}.story-note{display:none}.story-figure{padding:0}.story-figure img{aspect-ratio:1.05}.section-head{display:block;margin-bottom:30px}.section-head>p{margin-top:18px}.section-head h2{font-size:31px}.rooms{grid-template-columns:1fr;gap:30px}.room img{aspect-ratio:1.36}.room h3{font-size:25px}.room p{font-size:11px}.room-detail{padding:18px 0}.room-note{font-size:10px;line-height:1.9}.tea{grid-template-columns:1fr}.tea-photo img{min-height:0;height:320px}.tea-copy{padding:48px 9% 55px}.tea-copy h2{font-size:38px}.tea-copy p:not(.eyebrow){font-size:13px}.tea-caption{margin-top:24px}.gallery-filters{gap:0;justify-content:space-between}.gallery-filters button{font-size:11px;padding-bottom:12px}.gallery-filters small{display:none}.gallery-grid{grid-template-columns:1fr 1fr;gap:16px 12px}.gallery-item img{aspect-ratio:1.05}.gallery-item .gallery-label{font-size:10px}.gallery-item .photo-plus{height:25px;width:25px;bottom:10px;right:10px;font-size:14px}.night-banner{height:360px}.night-banner h2{font-size:35px}.night-banner img{object-position:50% center}.visit{grid-template-columns:1fr;gap:35px}.visit h2{font-size:36px}.contact-row{grid-template-columns:58px 1fr;gap:12px;padding:22px 0}.contact strong{font-size:13px}.phone{font-size:26px}.phone span{font-size:19px;padding-left:6px}.contact small{font-size:9px}.visit-actions{gap:10px}.button-primary,.button-secondary{padding:13px 14px;font-size:11px;gap:20px;flex:1}.faq{padding-top:0;padding-bottom:65px}.faq .eyebrow{font-size:9px}summary{font-size:12px}footer{padding:42px 7% 90px}.footer-bottom{flex-direction:column;gap:7px}footer>p{font-size:16px;margin-bottom:32px}.mobile-bar{display:grid;grid-template-columns:1fr 1fr;position:fixed;bottom:0;left:0;right:0;z-index:25;background:var(--paper);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}.mobile-bar a{text-align:center;font-size:12px;padding:15px 4px}.mobile-bar a:last-child{background:var(--ink);color:var(--paper)}dialog{padding:16px}.lightbox-body{grid-template-columns:32px 1fr 32px;gap:6px}.lightbox-body button{height:32px;width:32px}.lightbox-body img{max-height:calc(100dvh - 165px)}#photo-caption{font-size:11px}}
.local-culture{border-top:1px solid var(--line)}.culture-intro{display:flex;gap:30px;align-items:center;padding:32px 0 46px;max-width:850px}.culture-mark{font:30px/1.25 var(--serif);border:1px solid #a7afa0;padding:14px 19px;color:var(--red);flex-shrink:0}.culture-intro h3{font-size:25px;margin-bottom:12px}.culture-intro p{font-size:14px;line-height:2}.places{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:45px 32px}.place{min-width:0}.place>img{aspect-ratio:1.6;height:auto}.place-copy{padding:23px 0 0}.place-kicker{color:var(--red);font-size:11px;letter-spacing:.12em;margin-bottom:9px}.place h3{font-size:27px;margin-bottom:13px}.place-copy>p:not(.place-kicker){font-size:14px;line-height:2;max-width:520px}.place-map{display:inline-flex;align-items:center;gap:24px;min-height:44px;border-bottom:1px solid #aeb5a6;font-size:12px;margin-top:15px}.wander-note{margin-top:48px;padding:30px;background:#e7e9df}.wander-note h3{font-size:24px;margin-bottom:13px}.wander-note p{font-size:13px;line-height:2}.wander-note .trip-notice{font-size:12px;margin-top:16px;padding-top:16px;border-top:1px solid #c7cebf}.header nav{gap:25px}.heritage-note{border-left:2px solid #b6bda9;padding-left:16px}
@media(max-width:1050px) and (min-width:701px){.header{padding-inline:3%}.header nav{gap:15px;font-size:12px}.brand-name{font-size:23px}.header-book{gap:12px}.story{gap:5%}}
@media(max-width:700px){.header nav{gap:12px}.header nav a{min-height:44px;display:flex;align-items:center}.header nav a:last-child{grid-column:1/-1}.local-culture .section-head h2{font-size:32px}.culture-intro{align-items:flex-start;gap:18px;padding:0 0 35px}.culture-mark{font-size:23px;padding:10px 12px}.culture-intro h3{font-size:22px;line-height:1.6}.culture-intro p{font-size:14px}.places{grid-template-columns:1fr;gap:36px}.place>img{aspect-ratio:1.5}.place h3{font-size:26px}.place-copy{padding-top:20px}.place-copy>p:not(.place-kicker){font-size:14px}.place-map{font-size:13px;min-height:46px}.wander-note{padding:24px 20px;margin-top:35px}.wander-note p{font-size:14px}.wander-note .trip-notice{font-size:12px}.gallery-filters button{min-height:44px}.room-detail>a{min-width:44px;min-height:44px;display:grid;place-content:center}.menu-toggle{min-width:44px;min-height:44px}.header-book{margin-right:8px}.mobile-bar a{min-height:52px}.lightbox-body button{height:44px;width:44px}.lightbox-body{grid-template-columns:44px minmax(0,1fr) 44px;gap:4px}.contact small{font-size:11px}.room p{font-size:12px}footer .footer-bottom{font-size:11px}}
@media(max-width:360px){.header{padding-inline:5%}.brand-name{font-size:20px}.header-book{gap:8px;font-size:10px}.hero h1{font-size:45px}.hero-side{font-size:10px}.hero-copy{left:7%}.section{padding-inline:6%}.section-head h2{font-size:29px}.phone{font-size:23px}.contact-row{grid-template-columns:50px minmax(0,1fr);gap:8px}.visit-actions{flex-wrap:wrap}.culture-intro{gap:12px}.culture-intro h3{font-size:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
.gallery-item img{height:auto}
