:root{--paper:#f5f2eb;--ink:#202a27;--forest:#223c35;--sand:#d4c2a3;--line:#cfcfc3;--muted:#69736c;--number-font:Arial,Helvetica,sans-serif;--serif:Georgia,'Times New Roman','Yu Mincho','Hiragino Mincho ProN',serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,'Hiragino Kaku Gothic ProN','Yu Gothic','Microsoft YaHei',sans-serif;-webkit-font-smoothing:antialiased;font-variant-numeric:lining-nums tabular-nums}body.modal-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{cursor:pointer}button,a,summary,select{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,summary:focus-visible,select:focus-visible{outline:2px solid #a37936;outline-offset:5px}img{display:block;width:100%;height:auto}h1,h2,h3,p{margin:0}h1,h2{font-family:var(--serif);font-weight:400;white-space:pre-line}h1{font-size:clamp(44px,5.3vw,86px);line-height:1.32;letter-spacing:.03em}h2{font-size:clamp(30px,3.2vw,48px);line-height:1.55;letter-spacing:.02em}h3{font-size:22px;font-weight:400;line-height:1.5}p{font-size:15px;line-height:2;letter-spacing:.025em}html:lang(zh-CN) h1,html:lang(zh-CN) h2,html:lang(zh-CN) h3{font-family:'PingFang SC','Microsoft YaHei',sans-serif;font-weight:400}.eyebrow{font:10px/1.6 Arial,sans-serif;letter-spacing:.2em;margin-bottom:22px;color:var(--muted);text-transform:uppercase}.section{padding:110px 7vw}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:50px;margin-bottom:52px}.section-heading>p{max-width:350px;color:var(--muted)}.section-heading>span{font-size:11px;letter-spacing:.16em}.skip{position:fixed;top:-100px;left:10px;z-index:100;background:var(--paper);padding:15px}.skip:focus{top:5px}.site-header{height:90px;padding:0 4.7vw;display:flex;align-items:center;gap:30px;background:var(--forest);color:var(--paper);position:sticky;top:0;z-index:30}.brand{display:inline-flex;flex-direction:column;min-width:190px}.brand>span{font:27px/1.05 Georgia,serif;letter-spacing:.11em}.brand small{font:8px/1.5 Arial,sans-serif;letter-spacing:.21em;margin-top:8px}.site-header>nav{display:flex;gap:26px;margin-left:auto}.site-header nav a{font-size:12px;white-space:nowrap}.header-actions{display:flex;align-items:center;gap:26px}.header-book{border:1px solid #ffffff65;padding:13px 18px;font-size:12px;white-space:nowrap;transition:.2s}.header-book:hover{background:var(--paper);color:var(--forest)}.language{position:relative;font-size:12px}.language summary{list-style:none;cursor:pointer;white-space:nowrap}.language summary::-webkit-details-marker{display:none}.language summary span{margin-left:10px}.language>div{position:absolute;top:30px;right:0;min-width:135px;background:var(--paper);color:var(--ink);box-shadow:0 8px 20px #0002;display:grid;padding:8px}.language a{padding:10px 14px}.language a:hover,.language a[aria-current]{background:#e8e5db}.menu-toggle{display:none;border:0;background:none;width:32px;height:36px;padding:4px}.menu-toggle span{display:block;height:1px;background:var(--paper);margin:7px 0}.site-header #mobile-menu{position:absolute;inset:90px 0 auto;background:var(--forest);padding:25px;display:grid;gap:20px;border-top:1px solid #ffffff30}.site-header #mobile-menu[hidden]{display:none}.hero{height:calc(100svh - 90px);min-height:590px;max-height:1050px;position:relative;color:white;overflow:hidden}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#0c201a94,#0c201a12 85%),linear-gradient(0deg,#0c201a80,transparent 55%)}.hero-copy{position:absolute;left:8vw;right:6vw;bottom:20%;z-index:1}.hero .eyebrow{color:#ffffffe0;margin-bottom:23px}.hero-sub{margin-top:28px;font-size:14px;letter-spacing:.12em}.hero-bottom{position:absolute;bottom:33px;left:4.7vw;right:4.7vw;display:flex;justify-content:space-between;font-size:10px;letter-spacing:.12em}.hero-bottom a{display:flex;align-items:center;gap:40px}.hero-bottom a span{font-size:22px}.hero-bottom>span{font-size:9px}.intro{display:grid;grid-template-columns:1.15fr 1fr;gap:12vw;align-items:center}.intro p{max-width:470px}.rental-label{display:inline-block;margin-top:34px;border-top:1px solid var(--line);padding-top:20px;font-size:11px;letter-spacing:.13em;width:100%}.collection{background:#eae7df}.stay-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.card-photo{display:block;position:relative;overflow:hidden;aspect-ratio:4/4.1}.card-photo img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.card-photo:hover img{transform:scale(1.035)}.card-index{position:absolute;top:18px;left:18px;color:white;font:14px/1.2 var(--number-font);font-variant-numeric:lining-nums tabular-nums;background:#223c3560;padding:8px}.round-arrow{position:absolute;right:16px;bottom:16px;border:1px solid #fff8;color:#fff;width:40px;height:40px;display:grid;place-items:center;font-size:20px;background:#223c3570}.card-meta{display:flex;justify-content:space-between;font:9px/1.5 Arial,sans-serif;letter-spacing:.12em;margin:25px 0 10px;color:var(--muted)}.stay-card h3{font-family:var(--serif);font-size:27px;margin-bottom:12px}.stay-card>p{font-size:13px;min-height:50px;color:#59655e}.stats{display:flex;justify-content:space-between;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0;margin:24px 0 28px;gap:15px}.stats dt{font-size:10px;color:var(--muted);margin-bottom:10px}.stats dd{margin:0;font:28px/1.2 var(--number-font);font-variant-numeric:lining-nums tabular-nums;white-space:nowrap}.stats small{font:10px/1.2 var(--number-font);margin-left:5px;vertical-align:baseline}.text-link{display:flex;justify-content:space-between;align-items:center;padding-bottom:12px;border-bottom:1px solid #8a958b;font-size:12px;gap:24px;width:fit-content;min-width:180px}.text-link span{font-size:21px}.button{display:flex;align-items:center;justify-content:space-between;gap:35px;background:var(--forest);color:white;padding:22px 28px;min-height:64px;font-size:13px;transition:.2s}.button:hover{background:#36584b}.button span{font-size:22px}.booking{display:grid;grid-template-columns:1.2fr 1fr;gap:10vw;background:var(--forest);color:var(--paper)}.booking .eyebrow{color:#c4cec7}.booking h2{margin-bottom:24px}.booking p{font-size:14px;max-width:500px;color:#e0e5df}.booking-controls{align-self:center}.booking-controls label{display:block;font-size:12px;margin-bottom:12px}.booking select{display:block;background:transparent;color:var(--paper);border:1px solid #ffffff80;border-radius:0;width:100%;padding:18px;margin-bottom:18px;font-size:15px}.booking select option{color:var(--ink);background:var(--paper)}.button.sand{background:var(--sand);color:var(--ink)}.button.sand:hover{background:#e6d8be}.booking .small{font-size:11px;line-height:1.9;margin-top:20px;color:#bac8bf}.experience{display:grid;grid-template-columns:1fr 1fr}.experience-photo img{height:100%;object-fit:cover}.experience-copy{padding:95px 7vw}.experience-copy>p:not(.eyebrow){margin-top:27px}.experience-copy ol{padding:0;list-style:none;margin:40px 0 0}.experience-copy li{border-top:1px solid var(--line);padding:22px 0;display:flex;gap:22px}.experience-copy li>span{font:13px/1.5 var(--number-font);font-variant-numeric:lining-nums tabular-nums;color:var(--muted);padding-top:6px}.experience-copy h3{font-size:16px;margin-bottom:6px}.experience-copy li p{font-size:12px;color:var(--muted)}.access{background:#eae7df}.access-layout{display:grid;grid-template-columns:1.4fr 1fr;gap:6vw}.map-wrap{min-height:430px}.map-wrap iframe{width:100%;height:100%;min-height:430px;border:0;filter:saturate(.55)}.address-list article{padding:27px 0;border-bottom:1px solid #b7bdb3}.address-list article:first-child{padding-top:0}.address-list .eyebrow{margin:0;font-size:9px}.address-list h3{margin:9px 0 12px;font-size:21px}.address-list p{font-size:12px;line-height:1.9;margin-bottom:15px}.address-list .text-link{font-size:11px;min-width:130px;padding-bottom:4px}.contact{display:grid;grid-template-columns:1fr 1fr;gap:12vw;align-items:center}.contact .text-link{margin-top:30px}.small{font-size:11px;line-height:1.8;color:var(--muted)}.contact .small{margin-top:9px}.email{display:inline-block;margin-top:25px;font:15px Georgia}.operator{display:flex;flex-direction:column;align-items:flex-end}.operator img{width:180px;height:auto;max-height:85px;object-fit:contain}.operator .eyebrow{font-size:9px;margin-bottom:10px}footer{padding:55px 4.7vw 28px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:40px}footer p{font-size:10px;margin-top:20px}.operator p{margin-top:10px}.footer-bottom{grid-column:1/-1;padding-top:27px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:10px}.footer-bottom small{font-size:10px}.footer-bottom div{display:flex;gap:20px}.detail-hero{height:73svh;min-height:500px}.detail-hero h1{font-size:clamp(43px,6vw,85px)}.detail-hero .hero-copy{bottom:21%}.breadcrumb{display:block;font-size:11px;margin-bottom:34px}.detail-subnav{display:flex;justify-content:center;gap:55px;border-bottom:1px solid var(--line);padding:24px;font-size:12px}.feature{display:grid;grid-template-columns:1.15fr 1fr;background:#eae7df}.feature>div:first-child{min-height:500px}.feature img{height:100%;object-fit:cover}.feature-copy{align-self:center;padding:75px 7vw}.feature-copy h2{font-size:34px;margin-bottom:28px}.filters{display:flex;gap:26px;flex-wrap:wrap;margin-bottom:30px}.filters button{background:none;border:0;border-bottom:1px solid transparent;padding:10px 0;font-size:12px;color:var(--muted)}.filters button[aria-pressed=true]{color:var(--forest);border-color:var(--forest)}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.gallery-item{padding:0;border:0;background:none;text-align:left;color:var(--ink);min-width:0}.gallery-item[hidden]{display:none}.gallery-item img{aspect-ratio:4/3;object-fit:cover;height:auto}.gallery-item>span{display:flex;justify-content:space-between;font-size:11px;padding-top:12px;color:var(--muted)}.gallery-item b{font-size:17px;font-weight:400}.facilities{display:grid;grid-template-columns:1fr 1fr;gap:12vw;background:#eae7df}.facilities ul{display:grid;grid-template-columns:1fr 1fr;gap:24px;list-style:none;padding:0;margin:45px 0 0;font-size:13px}.facilities li{display:flex;gap:13px}.facilities li span{color:#65806f}.practical h3{font-size:20px;margin-bottom:25px}.practical dl{margin:0}.practical dl>div{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:16px 0;font-size:13px}.practical dt{color:var(--muted)}.notice{margin-top:30px;border-left:2px solid #927d54;padding-left:20px}.notice h3{font-size:14px;margin-bottom:8px}.notice p{font-size:12px}.rules{display:grid;grid-template-columns:1fr 1fr;gap:12vw}.rules ul{padding-left:17px;font-size:13px;line-height:2}.rules li{padding-bottom:13px}.rules p{font-size:13px;margin-top:20px}.rules .small{font-size:10px}.two{grid-template-columns:1fr 1fr;gap:40px;max-width:1000px;margin:45px auto 0}.two .card-photo{aspect-ratio:3/2}.lightbox{width:100vw;max-width:none;height:100svh;max-height:none;border:0;background:#14221df7;color:white;padding:65px 75px;margin:0}.lightbox[open]{display:flex;align-items:center;justify-content:center}.lightbox::backdrop{background:#14221d}.lightbox figure{margin:0;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px}.lightbox img{object-fit:contain;max-height:calc(100% - 50px);width:100%;height:100%}.lightbox figcaption{font-size:12px;text-align:center;line-height:1.5}.lightbox button{position:absolute;color:white;background:none;border:1px solid #fff5;width:45px;height:45px;font-size:25px}.lightbox-close{top:18px;right:20px}.lightbox-prev{left:15px;top:48%}.lightbox-next{right:15px;top:48%}
@media(min-width:1700px){.section{padding-left:max(7vw,calc((100vw - 1460px)/2));padding-right:max(7vw,calc((100vw - 1460px)/2))}}
@media(max-width:1100px){.site-header>nav{gap:17px}.site-header{gap:20px;padding:0 30px}.brand{min-width:165px}.brand>span{font-size:24px}.brand small{font-size:7px}.header-actions{gap:17px}.site-header nav a{font-size:11px}.header-book{font-size:11px;padding:11px}.stay-grid{gap:22px}.stay-card h3{font-size:23px}.section{padding:85px 6vw}.experience-copy{padding:65px 6vw}.hero h1{font-size:58px}.stats dd{font-size:25px}.stats{gap:8px}}
@media(max-width:850px){.site-header{height:76px;padding:0 24px;justify-content:space-between}.site-header>nav{display:none}.site-header #mobile-menu{inset:76px 0 auto}.menu-toggle{display:block}.header-actions{gap:20px}.hero{height:calc(90svh - 76px);min-height:550px}.hero-copy{left:7vw;bottom:23%;right:6vw}.hero h1{font-size:clamp(38px,6vw,58px)}.hero-bottom>span{display:none}.hero-sub{font-size:12px}.intro,.booking,.contact,.rules,.facilities{gap:6vw}.stay-grid{grid-template-columns:1fr;gap:50px}.stay-card{display:grid;grid-template-columns:1fr 1fr;column-gap:30px}.card-photo{grid-column:1;grid-row:1/7;height:100%;aspect-ratio:4/4.5}.stay-card>*:not(.card-photo){grid-column:2}.card-meta{margin-top:6px}.stay-card>p{min-height:0}.stats{margin:18px 0 22px}.two{grid-template-columns:1fr}.experience{grid-template-columns:1fr}.experience-photo{height:65vw;max-height:600px}.experience-copy{padding:65px 7vw}.experience-copy ol{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.experience-copy li{display:block}.experience-copy li>span{display:block;margin-bottom:13px}.access-layout{grid-template-columns:1fr}.address-list{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.address-list article,.address-list article:first-child{padding-top:26px}.address-list h3{font-size:18px}.gallery-grid{grid-template-columns:1fr 1fr}.feature-copy{padding:50px 5vw}.feature-copy h2{font-size:27px}.feature>div:first-child{min-height:420px}.section-heading{align-items:start;gap:30px}.section-heading>p{max-width:250px;font-size:13px}.detail-hero{height:65svh}.detail-subnav{gap:30px}.operator img{width:150px}}
@media(max-width:600px){html{scroll-padding-top:92px}.site-header{padding:0 20px;height:72px;gap:12px}.brand{min-width:130px}.brand>span{font-size:22px}.brand small{font-size:6px;letter-spacing:.15em}.header-actions{gap:15px}.header-book{display:none}.language{font-size:11px}.site-header #mobile-menu{inset:72px 0 auto}.hero{height:calc(88svh - 72px);min-height:510px}.hero-copy{left:24px;right:20px;bottom:23%}.hero h1{font-size:36px;line-height:1.55;letter-spacing:0}.hero .eyebrow{font-size:8px;letter-spacing:.13em}.hero-sub{font-size:10px;letter-spacing:.04em;margin-top:24px}.hero-bottom{left:24px;right:24px;bottom:28px}.hero-bottom a{font-size:10px}.hero-image{object-position:52% center}.hero-shade{background:linear-gradient(90deg,#0c201a8c,#0c201a33),linear-gradient(0deg,#0c201a66,transparent)}.section{padding:65px 24px}.eyebrow{font-size:9px;margin-bottom:20px}h2{font-size:28px;line-height:1.65}p{font-size:14px}.intro,.booking,.contact,.rules,.facilities{grid-template-columns:1fr;gap:30px}.rental-label{margin-top:25px}.section-heading{display:block;margin-bottom:32px}.section-heading>p{margin-top:20px;max-width:none}.section-heading>span{display:block;margin-top:20px}.stay-card{display:block}.card-photo{aspect-ratio:4/3;height:auto}.card-meta{margin:23px 0 12px}.stay-card h3{font-size:26px}.stay-card>p{font-size:13px}.stats{padding:18px 0;margin:23px 0}.stats dt{font-size:10px}.stats dd{font-size:27px}.stay-grid{gap:48px}.text-link{width:100%;font-size:12px}.booking h2{font-size:28px;margin-bottom:14px}.booking p{font-size:13px}.booking select{font-size:14px}.button{font-size:12px;padding:20px 23px}.booking-controls .small{font-size:11px}.experience-copy{padding:60px 24px}.experience-copy ol{display:block}.experience-copy li{display:flex}.experience-copy li>span{margin-top:0}.experience-photo{height:78vw}.access-layout{gap:28px}.map-wrap,.map-wrap iframe{min-height:310px}.address-list{grid-template-columns:1fr;gap:0}.address-list article,.address-list article:first-child{padding:23px 0}.address-list h3{font-size:21px}.address-list .text-link{width:fit-content}.contact .email{font-size:14px}.footer-bottom{flex-wrap:wrap;font-size:9px}.footer-bottom>div{order:3;width:100%;padding-top:10px}footer{padding:40px 24px 25px;grid-template-columns:1fr;gap:35px}footer .brand{margin-bottom:0}.operator{align-items:flex-start}.operator img{width:165px}.detail-hero{min-height:460px;height:68svh}.detail-hero h1{font-size:38px}.detail-hero .hero-bottom>span{display:none}.detail-subnav{gap:22px;padding:20px 14px;overflow:auto;white-space:nowrap;justify-content:flex-start;font-size:11px}.breadcrumb{font-size:10px}.feature{grid-template-columns:1fr}.feature>div:first-child{min-height:0;height:75vw}.feature-copy{padding:50px 24px}.feature-copy h2{font-size:27px}.gallery-grid{gap:24px 14px}.gallery-item>span{font-size:10px}.filters{gap:25px;margin-bottom:24px}.filters button{font-size:11px}.facilities ul{gap:22px 15px;font-size:12px;margin-top:30px}.practical{margin-top:15px}.rules ul{margin-top:0}.two{gap:48px}.lightbox{padding:64px 15px 105px}.lightbox img{max-height:calc(100% - 60px)}.lightbox-prev{left:calc(50% - 65px);top:auto;bottom:25px}.lightbox-next{right:calc(50% - 65px);top:auto;bottom:25px}.lightbox figcaption{font-size:11px}.lightbox-close{top:15px;right:15px}html:lang(en) .hero h1{font-size:43px;line-height:1.2}html:lang(en) .detail-hero h1{font-size:44px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

.booking-email-address{display:inline-block;margin-top:16px;color:var(--paper);font-size:13px;line-height:1.6;text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}

/* On-page reservation form */
.booking{grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr);gap:7vw;align-items:start}
.booking-controls{min-width:0;align-self:start}.booking-field{min-width:0}.booking-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 18px;margin-top:26px}.booking-wide{grid-column:1/-1}.booking-field[hidden]{display:none}.booking .booking-field label{margin-bottom:10px}.booking input,.booking textarea,.booking select{width:100%;min-width:0;margin:0;border:1px solid #ffffff70;border-radius:0;background:#ffffff06;color:var(--paper);font:15px/1.5 Arial,'Hiragino Kaku Gothic ProN','Microsoft YaHei',sans-serif;padding:14px 15px;min-height:54px;color-scheme:dark;font-variant-numeric:lining-nums tabular-nums}.booking textarea{resize:vertical;min-height:92px}.booking input::placeholder,.booking textarea::placeholder{color:#b1c0b8}.booking input:focus-visible,.booking textarea:focus-visible,.booking select:focus-visible{outline:2px solid var(--sand);outline-offset:3px}.booking select option{color:var(--ink);background:var(--paper)}.booking .booking-capacity{font-size:11px;color:#c7d3ca;margin-top:10px}.booking .booking-summary{font-size:12px;margin:22px 0;color:#dce5de}.booking .booking-error{font-size:12px;color:#ffe2be;margin-bottom:18px}.booking button.button{width:100%;border:0;text-align:left}.booking input[type=date]{appearance:none;-webkit-appearance:none;display:block}.booking input::-webkit-date-and-time-value{text-align:left}.booking input:disabled{opacity:.5}
@media(max-width:850px){.booking{grid-template-columns:1fr;gap:35px}.booking-controls{width:100%;max-width:680px}.booking>div>p{max-width:600px}}
@media(max-width:600px){.booking-field-grid{gap:20px 14px}.booking input,.booking textarea,.booking select{font-size:16px;padding:12px 10px}.booking .booking-field label{font-size:12px}.booking .booking-summary{font-size:11px}}
@media(max-width:360px){.booking-field-grid{grid-template-columns:1fr}}
