/* Photo-led layout and full-screen navigation. */
:root{--paper:#f4f5ef;--ink:#303b32;--muted:#626e63;--line:#d5ddd2;--olive:#3d5143;--forest:#3d5143;--forest-hover:#304237;--sage:#e5ebe1;--on-forest:#f4f5ef}
header{position:absolute;inset:0 0 auto;height:126px;border:0;background:transparent;color:white;padding:0 5.5%;z-index:10}
.brand{font-size:29px;letter-spacing:5px}.brand span{margin-top:6px;font-size:8px;letter-spacing:3px}
.header-actions{display:flex;gap:35px;align-items:center}button{color:inherit}.header-actions button,.quick-rail button,.menu-utilities button,.menu-close{border:0;background:none;cursor:pointer}
.header-location svg{width:24px;height:29px}.menu-open{display:flex;align-items:center;gap:20px;padding:12px 0;font:10px Arial;letter-spacing:3px}.menu-open i{width:34px;height:14px;border-top:1px solid;border-bottom:1px solid}
.hero{height:100svh;min-height:640px;max-height:none}.hero-copy{left:10%;top:42%}.hero h1{font-size:clamp(38px,4.4vw,65px);line-height:1.55;font-weight:400}.hero-copy>.eyebrow{font-size:9px;letter-spacing:4px}.hero-copy p{font-size:12px;letter-spacing:2px;margin-top:20px}.hero-shade{background:linear-gradient(90deg,#13221663,transparent 85%),linear-gradient(180deg,#06100950,transparent 30%,#07140b25)}
.scroll-cue{display:flex;gap:30px;align-items:center;font:8px Arial;letter-spacing:3px;margin-top:60px}.scroll-cue span{font-size:22px}.hero-bottom{bottom:36px;font-size:9px;letter-spacing:2px}.hero-bottom span:last-child{display:none}
.quick-rail{position:fixed;right:0;top:40%;z-index:13;background:#f5f1e8ee;display:flex;flex-direction:column;box-shadow:0 2px 20px #18241409;width:78px;color:var(--ink)}
.quick-rail button{padding:20px 5px;display:flex;align-items:center;flex-direction:column;gap:12px;border-bottom:1px solid #d5d6c7}.quick-rail svg{width:23px;height:26px}.quick-rail span{font:8px Arial;letter-spacing:1px}.quick-rail a{text-align:center;padding:12px;font-size:22px}.quick-rail button:hover{background:#e6e8dc}
.section{padding-top:145px;padding-bottom:145px}.intro{padding-top:170px;padding-bottom:170px;gap:30px 12%}.intro h2{font-size:clamp(31px,3.6vw,50px)}.intro p{font-size:13px;line-height:2.3}.intro .eyebrow{margin-bottom:10px}.stays{padding-top:20px}.section-heading{margin-bottom:65px}.section-heading p{font-size:12px;line-height:2.2}.stay-grid{gap:7%}.stay-card:nth-child(2){padding-top:125px}.photo-link img{height:500px}.photo-link>span{background:transparent;color:white;border-bottom:1px solid #ffffffa0;padding:6px 0;letter-spacing:2px;right:28px;bottom:25px;text-shadow:0 1px 8px #000}.photo-link:after{content:'';position:absolute;inset:65% 0 0;background:linear-gradient(transparent,#1118);pointer-events:none}.photo-link>span{z-index:1}.card-heading{margin-top:30px}.card-heading h3{font-size:36px}.stay-card .text-link{margin-top:20px;letter-spacing:1px}.stay-card>p{font-size:12px}
.moments{background:#e9eadd;padding-bottom:95px}.moments .section-heading{padding-top:110px}.moment-grid{padding:0 8%;gap:4%}.moment-grid img{height:390px}.moment-grid h3{font-size:24px}.moment-grid article:nth-child(2){padding-top:90px}.moment-grid article:nth-child(3){padding-top:180px}.moment-grid article>div{padding-top:28px}.moment-grid .eyebrow{font-size:8px;letter-spacing:2px}.moment-grid p{font-size:11px}footer{min-height:240px;padding-right:110px}footer>a:last-child{font-size:11px}
dialog.site-menu{padding:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;border:0;background:#eee4c7;color:#3d4334;overflow:auto}dialog.site-menu[open]{display:grid;grid-template-columns:1fr 1fr}.site-menu::backdrop{background:#eee4c7}.menu-scene{position:relative;min-height:100dvh;overflow:hidden}.menu-scene>img{position:absolute;inset:0;height:100%;object-fit:cover;filter:brightness(.75)}.menu-scene>div{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#fff6db}.menu-scene span{font:clamp(45px,5vw,80px) "Batang",serif;letter-spacing:12px}.menu-scene small{position:absolute;bottom:8%;font-size:12px;letter-spacing:2px}.menu-panel{position:relative;display:flex;flex-direction:column;justify-content:center;padding:110px 16% 85px;min-height:100dvh}.menu-close{position:absolute;right:45px;top:35px;display:flex;gap:25px;align-items:center;font:10px Arial;letter-spacing:3px;padding:10px}.menu-close span{font-size:35px;font-weight:200;line-height:1}.menu-panel nav{display:flex;flex-direction:column;gap:25px}.menu-panel nav a{font:clamp(23px,2.3vw,35px) "Batang",serif;line-height:1.8;white-space:nowrap;transition:opacity .2s}.menu-panel nav a:hover{opacity:.6}.menu-panel nav small{font:9px Arial;vertical-align:middle;margin-right:20px;opacity:.55}.menu-utilities{display:flex;flex-direction:column;gap:22px;margin-top:65px}.menu-utilities button{display:flex;align-items:center;gap:18px;letter-spacing:3px;font:12px Arial;padding:0}.menu-utilities svg{width:23px;height:28px}.menu-signature{font:8px Arial;letter-spacing:3px;margin-top:60px;opacity:.65}
.info-dialog{width:min(720px,92vw);padding:60px 45px 40px;color:var(--ink)}.info-dialog>.dialog-close{position:absolute;right:20px;top:15px;border:0;background:none;font-size:12px;cursor:pointer;padding:10px}.info-dialog>p{margin:20px 0;font-size:13px}.booking-rooms{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-top:30px}.booking-rooms img{height:180px;object-fit:cover}.booking-rooms h3{font-size:26px;margin-top:12px}.booking-rooms a{font-size:12px}.booking-rooms button{display:block;margin-top:18px;border:1px solid #b8bdaf;background:transparent;padding:12px;width:100%;font-size:11px;color:#686c61}.info-dialog>.text-link{margin-top:30px}.location-pending{padding:25px 0;border-top:1px solid var(--line)}.room-hero{height:80svh;min-height:500px}.room-hero .hero-copy{top:40%}.guide-heading{padding-top:210px;padding-bottom:70px}.guide-heading h1{font-size:clamp(30px,4vw,50px)}.guide-heading p{margin-top:20px}.guide-room-links{display:flex;gap:35px;margin-top:35px}body:has(.guide-heading)>header{color:var(--ink)}.guide{padding-top:80px;padding-bottom:100px}.booking{padding:95px 8%}.room-intro{padding-top:100px;padding-bottom:100px}.room-guide{padding-top:80px;padding-bottom:80px}.gallery-section{padding-top:0}.other-room{padding-top:0;padding-bottom:80px}
@media(max-width:1000px){.quick-rail{width:62px}.quick-rail span{font-size:7px}.menu-panel{padding-left:10%;padding-right:8%}.menu-panel nav a{font-size:27px}.photo-link img{height:360px}.moment-grid img{height:290px}.section{padding-right:10%;padding-left:7%}.info-dialog{padding:55px 30px 30px}.menu-panel nav small{margin-right:12px}}
@media(max-width:600px){header{height:100px;padding:0 7%}.brand{font-size:23px}.header-actions{gap:22px}.header-location{display:none}.menu-open{font-size:8px;gap:12px}.menu-open i{width:26px;height:11px}.hero{height:100svh;min-height:560px}.hero-copy{left:8%;right:8%;top:40%}.hero h1{font-size:39px}.hero-copy>.eyebrow{font-size:7px;letter-spacing:2px}.hero-copy p{font-size:10px;letter-spacing:1px}.scroll-cue{font-size:7px;margin-top:40px}.hero-bottom{bottom:83px;font-size:8px}.quick-rail{top:auto;bottom:0;width:100%;flex-direction:row;padding-bottom:env(safe-area-inset-bottom);box-shadow:0 -2px 20px #00000008}.quick-rail button{width:50%;flex-direction:row;justify-content:center;gap:12px;padding:16px 10px;border-bottom:0}.quick-rail button+button{border-left:1px solid #d5d6c7}.quick-rail svg{width:18px;height:22px}.quick-rail span{font-size:9px;letter-spacing:2px}.quick-rail>a{display:none}.section{padding:85px 7%}.intro{gap:25px;padding-top:95px;padding-bottom:95px}.intro p{font-size:12px}.stays{padding-top:15px}.stay-grid{gap:60px}.stay-card:nth-child(2){padding-top:0}.photo-link img{height:auto;aspect-ratio:4/5;object-position:center}.card-heading h3{font-size:30px}.section-heading{margin-bottom:35px}.moments .section-heading{padding-top:75px}.moment-grid{padding:0 7%}.moment-grid article:nth-child(n){padding-top:0}.moment-grid img{height:auto;aspect-ratio:4/3}.moments{padding-bottom:30px}footer{padding:55px 7% 115px}footer>a:last-child{display:inline-block;margin-top:20px}dialog.site-menu[open]{grid-template-columns:1fr;grid-template-rows:26svh auto}.menu-scene{min-height:0}.menu-scene>img{object-position:center 45%}.menu-scene span{font-size:32px;letter-spacing:7px}.menu-scene small{display:none}.menu-panel{min-height:74svh;padding:65px 12% 35px;justify-content:start}.menu-close{top:10px;right:23px;font-size:8px;gap:15px}.menu-close span{font-size:30px}.menu-panel nav{gap:14px}.menu-panel nav a{font-size:25px}.menu-utilities{margin-top:35px;gap:18px}.menu-utilities button{font-size:10px}.menu-utilities svg{width:20px;height:23px}.menu-signature{margin-top:35px;font-size:7px;letter-spacing:2px}.booking-rooms{gap:15px}.booking-rooms img{height:130px}.booking-rooms button{padding:10px 3px;font-size:10px}.info-dialog{padding:55px 22px 30px}.info-dialog h2{font-size:29px}.guide-heading{padding-top:155px;padding-bottom:55px}.guide-room-links{flex-direction:column;align-items:start;gap:10px}.room-hero{min-height:470px;height:75svh}.room-intro{padding-top:70px;padding-bottom:70px}.gallery-section{padding-top:0}.room-guide{padding-top:65px;padding-bottom:65px}.other-room{padding-top:0;padding-bottom:65px}}

/* Unified muted forest palette; persistent, high-contrast navigation. */
header{position:fixed;height:94px;background:var(--paper);color:var(--forest);border-bottom:1px solid var(--line);box-shadow:0 2px 18px #263e2910}
.header-actions{gap:24px}
.header-actions .menu-open{background:var(--forest);color:var(--on-forest);padding:16px 22px;min-height:48px;font-size:12px;letter-spacing:2px;gap:18px}
.header-actions .menu-open:hover{background:var(--forest-hover)}
.menu-open i{border-width:2px;height:15px;width:28px}
.header-location{padding:10px;min-width:44px;min-height:44px}
.header-location:hover{background:var(--sage)}
.quick-rail{background:var(--forest);color:var(--on-forest);box-shadow:0 4px 20px #23392a18}
.quick-rail button{border-color:#f4f5ef30}
.quick-rail button:hover,.quick-rail a:hover{background:var(--forest-hover)}
.quick-rail span{font-size:9px}
.quick-rail button+button{border-color:#f4f5ef30}
.moments{background:var(--sage)}
dialog.site-menu,.site-menu::backdrop{background:var(--forest);color:var(--on-forest)}
.menu-scene>div{color:var(--on-forest)}
.menu-panel nav a:hover{opacity:1;color:#cbdcc7}
.menu-panel nav small,.menu-signature{opacity:1;color:#c4d2c2}
.menu-utilities{border-top:1px solid #f4f5ef30;padding-top:30px}
.menu-utilities button:hover,.menu-close:hover{color:#cbdcc7}
.text-link,.card-heading h3,.info-dialog h2,.moment-grid h3{color:var(--forest)}
.info-dialog{background:var(--paper)}
.booking-rooms button{background:var(--sage);border-color:var(--line);color:var(--muted)}
.booking{background:var(--forest)}
.booking p{color:var(--on-forest)}
.booking button{border-color:#f4f5ef70;color:var(--on-forest)}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #6b866c;outline-offset:5px}
.quick-rail :focus-visible,.menu-panel :focus-visible{outline-color:#dbe9d6;outline-offset:-5px}
@media(max-width:600px){
 header{height:82px;padding:0 6%}
 header .brand{font-size:23px;letter-spacing:3px}
 header .brand span{font-size:7px;letter-spacing:2px}
 .header-actions .menu-open{font-size:11px;padding:13px 16px;gap:12px;min-height:46px}
 .menu-open i{width:24px;height:13px}
 .quick-rail span{font-size:10px}
 .menu-utilities{padding-top:24px}
}
.reserve-link{display:inline-flex;align-items:center;justify-content:center;gap:16px;background:var(--forest);color:var(--on-forest);padding:13px 20px;font-size:12px;border:1px solid var(--forest)}
.reserve-link:hover{background:var(--forest-hover)}
.booking-rooms .reserve-link{display:flex;margin-top:18px;color:var(--on-forest);font-size:12px}
.booking .reserve-link{border-color:#f4f5ef70}
.room-reserve{max-width:1600px;margin:0 auto;padding:0 8% 65px}
.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}
@media(max-width:600px){.booking-rooms .reserve-link{padding:12px 5px;font-size:11px;gap:7px}.room-reserve{padding:0 7% 50px}}
#location-dialog .location-map{margin:28px 0 20px}
#location-dialog .location-map a{display:block;border:1px solid var(--line);background:#fff}
#location-dialog .location-map img{width:100%;height:auto;object-fit:contain}
.location-map figcaption{margin-top:8px;font-size:10px;color:var(--muted)}
.photo-link>span{letter-spacing:1px;font-size:12px}
.nearby{border-top:1px solid var(--line)}
.nearby-grid{display:grid;grid-template-columns:1fr 1fr;gap:7%}
.nearby-card{border-top:1px solid var(--forest);padding-top:30px}
.nearby-card h3{font-size:30px;color:var(--forest)}
.nearby-card>p{margin-top:15px;font-size:14px}
.nearby-card .eyebrow{margin-bottom:15px}
.nearby-card dl{font-size:14px}
.route-links{display:flex;gap:28px;flex-wrap:wrap}
.route-links .text-link{font-size:13px;gap:0}
.route-note{font-size:12px;line-height:1.9;color:var(--muted);margin-top:30px;max-width:880px}
.location-nearby{border-top:1px solid var(--line);padding-top:20px;margin-top:22px}
.location-nearby h3{font-size:22px;color:var(--forest)}
.location-nearby>div{margin-top:18px}
.location-nearby a{font-size:14px;text-decoration:underline;text-underline-offset:4px}
#location-dialog .location-nearby p{font-size:12px;text-align:left;margin-top:8px;height:auto}
#location-dialog .location-nearby .route-note{font-size:11px;margin-top:18px}
@media(max-width:600px){.nearby-grid{grid-template-columns:1fr;gap:40px}.nearby .section-heading p{font-size:14px}.nearby-card h3{font-size:28px}.nearby-card dl>div{grid-template-columns:80px 1fr}.route-note{font-size:12px}.menu-panel nav{gap:10px}.menu-panel nav a{font-size:23px}}
/* Readability and room-selection refinement. */
.intro p,.section-heading p,.stay-card>p,.moment-grid p,.room-intro p,.room-guide p,.faq p,.booking p,.info-dialog>p{font-size:15px;line-height:1.95}
.text-link,.photo-link>span,.gallery figcaption,.booking-rooms a,.reserve-link{font-size:14px}
dl,.room-guide table{font-size:14px}.note{font-size:13px}.eyebrow{font-size:11px}
.quick-rail span{font:13px "Malgun Gothic",sans-serif;letter-spacing:0}.quick-rail{width:86px}
.menu-utilities button{font:14px "Malgun Gothic",sans-serif;letter-spacing:1px}.menu-close{font-size:13px}
.hero-copy p{font-size:16px;line-height:1.9;letter-spacing:.5px}.scroll-cue{font:13px "Malgun Gothic",sans-serif;letter-spacing:1px}
.hero-picture{position:absolute;inset:0}.hero-picture .hero-photo{height:100%}
.stay-card:nth-child(2){padding-top:0}.photo-link img{height:auto;aspect-ratio:4/3;object-fit:cover}
.room-facts{border-top:1px solid var(--line);padding-top:18px;margin-top:20px;color:var(--forest)}.room-facts span{display:block;margin-top:5px}
.room-nav{display:flex;position:sticky;top:94px;z-index:9;justify-content:center;gap:32px;background:var(--paper);border-bottom:1px solid var(--line);padding:13px 6%;font-size:14px}
.room-nav a{padding:8px 0}.room-nav a:hover{color:var(--forest);text-decoration:underline;text-underline-offset:7px}
#room-overview,#room-photos,#room-rates,#pet-policy{scroll-margin-top:75px}
.gallery-open span{font-size:13px;padding:8px 14px}.room-guide th{font-size:14px}
@media(max-width:600px){
 .hero,.room-hero{height:auto;min-height:0;max-height:none;padding-top:82px;background:var(--forest)}
 .hero-picture{display:block;position:relative;inset:auto}
 .hero .hero-photo,.hero-picture .hero-photo{position:relative;height:auto;aspect-ratio:4/3;object-fit:contain;object-position:center}
 .hero-shade{display:none}
 .hero .hero-copy,.room-hero .hero-copy{position:relative;inset:auto;padding:32px 7% 38px}
 .hero h1{font-size:37px;line-height:1.4}.hero-copy>.eyebrow{font-size:10px;margin-bottom:18px;letter-spacing:2px}
 .hero-copy p{font-size:15px;letter-spacing:0;margin-top:16px}.scroll-cue{font-size:13px;margin-top:24px}
 .hero-bottom{position:relative;inset:auto;padding:0 7% 24px;font-size:11px}
 .quick-rail{width:100%}.quick-rail span{font-size:14px;letter-spacing:0}
 .intro p,.section-heading p,.stay-card>p,.moment-grid p,.room-intro p,.room-guide p,.faq p,.booking p,.info-dialog>p{font-size:15px}
 .photo-link img{aspect-ratio:4/3}.stay-grid{gap:48px}
 .moment-grid .eyebrow{font-size:10px}.gallery figcaption{font-size:13px}
 .room-nav{top:82px;gap:18px;padding:10px 5%;font-size:13px;flex-wrap:wrap}
 .room-nav a{padding:6px 0}.booking-rooms .reserve-link{font-size:13px;padding:12px 5px}
 .guide-room-links{gap:18px}.hero-copy .eyebrow{max-width:100%}
 .room-guide td,.room-guide th{padding:15px 4px;font-size:13px}
 footer p,footer>a:last-child{font-size:13px}
}
.cancellation-link{padding-top:0;padding-bottom:35px}
.cancellation table th,.cancellation table td{text-align:left;vertical-align:middle}
.cancellation table th[scope=row]{width:50%;color:var(--ink)}

@media(max-width:360px){.room-nav{gap:12px;font-size:12px;padding-left:4%;padding-right:4%;flex-wrap:nowrap}.room-nav a{white-space:nowrap}}

footer{flex-wrap:wrap;gap:28px}.business-info{font-size:13px;line-height:1.9;color:var(--muted)}.business-info p{margin:0;overflow-wrap:anywhere}.business-info a{text-underline-offset:4px}
@media(max-width:600px){.business-info{margin-top:24px}.business-info p{margin:0}}
